官方公众号企业安全新浪微博
FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。
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恶意请求行为,如下:
这里确认存在恶意请求行为。
3.2.2 查看UDP连接情况
确认存在恶意请求行为后,使用lsof -iudp查看存在恶意行为的程序名称和端口号,通过查看,我们发现存在异常程序mjbaxnepp和PID14732。
随后对PID:14732进行深入排查。
3.2.3 异常程序排查
当定位到异常程序的PID后,首先查看该程序打开了那些程序,这里使用losf -p 14732,如下:
这里可以看到存在请求与183.61.254.11进行通信联系,该IP为恶意IP,如下:
查看该程序调用的进程信息,发现该程序是处于运行状态,以及程序相关的PID:
3.2.4 启动项分析
通过对启动项进行分析,发现该程序存在启动项,如下:
3.2.5 定时任务查看
对定时任务进行检查,存在可疑定时任务(由于定时任务牵扯到其他分析,这里不过多讨论),内容如下:
3.2.6 分析总结
通过上述关联分析,我们逐步找到了该恶意程序的相关信息,借此我们完成了验证和分析过程。剩下恶意程序查杀,在这里我就不进行说明。
3.3 总结
我认为生活中很多应急都可以从现象开始,如:勒索病毒,我检测的是文件是否加密;挖矿病毒,我们检测的是资源的占用情况;外联,这需要检测DNS的请求情况。
Windows我们可以使用:netstat -ano 」findstr 53
Linux系统我们可以使用:tcpdump -i eno24 udp port 53
所以在应急时,我们一定要把握好事件的表现,抓住事件的行为,可能会让我们尽快处理好问题。
这是一次有趣的分析,通过大量DNS请求这个特有的行为,逐步还原出该问题的原貌,如果我们按照直接查找进程的方式进行查看,可能会得不偿失。处理问题时,我比较喜欢从现象出发,通过现象倒推本质,这样可以节省处理问题的时间,希望大家喜欢。