tags: port_forwarding interno ss_tulpn


1. Esplora i Servizi in Esecuzione Localmente

Se hai accesso alla macchina tramite SSH o una shell, puoi utilizzare strumenti e comandi per enumerare i servizi che sono in ascolto localmente (che non sono esposti pubblicamente). Alcuni comandi utili per verificare questo includono:

  • netstat -ano | findstr LISTEN o ss -tulpn: Questi comandi ti mostrano tutte le porte in ascolto e i servizi che le stanno utilizzando.

    netstat -ano | findstr LISTEN

    • Porte “localhost”: Cerca servizi che sono legati all’indirizzo 127.0.0.1 o localhost, poiché questi sono accessibili solo dall’interno della macchina.

2. Consulta i File di Configurazione del Webserver

Se il sistema ospita un webserver come Apache, Nginx o IIS, potresti voler controllare i file di configurazione (come httpd.conf per Apache, nginx.conf per Nginx, o i file di configurazione di IIS). Cerca riferimenti a virtual host, directory o altre configurazioni che possano indicare la presenza di pagine o servizi accessibili solo dall’interno.

  • Apache: Controlla /etc/apache2/sites-available/ o /etc/httpd/conf/ per eventuali configurazioni che limitano l’accesso a determinati IP interni.
  • Nginx: Controlla /etc/nginx/nginx.conf o /etc/nginx/sites-available/.

3. Enumerazione di Pagine Nascoste tramite Directory Brute-Forcing

Se sospetti che ci siano pagine nascoste accessibili solo internamente, puoi utilizzare strumenti di brute-forcing per provare a scoprire directory e file nascosti. Ecco come puoi fare:

  • Utilizza dirb, gobuster o wfuzz: Questi strumenti possono tentare di scoprire directory e file nascosti in un sito web. Se hai stabilito un port forwarding (come con SSH -L), puoi far puntare questi strumenti all’indirizzo localhost sulla porta specifica (es. localhost:10000).

    Ad esempio, con gobuster:

    gobuster dir -u http://localhost:10000 -w /path/to/wordlist

4. Testa Accessi Interni con Strumenti come cURL

Se sei all’interno della macchina, puoi utilizzare curl per testare la presenza di pagine nascoste o servizi in ascolto solo su localhost:

  • Usa cURL per accedere a pagine locali:

    curl http://localhost:10000/hidden_page

    Questo comando ti consente di vedere se ci sono pagine che rispondono solo a richieste fatte da localhost e non dall’esterno.

5. Scansione delle Porte Interne

Puoi anche eseguire una scansione delle porte interne dalla macchina remota per identificare servizi in esecuzione che non sono esposti pubblicamente:

  • Utilizza nmap per eseguire una scansione interna: Se hai accesso alla macchina tramite una shell, puoi eseguire nmap per scansionare le porte interne e cercare servizi nascosti.

    nmap -p- localhost

6. Controlla i File di Log del Webserver

I file di log del webserver possono contenere informazioni utili riguardo a tentativi di accesso a pagine che non sono pubblicamente visibili ma sono state visitate internamente.

  • I log di Apache si trovano tipicamente in /var/log/apache2/access.log o /var/log/httpd/access_log.
  • I log di Nginx si trovano in /var/log/nginx/access.log.

7. Controlla il Firewall o le Regole di IPTables

Se hai accesso come amministratore o utente con privilegi elevati, puoi controllare le regole del firewall o IPTables per capire quali porte sono bloccate verso l’esterno ma sono aperte per l’accesso interno.

  • Controlla le regole di iptables:

    sudo iptables -L -n -v

8. Reverse Proxy o Tunneling

Se trovi un servizio che è accessibile solo dall’interno e vuoi esplorarlo da remoto, puoi usare un reverse proxy o un tunnel SSH come descritto nella guida precedente per accedere al servizio sulla tua macchina locale.