专栏首页Timeline SecHW防守|溯源反制攻击方的服务器

HW防守|溯源反制攻击方的服务器

0x00 序言

之前答应说分享一篇真实案例,来兑现一下承诺,分享一个攻击队不注意细节被反制并溯源加分的故事。

故事发生在一个多月前的行业小hw,我和我的小伙伴在研判组发呆......

0x01 巧借设备定来源

现在大环境在防守的时候都会有各种各样的设备来监控,层层防守,叮叮叮~,忽然监控组上报了一个可疑ip进行很多恶意行为,报警图(由于保密性,灵魂画师登场)如下:

除了流量监控设备,小伙伴的蜜罐设备同时也捕获到了恶意攻击,不过是一个域名,先给定研判结果,针对该代理ip及域名进行有效封堵,防止恶意扫描嗅探,然后我们通过在场的微步老哥,进行进一步的溯源反置。

通过微步在线查询发现,这个域名已经被很多人标记,也具有很明显的特征,然后通过ip反查,发现之前捕获的ip为代理ip,通过域名解析到真实ip,由于只得到真实ip上交给裁判组获得的分数很低,偶尔有忽略的情况,我们决定进一步溯源黑客画像,定位真实攻击人。

0x02 溯源反置需思考

通过nmap扫描ip端口,发现开放了3389,8080,80,443,8024,8888端口,分别访问,并进行目录扫描。

发现8080为nps代理的web管理访问端口,使用默认用户名和密码登录失败(admin/123),80与443端口为域名解析模式默认端口,8024为网桥端口,用于客户端与服务器通信。

发现8888为Langzi师傅在github开源的src子域名资产监控工具LangSrcCurise,发现使用django+mysql8.0,尝试django爆出的模版注入等,无果,尝试前台默认账户登录,成功登录。

可以看到针对我客户及其它hw客户资产进行监控,但是只有一些监控数据,并没有给我们的溯源工作带来进展,有重要信息的后台由于是安装过程用户自己创建的,登录失败,尝试pull代码,进行代码审计,发现前台xss,插入未果。

3398端口爆破失败,通过ptr判断出该服务器在华为云上,尝试收集云服务资源等信息。

中间处理了几个研判攻击事件,小伙伴们说这个溯源估计就到这里了,准备集中精力针对之前搁置的攻击事件及新发现的事件进行溯源,可是学安全的谁又有一颗轻言认输的心呢,尝试推算一个使用LangSrcCurise平台做监控的攻击者的心理,很大概率不会是红队,eg,精心准备的c&c,无与伦比的域名,一台谨慎又谨慎的高隐匿服务器,最少暴露的端口面等,那如果是一个准备很仓促的攻击者,一定会留下不注意的蛛丝马迹,之前搭建过LangSrcCurise,推算最小的攻击成本时间,最方便的办法就是使用phpstudy搭建,是否有可能存在phpstudy后门或者phpmyadmin呢,check后门,无果,phpstudy的phpmyadmin一般目录为版本路径,如/phpMyAdmin4.8.5/index.php,尝试fuzz,未果,忽然想到,自己为了防止目录爆破,会把默认的phpmyadmin加一层路径,比如/my/phpMyAdmin4.8.5/index.php,继续尝试fuzz路径,终于,柳暗花明又一村。

0x03 柳暗花明又一村

我们尝试phpmyadmin爆破工具爆破一下密码,然后发现是root/root,默认密码,我吐了,是因为修改以后,找不到LangSrcCurise的config.ini配置文件,导致工具不能用,就又改回来了,只是加了一层路径么?

通过phpmyadmin写webshell方式有很多比如select into outfile直接写入,开启全局日志getshell,使用慢查询日志getshell,phpmyadmin的版本漏洞(CVE-2016-5734,CVE-2018-12613)等,我就不一一细说了凑字数了。

配合高权限webshell及3389端口,成功登录到服务器,查看用户情况,发现存在目标人物拼音的用户名,发现多个python脚本,copy回来以后,发现存在相同作者的注释,高度疑似该攻击者网名。

至此我们的信息有,

姓名拼音

网络用名

邮箱及qq号。

0x04 查询定位讲技巧

