Web


Nmap discovered a web server on the target port 9001 The service running is Medusa httpd 1.12 (Supervisor process manager)

Webroot It requires the basic HTTP authentication

supervisor process manager is a management application that monitors processes on UNIX-like operating systems. Its administrative panel can be access over HTTP and secured with the basic HTTP authentication by default.

i was googling default credential for supervisor process manager and came across the official documentation the official documentation doesn’t seem to provide any default credential but it had an example containing one

I will just give it a shot

To my surprise, I was able to login with the credential from one of the examples in the official documentation. I can see 3 running scripts here; memory, processes, and uptime

The footer also reveals the version information While Supervisor 4.2.0 doesn’t have any known critical vulnerabilities, I should be able to get some enumeration done as the application interacts directly with the system processes

memory


While I don’t seem to be able to run the last two command to check both output and error of the process, I seem to be able restart/stop and clear log

Clicking into the memory button leads to /tail.html?processname=memory, revealing details about the process The information shown is very ambiguous

processes


Same thing with the 2nd process. I am unable to check both output and error of the process as they just seem to be loading forever

Clicking into the Processes button leads to /tail.html?processname=processes, revealing the system processes that the application is monitoring

/usr/libexec/httpd -u -X -s -i 127.0.0.1 -I 3000 -L weather /usr/local/webapi/weather.lua -U _httpd -b /var/www

I can see the process that is responsible for the web server running on the port 80, it is indeed running the weather application that I enumerated earlier. the application itself is running on the 127.0.0.1:3000 socket and proxied over HTTP It also confirms that the application is running off a LUA script It’s also running with the privileges of the _httpd user.

the /usr/libexec/httpd binary is bozohttpd that is mostly used in NetBSD systems

the -l flag in bozohttpd indicates a prefix and script In this case, it’s set to weather and the /usr/local/webapi/weather.lua file This means that the web server is set to run the LUA script above if the prefix with name of function is called

This explains why I was able to access the application through /weather/forecast

uptime


The uptime process is no different that the other 2

It just shows output of the uptime command. That’s all.