20154319实验四 恶意代码分析

 

一、实验内容

1.监控自己系统的运行状态,看有没有可疑的程序在运行。

2.分析一个恶意软件,分析Exp2或Exp3中生成后门软件。

二、实验后问题回答

(1)如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。

答:我觉得这次实验就给我们提供了很好的方法,我们可以通过批处理设计windows计划任务触发器,定时触发,所得数据在excel中分析得到数据透视图,最后对联网次数较多的重点分析,可以使用Sysmon 查看怀疑对象的日志。

(2)如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。

答:可以用SysTracer快照啊,通过前后对比来分析出变化;看其他同学的博客,还可以用Wireshark工具抓包分析,以及Process Monitor可以用来看看进程做了什么。

三、实验体会

这次实验我可以说是很悲惨了,一直开着自己手机的热点做的,因为不知名的原因我的后门回连能成功回连纯粹是靠运气。这次实验下载了好几个之前不认识的软件用来分析恶意软件,工具的使用并不是很难,只是对于刚接触的我来说,分析真是一件很难的事情,实际上写在博客中的分析也是很浅显的,以后要更加努力才行。Wireshark之前下载安装有问题,就没有做了。其次,在对系统监控的期间,发现了一些流氓软件会自动连接网络,给电脑运行造成一些不必要的麻烦,还是关掉的比较好,嘻嘻。(实验是分好几个时间段完成的,所以用了好几个后门程序。)

四、实践过程

(一)系统运行监控

1)输入命令:schtasks /create /TN netstat /sc MINUTE /MO 2 /TR “d:\netstatlog.bat”,实现每2分钟记录一下有哪些程序在连接网络

(2)在d盘目录下建一个文件d:\netstatlog.bat,内容为

date /t >> d:\netstatlog.txt

time /t >> d:\netstatlog.txt

netstat -bn >> d:\netstatlog.txt

(3)通过“Windows->控制面板->管理工具->任务计划程序”,找到我的任务

(注:将条件的电源那一栏的选项都去掉,否则断电后就无法运行)

(设置是执行一天,但数据统计只是其中的几个小时了)

(4)打开记录文件netstatlog.txt记事本,可以看到每隔2分钟记录并且能够显示日期和时间

一开始没有注意没有管理员权限:

设置以后可以看到:

 

(5)复制到excel中,再进行统计分析。

导入数据:数据选项卡-获取外部数据-来自文本,选择文本netstatlog.txt,导入过程中选择分隔符号,分隔符号都选上,列数据格式选择常规,完成导入

 

选择一部分数据,使用数据透视工具分析得到直观的数据透视图

 第一个选取了程序接入网络的次数:

 

 

上网查询了解了以下几个联网次数较多和我不熟悉的进程:

 1.qmdl.exe

是腾讯电脑管家的进程,QMDL.EXE是电脑管家的下载中心进程和更新病毒库和下载补丁有关,是正常进程

2.AlibabaProtect.exe

这个看起来是阿里巴巴的程序,但是我那段时间我都没有打开过阿里巴巴相关的网站,这是怎么回事呢?

一查才知道不是阿里巴巴的程序,而是优酷的,以下是网友的回答,如果大家也有这个程序也是比较烦人的啊

“AlibabaProtect不仅占用大量内存和部分CPU,还在后台监控你的一举一动,然后给你精准推送广告,是一个名副其实的流氓软件,所以它不仅仅是一个文件,还是一个恶意软件。AlibabaProtect是由于优酷播放器强制安装导致的,用户可以选择卸载优酷客户端来解决看看。”

解决方法的链接:www.xitongzhijia.net/xtjc/20180202/119631.html

第二个选取了程序接入网络的IP:

上网查询了解了一些IP地址:

1.次数最多的:

这个其实还是有些不明白局域网是啥??

2.奇怪的端口

 

连接到了深圳的IP?

(二)Sysmon

Sysmon是微软Sysinternals套件中的一个工具。

1)确定监控目标为网络连接。

2)配置文件:我用的配置文件1.txt。配置文件是xml文件,为了简单编辑就直接命令为.txt。(第一个是排除的谷歌浏览器,要求的3种都有找到)

参考网址:http://www.freebuf.com/sectool/122779.html

<Sysmon schemaversion="4.00">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
  <Signature condition="contains">microsoft</Signature>
  <Signature condition="contains">windows</Signature>
</DriverLoad>

<NetworkConnect onmatch="exclude">
  <Image condition="end with">chrome.exe.exe</Image>
</NetworkConnect>

<NetworkConnect onmatch="include">     
  <DestinationPort condition="is">80</DestinationPort>      
  <DestinationPort condition="is">443</DestinationPort>
  <DestinationPort condition="is">4319</DestinationPort>    
</NetworkConnect>

<FileCreateTime onmatch="exclude" >
      <Image condition="end with">chrome.exe</Image>
</FileCreateTime>

