歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

NDIS HOOK開發簡單日志

今天調試了下uay backdoor, 其實基於ndis hook的想法的rootkit,2003年的時候我已經想過,一直沒有動手了,看來實戰第一. 呵呵,當然波蘭的女hacker的rootkit 似乎也是這個思路,沒有公布一點源碼,這裡我們應該感謝uay; 他在源代碼裡面也提到是采用了gjp的ndis hook技術---fake protocol,其實就是注冊一個假協議獲取協議連,從而遞歸來hook所有的協議驅動的一些收發函數, 關鍵是2000下和XP,2003的ndis_open_block的結構是不同的,gjp的代碼是相當完全,不過沒有太多說明,他當然是知道的. 另外是最近公開的部分kernel socket代碼,就是核心層自己發包構建協議的意思.

uay的後門完全是在xp下使用xp ddk開發的,所以部分函數直接build無法通過,首先我們可以看到了函數RtlGetVersion函數,在2000的ntddk中可以查閱到此函數,但是已經聲明只能在xp以上的系統中使用,我們應該替換這個為

BOOLEAN PsGetVersion( PULONG MajorVersion OPTIONAL, PULONG MinorVersion OPTIONAL, PULONG BuildNumber OPTIONAL, PUNICODE_STRING CSDVersion OPTIONAL );

   適用系統是nt/2000了, 為了滿足多平台這裡的框架代碼可能要進行調整,好,暫時修改下,build後可以發現error C4013: 'NdisGetPoolFromPacket' undefined這個錯誤信息,查閱ndisgetpoolfrompacket可以看到




Copyright © Linux教程網 All Rights Reserved