记一次在演习中攻防角色反复横跳

admin 2022年8月12日09:20:15安全文章评论13 views2019字阅读6分43秒阅读模式

本文涉及到的内容均为非真实环境,任何攻击行为均需要取得授权!

背景

某天公司内部举办了一次攻防演习,防守队为组织本次演习的部门,攻击队则所有部门均可报名,作者作为攻击队参与了本次演习,除了常规的打点、后渗透,中间还有一些小插曲值得反思总结。

攻击队要有防溯源意识

演练过程中,好不容易找到个出网Windows主机的RCE漏洞,一通操作猛如虎,直接命令执行绕AV,服务器开启http服务,远程下载CS免杀马,上线,完美!

正当我和同事分享上线CS的喜悦时,瞟到我的服务器弹出一些预期之外的日志。

记一次在演习中攻防角色反复横跳

坏了!思考片刻后,我意识到服务器上开的HTTP服务被防守队发现了,这服务才开了几分钟,就被溯源到了,接下来立刻转攻为守,开始小应急。

1、首先可以确认我当前这台服务器的IP(1.x.x.x)已经被防守队掌握,正在进行溯源行为,立刻关闭Python的http服务。

2、经过Python http服务的日志分析,可以观察到一些敏感文件已经被防守队提取,".bash_history"、"frpc.ini"等等。需要立刻查看这些文件的内容,模拟防守队在得知这些内容后可能带来的危害,再对当前服务器进行加固。

.bash_history文件,该文件记录了当前系统执行命令的历史记录,经排查,泄露了如下信息。

(1)历史搭建icmp隧道的命令行记录,其中包含当前服务器 IP(1.x.x.x)和我们的C2服务器IP(110.x.x.x),可以认为防守队获得了另一台我们用于攻击的服务器IP(110.x.x.x)。

记一次在演习中攻防角色反复横跳

(2)历史CS teamserver(1.x.x.x)的启动记录,不过幸好我们的CS搭建在另一台服务器(110.x.x.x)上,且默认端口已经做了修改,这条命令只是当时测试CS用到的命令,不过仍然泄露了历史使用过的CS密码(xxxxxxx6),而这个密码恰好也用在了我们的C2服务器(110.x.x.x)上。

记一次在演习中攻防角色反复横跳

所以可以大胆猜测,防守队可以通过.bash_history文件获得我们的C2服务器IP,经过对C2服务器全端口扫描后,可以发现我们C2服务器的teamserver端口,并用历史密码成功登录我们的CS。

3、立即对我们的C2服务器进行排查,排查步骤如下

a.修改CS teamserver端口和密码

b.全端口扫描C2服务器,整理端口暴露面,发现遗留曾经漏洞复现学习开启的docker环境,保险起见关闭该docker。

记一次在演习中攻防角色反复横跳

至此,小应急基本完毕,2台服务器加固完成,我们再次转守为攻!

4、这次吸取教训,不再在root根目录下开启http服务,新建一个空文件夹,放上我们准备好的钓鱼免杀马,换一个端口再次开启http服务(不换端口的话这鱼钩有点直),等待防守队再次发现我们的服务并且下载文件上钩,看看能不能上线防守队的电脑。

没过多久,防守队再次发现我们的http服务,并且下载了我们的钓鱼木马。

记一次在演习中攻防角色反复横跳

这次很可惜,CS并没有上线通知,猜测防守队识破了我们的钓鱼,还给放到沙箱分析了。

5、最后再溯源一下防守队,在Python http日志中显示出3个相关IP,这3个IP均为办公网出口或个人热点IP,2个微步标红,没有溯源价值。

总结一下

1、攻击者自我保护意识不到位,在根目录下开启了http服务,导致泄露大量敏感信息。

2、应急效果良好,没有发生二次应急事件。

3、溯源效果不佳,防守队安全意识较高,没有中招我们的钓鱼木马,防守队IP没有溯源价值。

防守队的反制手段

在本次攻防演习复盘后,发现2种防守队的反制手段。

替换关键命令

替换关键命令,例如“whoami”,“ipconfig”,“arp”等等,替换关键命令为攻击队做权限维持的常见手段。而当防守队将此类命令加上请求告警服务器的功能后,一旦这些黑客常用的命令被执行,防守队的告警服务器可以立刻收到通知,做到第一时间响应。

部署诱饵文档

在靶机桌面部署诱饵文档。攻击者在拿到shell之后经常会去桌面等目录翻配置文件,而防守队除了在桌面放置诱饵文档之外,还将该文件做了隐藏处理,正常业务使用不会主动点击该文档,而攻击者往往能看到文件夹中隐藏的文件(如CS的文件管理),该文档会从防守队的告警服务器远程加载图片资源,这样攻击者一旦点开该文档,不需要开启宏,防守队就可以收到告警,同样可以提高应急响应速度。

总结一下

1、即使顺利地拿到了目标主机的权限,也不要过于兴奋冲动。

2、不要使用"whoami"、"arp"、"ifconfig"等命令验证漏洞,极其容易触发告警,可以使用"date"、"curl ifconfig.me"等命令来验证漏洞。

3、即使是目标主机上的文件,也不要轻易下载运行,将所有来源不明的文件放到沙箱、虚拟机测试运行。

以上是本次内部攻防演习一些意外事件以及经验总结,希望我能和各位师傅一起总结进步。

本文作者:Jerrytqq, 转载请注明来自FreeBuf.COM


原文始发于微信公众号(白帽子程序员):记一次在演习中攻防角色反复横跳

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月12日09:20:15
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  记一次在演习中攻防角色反复横跳 https://cn-sec.com/archives/1233229.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: