G00g
Gaining Access
Nmap scan:
Web Enum -> Google Auth
Visiting port 80 requires credentials:

admin:admin
works. Afterwards, we are just greeted by this:

In the comments, there's a hidden directory:

Googling this leads to some Apache 2FA thing using Google Authenticator:
The repository included this interesting bit here:

So within Google Authenticaotr, we can click the Plus sign in the corner:

We can then enter this key:

After adding this, we would get a OTP every 30 seconds as with normal Google Authenticator:

Keying in this 2FA token would grant us access to the web page:

LFI -> User Creds + Token
The website is obviously vulnerable to some form of exploit. When we run it and view the result, it shows us the results by reading from a file:
This is very obviously vulnerable to LFI, and we can use that to read other files.
There weren't any SSH keys to read for the fox
user. However, the Github repo did mention that there is an apache_credentials
file somewhere on this machine.
After some testing, I found in within the /opt
directory:$ curl -H 'Cookie: 2FA_Auth=junH2NR79pTrLiI800JewoWsESYCry6Xbz4oaIJ71VlhUKEHPNcdHsq4I6uK1CZUMKBz1ZExSDC0OcpmcFEyojXc823DIB9PA6ExXs' -G --data-urlencode 'view=/opt/apache_2fa/apache_credentials' http://192.168.202.144/spool/viewresult.php
This can be cracked easily:
However, we cannot just SSH in:
The user has 2FA too! So we need to steal the tokens.json
file as well.
Afterwards, we can do the same thing with Google Authenticator to get a 2FA code to ssh
in:
Privilege Escalation
I ran a linpeas.sh
to find possible vectors, and it picked up on one SUID binary:
GTFOBins has an entry for this:
To exploit this, we can add a new root
user. First, we can generate a new passwd
file with our new user and hash, then overwrite it using arj
.
Rooted!
Last updated