The Dev machine
Reconnaissance
The first step was identifying running services on the target machine. Performed full port scan using Nmap. The scan revealed the following open ports:
PORT STATE SERVICE VERSION22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)80/tcp open http Apache httpd 2.4.38 ((Debian))111/tcp open rpcbind 2-4 (RPC #100000)2049/tcp open nfs 3-4 (RPC #100003)8080/tcp open http Apache httpd 2.4.38 ((Debian))_http-title: PHP 7.3.27-1~deb10u1 - phpinfo()
The system was running OpenSSH 7.9 and Apache 2.4.38 on Debian, confirming a Linux environment. Since SSH required authentication, enumeration focused on web services.
SSH required credentials, so attacking it directly would be pointless… at least for now. That pushed the focus toward web services.
Web Enumeration
Opening the website displayed a Bolt CMS installation error page, indicating the presence of Bolt and possible configuration files.
The current folder, /var/www/html/, is a Linux folder, and based on this information, it appears that the machine is running Linux.
Displayed a PHP info page, which revealed server configuration details and internal paths useful for further enumeration.
Directory Fuzzing
> fuff -w <wordlist_location>:FUZZ -u http://<targetIP>/FUZZ
- public
- src
- app
- dev
The /dev directory hosted a BoltWire application. The registration module was enabled, allowing account creation and access to application features.
BoltWire Vulnerability
Researching BoltWire revealed it had a known Local File Inclusion (LFI) vulnerability tied to the print parameter.
Endpoint : http://192.168.22.8:8080/dev/index.php?p=action.search&action=print
By adjusting the request, the /etc/passwd file became accessible. That file exposed a valid system user jeanpaul
NFS Enumeration
showmount is a tool to see which directories the server has and who is allowed to access them.
Command - > showmount -e <target_IP>using nampCommand - > nmap -p 2049 --script nfs-ls,nfs-showmount,nfs-statfs <target_ip>
Use the Linux built-in mount tool using the below command and look for the available file.
> mount -t nfs 192.168.22.8:/srv/nfs </tmp/nfs_mount>
save.zip. It looked harmless… Zip files in shared directories, however, are rarely harmless.Cracking the ZIP File
> fcrackzip -v -u -D -p <location>/rockyou.txt save.zip-v - Verbose mode
-u - Unzip - try to unzip the file with the password
-D - Dictionary mode.
-p - The path to the the list rockyou.txt
save.zip - the target.
Configuration Files
An earlier directory listing revealed a configuration file:
SSH Access - Stepping Inside the System
jeanpaul.Using the private key:
Access was successful. Now the focus shifted to privilege escalation, the phase where attackers attempt to gain root access.
Sudo permissions were checked
/usr/bin/zip with root privileges without needing a password.GTFOBins Escalation - Turning Zip into a Root Shell
Some programs, including zip, allow execution of system commands while running. If such a program runs as root → the command you execute also runs as root.
This is known as a GTFOBins privilege escalation technique.
> sudo zip /tmp/test.zip /tmp -T --unzip-command="sh -c /bin/bash"
sudo- executes the command as rootzip- starts executing with root privileges-unzip-command- forces zip to execute a shell/bin/bash- The shell command.
This executed a root shell and completed system compromise.
Machines like Dev highlight several real-world security mistakes:
- Debug pages should never remain publicly accessible
- Directory listing exposes sensitive files faster than most exploits
- NFS shares require strict access control
- Configuration files often leak credentials
- Sudo permissions must be tightly restricted
Interestingly, none of the individual vulnerabilities felt devastating alone. But together? They created a full compromise chain.






















