Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 1

Ora proveremo un altro modo per iniettare SQL. Vediamo se il database continua a rilasciare messaggi di errore. Questo metodo è chiamato "attesa di un ritardo" e il ritardo stesso è scritto come segue: waitfor delay 00:00:01'. Lo copio dal nostro file e lo incollo nella barra degli indirizzi del mio browser.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Tutto questo si chiama "blind SQL injection su base temporanea". Tutto quello che stiamo facendo qui è dire "attendere un ritardo di 10 secondi". Se noti, in alto a sinistra abbiamo la scritta "connecting ...", cioè cosa fa la nostra pagina? Attende una connessione e, dopo 10 secondi, sul monitor viene visualizzata la pagina corretta. Con questo trucco, chiediamo al database di permetterci di porgli qualche domanda in più, ad esempio, se l'utente è Joe, allora dobbiamo aspettare 10 secondi. È chiaro? Se l'utente è dbo, attendi anche 10 secondi. Questo è il metodo Blind SQL Injection.

Penso che gli sviluppatori non risolvano questa vulnerabilità durante la creazione di patch. Questa è SQL injection, ma neanche il nostro programma IDS la vede, come i precedenti metodi di SQL injection.
Proviamo qualcosa di più interessante. Copia questa riga con l'indirizzo IP e incollala nel browser. Ha funzionato! La barra TCP nel nostro programma è diventata rossa, il programma ha rilevato 2 minacce alla sicurezza.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Ok, vediamo cosa è successo dopo. Abbiamo una minaccia per la shell XP e un'altra minaccia è un tentativo di iniezione SQL. In totale, ci sono stati due tentativi di attacco all'applicazione web.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Ok, ora aiutami con la logica. Abbiamo un pacchetto di dati di manomissione in cui l'IDS afferma di aver risposto a varie manomissioni della shell XP.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Se scendiamo, vediamo una tabella di codici HEX, alla cui destra c'è un flag con il messaggio xp_cmdshell + &27ping, e ovviamente questo è male.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Vediamo cosa è successo qui. Cosa ha fatto SQL Server?

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Il server SQL ha detto "puoi avere la password del mio database, puoi ottenere tutti i record del mio database, ma amico, non voglio che tu esegua i tuoi comandi su di me, non è affatto bello"!

Quello che dobbiamo fare è assicurarci che anche se l'IDS segnala una minaccia alla shell XP, la minaccia venga ignorata. Se utilizzi SQL Server 2005 o SQL Server 2008, se viene rilevato un tentativo di SQL injection, la shell del sistema operativo verrà bloccata, impedendoti di continuare il tuo lavoro. È molto fastidioso. Quindi cosa dobbiamo fare? Dovresti provare a chiedere molto affettuosamente al server. Dovrei dire qualcosa del tipo "per favore, papà, posso avere questi biscotti"? Questo è quello che faccio, seriamente, chiedo molto educatamente al server! Sto chiedendo più opzioni, sto chiedendo la riconfigurazione e sto chiedendo che le impostazioni della shell dei comandi XP vengano modificate per rendere disponibile la shell dei comandi perché ne ho bisogno!

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Vediamo che IDS ha rilevato questo - vedi, 3 minacce sono già state notate qui.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Guarda qui: abbiamo fatto saltare in aria i registri di sicurezza! Sembra un albero di Natale, tante cose sono appese qui! Ben 27 minacce alla sicurezza! Evviva ragazzi, abbiamo catturato questo hacker, l'abbiamo preso!

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Non siamo preoccupati che rubi i nostri dati, ma se può eseguire i comandi di sistema nella nostra "scatola", questo è già serio! Puoi tracciare il percorso Telnet, FTP, puoi prendere il controllo dei miei dati, va bene, ma non mi preoccupo di questo, semplicemente non voglio che tu prenda il controllo del guscio della mia "scatola".

Voglio parlare di cose che mi hanno davvero colpito. Lavoro per organizzazioni, lavoro per loro da molti anni, e te lo dico perché la mia ragazza pensa che io sia disoccupato. Lei pensa che io non faccia altro che salire sul palco e chiacchierare, questo non può essere considerato lavoro. Ma io dico: “no, gioia mia, sono un consulente”! Questa è la differenza: dico quello che penso e vengo pagato per questo.

