应急响应之外联请求分析
2022-1-4 11:49:17 Author: www.freebuf.com(查看原文) 阅读量:30 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

简述

在日常病毒处置工作中,经常我们都会遇到非法外联、僵尸网络这样的情况,在排出的时候却无从下手,不知该如何进行分析,经常会令人头大。在最近的工作中,我也遇到了类似的烦恼,在设备上看到了外联的DNS请求,通过进程,网络连接情况等,却又找不到问题点,一时无从下手,最终在努力下找到了入手点,借此在这里进行分享,希望对遇到相同问题的有所帮助。

背景

接到信息,客户处存设备存在黑产行为,设备向DNS请求gh.dsaj2a1.org域名的解析,并且请求次数总多。之前的处置中也与到过这样的问题,但由于请求次数较少,通常会以误报进行介绍;有时也会使用杀毒软件进行查杀,完成后进行汇报(这样的做法不对,希望大家能严谨对待,随着攻防方式的不断变化,不起眼的点也可能系统沦陷的入口;同时在分析中,能发现很多有趣的事,望共勉)

分析过程

3.1 分析难点

面对恶意域名请求解析这样的问题,我们通常的难点在于:

  • 这个恶意请求是否是正常行为;
  • 是什么程序发起了域名解析请求;
  • 我在进程中该如何定位这个程序;
  • 我该如何定位到这个程序的PID已经附属进场;
  • 是否有启动项和计划任务。

在这些疑惑前,有时显得是那么的渺小,无从入手。但这些问题出现的同时,其实也是我们解决问题所需的步骤,这里我逐步进行讲解。

3.2 分析思路

首先我们思考的问题是,既然是DNS请求,那我们应该从抓包开始。由于向DNS请求信息请求,因此需用使用tcpdump抓取upd数据包开始。

3.2.1 抓取UDP数据

在设备上使用tcpdump -i eno24 udp port 53命令抓取DNS请求解析情况,通过抓取,我们发现存在向gh.dsaj2a1.org恶意请求行为,如下:

1640777418_61cc46ca133f46340f458.png!small?1640777417564

这里确认存在恶意请求行为。

3.2.2 查看UDP连接情况

确认存在恶意请求行为后,使用lsof -iudp查看存在恶意行为的程序名称和端口号,通过查看,我们发现存在异常程序mjbaxnepp和PID14732。

1640777437_61cc46dde1ff0275c0638.png!small?1640777436143

随后对PID:14732进行深入排查。

3.2.3 异常程序排查

当定位到异常程序的PID后,首先查看该程序打开了那些程序,这里使用losf -p 14732,如下:

1640777462_61cc46f66eef772409198.png!small?1640777460524

这里可以看到存在请求与183.61.254.11进行通信联系,该IP为恶意IP,如下:

1640777475_61cc470350c0ada8d42fd.png!small?1640777473581

查看该程序调用的进程信息,发现该程序是处于运行状态,以及程序相关的PID:

1640777491_61cc47131f0b9d8e4cbd7.png!small?1640777489221

3.2.4 启动项分析

通过对启动项进行分析,发现该程序存在启动项,如下:

1640777499_61cc471b1caf4f734ba09.png!small?1640777497308

1640777505_61cc4721c3858f104d61f.png!small?1640777503884

3.2.5 定时任务查看

对定时任务进行检查,存在可疑定时任务(由于定时任务牵扯到其他分析,这里不过多讨论),内容如下:

1640777517_61cc472d4ec858aedbd16.png!small?1640777515537

3.2.6 分析总结

通过上述关联分析,我们逐步找到了该恶意程序的相关信息,借此我们完成了验证和分析过程。剩下恶意程序查杀,在这里我就不进行说明。

3.3 总结

我认为生活中很多应急都可以从现象开始,如:勒索病毒,我检测的是文件是否加密;挖矿病毒,我们检测的是资源的占用情况;外联,这需要检测DNS的请求情况。

Windows我们可以使用:netstat -ano 」findstr 53

Linux系统我们可以使用:tcpdump -i eno24 udp port 53

所以在应急时,我们一定要把握好事件的表现,抓住事件的行为,可能会让我们尽快处理好问题。

这是一次有趣的分析,通过大量DNS请求这个特有的行为,逐步还原出该问题的原貌,如果我们按照直接查找进程的方式进行查看,可能会得不偿失。处理问题时,我比较喜欢从现象出发,通过现象倒推本质,这样可以节省处理问题的时间,希望大家喜欢。


文章来源: https://www.freebuf.com/articles/system/318210.html
如有侵权请联系:admin#unsafe.sh