对挖矿病毒等恶意程序进行定位并处理
“挖矿”病毒排查之五,排查异常进程篇https://web.scut.edu.cn/2022/0413/c32211a467487/page.htm
怀疑主机在进行“挖矿”,杀毒软件全盘查杀又查不出病毒的情况下,可对可疑的网络连接和进程进行重点查杀。
一、Windows系统
1、排查疑似恶意网络连接
目前挖矿病毒外联都是TCP连接,排查时可关掉所有正在运行的软件,菜单选择“开始”->“运行”或”Windows+R“键,输入cmd进入Windows命令行 ,然后输入 netstat -ano | findstr SYN_SENT、netstat -ano | findstr ESTA, 可分别显示尝试建立连接的TCP进程和已建立连接的TCP进程
(注明: “Windows+R“键为)
2、排查疑似恶意进程及文件
通过排查疑似恶意网络连接,定位到PID,在Windows命令行继续输入如下命令通过PID反查恶意进程名:
tasklist | findstr PID
通过反查到的进程名输入如下命令反查进程文件所在位置:
wmic process where name='进程名' get processid,executablepath,name
也可以打开任务管理器(可通过Ctrl+Shift+ESC调用)的详细信息栏,检查 PID进程号对应的进程是否为正常,例如通过 PID 号查看下运行文件的路径。对于CPU飙高的情况,可直接在任务管理器排查CPU使用率高的进程。
定位疑似恶意文件后,结合学校通报的情况,通过指定文件的病毒查杀、外联IP的威胁情况评估决定是否误报,确定恶意后可删除文件。
3、排查查询或访问恶意域名的进程
挖矿木马一般需要连接矿池节点IP,而矿池节点IP很多是通过查询域名获得,如果收到学校通报查询挖矿域名而杀毒软件查杀不到,动手能力较强的用户可以通过下面链接的方法排查查询该挖矿域名的具体进程,进一步确定木马病毒,方法中使用微软开发的系统活动监视工具Sysmon。
参考链接:https://blog.csdn.net/lidonghit/article/details/105141928
https://docs.microsoft.com/zh-cn/sysinternals/downloads/sysmon
二、Linux系统
1、排查疑似恶意网络连接及相关恶意进程和文件
Linux下排查一般都需先进入root权限,命令行输入netstat -antp,查看主机是否有连接恶意IP或者服务器是否有未被授权的端口被监听。
输入ls -l /proc/$PID/exe或file /proc/$PID/exe,查看下 pid 所对应的进程文件路径。($PID 为对应的 pid 号)
使用lsof列出进程打开的文件,输入lsof -p $PID,同时可查看守护进程。
利用strace追踪病毒进程,输入strace -tt -p $PID -o $filename -ff,查看追踪日志cat $filename.*,检查病毒进程打开或者写入的文件。
必要时可安装unhide检查隐藏进程。
如果判定为恶意进程和恶意文件,可查看并删除对应的文件,文件中可能包含虚拟货币钱包、木马运行脚本、撞库成功主机账号密码列表等信息,可向学校网络中心反馈相关信息。可以使用kill -9 $PID命令结束该进程。
也可以尝试通过top-c命令查看CPU占用率,若CPU占用率很高,则找到CPU占用率高的进程进一步排查,或者直接通过ps-ef查看网络进程,分析是否有可疑进程。
2、排查查询或访问恶意域名的进程
微软开发的Sysmon监视工具也有Linux版本,动手能力较强的用户可以进一步尝试使用该工具。
哪个进程在访问这个恶意域名???
https://blog.csdn.net/lidonghit/article/details/105141928
哪个进程在访问这个恶意域名?
背景
信息安全工程师很多时候需要通过某个恶意域名来判断主机失陷情况。恶意域名特征比较明显的,比较容易通过威胁情报找到相关线索。例如fr.minexmr.com,通过威胁情查询,该恶意域名比较容易判断该主机感染WannaMine挖矿病毒。知道主机感染是什么恶意软件后,就比较容易找到解决方法。
但是威胁情报也不是万能的,威胁情报具有很强的时效性,“老的”威胁情报有可能出现谬误。而由于一些其他原因,我们可能只知道这个域名是恶意的,其他的什么也不知道,这就导致溯源和应急工作无法进一步开展。
这时,信息安全工程师需要通过恶意域名定位具体进程,找到恶意软件组件再做进一步判断。由于恶意软件访问恶意域名很难实时的溯源到,多数时候如果恶意软件不能访问到其C2服务器,就会保持静默状态,等待下一个周期进行访问尝试。这个周期有时几个小时或者1天不等,这又为溯源和应急响应工作制造了不小的困难。
本文提供两种通过恶意域名定位进程的方法。第一种是使用SYSMON监控程序,该方法需要部署,定位进程比较准确。第二种方法是使用两款windows电子取证工具,无需部署,但是监测时间视具体情况而定,准确性也需要实践检验。这里分享给大家,提供思路,大家结合实际情况运用。
部署Sysmon轻量级监控程序
Sysmon是微软的一款轻量级的系统监控工具,最开始是由Sysinternals开发的,后来Sysinternals被微软收购,现在属于Sysinternals系列工具。它通过系统服务和驱动程序实现记录进程创建、文件访问以及网络信息的记录,并把相关的信息写入并展示在windows的日志事件里。首先安装Sysmon 10,注意版本。
更新配置文件
DNS访问记录需要查看事件日志,Windows事件日志在计算机管理中
Sysmon具体路径为:应用程序和服务日志/Microsof /Windows/Sysmon/Operational
筛选日志,DNS查询事件号为22。利用筛选功能进行过滤。
再通过查找关键字符串进行定位。
得到访问域名和对应的进程。
使用DNSQuerySniffer和Process Monitor定位进程
DNSQuerySniffer是网络嗅探工具,显示DNS查询发送您的系统。每个DNS查询,显示以下信息:主机名,端口号,编号查询,请求类型(A,AAAA,NS,和MX,等等),请求响应时间,时间,时间,响应代码,数量的记录,并返回的DNS记录的内容。通过DNSQuerySniffer我们先确定访问恶意域名的端口号。这个工具的优点是可以将主机访问过的所有域名记录下来。
我们通过DNSQuerySniffer先确定访问恶意域名checkip.xxxx的端口号为51008。时间为2020年3月25日14:38:38左右。
接下来使用Process Monitor定位进程
由于Process Monitor会产生大量事件日志,要进行过滤。
只查看网络连接事件
只查看“UDP SEND”事件
再根据时间轴和端口进行进程定位,这样就找到了访问恶意域名的进程。
参考链接
https://www.anquanke.com/post/id/180170
sysmon下载地址
https://live.sysinternals.com/sysmon.exe
sysmon配置文件下载地址
https://github.com/SwiftOnSecurity/sysmon-config
DNSQuerySniffer下载地址
https://www.nirsoft.net/utils/dns_query_sniffer.html
Process Monitor下载地址
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon