Common attacks and weaknesses
- Development servers exposed with debug features.
- Grafana with default admin/admin credentials or vulnerable plugins.
Default port of many development servers (Node.js, React, Rails) and Grafana.
A browser sends an HTTP request to port 3000 and the Dev servers / Grafana 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 |
|---|---|---|---|---|---|
| hbci | 3000 | TCP, UDP | HBCI | - | - |
| remoteware-cl | 3000 | TCP, UDP | RemoteWare Client | - | - |
// source: IANA service name and port number registry
Linux
sudo ss -ltnup 'sport = :3000' # process listening on 3000
sudo lsof -nP -i :3000macOS
sudo lsof -nP -i :3000
Windows (PowerShell)
Get-NetTCPConnection -LocalPort 3000 -State Listen | Select LocalAddress, OwningProcess Get-NetUDPEndpoint -LocalPort 3000 netstat -ano | findstr :3000
From another machine
nmap -p 3000 -sV <host> sudo nmap -sU -p 3000 <host> nc -zv <host> 3000
Block it in the firewall
sudo ufw deny 3000/tcp # Linux (ufw) New-NetFirewallRule -DisplayName "Block 3000" -Direction Inbound -LocalPort 3000 -Protocol TCP -Action Block # Windows
Default port of many development servers (Node.js, React, Rails) and Grafana.
Port 3000 is registered for TCP and UDP. In practice the service mostly uses TCP.
It is rated 5/10 (moderate) when exposed to the Internet. Development servers exposed with debug features. Never expose dev servers; bind them to 127.0.0.1.
On Linux run "ss -ltnup 'sport = :3000'", on macOS "lsof -nP -i :3000", and on Windows "netstat -ano | findstr :3000" to see the local process. From another machine, "nmap -p 3000 <host>" shows whether it is reachable.