Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
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.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
VigilantOnion — 🐍 - Crawler sui siti della rete tor, alla ricerca di parole chiave. | Kitploit
Strumenti/GitHubGitHub/andreyglauzer/vigilantonion
OSINT (Open Source Intelligence)Feed e Aggregatori di MinacceScripting e AutomazioneRaccolta InformazioniThreat IntelligenceCrawlerAnalisi dei Log
GitHubandreyglauzer/vigilantonion

VigilantOnion

🐍 - Crawler sui siti della rete tor, alla ricerca di parole chiave.

Vedi Repository
17923103 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

VililantOnion

Crawler sui siti della rete tor, alla ricerca di parole chiave.

Introduzione

VigilantOnion è utilizzato dai team di Cyber Threat Intelligence per monitorare e ottenere il miglior risultato dalle consultazioni effettuate sulla rete tor.

Nella sua prima versione, che utilizzava django per l'amministrazione e la creazione di dashboard, vi era una grande difficoltà nel suo utilizzo. In questa nuova versione, le consultazioni e la metodologia utilizzata per eliminare i falsi positivi sono migliori.

Metodologia

Per eliminare i falsi positivi e ottenere un livello di assertività migliore, utilizzo yararule e note, impostando valori elevati per le regole che ritengo più rilevanti, come mostrato nella figura seguente:

Sistema di Scores

Questi valori sono dinamici e possono cambiare in base alle proprie esigenze.

YaraRule

Nuove yararule possono essere aggiunte sia ai file delle categorie che a quelli delle parole chiave, così da poter eliminare i falsi positivi e ottenere risultati più soddisfacenti.

Impostazioni

Poche cose devono essere modificate nel file delle impostazioni, tuttavia sono di grande importanza per l'utilizzo dello script.

I campi seguenti servono per configurare il proxy della rete tor; se si esegue lo script su Windows la porta di solito cambia in 9051

server_proxy:  localhost
port_proxy:  9050
type_proxy:  socks5h

Il campo timeout del server serve a determinare il tempo di attesa per le richieste; più lungo è il tempo, più lo script può impiegare.

timeout:  30

I campi score del server servono a determinare il valore minimo di punteggio affinché l'URL venga scansionato e inviato al syslog.

score_categorie:  20
score_keywords:  40

Alcuni url saranno offline ed è difficile sapere se torneranno disponibili o meno, quindi ho creato un contatore che permette di determinare il numero massimo di tentativi; una volta raggiunto, lo script non tenterà più di accedere a quell'url.

count_categories:  5

Ogni volta che viene effettuata una scansione sull'url, questa viene salvata con la data dell'ultima scansione, ed è possibile determinare un limite di tempo in giorni tra una scansione e l'altra sullo stesso url.

daystime:  10

E infine non uso più django; ora per visualizzare i risultati è necessario un syslog come Splunk o ELK, e basta definirli qui

sendlog:  True
logport:  5151
logip:  "localhost"

Utilizzo

Il suo utilizzo è più semplice: è sufficiente avere installato tor e le librerie python; per farlo eseguire il comando seguente:

pip install -r requirements.txt

Dopo aver installato il client tor e le librerie, usare il comando --help per ottenere i dettagli sul suo utilizzo.

➜  python3 observer.py -h
usage: observer.py [-h] [--config CONFIG] [--crawler] [--url URL] [--search]
                   [--engines ENGINES] [--find FIND] [--pastebin PASTEBIN]

VigilantOnion is a script to collect as many sites from the onion network as
possible and add them to a database. With all possible sites collected, a
crawler will be created so that we can monitor the search for keywords defined
by you.

optional arguments:
  -h, --help            show this help message and exit
  --config CONFIG, -c CONFIG
                        Configuration file in yaml format
  --crawler             Starts the TOR network URL crawler process.
  --url URL, -u URL     Specifies the URL to crawl.
  --search              Start the URL search process on the surface. Select a
                        framework where you want to search for urls.
  --engines ENGINES, -e ENGINES
                        Validates the available engines for searching URLs.
  --find FIND, -f FIND  Search for arguments on .onion network research sites
  --pastebin PASTEBIN   Search for .onion urls in pastebin paste.

You can also develop new framework so that the database has more urls onions.

Per far funzionare lo script sono necessari nuovi URL, e per questo ho creato un metodo che cerca gli URL sulla superficie, come nell'esempio seguente:

python3.6 observer.py --config config/config.yml --search -e "gist,reddit,cybersecuritynews,discoverdarkwebservice"

Puoi anche ottenere gli URL direttamente dai file pastebin, come nell'esempio seguente:

python3.6 observer.py --config config/config.yml --search --pastebin "s7TPZCKz,kSaYqtVX,0GYEEApe,3qkqyqiM,RfgBLg5Q,gtksBij4,FpPzQKHg,wB0uh00r,jDGJhQCC,q6DZ9U,ac2TnUjY,pv4xRWXQ,PgLUE7pF,9XW5Pc7R,hqyGMi7e,UZRM2z8y,7tQvV5CU,9JhVq3H3,Cb5HTydt,kMW5wp3N,v5Yq66sH,2q3SsR3a,gnd8jx97,QwSJYhYF,iNydrDfe"

Dopo aver raccolto alcuni URL, puoi avviare il processo di crawling. Ricorda che il primo richiederà più tempo perché è lì che verranno eseguite la classificazione e la categorizzazione del contenuto del sito web.

python3.6 observer.py --config config/config.yml --crawler

Se vuoi eseguire il crawling di un singolo URL, usa:

python3.6 observer.py --config config/config.yml --crawler --url "76qugh5bey5gum7l.onion"

Output

L'output del risultato è in formato json, e nello stesso formato viene inviato al syslog scelto.

{
  "lastscan": "2020-06-29",
  "id": 10760,
  "type": "URI",
  "url": "lolitmhfkpif7sky.onion",
  "title": "Lolita Club",
  "baseurl": "vyqi2nm36otufrgg.onion",
  "status": "Online",
  "count_status": 0,
  "source": "Script",
  "categorie": [
    {
      "full_categorie": [
        "no_match"
      ],
      "score_categorie": 0
    }
  ],
  "keywords": [
    {
      "full_keywords": [
        "no_match"
      ],
      "score_keywords": 0
    }
  ],
  "discovery_date": "2020-06-29 14:24"
}

Uso Splunk, e puoi rendere la tua dashboard simile alla mia:

Sistema de Scores

Aiuto

Sentiti libero di fare un fork o aprire una issue per collaborare al progetto.

Scarica lo strumento