红蓝对抗中蓝队的一些工作心得(三)

红蓝对抗中蓝队的一些工作心得(一)

红蓝对抗中蓝队的一些工作心得(二)

为了运维监控的需要,一台安装了 CactiEZ 中文版的运维监控系统暴露在了公网供远程使用,在攻防演练中带来了不小的风波。

该 CactiEZ 是 php+Apache+MySQL 的系统,看下安装包里文件属性,创建时间也已有十多年,存在什么漏洞都不值得大惊小怪了。从内网 SSH 登到这台被打得体无完肤的主机,先看下 Apache 的访问日志 access_log ,果然发现了一大堆连接 webshell 的访问。到 web 目录去下查看,有一些创建时间不正常的可疑文件,还以 “.” 开头企图瞒天过 ls,但我查看文件用的是 Windows 下带映射 sftp 的 SSH 客户端 Bitvise Tunnelier,没有被晃到。这里发现了有些奇怪的关注点:

除了名为 .index1.php 开头的 webshell 外,web 目录下有两个文件 1.sh 1.sj

这里的 “sj” 明显是 “sh” 的键盘笔误,如果是事先准备好的文件传上来的,不大可能会出现这样的问题。再结合红队喜欢反弹 shell+内网穿透控制主机的习惯,那么我们怀疑是不是拿到了 bash 权限,然后写入的?

CactiEZ 大概是 Cacti 的本土汉化版,搜了一些 Cacti 系统漏洞的公开 poc,该 EZ 版都没有 poc 对应的模块,也没有利用成功。于是进入 web 界面排查,在该监控系统发送告警邮件的地方,发现了一个调用 Linux sendmail 命令的输入框,意为定位 sendmail 命令的路径,同时还有发送测试邮件的功能。虽然在此处填写 命令+参数 会提示找不到文件,但猜测也只是没匹配到文件名而已,“发送测试邮件” 照样会调用该文本框中的命令。这真是个危险的 feature 啊。如果我在框中填写 bash 的路径,不是可以直接起反弹 shell 了?在内网测试了一下,果然成功。

定位了问题,下面就是常规地封锁 accesslog 中的攻击 IP,清理各目录中留下的渗透工具,检查内网受损资产等等。

作为蓝队经验的最后一篇,还是得提一下不足之处,在演练期间,发生了好几次令人感到憋屈的事情,如:

  1. 因为担心办公区环境终端被木马控制攻击主机区,而设置了严格的网络策略,导致红队依靠各种内网穿透工具在主机区横行无阻,蓝队却因各种内网策略访问受限;
  2. 失陷主机因转手次数太多、时间太长等各种原因无人记得 SSH/Web 服务的密码,导致红队连得上主机,蓝队连不上。有的时候,比如已知某主机是通过 fscan 扫到 tomcat 弱密码打进去的,我们蓝队只能通过自己上传 webshell 拿权限,往 /etc/shadow 里新塞账户来获得 SSH 登入权。

这些事情都可以通过更完善的资产管理,以及主机部署统一运维 agent 下发命令等来解决。同时,堡垒机在内网也是比较有意义的。希望以后可以不再发生类似的事情。

最后,我们蓝队的老大提到,虽然游戏规则有所限制,但一些不正经的红队仍然会故意埋一些雷,以便在日后的类似演练中一举再突破,甚至高价兜售所埋的雷。那么蓝队还是得对于更高层次的、类似于 APT 的手段多加防备,如用木马替换系统命令,内核级 rootkit 等等。

红蓝对抗中蓝队的一些工作心得(二)

红蓝对抗中蓝队的一些工作心得(一)

红蓝对抗中蓝队的一些工作心得(三)

安全最大的弱点在于人而不是设备,似乎也是一句老生常谈的教条。弱密码、通用密码、写在公共空间的强密码,被利用起来危害极大,这些都是因人的弱点而产生的问题,钓鱼邮件同样也是。

一、社工方面

钓鱼邮件可类比于电信诈骗,都是利用人性的弱点而实施。我们蓝队甚至想不通,本次攻防行动演练的事先事中发了很多预警邮件,但还是有很多同事中招。案例有如:

  • 以其人之道还治其人之身。本次行动,红队干脆以 “安全演练临近,发布服务器漏洞检查工具” 为由散布内含反连 shell 木马的 jar 包,骗得某部门同事信以为真,上传该木马运行,导致内网百余台主机相继失陷。
  • 看人下菜。譬如给人力部门大投含有木马的简历,甚至在邮件系统外,通过招聘软件、第三方聊天工具抛饵引人上钩;给客服部门发送言辞激烈的 “投诉” 邮件,附件当然也是内藏木马。
  • 利用 “假期” 、 “绩效” 、 “涨薪” 等引人眼球,又或用 “疫情” 、 “报税” 、 “春招” 等紧扣时事,再或是 “紧急” 、 “重大” 等容易让人失掉戒心的一些主题。

二、技术方面

伪造发件人地址都已经不是什么新鲜事,红队关键还是要考虑邮件附件如何才能骗人运行。本次行动,MS Office 宏病毒倒没有在预想中出现,推测是因运行特征明显,不宜隐藏等一些原因。红队倒是在可执行文件的 “可执行”,“可放心执行” 这些属性上下足了功夫,如:

  • 钓鱼文档的原文件名 张三的简历 xcod.scr ,在 “简历”“rcs”之间插入一个 Unicode 控制字符 U+202E,其作用是把之后的字符 Right to left,经过 Windows 一渲染,变成了 张三的简历 rcs.docx ,再把图标一改,实现了看起来像是 docx 文档,而实际上是 scr(屏保文件,等同于可执行的 exe),双击即执行,极具欺骗性的同时危害也很大。
  • 红队把真正的杀毒软件和木马打成 WinRAR 自解压 exe 包,并写好了释放后立即运行杀软安装程序+木马的脚本,这还不算完,据事后研究,红队利用 sigthief 这一证书伪造工具,把杀软的签名提取出来硬套在自制的木马上,从 Windows 右击属性的菜单来看确有了 “数字签名” 这一 tab,但是点开证书详情才发现签名其实无效——偷来的证书和文件本身 hash 并不匹配,签名无效那是理所应当的。但是这一攻击手段除了欺骗人眼让人 “放心” 执行外,对于逃过某些安全工具的检查也有一定的作用。

对于蓝队而言,邮件网关和终端上都可事先部署好查杀工具。除了上述技术上的弱点要见招拆招,及时广而告之,在前期宣传工作时也要把人性的弱点排除,比如安全通知由某一指定邮箱统一发送,并要求其他渠道二次确认一些可疑要求。如有同事不幸中招,及时断网排查,保留溯源证据。终端安全又是个大坑,暂时不想填了……