0x00 什么是红队
红队,一般是指网络实战攻防演习中的攻击一方。
红队一般会针对目标系统、人员、软件、硬件和设备同时执行的多角度、混合、对抗性的模拟攻击;通过实现系统提权、控制业务、获取数据等目标,来发现系统、技术、人员和基础架构中存在的网络安全隐患或薄弱环节。
红队人员并不是一般意义上的电脑黑客。因为黑客往往以攻破系统,获取利益为目标;而红队则是以发现系统薄弱环节,提升系统安全性为目标。此外,对于一般的黑客来说,只要发现某一种攻击方法可以有效地达成目标,通常就没有必要再去尝试其他的攻击方法和途径;但红队的目标则是要尽可能地找出系统中存在的所有安全问题,因此往往会穷尽已知的“所有”方法来完成攻击。换句话说,红队人员需要的是全面的攻防能力,而不仅仅是一两招很牛的黑客技术。
红队的工作也与业界熟知的渗透测试有所区别。渗透测试通常是按照规范技术流程对目标系统进行的安全性测试;而红队攻击一般只限定攻击范围和攻击时段,对具体的攻击方法则没有太多限制。渗透测试过程一般只要验证漏洞的存在即可,而红队攻击则要求实际获取系统权限或系统数据。此外,渗透测试一般都会明确要求禁止使用社工手段(通过对人的诱导、欺骗等方法完成攻击),而红队则可以在一定范围内使用社工手段。
还有一点必须说明:虽然实战攻防演习过程中通常不会严格限定红队的攻击手法,但所有技术的使用,目标的达成,也必须严格遵守国家相关的法律和法规。
在演习实践中,红队通常会以3人为一个战斗小组,1人为组长。组长通常是红队中综合能力最强的人,需要较强的组织意识、应变能力和丰富的实战经验。而2名组员则往往需要各有所长,具备边界突破、横向移动(利用一台受控设备攻击其他相邻设备)、情报收集或武器制作等某一方面或几个方面的专长。
红队工作对其成员的能力要求往往是综合性的、全面性的。红队成员不仅要会熟练使用各种黑客工具、分析工具,还要熟知目标系统及其安全配置,并具备一定的代码开发能力,以便应对特殊问题。
0X02 红队之外网定向打点
Summary
情报收集与外网打点
因为起晚了..第一个议题没听着,有点遗憾,补张图
基础设施架构设计部署
普通架构:红队人员–》teamserver cs–》目标机 缺点:功能未分离、无潜伏通道、回连日志多、灵活性较低
演进架构:DNS/HTTP/HTTPS分离server tips:1~2cpu 2G内存 10G硬盘,回连数不超过5台,潜伏通道(根据实际目标环境优先)
完整架构:域名和IP(VPS)teamserver(CS)前置机(redictor) CS -》teamservers 1/2/3/… 前置层(SMTP/PAYLOAD/C2/隐蔽C2)
选择域名
抢注过期域名 expireddomains.net DELETE DOMAIN
tips1: 不要包含世界大厂和杀毒厂商相关的域名,以及和目标相关的域名
tips2:注册目标相关区域常见的域名,记得开隐私保护
其他:
tips3:检查域名是否被分类,金融、医疗、电商、航空、旅游 great
tips4:去VT、微步检查,域名是否被标黑
tips5:举报滥用规则仔细阅读(freenom 慎用)
培养域名(养号)
搭建正常域名,提交至各安全厂商给站点分类
tips1:把域名A记录解析到大厂ip,使用时候再解析到C2,不用时候解析回大厂ip
tips2:VT 自评, alex 自评
域名解析检测
域名分类检测
domaincheck:
IP检测
外网IP,通过情报站看是否被标黑
使用CDN隐藏真实IP(部分安全厂商会拦截CDN IP)
借鸡生蛋,
subdomain takeover:高信誉域名A解析B -》
高信誉肉鸡做前置转发
C2工具
自定义流量特征:DNS/HTTP/HTTPS/SMB和TCP
Payload加载流程:shellcode/Loader/Stageless/beacon
DNS:如果用到dns通道默认参数必须修改(容易被设备检测),不要用DNS做数据通道
HTTP(S):不要在uri中的文件后缀设置js、css等静态文件,效果:付费证书>免费证书>自签名证书 (Let’s Encrypt 免费 3个月过期,开自动续)
CS 3.14
Redirector
Office365、Pastebin、Slack、Facebook、Dropbox、Gmail、Twitter..
缺点:需要硬编码到第三方服务
第三方服务用作C2相关资源汇总
https://pentestarmoury.com/2017/07/19/s3-buckets-for-good-and-evil/
https://rhinosecuritylabs.com/aws/hiding-cloudcobalt-strike-beacon-c2-using-amazon-apis/
https://github.com/daniel-infosec/wikipedia-c2
https://unit42.paloaltonetworks.com/aggah-campaign-bit-ly-blogspot-and-pastebin-used-for-c2-in-large-scale-campaign
https://www.harmj0y.net/blog/powershell/command-and-control-using-active-directory/
https://blog.netspi.com/databases-and-clouds-sql-server-as-a-c2/
https://outflank.nl/blog/2017/09/17/blogpost-cobalt-strike-over-external-c2-beacon-home-in-the-most-obscure-ways
https://labs.mwrinfosecurity.com/blog/tasking-office-365-for-cobalt-strike-c2
https://github.com/maldevel/canisrufus
https://unit42.paloaltonetworks.com/darkhydrus-delivers-new-trojan-that-can-use-google-drive-for-c2-communications
https://github.com/byt3bl33d3r/gcat
https://github.com/maldevel/gdog
https://www.welivesecurity.com/wp-content/uploads/2019/05/ESET-LightNeuron.pdf
https://github.com/bkup/SlackShell https://github.com/j3ssie/c2s
https://github.com/praetorian-code/slack-c2bot
https://github.com/microsoft/skype-dev-bots
https://github.com/PaulSec/twittor
https://blog.talosintelligence.com/2017/04/introducing-rokrat.html
https://www2.fireeye.com/rs/848-DID-242/images/rpt-apt29-hammertoss.pdf
https://github.com/woj-ciech/Social-media-c2
Google App Engine| Amazon |Azure|Aliyun CDN
可见层:DNS、TLS
不可见层:HTTPS
URL(高信誉) SNI(高信誉) HOST(C2)
https://github.com/vysecurity/DomainFrontingLists
代替方案:HTTP pipelining( >http 1.1 )
和 domain fronting 效果相同
利用同一个tcp连接发送不同的host的http包
tips:good domain + bad domain 包一层同时发过去
建议使用多个判断过来请求,拒绝使用默认uri,对抗全网C2扫描
仅允许目标相关IP访问,对抗云沙盒
限定访问时间段,只在某个时间段请求payload
不要把非payload的uri重定向到google等高信誉域名
建议:在搭建来养域名,使用c2.aaa.com的二级域名做C2
DNS socat|iptables|ssh(tmux和screen选一个)
Apache|Nginx
Tips:
Domain Fronting(隐藏IP、域名的方式)
第三方服务用作C2
邮件钓鱼(SMTP)
域名:同C2域名选择
高信誉的邮件发送者:Mailchimp、Sendgrid
正确配置SPF、DKIM\DMARC
SSL证书
发送时间和频率
一键部署
钓鱼邮件框架:Gophish (https://github.com/gophish/gophish)
隐蔽性和安全性
解决方案:V2ray + Nginx + CLoudflare + Freenom+ Websocket 搭建代理
权限最小化:使用iptalbes限定组件通讯,SSH进行端口转发
Teamserver:限制端口只能本地访问,限制beacon监听端口只能redirector访问
Tips:VPS容易被GFW拦截?
基础设施监控系统
记录完整日志,设置告警
自动化部署 LuWu(https://github.com/QAX-A-Team/LuWu)
日志中心
邮件钓鱼之前期信息收集与侦查面临的技术挑战:
邮件网关 mail gateway
浏览器
EDR、IDS
Mail Gateway
通过上述结论,探测,fuzzing ANTI-SPAM 引擎规则
稳定触发NDR的办法:
正文大于10M
收件人超过5000个
邮件退信默认开启
MTA默认不开启 Recipient Validation
SPF
DKIM
新注册域名
生僻域名后缀
敏感关键字
ANTI-SPAM
特性:
结论:当我们发送一封钓鱼邮件给一个不存在的邮箱账户时,如果能收到NDR,证明钓鱼邮件通过了邮件网关安全审查(BACKSCATTER ATTACK)
BYPASS ANTI-SPAM
BYPASS ANTI-MALWARE
NDR
总结