其实我们拿到的信息已经足够的多了,通过这些信息去通过百度啊,谷歌啊,你会发现很多很多有趣的东西,翻到了几个src排名,翻到了他的个人简介,查了查sgkjqr,翻到了他的微博及照片,翻到了他关于上学时候的一些信息,照片不经意间的地理位置,通过支付宝确认了他的真实姓名,是个很活跃的黑客,经常在一些论坛回帖,又问了圈里的朋友确认了他所在的公司,最后进行了完整的报告提交,并获得了足够高的分数,由于保密性,其实溯源到的很多关于人物画像的信息都不能放出来,附赠一张大学毕业合影吧。

0x05 结尾

主要步骤:

发现入侵-获取攻击ip-反渗透攻击者服务器-获取服务器用户信息及可利用信息-查询用户相关信息溯源到个人-提交报告

  1. 可以看到文章里有很多尝试了最后没有成功的方式,我有把我的思路包括失败的思路都写出来,去进行查缺补漏,想着自己要有一个攻击的思维,不要盲目去碰撞,失败就放弃。因为喜欢这个行业,到现在我还是很喜欢那部叫《我是谁:没有绝对安全的系统》的电影,推荐给大家一起看看。
  2. 这本来就是一次简单的溯源反制,后面很多同学会觉得,啊,就这,我上我也行,确实如此,但是需要说明的是,当我们距离后面的简单步骤一步之遥的时候,很多人选择放弃了。
  3. 在溯源的过程中,最后的溯源报告尤为重要,如何让裁判去判断你所获取的信息是有效信息,是可以进行归档定位的信息,以及如何跟事件进行关联,这是判断的得分的重点,有很多小的tips,目前不太好分享。
  4. 其实hw溯源和我们工作中的应急响应还是有一些区别的,hw讲的是时效性和应急不太一样,在规定时间内进行发现,研判,处置及上报,会获取很高的分数并且不扣分,其本质就是对企业是否具有发现问题处理问题的能力考核,而且不只是判断出攻击行为,攻击方式就可以,往往最重要的就是今年防守规则加分最多的一项,如何描述攻击者画像。
  5. 文章中有一些不太严谨的地方,或者思路,希望大家可以多多留言讨论,共同学习进步。

本篇完!

本文分享自微信公众号 - Timeline Sec(TimelineSec),作者:Puppy

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HW防守 | Linux应急响应基础

    简单说一下,我们为什么会推出关于HW防守的文章,目前关于该行动,会发现越来越多的厂商需求该行动的人员具备分析溯源的能力了。

    Timeline Sec
  • Redis基于主从复制的RCE 4.x/5.x 复现

    又是一个RCE,很是享受这种拿shell的感觉,不知道你有没有?最近发现docker确实是个好东西,有了它复现真是节省了不少时间,开始复现

    Timeline Sec
  • CVE-2020-17518&17519:Flink两个漏洞复现

    Apache Flink 是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink以数据并行和流水线方...

    Timeline Sec
  • 使用Eclipse MicroProfile(更新版)构建您的下一个微服务

    本快速教程将向您展示如何使用最新版本的Eclipse MicroProfile API构建您的下一个微服务。这是一篇基于以前John D Ament 的文章的修...

    良莉
  • ABAP SICF服务和Java Servlet的比较

    In my opinion ABAP ICF handler and Java Servlet play the same role in enhancemen...

    Jerry Wang
  • 如何在SAP S/4HANA里创建Employee

    In SAP CRM On-Premises we simply use tcode BP in the backend to create employee....

    Jerry Wang
  • CVE-2020-11651 SaltStack认证绕过原理

    漏洞原理也很简单,__init__.py里可以找到检验认证的函数check_authentication

    字节脉搏实验室
  • javascript中的for in 和 in运算符

    版权声明:本文为吴孔云博客原创文章,转载请注明出处并带上链接,谢谢。 https://blog.csdn.net/wkyseo/articl...

    空空云
  • ABAP,Java和JavaScript的整型数据类型比较

    When I first begin to program with ABAP I get confused with different kinds of i...

    Jerry Wang
  • python获取mysql表信息

    使用python获取mysql相关信息,使用python执行mysql相关语句 test1

    py3study

扫码关注云+社区

领取腾讯云代金券