Mettiamola in questo modo: noi hacker amiamo rompere il guscio e per noi non c'è piacere più grande al mondo che "ingoiare il guscio". Quando gli analisti IDS scrivono le loro regole, puoi vedere che le scrivono in un modo che protegge dall'hacking della shell. Ma se parli con il CIO del problema dell'estrazione dei dati, ti offrirà di pensare a due opzioni. Diciamo che ho un'applicazione che produce 100 "pezzi" all'ora. Cosa è più importante per me: garantire la sicurezza di tutti i dati in questa applicazione o la sicurezza della shell "scatola"? Questa è una domanda seria! Di cosa dovresti essere più preoccupato?

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Solo perché hai una shell "scatola" rotta non significa necessariamente che qualcuno abbia ottenuto l'accesso al funzionamento interno delle applicazioni. Sì, è più che probabile, e se non è ancora successo, potrebbe presto. Ma tieni presente che molti prodotti di sicurezza sono costruiti sulla premessa che un utente malintenzionato si aggira nella tua rete. Quindi prestano attenzione all'esecuzione dei comandi, all'inserimento dei comandi, e dovresti notare che questa è una cosa seria. Sottolineano vulnerabilità banali, script cross-site molto semplici, iniezioni SQL molto semplici. Non si preoccupano delle minacce complesse, non si preoccupano dei messaggi crittografati, non si preoccupano di quel genere di cose. Si può dire che tutti i prodotti di sicurezza cercano rumore, cercano "abbaiare", vogliono fermare qualcosa che ti morde la caviglia. Ecco cosa ho imparato quando ho a che fare con i prodotti per la sicurezza. Non è necessario acquistare prodotti per la sicurezza, non è necessario guidare il camion in retromarcia. Hai bisogno di persone competenti e qualificate che capiscano la tecnologia. Sì, mio ​​Dio, gente! Non vogliamo buttare milioni di dollari in questi problemi, ma molti di voi hanno lavorato in questo campo e sanno che non appena il vostro capo vede un annuncio, corre al negozio urlando "dobbiamo prendere questa cosa!". Ma non ne abbiamo davvero bisogno, dobbiamo solo sistemare il casino che c'è dietro di noi. Questa è stata la premessa per questa performance.

Un ambiente ad alta sicurezza è qualcosa su cui ho dedicato molto tempo per comprendere le regole su come funzionano i meccanismi di protezione. Una volta compresi i meccanismi di protezione, aggirare la protezione non è difficile. Ad esempio, ho un'applicazione Web protetta dal proprio firewall. Copio l'indirizzo del pannello delle impostazioni, lo incollo nella barra degli indirizzi del browser e vado alle impostazioni e provo ad applicare il cross-site scripting.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Di conseguenza, ricevo un messaggio del firewall su una minaccia: sono stato bloccato.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Penso che sia brutto, sei d'accordo? Stai affrontando un prodotto di sicurezza. Ma cosa succede se provo qualcosa del genere: inserisci il parametro Joe'+OR+1='1 nella stringa

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Come puoi vedere, ha funzionato. Correggimi se sbaglio, ma abbiamo visto SQL injection sconfiggere il firewall dell'applicazione. Ora facciamo finta di voler avviare una società di sicurezza, quindi indossiamo il cappello del produttore di software. Ora incarniamo il male perché è un cappello nero. Sono un consulente, quindi posso farlo con i produttori di software.

Vogliamo creare e implementare un nuovo sistema di rilevamento delle intrusioni, quindi avvieremo una campagna di rilevamento delle manomissioni. Snort, in quanto prodotto open source, contiene centinaia di migliaia di firme di minacce di intrusione. Dobbiamo agire in modo etico, quindi non ruberemo queste firme da altre applicazioni e le inseriremo nel nostro sistema. Ci sediamo e le riscriviamo tutte - ehi Bob, Tim, Joe, venite qui e fate una rapida rassegna di tutte quelle 100 firme!

