Nell'ultimo risultato del test, il punto interrogativo ("ntp?" invece di "ntp") indica che nmap non è stato in grado di riconoscere il servizio in esecuzione. Suppone quindi che NTP faccia affidamento solo sul tipo di servizio solitamente associato a questo numero di porta, ma senza alcuna confidenza (da qui il punto interrogativo).
Le intestazioni inviate da questo servizio sono molto minimaliste:
HTTP/1\.1 400 Bad request
Content-Type: text/html
E questo è tutto. Su un vero server web, troverai un po 'di intestazione che indica la data, il nome del server, i parametri della cache, ecc. Qui, non c'è niente.
La mia ipotesi è che tu non stia quindi affrontando un server web completo, ma:
- Un server Web appositamente predisposto, come un'interfaccia di amministrazione remota incorporata in alcuni dispositivi,
- Un server web offuscato (seguendo la nostra discussione nei commenti seguenti),
- Un altro servizio che si basa sul protocollo HTTP (un servizio Web, un server WebDav, ecc.), provare altre richieste HTTP rispetto al solito GET può innescare comportamenti interessanti in questi casi.
Modifica :
Per rispondere più precisamente alla tua domanda, Nmap è uno strumento generale, i suoi script sono principalmente utili contro server non offuscati come un modo semplice per ottenere informazioni di base.
Qui, l'amministratore ha fatto uno sforzo specifico per confondere il suo server mirando precisamente a nascondere le informazioni necessarie a tali strumenti generali. È quindi necessario fare un ulteriore passo avanti e utilizzare strumenti più specifici.
Da un punto di vista tecnico, gli script nmap sono progettati per essere eseguiti solo quando necessario. Lo script relativo a HTTP verrà eseguito solo quando un servizio viene identificato come HTTP da nmap. Questo è fatto dalla dichiarazione portrule=
che troverai all'inizio degli script, qui ci sono alcuni esempi provenienti da script HTTP nmap casuali:
portrule = shortport.http
portrule = shortport.port_or_service( {80, 443}, {"http", "https"}, "tcp", "open")
Un modo sporco, ad esempio, sarebbe quello di modificare questi script per forzare la loro esecuzione ... ma senza risultati garantiti. Meglio usare lo strumento giusto per il compito giusto.