Discussione Ufficiale La fase PIÙ IMPORTANTE di ogni attacco hacker

Una Discussione Ufficiale punta a raccogliere tutte le informazioni su un argomento o un fatto di attualità, con costanti aggiornamenti da parte del creatore e dei partecipanti.

0xbro

Moderatore
24 Febbraio 2017
3,539
137
2,203
1,360
Ultima modifica:


L'enumerazione del target è la fase più importante di ogni attacco hacker e ne può decretare il successo o il fallimento ancora prima dell'inizio dell'attività.​

hacker-earned-1-5-million-providing-backdoor-access-to-hundreds-of-corporate-networks_1500.jpg


Nell'immaginario comune, forse a causa dell'influenza hollywoodiana, forse a causa della classica rappresentazione giornalistica, un attacco hacker non è niente di più che indossare una maschera o un cappuccio, individuare il proprio target, inserire qualche strano comando in qualche terminale nero di un qualche laptop, premere tanti tasti velocemente e concludere con la solita, classica, frase:​

"siamo dentro!"

giphy.gif


...

Ma la verità è ben altra.​



Restando sul tema dell'immaginario collettivo e delle metafore popolari, un attacco hacker, così come un'attività di red teaming, è simile a una rapina in banca: l'attacco è paragonabile al colpo, gli attaccanti sono i rapinatori, il server/target è la banca, gli amministratori di sistema sono le guardie e i dati contenuti nel server la refurtiva. Così come un colpo in banca, però, anche un attacco hacker ha bisogno di un piano. Non si può rapinare una banca senza sapere quali siano le entrate, dove siano le telecamere e quali siano i punti deboli della catena di sicurezza. Allo stesso modo, non si può iniziare un attacco senza prima conoscere quali siano le porte e i servizi esposti, le loro versioni, gli utenti interessati, le inter-connessioni tra utenti e macchine, le tecnologie utilizzate, ecc.

Ecco perchè l'enumerazione è la fase più importante di ogni attacco! Come disse Abraham Lincoln:​
Dammi sei ore per abbattere un albero e spenderò le prime quattro ore per affilare l’ascia​
E' questa la mentalità che sta dietro ad un attacco con alte probabilità di successo rispetto invece a uno fallimentare: la ricerca di quante più informazioni possibili.

L'obiettivo principale durante la fase di information gathering, e più in particolare nella sotto-fase dell'enumerazione, è quello di ampliare il più possibile la superficie d'attacco: ogni nuova informazione, ogni nuovo minimo dettaglio è un potenziale nuovo tassello nel nostro piano finale.
La maggior parte dei corsi professionali insiste molto su questa fase poichè è il punto crucciale tra riuscire a bucare una macchina oppure fallire. A volte basta non aver trovato una specifica pagina web o uno specifico utente per mandare in fumo l'intero piano.
IuyG3Ev.gif


Quali sono gli step per eseguire una corretta enumerazione?​

Data l'esistenza di numerosi servizi, programmi e sistemi operativi, tutti differenti tra di loro, è impossibile indicare con precisione la maniera corretta per enumerare ognuno di questi. Al contrario però è possibile delineare una metodologia in grado di permetterci di aumentare esponenzialmente le possibilità di successo.

I principali controlli che accomunano una corretta e approfondita enumerazione sono:​
  1. Identificare tutte le porte aperte (1-65535) sui propri target, sia TCP che UDP, in modo da identificare tutte le possibili entrate​
  2. Identificare quali servizi siano in esecuzione sulle rispettive porte e cercare di individuare la loro versione
  3. Eseguire il banner grabbing di ogni servizio, ove possible​
  4. Verificare se è possibile accedere al servizio tramite credenziali di default o addirittura senza credenziali
  5. Identificare tutte le cartelle e i file pubblicamente accessibili
  6. Identificare le tecnologie in utilizzo (PHP? .NET? Oracle? Vecchie versioni SMB? ecc.)​
  7. Abbiamo permessi di scrittura da qualche parte?​
  8. Sono presenti indirizzi email o nomi utente? Potremmo usarli per attacchi di phishing, ricerche mirate o cercare di accedere ai loro account​
  9. Sono presenti interconnessioni tra i vari servizi? (es. cartelle FTP il cui contenuto è richiamabile tramite HTTP, etc.)​

Una volta identificate tutte queste informazioni, mettere assieme i pezzi e trovare una possibile entrata risulterà molto più facile rispetto a cercare di penetrare un sistema andando alla cieca. Inoltre metterà a disposizione anche diverse alternative, in modo da avere un piano B in caso il piano principale non andasse in porto!​

Automatizzazione del processo​

Siccome l'attività di enumeration è molto lunga e dispendiosa, nel corso del tempo sono stati ideati diversi tools con lo scopo di automatizzare e velocizzare le attività più comuni di ricerca delle informazioni. Tra i più famosi e degni di nota ci sono:​
L'Nmap Scripting Engine (NSE) è una delle feature più potenti e flessibili di Nmap. Permette agli utenti di scrivere (e condividere) semplici script (utilizzando il linguaggio di programmazione Lua) per automatizzare un gran varietà di networking task. Questi script vengono eseguito in parallelo con la velocità e l'efficienza che ci si aspetta da Nmap. Gli utenti possono fare affidamento sui crescenti e diversi set di script distribuiti da Nmap, oppure scriverli loro stessi in base alle proprie necessità.
The main goal for this script is to automate the process of enumeration & recon that is run every time, and instead focus our attention on real pentesting.
AutoRecon is a multi-threaded network reconnaissance tool which performs automated enumeration of services. It is intended as a time-saving tool for use in CTFs and other penetration testing environments (e.g. OSCP). It may also be useful in real-world engagements.

Risorse tecniche specifiche:​

Poichè ongni sistema funziona in maniera differente, per effettuare una corretta enumerazione occorre conoscere come interagire propriamente con il servizio in questione. Se col tempo tutto ciò verrà spontaneo, all'inizio (o per servizi non comuni) non è così e avere dei cheatsheet o delle piccole guide può fare la differenza.​

Di seguito dunque potete trovare un elenco delle risorse più complete e utili disponibili sul web:



Made with ❤ for Inforge
 

RedStar

Utente Emerald
14 Dicembre 2008
1,069
49
533
556
Articolo interessante, l’introduzione e la parte centrale dell’articolo sono ben fatte, la citazione di Lincoln è il tocco di classe, complimenti! :)
 
  • Grazie
  • Mi piace
Reactions: y4xxin e 0xbro
Aquarifoundation.com: Investi in un oceano pulito
DOWNLOAD

Thomas Shelby

Utente Emerald
28 Giugno 2020
1,515
26
584
445
hacker-earned-1-5-million-providing-backdoor-access-to-hundreds-of-corporate-networks_1500.jpg

Nell'immaginario comune, forse a causa dell'influenza hollywoodiana, forse a causa della classica rappresentazione giornalistica, un attacco hacker non è niente di più che indossare una maschera o un cappuccio, individuare il proprio target, inserire qualche strano comando in qualche terminale nero di un qualche laptop, premere tanti tasti velocemente e concludere con la solita, classica, frase:​

"siamo dentro!"

giphy.gif


...

Ma la verità è ben altra.​



Restando sul tema dell'immaginario collettivo e delle metafore popolari, un attacco hacker, così come un'attività di red teaming, è simile a una rapina in banca: l'attacco è paragonabile al colpo, gli attaccanti sono i rapinatori, il server/target è la banca, gli amministratori di sistema sono le guardie e i dati contenuti nel server la refurtiva. Così come un colpo in banca, però, anche un attacco hacker ha bisogno di un piano. Non si può rapinare una banca senza sapere quali siano le entrate, dove siano le telecamere e quali siano i punti deboli della catena di sicurezza. Allo stesso modo, non si può iniziare un attacco senza prima conoscere quali siano le porte e i servizi esposti, le loro versioni, gli utenti interessati, le inter-connessioni tra utenti e macchine, le tecnologie utilizzate, ecc.

Ecco perchè l'enumerazione è la fase più importante di ogni attacco! Come disse Abraham Lincoln:

E' questa la mentalità che sta dietro ad un attacco con alte probabilità di successo rispetto invece a uno fallimentare: la ricerca di quante più informazioni possibili.