Dobbiamo anche creare uno scanner di vulnerabilità. Sai che Nessus, il rilevatore automatico di vulnerabilità, ha ben 80 firme e script che controllano le vulnerabilità. Agiremo di nuovo in modo etico e li riscriveremo personalmente tutti nel nostro programma.
La gente mi chiede: "Joe, fai tutti questi test con software open source come Mod Security, Snort e simili, quanto sono simili ai prodotti di altri fornitori?" Rispondo loro: "Non si assomigliano affatto!" Poiché i venditori non rubano roba dai prodotti di sicurezza open source, si siedono e scrivono tutte queste regole da soli.

Se riesci a far funzionare le tue firme e le stringhe di attacco senza utilizzare prodotti open source, questa è una grande opportunità per te. Se non sei in grado di competere con i prodotti commerciali, muovendoti nella giusta direzione, devi trovare un concetto che ti aiuti a farti conoscere nel tuo campo.

Tutti sanno che bevo. Lascia che ti mostri perché bevo. Se hai mai fatto un controllo del codice sorgente nella tua vita, ti ubriacherai sicuramente, fidati di me, dopodiché inizierai a bere.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Quindi il nostro linguaggio preferito è il C++. Diamo un'occhiata a questo programma: Web Knight è un'applicazione firewall per server web. Ha eccezioni predefinite. È interessante: se distribuisco questo firewall, non mi proteggerà da Outlook Web Access.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Meraviglioso! Questo perché molti fornitori di software estraggono regole da alcune applicazioni e le inseriscono nel loro prodotto senza fare un sacco di ricerche giuste. Quindi, quando distribuisco un'applicazione firewall di rete, penso che tutto ciò che riguarda la webmail sia fatto male! Perché quasi tutte le webmail violano la sicurezza predefinita. Hai un codice web che esegue i comandi di sistema e interroga LDAP o qualsiasi altro archivio di database utente direttamente sul web.

Dimmi, su quale pianeta una cosa del genere può essere considerata sicura? Pensaci: apri Outlook Web Access, premi b ctrl+K, cerchi utenti e tutto il resto, gestisci Active Directory direttamente dal web, esegui comandi di sistema su Linux se usi "squirrel mail" o Horde o altro qualcos'altro. Stai inserendo tutte quelle valutazioni e altri tipi di funzionalità non sicure. Pertanto, molti firewall li escludono dall'elenco delle minacce alla sicurezza, prova a chiedere informazioni al produttore del software.

Torniamo all'applicazione Web Knight. Ha rubato molte regole di sicurezza da uno scanner di URL che scansiona tutti questi intervalli di indirizzi IP. E cosa, tutti questi intervalli di indirizzi sono esclusi dal mio prodotto?

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Qualcuno di voi vuole installare questi indirizzi sulla propria rete? Vuoi che la tua rete funzioni su questi indirizzi? Sì, è incredibile. Ok, scorriamo questo programma e guardiamo altre cose che questo firewall non vuole fare.

Si chiamano "1999" e vogliono che il loro server web sia nel passato! Qualcuno di voi ricorda questa schifezza: /scripts, /iishelp, msads? Forse un paio di persone ricorderanno con nostalgia quanto fosse divertente hackerare queste cose. "Ricorda, amico, quanto tempo fa abbiamo "ucciso" i server, è stato bello!".

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Ora, se guardi queste eccezioni, vedrai che puoi fare tutte queste cose - msads, stampanti, iisadmpwd - tutte queste cose di cui nessuno ha bisogno oggi. E i comandi che non ti è permesso eseguire?

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Questi sono arp, at, cacls, chkdsk, cipher, cmd, com. Quando li elenchi, sei sopraffatto dai ricordi dei vecchi tempi, "amico, ricordi come abbiamo rilevato quel server, ricordi quei giorni"?

