前言
我们有理由怀疑我们的主机已经感染了恶意程序。大多数人使用重新包装的盗版系统来安装盗版系统;他们使用的工具不知道他们来自哪里,他们通常在互联网上下载的工具是基于可以使用的工具。我们都拥有幸运的心情 - 每个人都在使用它。这应该没问题。这是一件大事。更重要的是,杀软并没有检查出来。这使我们很无奈。我们还能做什么?有了这样的问题,笔者认真思考,根据自己的想法做了一个有趣的实验。
主要内容
思想原理
杀软软件主要是扫描文件以查明系统是否受到感染。扫描策略主要是静态特征扫描。这种方法对于发现已知的病毒程序非常有效,但对于发现高级或未知病毒程序并不是非常有效。还有什么其他方式来检测它?
笔者认为如此,假设我的主机受到感染,病毒程序将尝试与C&C(命令和控制)服务器通信。我们可以根据开源威胁情报审核主机外部通信的目标IP地址,并检查目标IP地址的恶意。也就是说,我们可以从数据包级别检测主机是否感染了病毒。
实验方法
为了验证作者的想法,作者准备了以下实验:
1.数据收集
在深夜的时候,作者重新启动了五台电脑。每台计算机使用wireshark捕获数据包(以重新启动计算机以确保流量的纯度)。收集到第二天早上,作者将抓取数据包。保存。在此期间,计算机上没有其他操作。在这样做时,尽可能地排除一些干扰因素以便于以后的分析。
2. IP地址分析界面
解析数据包和基于威胁情报的查询需要使用一些工具完成。基于以前的积累,作者使用Python的dpkt库来解析数据包。它主要分为两个步骤,一个是提取数据包中的IP地址,另一个是删除IP地址。
IP地址恶意查询界面,我选择了国外开源威胁智能社区AlienVault。这个社区的威胁情报非常全面,它具有开源的精神。它不会限制查询次数(基于对国内厂商的了解,我想说三次),而且API查询界面的使用也非常方便。
首先在AlienVault上注册一个账户,只需要验证邮箱。注册成功后,请访问:https://otx.alienvault.com/api。在API接口页面的右侧将会生成一个生成的API_KEY,如下图所示。
同时,单击页面上的Python SDK,如下图所示,将直接进入基于Python的查询开源程序。
按照github上的安装说明安装OTXv2相关库。下面,说明实验的具体实施过程。
实验程序
实验步骤分为3个步骤,第一步是获取数据包中的IP地址;第二步是解析IP地址的地理信息(总觉得外地IP地址更怀疑,原谅,有点痴迷);第三步查询IP地址的恶意。作者将在Python脚本中实现这三个步骤。 IP地址和IP地址地理信息查询的分析可以使用作者的[本项目]。这里主要关注如何使用AlienVault的API接口来查询IP地址的恶意。没什么废话说,直接在代码上,首先替换全局变量API_KEY中的键,然后直接调用AlienVault的函数接口,其中CheckIp()函数是AlienVault给出的示例函数,如果感兴趣的话,可以在源代码中查看。
开始下面的程序:
Python hot_ip.py-pcapfile = ./data/out500.pcap -d -c#-d提取目标IP地址,-c测试IP地址。
考虑时间因素,这里只解析一部分网络数据包。从动态影像中可以看出,目标IP地址首先被移除并保存在带有out_IP.txt的程序中;那么IP地址的地理位置已解决。信息通过ip_location.txt保存在程序中;最终调查IP地址的恶意,并将恶意IP地址解析为恶意文件。下面列出了恶意结果.txt的结果。
f117@ubuntu:~/Downloads/experiment/check_ip$ cat malicious_results.txt
114.114.114.114 potentially malicious 中国-江苏-南京 https://otx.alienvault.com/indicator/ip/114.114.114.114
104.18.24.243 potentially malicious 美国-XX-XX https://otx.alienvault.com/indicator/ip/104.18.24.243
117.18.237.29 potentially malicious 台湾-台湾-台北 https://otx.alienvault.com/indicator/ip/117.18.237.29
183.57.48.18 potentially malicious 中国-广东-深圳 https://otx.alienvault.com/indicator/ip/183.57.48.18
40.77.226.249 potentially malicious 爱尔兰-Dublin-XX https://otx.alienvault.com/indicator/ip/40.77.226.249
可疑的恶意IP地址已获得。这些IP的以下分析开始了。
数据分析
正如您所看到的,有五个可疑的恶意IP地址,例如114.114.114.114。我们都知道它是一个国内的域名服务器。这种威胁情报可以在微步在线和AlienVault上找到,表明域名。服务器被用来做某事。
下面我举个例子,分析一个IP地址,其他IP地址也可以类似地分析。要分析104.18.24.243美国的IP,请首先访问https://otx.alienvault.com/indicator/ip/104.18.24.243。这是AlienVault对这个IP地址的分析。你可以从下图看到。它被怀疑是特洛伊木马的邮寄地址。
进一步,点击Trojan这一条信息,进去页面,在reference标签处发现这是一条由微步在线发布的情报信息。由下图所示。
同时,这个IP地址在数据包中,体现出如下通信过程。
这些查询的例外情况并不多。是否有可能找到通过此IP地址生成它的程序文件?当然可以。具体可以通过以下步骤获取,首先通过IP地址查找进程号,打开dos或powershell命令窗口,运行命令:netstat -ano | findstr“104.18.24.243”,结果如下。
可以看到,该进程的进程号为5200,再通过进程号关联到进程的名字,运行命令:tasklist | findstr “5200″,有如下结果。
可以看到,是WinStore.App.exe这个程序在执行。继续深挖,可以通过命令查询到启动文件的路径,运行命令:wmic process list full | findstr”WinStore.App.exe”,有如下结果。
这可以直接找到生成此IP地址的启动文件,可以在目录C:\ Program Files \ WindowsApps \中看到该文件。下一步是分析这个文件的恶意性质。它可以手动反转或上传到云沙箱进行分析。如果发现异常,则需要彻底检查计算机。到目前为止,本文已经介绍了整个分析过程。有兴趣的朋友还可以分析自己机器上生成的其他IP地址或IP地址。在这个过程中,我相信他们会找到很多不同的东西。最后,给作者这个实验的程序代码。
实验代码:https://github.com/scu-igroup/check_ip
总结
本文中描述的实验表明,我们可以依靠查杀软件进行故障排除,从而提供另一种发现主机异常的方法。结合当前流行的威胁情报,还可以排除主机本身的异常情况。但是,还必须指出,威胁情报只能提供一条可能的线索。无论是真正的异常情况,仍需要一定的专业知识才能确认。同时,还有许多其他方法和方法来分析主机的安全性。作者目前正在这方面努力工作。如果你有新的想法,欢迎来沟通。
关注我们:请关注一下我们的微信公众号: NiudunX
版权声明:本文为原创文章,版权归 牛盾网络 所有,欢迎分享本文,转载请保留出处!