L'obiettivo principale durante la fase di information gathering, e più in particolare nella sotto-fase dell'enumerazione, è quello di ampliare il più possibile la superficie d'attacco: ogni nuova informazione, ogni nuovo minimo dettaglio è un potenziale nuovo tassello nel nostro piano finale.
La maggior parte dei corsi professionali insiste molto su questa fase poichè è il punto crucciale tra riuscire a bucare una macchina oppure fallire. A volte basta non aver trovato una specifica pagina web o uno specifico utente per mandare in fumo l'intero piano.
IuyG3Ev.gif


Quali sono gli step per eseguire una corretta enumerazione?​

Data l'esistenza di numerosi servizi, programmi e sistemi operativi, tutti differenti tra di loro, è impossibile indicare con precisione la maniera corretta per enumerare ognuno di questi. Al contrario però è possibile delineare una metodologia in grado di permetterci di aumentare esponenzialmente le possibilità di successo.

I principali controlli che accomunano una corretta e approfondita enumerazione sono:​
  1. Identificare tutte le porte aperte (1-65535) sui propri target, sia TCP che UDP, in modo da identificare tutte le possibili entrate​
  2. Identificare quali servizi siano in esecuzione sulle rispettive porte e cercare di individuare la loro versione
  3. Eseguire il banner grabbing di ogni servizio, ove possible​
  4. Verificare se è possibile accedere al servizio tramite credenziali di default o addirittura senza credenziali
  5. Identificare tutte le cartelle e i file pubblicamente accessibili
  6. Identificare le tecnologie in utilizzo (PHP? .NET? Oracle? Vecchie versioni SMB? ecc.)​
  7. Abbiamo permessi di scrittura da qualche parte?​
  8. Sono presenti indirizzi email o nomi utente? Potremmo usarli per attacchi di phishing, ricerche mirate o cercare di accedere ai loro account​

Una volta identificate tutte queste informazioni, mettere assieme i pezzi e trovare una possibile entrata risulterà molto più facile rispetto a cercare di penetrare un sistema andando alla cieca. Inoltre metterà a disposizione anche diverse alternative, in modo da avere un piano B in caso il piano principale non andasse in porto!​

Automatizzazione del processo​

Siccome l'attività di enumeration è molto lunga e dispendiosa, nel corso del tempo sono stati ideati diversi tools con lo scopo di automatizzare e velocizzare le attività più comuni di ricerca delle informazioni. Tra i più famosi e degni di nota ci sono:​




Risorse tecniche specifiche:​

Poichè ongni sistema funziona in maniera differente, per effettuare una corretta enumerazione occorre conoscere come interagire propriamente con il servizio in questione. Se col tempo tutto ciò verrà spontaneo, all'inizio (o per servizi non comuni) non è così e avere dei cheatsheet o delle piccole guide può fare la differenza.​

Di seguito dunque potete trovare un elenco delle risorse più complete e utili disponibili sul web:



Made with ❤ for Inforge
Sempre super duper interessante e coinvolgente leggere le tue release o articoli, good job!
 
  • Love
Reactions: 0xbro
DOWNLOAD
Aquarifoundation.com: Investi in un oceano pulito

0xbro

Moderatore
24 Febbraio 2017
3,539
137
2,203
1,360
Ultima modifica:
scusa cos'è il banner grabbing?
Il "Banner" nel gergo ICT è il primo messaggio (in genere il messaggio di benvenuto) che un servizio mostra quando ci si collega
Bash:
$ ftp 10.11.1.8
Connected to 10.11.1.8.
220 (vsFTPd 2.0.1)
Name (10.11.1.8:kali): Anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
In questo caso il Banner è "220 (vsFTPd 2.0.1)"

Bash:
$ nc -nvC 10.11.1.115 25
(UNKNOWN) [10.11.1.115] 25 (smtp) open
220 subdomain.spoiler.com ESMTP Sendmail 8.12.8/8.12.8; Wed, 10 Mar 2021 15:42:19 +0200
helo server
250 subdomain.spoiler.com Hello [192.168.119.209], pleased to meet you
help