Ma ecco cosa è veramente interessante: qualcuno vede WMIC qui o forse PowerShell? Immagina di avere una nuova applicazione che funziona eseguendo script sul sistema locale, e questi sono script moderni, perché vuoi eseguire Windows Server 2008, e farò un ottimo lavoro nel proteggerlo con regole progettate per Windows 2000. In modo che la prossima volta che un venditore viene da te con la sua applicazione web, chiedigli: "Ehi amico, hai provveduto a cose come l'amministratore di bit o l'esecuzione di comandi PowerShell, hai controllato tutte le altre cose, perché stiamo andando aggiornare e utilizzare la nuova versione di DotNET"? Ma tutte queste cose dovrebbero essere presenti nel prodotto di sicurezza per impostazione predefinita!

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

La prossima cosa di cui voglio parlarti sono gli errori logici. Andiamo a 192.168.2.6. Questa è più o meno la stessa applicazione della precedente.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Potresti notare qualcosa di interessante se scorri verso il basso la pagina e fai clic sul link Contattaci.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Se guardi il codice sorgente della scheda "Contattaci", che è uno dei metodi di pentesting che faccio sempre, noterai questa riga.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Pensaci! Ho sentito che molti alla vista di questo hanno detto: "Wow"! Una volta ho fatto dei test di penetrazione per, diciamo, una banca miliardaria, e lì ho notato qualcosa di simile. Quindi, non abbiamo bisogno di SQL injection o cross site scripting: abbiamo la cosa principale, questa barra degli indirizzi.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Quindi, senza esagerare - la banca ci ha detto che avevano entrambi - e uno specialista di rete e un ispettore web, e non hanno fatto commenti. Cioè, consideravano normale che un file di testo potesse essere aperto e letto attraverso un browser.

Cioè, puoi semplicemente leggere il file direttamente dal file system. Il capo del loro team di sicurezza mi ha detto: "sì, uno degli scanner ha rilevato questa vulnerabilità, ma l'ha considerata minore". A cui ho risposto, va bene, dammi un minuto. Ho digitato filename=../../../../boot.ini nella barra degli indirizzi e sono stato in grado di leggere il file di avvio del file system!

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

A questo mi hanno detto: “no, no, no, questi non sono file critici”! Ho risposto, ma è Server 2008, vero? Hanno detto di sì, è lui. Dico - ma questo server ha un file di configurazione situato nella directory principale del server, giusto? "Giusto", rispondono. "Fantastico", dico, "e se l'attaccante lo fa" e digito filename=web.config nella barra degli indirizzi. Dicono: e allora, non vedi nulla sul monitor?

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Dico: cosa succede se faccio clic con il pulsante destro del mouse sul monitor e seleziono l'opzione "Mostra codice pagina"? E cosa troverò qui? "Niente di critico"? Vedrò la password dell'amministratore del server!

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

E dici che qui non ci sono problemi?

Ma la mia parte preferita è la prossima. Non mi lasci eseguire comandi nella casella, ma posso rubare la password e il database dell'amministratore del server web, guardare l'intero database, strappare tutto il database e gli errori di sistema e andarmene via con tutto. Questo è il caso in cui il cattivo dice "ehi amico, oggi è un grande giorno"!

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Non lasciare che i prodotti per la sicurezza diventino la tua malattia! Non lasciare che i prodotti per la sicurezza ti facciano ammalare! Trova dei nerd, dai loro tutti quei cimeli di Star Trek, falli interessare, incoraggiali a stare con te, perché quei puzzolenti nerd che non si fanno la doccia tutti i giorni sono quelli che fanno funzionare le tue reti come segue! Queste sono le persone che aiuteranno i tuoi prodotti di sicurezza a funzionare correttamente.

Dimmi, quanti di voi riescono a stare a lungo nella stessa stanza con una persona che dice costantemente: "oh, devo stampare urgentemente questo copione!", E chi è sempre impegnato con questo? Ma hai bisogno di persone che facciano funzionare i tuoi prodotti di sicurezza.

Per ribadire, i prodotti di sicurezza sono stupidi perché le luci sono sempre sbagliate, fanno costantemente cose di merda, semplicemente non forniscono sicurezza. Non ho mai visto un buon prodotto per la sicurezza che non richieda un ragazzo con un cacciavite per modificarlo dove è necessario farlo funzionare più o meno normalmente. È solo un enorme elenco di regole che dicono che è brutto, e basta!

