红队隐藏技巧
近期因为都懂的原因做了回蓝队,还偶尔客串了下和客户对接的角色,根据接触到的各家设备的特点写了一些总结。从红队的视觉下看如何防止被溯源。
---8sec.cc
1、蜜罐系统
浏览器使用注意
单独隔离的浏览器
在渗透过程中尽量使用与常用浏览器不同的浏览器,如:Chrome常用,渗透使用firefox。
使用无痕模式
firefox和Chrome都有无痕模式,如果对目标资产不了解的情况下尽量开启无痕模式进行测试。
以上两种方式主要可以避免蜜罐中使用各大网站的Jsonp Callback、XSS等漏洞获取到红队人员的ID和信息。
但是蜜罐中使用的fingerprintjs库可以根据不同IP和不同浏览器的特定标识来判断来源访客是否是同一个人员,所以单独使用无痕模式和不同的浏览器也会导致被蜜罐识别。
反蜜罐插件
bypass Honeypot
AntiHoneypot - 一个拦截蜜罐XSSI的Chrome扩展
功能
- 截获页面中发起的XSSI请求,通过特征识别阻断可疑的XSSI(Jsonp Callback、XSS等)
- 分析和攫取蜜罐固有特征,识别蜜罐并拦截所有请求
- 判断fingerprintjs库是否存在并提示,判断是否有其他web指纹的相关调用
- 判断是否有持久化身份标识的相关调用
- 判断页面中是否对剪贴板的粘贴进行了取值(待进一步验证)
- 一键清除当前网站的所有浏览器数据功能(包括所有缓存的、存储的)
- 判断页面中是否操作了FileSystem(可以把evercookie写到这里)
2、防止反制
服务器跳板机
根据各家溯源获取信息量排除蜜罐因素也有一部分的原因是VPS被打,常规被拿下有可能是红队人员对Linux/Windows运维了解不足
如:使用Docker搭建漏洞环境被逃逸。
使用一键环境搭建存在默认程序默认密码(phpmyadmin、BT/pma漏洞 信息泄漏漏洞)
nmap的交互执行命令 find的suid位提权等。
服务器安装应用/管理
针对安装不同的应用要有针对性的限制,iptables和远程登录限制登录来源,还有爆破次数。建议安装使用软件如CS不要给777权限,这次是有反制提权案例的。
虚拟机运行软件
在之前广为流传的反制案例中,有蓝队VPN安装包中捆绑马/白加黑利用造成红队人员上线的情况。所以如果针对金融(IE控件),VPN等目标下载/安装尽量在虚拟机中操作,每次不同工作/项目后回滚下镜像,在虚拟机网络代理配置完成得情况下打好备份。
3、信息隐藏
手机号隐藏
阿里小号现在已经禁止注册和申请了,估计过一阵子也会关闭,常规渗透中可以选择购买短信卡,和使用接码平台,通话使用网络电话或者买一张实名卡。最好能够实现和日常生活物理隔离。
支付宝
支付宝之前出过问题,如果开启网商银行可以直接看到转账对象三个字的姓名,如果是两个字的姓名可以直接利用支付宝转账功能来结合其他信息猜测姓名。
微信
微信也是泄漏id的一些地方,关闭手机搜索,微信群加好友,只开启二维码加好友,只允许查看3天内的朋友圈。让好友尽量备注一个假姓名。如:张xx 李xx
同微信,关闭空间非好友访问,访问日期限制,照片限制,照片墙限制,游戏关闭展示。让好友尽量备注一个假姓名。如:张xx 李xx,之前QQ出过这种问题,利用好友之间的备注泄漏出本人的真实姓名。
https://zhuanlan.zhihu.com/p/95525409
qq获取共同好友真实姓名
https://github.com/anntsmart/QQ
虽然已经不能使用,但是不代表没有相关的接口被流出来,比如之前的t.qq.com登录qq就不需要任何安全验证就可以直接登录进去,获得qq的seckey
网络ID隐藏
常用网络ID尽量使用一些常规字符,比如说:裤衩哥。这种新闻人物。
真实姓名隐藏/误导
让好友尽量备注一个假姓名。如:张xx 李xx,之前QQ出过这种问题,利用好友之间的备注泄漏出本人的真实姓名。
因为在社工库中的信息只会越来越多,花钱隐藏纯粹就是当鸵鸟,所以只能在各种地方去隐藏自己的真实信息,比如说外卖/快递使用假姓名+小号。注册身份信息使用网上生成的信息或者你懂的的来源。
4、网络隐藏
网络隐藏这个需要着重的去说一下,各种代理方式的区别,在什么情况下适合使用什么。
SS/V2
优点
连接流量加密/可混淆,使用kcp的话可以模拟成微信视频流量。
缺点
由于使用Socks5,只能代理tcp流量,icmp/udp无法代理上,而且由于客户端转发性能问题容易导致测漏。
VPN l2tp/pptp
优点
传统专线的代理模式,支持各类系统全局代理、使用L2TP需要设置密钥被破解的可能性不高,代理可手动设置路由来判断访问不同地址走不同路由,可以设置0.0.0.0走VPN全协议就走了。搭建简单 openvpn/SoftEtherVPN
Linux搭建:
https://github.com/hwdsl2/setup-ipsec-vpn/blob/master/README-zh.md
缺点
自身网络不稳定的时候容易后台直接掉了,而且提示非常短,很容易直接就裸奔,建议在路由器限制只允许1723端口外出,这样如果一旦断开直接就无法出网。直到自身连接vpn。国内网络中l2tp的流量都能解密。
sslvpn
产品列表:
优点
SSL协议主要是由SSL记录协议和握手协议组成,它们共同为应用访问连接提供认证、加密和防篡改功能。流量可加密。
缺点
SSL vpn仅限于web浏览器的应用,有些协议的带不上。
5、开发应用隐藏
开发编译桌面用户
在编译软件的过程中建议在虚拟机中使用administrator用户编译,编译C#/C会存在pdb文件泄漏用户名,这样会导致ID信息泄漏被微步等平台关联到。
Github/Blog/微信公众号文章
还有从Github/Blog/WX文章中尽量使用另一个id,将搜索结果或者能够获取到的信息集中在之前构造的假信息中。尽量降低由于开放代码导致特征泄漏个人信息的危害。
6、网络设备流量混淆
CS流量混淆
使用Malleable-C2混淆CS的流量,配合域前置来隐藏后端IP,更换CS默认的证书。
包填充字节
在查看某些waf设备流量中了解到,由于waf的功能限制导致,针对大包的内容他不会记录大包,如果觉得包会触发规则的话可以在body中先填充一部分垃圾字符,这样真正匹配的内容在硬waf上是无法看到真实执行内容,也可以误导蓝队判断是否是业务。(没有全流量设备)
数据包混淆低危告警
在面对全流量设备中如Aisa/天眼等设备中,如果你的包中存在恶意内容的话,可以填充一些弱口令的特征/明文口令登录等告警覆盖高危告警,这样就会使设备监控人员放松警惕,增加后续溯源攻击漏洞的时间成本。
Host混淆
在针对waf 的测试过程中发现混淆HOST的话可以让waf检测到NAT前地址,如果能够了解到目标内网的一些IP地址可以利用HOST混淆让waf监测人员判断NAT前地址是内网设备的地址,这样也可以引导对方去响应安全的服务器,增加对方的时间成本。
Xff头混淆
通常xff头伪造被用来绕过web登录IP限制,但是在一些复杂内网的情况下安全设备也会使用xff头来判断攻击最外层的攻击ip,然后进行封禁,这样可以在攻击过程中替换,或者自行增加xff头的方式来迷惑对方的监测人员。或者在cdn前加xff,再让cdn自己不断的去叠加xff。在waf中查看了添加xff之后也成功的将攻击ip识别成了127.0.0.1。
流量卡
做一些红队项目中为了防止被溯源,尽量使用流量卡进行渗透最好还是不需要实名的流量卡,有些流量卡会跳城市,这点就很好,包括我现在使用的卡基本上ip判断都是中国,连省都不会出来,这样更谈不上被蓝队根据常用ip地点去进行定位了。
Cobalt strike DNS特征
通常DNS的特征呈现的是规律性的向黑域名发起A记录(如果不启用的话)
这种情况下想要判断出dns特征还是比较费劲的,不过如果想查的话可以再天眼上查DNS-type:1
A记录 :
启用DNS-txt后特征就比较明显了:
DNS-Type可以找txt类型的记录,在天眼中搜索dns-type:16,如果有txt记录,伴随大量xxx.16进制.domain这种格式的就可以暂时判断成cs的dns马。但是在3.14版本的cs上线的请求都是经过加密之后,暂时还没看加密key是多少。就还没有解出来。
执行命令的特征是post.xxxxxxx.domain,的A记录解析。