<ProcessCreate onmatch="exclude" >
      <Image condition="end with">chrome.exe</Image>
</ProcessCreate>

<CreateRemoteThread onmatch="include">
  <TargetImage condition="end with">explorer.exe</TargetImage>
  <TargetImage condition="end with">svchost.exe</TargetImage>
  <TargetImage condition="end with">winlogon.exe</TargetImage>
  <SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
  </EventFiltering>
</Sysmon>

用事件查看器查看

 

1.进程创建

 

 

 

2.创建时间

 

 

3.网络连接

 

(2)第二个把微软的网页排除,只找到了两个,没有创建时间

<Sysmon schemaversion="4.00">
  <!-- Capture all hashes -->
  <HashAlgorithms>*</HashAlgorithms>
  <EventFiltering>
<!-- Log all drivers except if the signature -->
<!-- contains Microsoft or Windows -->
<DriverLoad onmatch="exclude">
  <Signature condition="contains">microsoft</Signature>
  <Signature condition="contains">windows</Signature>
</DriverLoad>

<NetworkConnect onmatch="exclude">
  <Image condition="end with">Microsoft Edge.exe</Image>
</NetworkConnect>

<NetworkConnect onmatch="include">     
  <DestinationPort condition="is">80</DestinationPort>      
  <DestinationPort condition="is">443</DestinationPort>
  <DestinationPort condition="is">4319</DestinationPort>    
</NetworkConnect>

<FileCreateTime onmatch="exclude" >
      <Image condition="end with">Microsoft Edge.exe</Image>
</FileCreateTime>

<ProcessCreate onmatch="exclude" >
      <Image condition="end with">Microsoft Edge.exe</Image>
</ProcessCreate>

<CreateRemoteThread onmatch="include">
  <TargetImage condition="end with">explorer.exe</TargetImage>
  <TargetImage condition="end with">svchost.exe</TargetImage>
  <TargetImage condition="end with">winlogon.exe</TargetImage>
  <SourceImage condition="end with">powershell.exe</SourceImage>
</CreateRemoteThread>
  </EventFiltering>
</Sysmon>

 

用事件查看器查看

1.进程创建

 

 

2.网络连接

 

 

3)启动Sysmon(用事件查看器是在启动之后,只是提前写在配置文件之后了)

(强调用管理员身份运行cmd哦)

使用指令一键安装    -accepteula -i -n 

 

 

修改之后,用-c参数更新一下sysmon -c xxx.xml

 

(上图是出现了问题的,错误是版本号没有改,之前还出现过其他的错误,会有提示在第几行)

(更新之后)

(三) 使用PEiD分析恶意软件

使用PEiD软件可以查看恶意软件的壳的相关信息,以及其所使用的编译器版本

 

(四) 使用ThreatExpert分析恶意软件

翻译结果:

感觉并没有得到什么信息,只是制动了这个进程试图与远程主机建立连接,不过比较靠谱的是得到了远程主机的IP和端口号,可以进行查询

 

(五)SysTracer快照分析

1)快照,我分别在以下四种情况下进行快照:

Snapshot#1:不做任何操作,自然状态;

Snapshot#2:windows运行后门程序回连kali;

Snapshot#3:新建一个文本文档,并输入内容;

Snapshot#4:连接结束。

 

2)比较第一个和第二个

1.可以看到注册表中被修改了

 

 

 在应用项目在,回连kali运行后门程序于是running processes中新增了这一项

 

Opened Handles中新增了很多文件、设备信息以及子键

 

 

 在Opened Ports中,可以看到源IP、回连IP、源端口、回连端口都能追踪到

 

2.比较第一个和第三个

 Snapshot#3是新建一个文本文档,并输入内容,可以看到file中新增了一个文件4319p

 

(六)使用Process Explorer分析恶意软件

1.打开process explorer后,接着运行后门程序回连

 

2.双击点开进程,可以看到一些进程的基本信息

3.在TCP/IP选项卡中可以看到回连的Linux的IP地址和端口。

 

4.还有一个安全选项卡,但是看不懂

 

(七)使用Process Monitor分析恶意软件

1. 启动后会看到电脑现在运行的程序,可以从工具选项中,选择进程树,可以方便查看

 

2.在其中找到了后面程序43199.exe,可以看到一些基本情况,进入到只有43199.exe的界面,可以看到从开始到现在进行的连接

3.截图了其中有TCP连接的,点开查看详情如下:

可以看到路径有从ZWL连接到4319端口。

4.看到有其他同学的博客找到了一个可以的问题,我就在自己的下寻找,也一样找到了,此处粘贴同学的解释“在进程信息中的模块里找到 advapi32.dll 百度说是包含函数与对象的安全性、注册表的操控以及与事件日志有关,还是很重要的一个dll文件,一个无关程序莫名与其挂钩,就很值得引起我们怀疑。”

 

posted on 2018-04-12 20:26  154319张武璐  阅读(861)  评论(0编辑  收藏  举报

导航