Quindi ragazzi, voglio che prestiate attenzione all'istruzione, a cose come la sicurezza, i politecnici, perché ci sono molti corsi online gratuiti sui problemi di sicurezza. Impara Python, impara Assembly, impara i test delle applicazioni web.

Conferenza HACKTIVITY 2012. The Big Bang Theory: The Evolution of Security Pentesting. Parte 2

Ecco cosa ti aiuterà davvero a proteggere la tua rete. Le persone intelligenti proteggono le reti, i prodotti di rete non proteggono! Torna al lavoro e dì al tuo capo che hai bisogno di più budget per persone più intelligenti, so che ora è una crisi ma digli comunque che abbiamo bisogno di più soldi per le persone per istruirli. Se compriamo un prodotto ma non compriamo un corso su come usarlo perché è costoso, allora perché lo compriamo se non insegneremo alla gente come usarlo?

Ho lavorato per molti fornitori di prodotti di sicurezza, ho passato quasi tutta la mia vita a implementare questi prodotti e mi sto stancando di tutti questi controlli di accesso alla rete e roba del genere perché ho installato ed eseguito tutti questi prodotti di merda. Un giorno sono andato da un cliente, volevano implementare lo standard 802.1x per il protocollo EAP, quindi avevano indirizzi MAC e indirizzi secondari per ogni porta. Sono venuto, ho visto che era brutto, mi sono girato e ho iniziato a premere i pulsanti della stampante. Sai, la stampante può stampare una pagina di prova dell'apparecchiatura di rete con tutti gli indirizzi MAC e gli indirizzi IP. Ma si è scoperto che la stampante non supporta lo standard 802.1x, quindi dovrebbe essere esclusa.

Quindi ho scollegato la stampante e ho cambiato l'indirizzo MAC del mio laptop nell'indirizzo MAC della stampante e ho collegato il mio laptop, aggirando così questa costosa soluzione MAC, pensaci! Quindi a che serve questa soluzione MAC per me se una persona può semplicemente far passare qualsiasi apparecchiatura come una stampante o un telefono VoIP?

Quindi per me oggi, pentesting significa passare il tempo cercando di capire e comprendere un prodotto di sicurezza che il mio cliente ha acquistato. Ora ogni banca in cui eseguo un test di penetrazione ha tutti questi HIPS, NIPS, LAUGTHS, MACS e un sacco di altri acronimi che fanno schifo. Ma sto cercando di capire cosa stanno cercando di fare questi prodotti e come stanno cercando di farlo. Quindi, una volta che ho capito quale metodologia e logica usano per fornire protezione, aggirarlo non diventa affatto difficile.

Il mio prodotto preferito, con cui vi lascio, si chiama MS 1103. È un exploit basato su browser che spruzza HIPS, Host Intrusion Prevention Signature o Host Intrusion Prevention Signature. In effetti, ha lo scopo di aggirare le firme HIPS. Non voglio mostrarti come funziona perché non voglio prendermi il tempo per dimostrarlo, ma fa un ottimo lavoro nell'aggirare questa protezione e voglio che tu la adotti.
OK ragazzi, ora vado.

Alcuni annunci 🙂

Grazie per stare con noi. Ti piacciono i nostri articoli? Vuoi vedere contenuti più interessanti? Sostienici effettuando un ordine o raccomandando agli amici, cloud VPS per sviluppatori da $ 4.99, un analogo unico dei server entry-level, che è stato inventato da noi per te: Tutta la verità su VPS (KVM) E5-2697 v3 (6 core) 10 GB DDR4 480 GB SSD 1 Gbps da $ 19 o come condividere un server? (disponibile con RAID1 e RAID10, fino a 24 core e fino a 40 GB DDR4).

Dell R730xd 2 volte più economico nel data center Equinix Tier IV ad Amsterdam? Solo qui 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV da $199 In Olanda! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - da $99! Leggi Come costruire Infrastructure Corp. classe con l'utilizzo di server Dell R730xd E5-2650 v4 del valore di 9000 euro per un centesimo?

Fonte: habr.com

Aggiungi un commento