in questo caso "220 subdomain.spoiler.com ESMTP Sendmail 8.12.8/8.12.8; Wed, 10 Mar 2021 15:42:19 +0200"

Il banner grabbing non è nient'altro che raccogliere tutti questi banner e cercare informazioni in essi (nome del software, versione, dns ecc)
 

coronello

Utente Gold
28 Agosto 2017
424
105
31
244
ti
Il "Banner" nel gergo ICT è il primo messaggio (in genere il messaggio di benvenuto) che un servizio mostra quando ci si collega
Bash:
$ ftp 10.11.1.8
Connected to 10.11.1.8.
220 (vsFTPd 2.0.1)
Name (10.11.1.8:kali): Anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
In questo caso il Banner è "220 (vsFTPd 2.0.1)"

Bash:
$ nc -nvC 10.11.1.115 25
(UNKNOWN) [10.11.1.115] 25 (smtp) open
220 subdomain.spoiler.com ESMTP Sendmail 8.12.8/8.12.8; Wed, 10 Mar 2021 15:42:19 +0200
helo server
250 subdomain.spoiler.com Hello [192.168.119.209], pleased to meet you
help

in questo caso "220 tophat.acme.com ESMTP Sendmail 8.12.8/8.12.8; Wed, 10 Mar 2021 15:42:19 +0200"

Il banner grabbing non è nient'altro che raccogliere tutti questi banner e cercare informazioni in essi (nome del software, versione, dns ecc)
tisei comunque dimenticato di dire che prima ci vuole accesso alla retw wifi, comunque se io avessi acceso al wifi di unicredit banca che cosa potrei vedere?
 

JunkCoder

Moderatore
5 Giugno 2020
775
15
607
339
ti
tisei comunque dimenticato di dire che prima ci vuole accesso alla retw wifi, comunque se io avessi acceso al wifi di unicredit banca che cosa potrei vedere?

Il Wi-Fi non c'entra nulla, il banner grabbing puo' essere fatto su qualunque host che espone un servizio di cui si conosce "l'hello" per farla semplice, puoi raggiungerlo in locale, dalla lan, internet, tor eccetera.
Non capisco cosa c'entri il wifi della banca e ho notato che tendi sempre a fare domande un po' pericolose, comunque ritengo improbabile che una banca esponga servizi dal wi-fi, sara' tutto cablato con ulteriori sistemi di sicurezza.
 
DOWNLOAD
Supporta Inforge con una donazione

scrutatore

Utente Bronze
29 Luglio 2016
5
1
1
30
Il Wi-Fi non c'entra nulla, il banner grabbing puo' essere fatto su qualunque host che espone un servizio di cui si conosce "l'hello" per farla semplice, puoi raggiungerlo in locale, dalla lan, internet, tor eccetera.
Non capisco cosa c'entri il wifi della banca e ho notato che tendi sempre a fare domande un po' pericolose, comunque ritengo improbabile che una banca esponga servizi dal wi-fi, sara' tutto cablato con ulteriori sistemi di sicurezza.
ciao, cosa intendi con ''l'hello'' ?
 

JunkCoder

Moderatore
5 Giugno 2020
775
15
607
339
Ultima modifica:
ciao, cosa intendi con ''l'hello'' ?

A volte per servizi basati su TCP basta una Connect, sotto avverra' l'handshake a tre vie di tcp e il servizio remoto e' poi il primo a scrivere, pero' prendiamo per esempio un servizio HTTP, si aspetta che dopo l'handshake sia tu ad inviare per primo un header composto in un certo modo "HTTP.... GET /...", allo stesso modo altri servizi con altri protocolli potrebbero ignorare la tua richiesta e non risponderti o chiudere la connessione se non invii prima un "saluto" descritto dal protocollo in questione. Poi non e' detto che basti, il servizio remoto puo' sempre decidere di non risponderti comunque (e quindi non darti nemmeno un banner) in base a IP o altre informazioni ma quest'ultimo caso e' piu' raro, in quanto di solito se il blocco e' all' application layer ormai il banner e' gia' partito e viene mostrato un errore, nel caso invece fosse un firewall o qualcosa del genere e' assai probabile che la richiesta non arrivi affatto al servizio.