簡介繞過DarkSpy的方法

簡介繞過DarkSpy的方法


創建時間:2006-04-30
文章屬性:原創
文章提交:ytht (ythtlqqm_at_126.com)

簡介繞過DarkSpy的方法

                          [email protected]
    DarkSpy是由CardMagic和wowocock編寫的anti-rootkit不錯的工具。因爲正在寫
的本科畢設與檢測rootkit有關,所以這幾天分析一下,看有什麼可利用的。
    分析進行得比較順利,因爲DarkSpy裏面所採用的技術多數Internet上已經見過,
不過肯定有一些創意的哦。
    先說說裏面的新東西:驅動開發網站的一位會員啓發我們DarkSpy修改了
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Session Manager中的
GlobalFlag爲0x4000,這是做什麼呢?原來這會使得NtGlobalFlag加入Maintain
Object Typelist標誌,於是系統創建對象時會把它加入Type鏈表中,這樣可以
遍歷鏈表來查找對象。修改標誌需要重啓機器,這應該就是“強模式”要重啓的理由。
正如那位會員所說,作者故意隱瞞了這點,我也覺得不妥:如果是爲了防止別人crack,
也應該提供卸載程序的,因爲這個標誌一直不被清除,不再使用DarkSpy的用戶依然
會爲此付出代價:每個內核對象都要額外分配16字節的核心空間,那成千上萬的
對象呢?
    這個技巧對DKOM來說比較weak了,用下面的代碼清除:
VOID
ClearObjectCreatorInfo(
    PVOID Object
    )
{
    POBJECT_HEADER ObjectHeader = OBJECT_TO_OBJECT_HEADER(Object);
    POBJECT_HEADER_CREATOR_INFO CreatorInfo =
                            OBJECT_HEADER_TO_CREATOR_INFO(ObjectHeader);
    if (CreatorInfo != NULL)
    {
        RemoveEntryList(&CreatorInfo->TypeList);
        InitializeListHead(&CreatorInfo->TypeList);
    }
}
傳入處理的對象就脫鏈了。這幾行代碼可讓“強模式”失效。

    下面簡單說說擊破的法門:

一、驅動:
    DarkSpy1.0.3版及以前很簡單,學習Futo rootkit斷開PsLoadedModuleList,再將驅動對象
傳入上面的ClearObjectCreatorInfo,不論“強模式”還是“弱模式”均搞定。
    DarkSpy1.0.4版有了修改,不過依舊是查找DriverObject,在適當的時候清理掉就可以
了,比如可以walkkernel object tree,還有更簡單的辦法:)

二、進程:
    DarkSpy的進程功能把好多東西堆到一起來噁心rootkit的作者們,怎麼樣,被噁心到了吧?雖
然裏面的技術可能不新鮮,但是這麼一組合,難以全部清除的。下面把隱藏需要做的事列舉列舉:
    1、PspCidTable就學futo抹掉;
    2、進程、線程對象傳入ClearObjectCreatorInfo;
    3、它還使用csrss裏的進程句柄,直接到csrss進程裏ZwClose掉最簡單;
    4、DarkSpy在我的機器崩潰過,分析dump,原來與殺軟衝突:它也hook了SwapContext,不好辦?
恢復不就行了。恢復時機很重要,相信你也能想到不錯的。說說我的思路:在任一條
call SwapContext之前的路徑上下hook,hook的程序什麼也不做,專門檢查SwapContext,被改則
改回去,這是很通用的做法,它要是hook別的地方也一樣搞定。
    5、還有一個由線程到進程的,自己去發掘吧,也該動動手麼...嘿嘿。
    最後可以完全隱藏自己的進程,不過你累不累,什麼東西非有進程才能做,沒進程就不能做?
都核心驅動了...感覺真沒必要。

三、文件:
    據說是Create IRP,嘿嘿,不過我還沒學文件系統驅動,那位大蝦補充吧。

四、註冊表:
    雖測試版沒有功能,但看看界面可以猜測猜測內部版:應該是複製或是仿製開源工具
RegHives來做的,擊破的原理網上有不少。只是dump的方法可能不同。

    作者們花了功夫爲大家提供了不錯的工具,不過這些技術很多網上流傳不少時
間了,效果不盡人意。發這篇短文肯定能促使作者更新,嘿嘿。

我是一介小菜,中間有些東西是問驅網一些高手得知的,像那個GlobalFlag,完全沒想到有什麼用,
多謝一些高手的指點。隱藏視頻沒空間上傳,就算了。 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章