首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RedTeam 技巧集合

RedTeam 技巧集合

作者头像
信安之路
发布2018-12-17 11:33:18
1K0
发布2018-12-17 11:33:18
举报
文章被收录于专栏:信安之路信安之路

翻译作者: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、V**、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、可以使用 V** 、麦克风和网络摄像头对用户进行监控。

23、可以使用 netstat 和 tasklist 查看用户的操作以及运行的软件。

24、 在做横向移动的时候,可以使用类似于 Welcome1、Password1 这样的密码进行尝试。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 信安之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档