Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sonar.js — Un framework per identificare e lanciare exploit contro host di rete interni. Funziona tramite enumerazione IP WebRTC combinata con WebSocket e fingerprinting di risorse esterne. | Kitploit
Strumenti/GitHubGitHub/mandatoryprogrammer/sonar.js
RicognizioneExploitSfruttamento di Applicazioni WebRaccolta InformazioniPenetration TestingRed Teaming
GitHubmandatoryprogrammer/sonar.js

sonar.js

Un framework per identificare e lanciare exploit contro host di rete interni. Funziona tramite enumerazione IP WebRTC combinata con WebSocket e fingerprinting di risorse esterne.

Vedi Repository
5527610 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

sonar.js

Un framework per identificare e lanciare exploit contro host di rete interni. Funziona tramite enumerazione IP WebRTC, scansione host WebSocket e fingerprinting di risorse esterne.

Come funziona?

Quando il payload sonar.js viene caricato in un browser web moderno, accade quanto segue:

  • sonar.js utilizza WebRTC per enumerare gli IP interni dell'utente che ha caricato il payload.
  • sonar.js tenta quindi di trovare host attivi sulla rete interna tramite WebSocket.
  • Se viene trovato un host attivo, sonar.js inizia a tentare di identificarlo collegandosi ad esso tramite <img src="https://raw.githubusercontent.com/mandatoryprogrammer/sonar.js/HEAD/x"> e <link rel="stylesheet" type="text/css" href="x"> e agganciando l'evento onload. Se le risorse previste vengono caricate con successo, viene attivata la callback JavaScript preimpostata per avviare l'exploit fornito dall'utente.

Impronte digitali

sonar.js si basa su un database di impronte digitali. Un'impronta digitale è semplicemente un elenco di risorse note su un dispositivo a cui è possibile collegarsi e rilevare tramite onload. Esempi di ciò includono immagini, fogli di stile CSS e persino JavaScript esterni.

Un esempio di database di impronte digitali è visibile qui sotto:

root@kitploit:~
var fingerprints = [
    {
        'name': "ASUS RT-N66U",
        'resources': ["/images/New_ui/asustitle.png","/images/loading.gif","/images/alertImg.png","/images/New_ui/networkmap/line_one.png","/images/New_ui/networkmap/lock.png","/images/New_ui/networkmap/line_two.png","/index_style.css","/form_style.css","/NM_style.css","/other.css"],
        'callback': function( ip ) {
            // Insert exploit here
        },
    },
    {
        'name': "Linksys WRT54G",
        'resources': ["/UILinksys.gif","/UI_10.gif","/UI_07.gif","/UI_06.gif","/UI_03.gif","/UI_02.gif","/UI_Cisco.gif","/style.css"],
        'callback': function( ip ) {
            // Insert exploit here
        },
    },
]

Il database sopra contiene impronte digitali per due dispositivi: il router WiFi ASUS RT-N66U e il router WiFi Linksys WRT54G.

Ogni voce del database ha i seguenti campi:

  • name: Un campo per identificare a quale dispositivo è destinata l'impronta. Potrebbe essere qualcosa come Stampante HP Officejet 4500 o Router Linksys WRT54G.
  • resources: Un array di collegamenti relativi a risorse come fogli di stile CSS, immagini o persino file JavaScript. Se si prevede che queste risorse siano su una porta non standard come 8080, impostare la risorsa con la porta inclusa: :8080/unique.css. Tieni presente che l'uso di risorse esterne con contenuti attivi come JavaScript è pericoloso poiché può interrompere il normale flusso di esecuzione.
  • callback: Se tutte queste risorse risultano esistenti sull'host enumerato, la funzione callback viene chiamata con un unico argomento: l'indirizzo IP del dispositivo.

Creando le tue impronte digitali puoi costruire exploit personalizzati che verranno lanciati contro i dispositivi interni una volta rilevati da sonar.js. Gli exploit comuni includono cose come Cross-site Request Forgery (CSRF), Cross-site Scripting (XSS), ecc. L'idea è che puoi utilizzare queste vulnerabilità per fare cose come modificare le configurazioni DNS del router, scaricare file da un file server interno e altro ancora.

Per un modo più semplice di creare impronte digitali, consulta la seguente estensione Chrome che genera automaticamente il codice template dell'impronta per la pagina in cui ti trovi:

Clicca qui per installare l'estensione Chrome

Generatore di impronte digitali sonar.js

Cosa si può fare con sonar.js?

Usando sonar.js, un team di penetration testing può costruire exploit web contro cose come server di log interni, router, stampanti, telefoni VOIP e altro ancora. Poiché le reti interne sono spesso meno protette, attacchi come CSRF e XSS possono essere potenti per assumere il controllo delle configurazioni dei dispositivi sulla rete interna di un host. Abbiamo detto che tutto ciò può essere fatto da una pagina web su Internet?

Aiutaci a costruire il nostro database!

Se possiedi un dispositivo come una stampante, un router o un altro servizio interno, inviaci un'impronta digitale in modo che possiamo aggiungerla al nostro database principale. Aggiungeremo ulteriori impronte per più dispositivi nel tempo, ma siamo limitati ai dispositivi a cui abbiamo accesso.

Scarica lo strumento