Common attacks and weaknesses
- Exposed PHP-FPM allows remote code execution through FastCGI.
- Portainer gives control of Docker hosts.
Shared default of several tools: PHP-FPM FastCGI, SonarQube, Portainer, MinIO.
A browser sends an HTTP request to port 9000 and the PHP-FPM / SonarQube / Portainer server sends the page back. It travels in clear text: anyone on the path can read it, passwords included.
Unofficial use. The IANA assignment below differs from what is usually found on this port in practice.
| Service | Port | Transport | Description | Reference | Updated |
|---|---|---|---|---|---|
| cslistener | 9000 | TCP, UDP | CSlistener | - | - |
// source: IANA service name and port number registry
Linux
sudo ss -ltnup 'sport = :9000' # process listening on 9000
sudo lsof -nP -i :9000macOS
sudo lsof -nP -i :9000
Windows (PowerShell)
Get-NetTCPConnection -LocalPort 9000 -State Listen | Select LocalAddress, OwningProcess Get-NetUDPEndpoint -LocalPort 9000 netstat -ano | findstr :9000
From another machine
nmap -p 9000 -sV <host> sudo nmap -sU -p 9000 <host> nc -zv <host> 9000
Block it in the firewall
sudo ufw deny 9000/tcp # Linux (ufw) New-NetFirewallRule -DisplayName "Block 9000" -Direction Inbound -LocalPort 9000 -Protocol TCP -Action Block # Windows
Shared default of several tools: PHP-FPM FastCGI, SonarQube, Portainer, MinIO.
Port 9000 is registered for TCP and UDP. In practice the service mostly uses TCP.
It is rated 6/10 (high) when exposed to the Internet. Exposed PHP-FPM allows remote code execution through FastCGI. Bind PHP-FPM to a Unix socket or localhost; protect admin UIs with strong authentication.
On Linux run "ss -ltnup 'sport = :9000'", on macOS "lsof -nP -i :9000", and on Windows "netstat -ano | findstr :9000" to see the local process. From another machine, "nmap -p 9000 <host>" shows whether it is reachable.