I nostri docenti universitari ci hanno dato una sfida e aumenteranno di 2 punti tutti i voti degli studenti se anche uno di noi ci riuscirà.
La sfida : hanno creato un sito Web utilizzando tecnologie moderne (HTML5 / JavaScript) e "tutto" che dobbiamo fare è ottenere l'accesso al database che si trova dietro di esso e recuperare un file in esso .
Ecco come ho iniziato :
- Analizzato il codice sorgente di ogni pagina web accessibile del sito
- Ho cercato interessanti directory comuni (/ admin, / phpmyadmin, / mysql ...) e ho scoperto che solo "/ admin" non ha reindirizzato a una pagina 404.
- Ho provato le solite combinazioni nome utente / password su "/ admin" ma non ha funzionato.
- Si è tentato di iniettare SQL facendo
test' or 1=1 --
e ottenere il seguente messaggio di errore
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'test\' or 1=1 --' at line 13
- Notato un commento HTML di un comando PHP come questo sulla home page una volta connesso:
<?php $_hidden = ['/administrator', '/action.php', '/upload.php', '/config']; ?>
Quindi, ho guardato più in dettaglio in queste pagine e nessuno di loro ha reindirizzato così mi sembrava di essere sulla buona strada:
- / administrator non è lo stesso di / admin
- /action.php stampa semplicemente un messaggio "nessuna azione specificata!"
- /upload.php stampa semplicemente un formulare per selezionare un file e caricarlo (potrebbe essere un richiamo dato che si reindirizza a se stesso e dobbiamo effettivamente aggiungere manualmente l'argomento "? send=" all'URL per vedere il messaggio " Grazie! Ora puoi aprire il tuo file. "Ma non sappiamo dove ...)
- / config è una pagina vuota ma il suo codice sorgente contiene alcune cose strane (una dichiarazione php che non è in un commento HTML e che tuttavia appare a causa di un errore XML precedente nel codice):
<?php //config file define("admin_url", "c54370ec2966cd4f319f12d26f89a0f3a851891029b88326906abc6934463a2b"); ?>
Ho provato a decifrare cosa intendesse questa cosa facendo tutti i tipi di HexTo ... ma non ha restituito nulla! Strano ...
In questo momento ho deciso di procedere in modo diverso: installa Kali Linux sulla mia macchina e usa i suoi strumenti integrati per trovare le vulnerabilità .
- nmap ha mostrato che il server su cui si trova il sito Web ha quasi tutte le porte chiuse:
- questi servizi sono filtrati: ssh , dominio , microsoft-ds , mysql
- questi servizi sono aperti: link , tcpwrapped , imaps? , pop3s?
- Vega ha rivelato un "problema critico": l'accesso a / etc / passwd e / etc / shadow della macchina , ecco gli utenti e le loro password con hash
/ etc / passwd
root:x:0:0:root:/root:/bin/bash
sshd:x:108:65534::/var/run/sshd:/usr/sbin/nologin
mysql:x:498:499:MySQL server:/var/lib/mysql:/bin/bash
adrien:x:1000:1000:,,,:/home/adrien:/bin/bash
marcus:x:1001:1001:,,,:/home/marcus:/bin/bash
neo:x:1002:1002:,,,:/home/neo:/bin/bash
morpheus:x:1003:1003:,,,:/home/morpheus:/bin/bash
trinity:x:1004:1004:,,,:/home/trinity:/bin/bash
mario:x:1005:1005:,,,:/home/mario:/bin/bash
/ etc / shadow
root:$9$PijavijY12jvzn13auuva123nuizPOLakdiajC.plaBHbdhaOKsj/Plauscgfte/1N8nb/OKujcbyze913ndalka.:15716:0:99999:7:::
sshd:*:15716:0:99999:7:::
mysql:$6$ojeeijnYHAEFOkasA1CbyAna5oiZEOIJ4ZE.Yuhafk12caok138HjcaknBYCoaezf/Ojazyhva1E3EHiqsjaIJE.Pkjs.:16934:0:99999:7:::
adrien:$9$Biyaldj12jualojzef12.paljsgYUHnokfbAYkjqs912bhuca12ndlau12byPLiaz/LjqCVcZnuePlayr12lcja09.NUaa.:16934:0:99999:7:::
Marcus:$5$laUYECvnidvjuzv.PLvazebyusikciojez12uidvhijcbzaTGDZAj/LPauhvz12NYXHQSAjsga8U3jxa.Jpzz.:16934:0:99999:7:::
Neo:$7$IuzefjoOKOIEFH.JAEyuekvnurpofjrzoij7nu.uefjze18423nu1368/LiazjCEjJzejapluvzebNU.Azed.:16934:0:99999:7:::
Morpheus:$5$OKazhe123Enizdolxahd.huvzjPAuvzrnAEkqjfzebu12nE8ndfn8skhid/iejv13nudscvarvnuiNEZo123nuiqdc.Pmoo.:16934:0:99999:7:::
Trinity:$5$DAiuvzjhadiujqdhs.DHaehezJjiuzhuiEABhusddsoiefnuiFZNIqlk/Ijgzeioj12nuivzej342nuiczPLiznuirefa.Apll.:16934:0:99999:7:::
Mario:$5$IhihejNUEFJoqisjfbzeyvzdskjZNfj8fezh13njidncojfe.sqfnvriZujfzejjh12nicd8123njiJUdjcskvzNCIRZje/uhvzACQhjfds.Qsqs.:16934:0:99999:7:::
Ho pensato, ecco cosa dovrei fare ora :
- Scopri cosa nascondono questi hash per almeno un utente utilizzando il programma "John the Ripper"
- Connettiti con le sue credenziali usando ssh
- Accedi al database in questo modo
Dopo averlo fatto posso dire che sono bloccato. john non può decrittografarlo apparentemente perché sono criptati usando un algoritmo di cui non dispone ...
Hai qualche suggerimento per continuare?
Grazie per aver letto e aiutato me!