0x00 前言
续接上文《浅谈红队中的外网信息收集(连载第一篇)》
本文将聊一聊红队中的打点。
受限于个人水平,文中难免会出现错误或者描述不当的地方,还望各位在评论处指出,望谅解。
0x01 打点
打点或者说建立据点、最初入口,都是一个意思,这就类似于古代攻打城墙,不管是通过直接正面撞城门还是翻城墙、亦或是挖地道、利用间谍从内部打开城门等等方法,最终的目的都是为了进入到城墙里。
在红队中的打点也是这个概念,不管是通过 0day 还是 nday、亦或是利用钓鱼、社工、近源等等,最终的目的都是为了进入到目标的内网里。
这里就简单谈谈红队中关于打点的那些事儿。
1、0day 和 nday
0day 和 nday 去打的方式是目前最常见的方式,同时也是蓝队比较关注的方式。
这些年来比较常见的 0day 与 nday 相关服务有 Shiro、Fastjson 为代表的中间件,泛微、致远、通达为代表的 OA 系统,之外还有用友、各类安全设备、VPN 等等。
在上文中提到了指纹识别,这里就能派上用场了,比如如果最近爆出来了某某 cms 存在 0day,那么通过指纹识别的结果找到存在这个 cms 的资产,直接就能打到点,但如果指纹识别的不准确或者漏识别,也许就会比别人少了一个点。
另外可以预见的是,未来关于 log4j2 的利用肯定会越来越多。
同时结合目前的国内情况来看,关于这些 0day 和 nday 的详情以及相应的利用工具也会越来越小范围得被传播,即使有些会被大范围传播,但一些内部版、增强版的工具还是会小范围的传播。
2、合法账号
合法账号也是目前比较常见的方式,比如通过字典爆破、社工字典爆破、弱密码猜解或者钓鱼获得目标的 VPN、SSH、RDP、Citrix 可用账号等等。
但这类打点方式有时不如利用 0day 和 nday 来得快,只要对方没有什么弱密码就比较难进了,不过也会经常遇到弱密码 yyds 的情况。
不过在内网中,利用合法账号就比利用 0day 和 nday 来得快了,因为在内网中常常会有通用密码,拿到这个通用密码,或许就能拿下一大批 Linux、Windows
同时在进入系统后,往往还会发现密码本或者浏览器存储密码等等,这样利用合法账号又能拿下不少系统的权限,不过这就偏离本文打点的主题了,就不再展开了。
3、钓鱼邮件
钓鱼邮件也是现在比较常用的方法,想要利用好钓鱼邮件,一个是要有好杆一个是要有好饵。
好杆就是发送钓鱼邮件的工具,好饵就是邮件的内容,邮件的内容又可以分成正文部分和附件部分,正文部分得让人看了觉着没问题,附件部分打开得不能报毒。
在平时常规的红队项目中,一般发送钓鱼邮件会批量发送多封,而不是像 APT 那样精准发送某一个或几个人。
批量发送邮件就需要解决不被对方邮件网关拦截的问题,同时也要解决发送邮件效率的问题,毕竟面对几十上百封的邮件,如果手动发送这个效率是会比较低的。
其次就是邮件内容的问题,一般会使用一些近期的热点事件、节假日通知等等作为话术的主题,比如《关于离开本市返乡过年需要报备的通知》《关于春节放假时间安排的通知》等等这类吸引人们查看的话术。
邮件附件也需要做好免杀,不然可能邮件还没发到别人邮箱里,就被网关拦截了,或者刚想打开附件就被杀软报毒了,这都是不行的。
钓鱼除了使用邮件外,还可以使用钓鱼站点、问卷调查、微信群、QQ群等等方式。
总之,钓鱼是一个环环相扣的过程,不存在那个环节重要不重要,因为所有环节都是重要的,如果其中有一环被忽视或者没处理好,就会导致整个钓鱼的失败。
4、近源攻击
近源攻击现在也是比较常见的方式了,常见的手法有以下几种:
- 进入到目标的公共区域内,寻找智能终端设备,一般这种都是通内网的,但一般不通外网,不过如果是智能售货机这种一般就会通外网
- 利用目标在互联网上开放的系统,比如开发者平台,有的会提供在线测试真机,这种测试真机一般都是在目标办公区域的,利用这点也可以进行近源
- 在墙上贴一个《受疫情影响进入本区域需要扫码登记》的问卷调查二维码
除了上面的这些方法,肯定还有很多其他的方法,比如伪装成水电工、外卖员、面试人员进入目标内部啥的,近源社工这块感觉还是得向凱文·米特尼克学习,虽然他的那些方法手段是几十年前的,但其中的思路是不会过时的。
5、供应链攻击
供应链攻击有时也会被大家所使用,这种一般都是对付难以攻克的目标,比如金融行业。
首先拿下目标的供应商,借助供应商进入目标内网,一般在一些乙方供应商官网都会写下自己的客户单位,借助这点就能定位到这个供应商是否是目标的供应商。
但是供应链攻击会有些看运气,也许费力半天劲儿拿下了供应商,却没有通向目标的路,但也有发现通向了很多目标的情况。
所以当常规的手段都不奏效的时候,就可以试试供应链,也许就会柳暗花明又一村。
6、水坑攻击
水坑攻击感觉平时挺少有人去用,水坑攻击顾名思义就是在一个人经常走的路上挖一个坑。
放到安全的世界里就是事先分析目标的上网活动规律,找到目标经常访问的网站,然后攻击者拿下这个目标网站并植入恶意代码,当目标访问这个网站的时候就会中招了。
比较常见的手法有以下几种:
- 在网站上挂上带有后门的软件,例如之前的 phpstudy 后门事件
- 引导用户访问精心构造带有 POC 的站点,比如 CVE-2018-4878 或者之前的 Chrome 沙盒 0day 等等
水坑攻击的方式也是多种多样,只不过不太适合需要短期快速打点的项目。
0x02 后记
在 ATT&CK 里,关于打点的方法是不止这些的,但其中一些平时很少遇到并且很少去使用的,比如硬件攻击等等,这类就不展开谈了。
总的来说在红队中,攻击的手法可以说是没有手法,因为手法是在是太多了,尤其是在 HW 时期,各种真真假假,让人根本没法判断,总有人能玩出花儿来。
但是有一点可以确定的是,打点远不止拿个公开已知漏洞去打这一种方式,还有很多其他的方法,还有很多其他的路。
Web 进不去不代表这个目标就是安全的,人员才是整个系统中最薄弱的环节。