Hacking Challenge [closed]

1

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!

    
posta Ellon 04.02.2017 - 23:23
fonte

2 risposte

1

hackmyfortress.com (società di sicurezza francese) offre la stessa sfida (esattamente tutte le stesse vulnerabilità che hai menzionato). L'unica differenza è che se accedi al file nel DB non ti ricompensano con 2 punti morbosi sul tuo grado ma con 30.000 $. Il tuo insegnante è un vero scammer per approfittare dei suoi studenti in quel modo;)

EDIT: ecco il link alla sfida di hackmyfortress: link

Esempio esca: link

    
risposta data 05.02.2017 - 02:59
fonte
0

Vega revealed a "critical issue" : the access to /etc/passwd and /etc/shadow of the machine, here are the users and their hashed passwords

Ecco la tua soluzione ... se hai accesso a / etc / shadow allora il webserver è in esecuzione come root e non è stato configurato per limitare l'accesso ai file al di fuori della root dei documenti. Ad esempio se colpisci il server a http://<address>/ ti presenterai con index.html , tuttavia potresti provare qualcosa come http://<address>/../../etc/passwd puoi continuare ad aggiungere ../ finché non lo colpisci. Una volta ottenuto il file, si conosce la posizione relativa della directory principale del file system ... questo permetterà di controllare altre cose come:

  • http://<address>/../../root/.ssh/id_rsa
  • http://<address>/../../etc/mysql/my.cnf
risposta data 05.02.2017 - 07:49
fonte

Leggi altre domande sui tag