Otázka:
Připojení škodlivého softwaru INT 1 a INT 3
mrduclaw
2013-03-31 07:48:01 UTC
view on stackexchange narkive permalink

Chápu, že na x86 se INT 1 používá pro jednostupňové a INT 3 se používá pro nastavení zarážek a některých dalších přerušení (obvykle 0x80 pro Linux a 0x2E pro Windows) se dříve používala pro systémová volání.

Pokud malware zasáhne tabulku Interrupt Descriptor Table (IDT) a nahradí vlastní obslužné rutiny INT 1 a INT 3 , které provádějí systémové volání funkce, jak mohu použít debugger ke sledování jeho provedení? Nebo používám nástroje statické analýzy?

Obejít by bylo opravit vzorek tak, aby byly háčky buď odstraněny, nebo přesunuty do přerušení, která nezasahují do ladění. Ze zvědavosti víte, jestli existují nějaké veřejně dostupné vzorky, které to dělají v systému Windows?
Odstranění háků je dostatečně snadné, pokud kód nepoužívá háčky pro funkce podobné volání systému. Zdá se, že jejich přesunutí do dalšího přerušení by mělo fungovat. Nyní je problém v tom, že kód je hodně nabitý, takže úpravy jsou nepříjemné. : / A ne, žádné veřejně dostupné vzorky, o kterých vím, promiň.
Jen pro jistotu, to také narušuje ladicí programy na úrovni jádra, že?
Toto je druh přístupu Hail Mary, ale pokud jste to dělali v Linuxu, můžete překompilovat jádro pomocí vlastního IDT a znovu sestavit svůj debugger s novým mapováním. To by pravděpodobně stálo za to, pouze pokud se s tímto druhem vzorků hodně setkáváte.
@amccormack:, ale pokud malware spoléhá na přítomnost funkcí jádra u těchto vektorů přerušení, nepřestane fungovat? Očekávám, že budete muset být velmi opatrní, jak provádíte úpravy jádra ...
Jeden odpovědět:
deroko
2013-03-31 18:33:58 UTC
view on stackexchange narkive permalink

Navrhoval bych to jako řešení http://accessroot.com/arteam/site/download.php?view.185, protože jsem měl podobný problém v jednom z crackmesů. To, co jsem udělal, bylo napsat vlastní háčky pro SoftICE, aby obešly háčky ring0 int 3 a int 1. Mohlo by to být užitečné pro váš problém. Zajímavá sekce je „SoftICE přichází na pomoc“.

Uveďte prosím relevantní části odkazu, místo toho, abyste odkaz uvedli zde.


Tyto otázky a odpovědi byly automaticky přeloženy z anglického jazyka.Původní obsah je k dispozici na webu stackexchange, za který děkujeme za licenci cc by-sa 3.0, pod kterou je distribuován.
Loading...