系統安全工具PsTools在滲透中的一點小應用
注:這篇文章只是作者做一個演示,可不是教大家做壞事。另外,安全工程師也可以做一個借鑒。
最近運氣不好,拿下的某內網,Server區全部不能外連,沒法反彈socks出來,導致滲透內網其它網段的時候很辛苦。其中一臺MSSQL和Web是分離的,服務器雖然拿下了,但有時候上去執行一些管理員權限才能執行的命令時(該Server是IIS6+ASPX,權限不夠),只能用reDuh上3389,但reDuh實在是太慢了,我現在用reDuh連終端的時候都設置的***分辨率(640 x 480)和***色彩(256色),即使這樣好不容易上去了敲個命令還要等半天,實在讓人抓狂.....
然后想到了psexec.exe,它可以在提供用戶名密碼的情況下(120G RainbowTable在手,跑密碼目前還未受到過阻力),以其它用戶的權限運行程序,如果能在WebShell里面用它+密碼執行管理員權限命令還是蠻方便的。立刻上傳嘗試,結果發現半天不返回結果,taskkill掉后在本機測試,發現***次執行的時候會在本地桌面(console)彈出“最終用戶許可協議”提示,不點同意就不會繼續(我本來還報僥幸不在桌面環境運行就不會彈呢)。如下圖。
我們需要的當然是純命令行的工具,彈這東西真是煩人,所以得改造下,又拿出同樣是Sysinternals出品的Regmon監控了下,發現相關鍵值記錄在HKEY_CURRENT_USER\Software\Sysinternals\PsExec下面,又拿出OllyDBG準備調試修改一下,結果調試的時候發現原來這小工具還不是那么不可理喻,提供了一個自動接受“最終用戶許可協議”的參數 -accesseula(更囧的是剛剛才發現***次運行彈的框框上有提示這個參數- -!)
這就好辦了,上傳PsExec.exe后,就可以以下面的形式在權限比較低的WebShell里面執行高權限系統命令了:
C:\WINDOWS\Temp\psexec.exe -accepteula \\127.0.0.1 -u administrator -p 654321 net user zerosoul 123456 /add
654321是管理員密碼,net user zerosoul 123456 /add是要執行的命令。不過不到萬不可以可不要用加賬戶這么大動作的命令,呵呵。
當然內網滲透的時候psexec.exe不止這點本事,而且貌似psexec.exe比IPC$用at執行命令來的方便。
再說說psloglist.exe,是個操作系統日志的小工具。查看Security日志一般能快速定位管理員IP,在內網滲透的時候還是很有用的。
C:\WINDOWS\Temp\psloglist.exe -accepteula -g C:\WINDOWS\Temp\securitydump.evt security
上面這句命令可以把Security日志導出到C:\WINDOWS\Temp\securitydump.evt,down回本地后可以用事件查看器(eventvwr.msc)導入查看。位于C:\WINDOWS\system32\config\的Security日志原始文件SecEvent.Evt是可以下載的,但下載下來是沒法導入的。能記錄登陸IP的事件ID:682.
PsTools工具包可謂是小工具里經典中的經典了,否則MS怎么會收購它呢,呵呵。Sysinternals出品的東西都挺好用的,像PsList這些就不用說了,但要提一點的是,PsTools里,很多小工具的參數選項都有一句\\computer 。
恩,真是個不錯的參數。
PS:感覺在做內網滲透的時候,拓撲圖能在很大程度上幫助我們分析內網結構,理清思路,特別是大而復雜的內網,不畫圖的話分析會很散,也不直觀,很難組織到一起,所以在請教過大貓后,下載了個Visio(居然又是MS的...),以后時刻準備著畫圖。