博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
20155227《网络对抗》Exp4 恶意代码分析
阅读量:5170 次
发布时间:2019-06-13

本文共 2735 字,大约阅读时间需要 9 分钟。

20155227《网络对抗》Exp4 恶意代码分析

实践目标

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

2.是分析一个恶意软件,就分析Exp2或Exp3中生成后门软件;分析工具尽量使用原生指令或sysinternals,systracer套件。

3.假定将来工作中你觉得自己的主机有问题,就可以用实验中的这个思路,先整个系统监控看能不能找到可疑对象,再对可疑对象进行进一步分析,好确认其具体的行为与性质。

实践内容(3.5分)

1.系统运行监控(2分)

(1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里。运行一段时间并分析该文件,综述一下分析结果。目标就是找出所有连网的程序,连了哪里,大约干了什么(不抓包的情况下只能猜),你觉得它这么干合适不。如果想进一步分析的,可以有针对性的抓包。

(2)安装配置sysinternals里的sysmon工具,设置合理的配置文件,监控自己主机的重点事可疑行为。

参考:schtask与sysmon应用指导

实际日志的分析还需要发挥下自己的创造力,结合以前学过的知识如linux的文本处理指令等进行。分析的难点在于从大量数据中理出规律、找出问题。这都依赖对结果过滤、统计、分类等进一步处理,这就得大家会什么用什么了。

2.恶意软件分析(1.5分)

分析该软件在(1)启动回连,(2)安装到目标机(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件

(3)读取、添加、删除了哪些注册表项

(4)读取、添加、删除了哪些文件

(5)连接了哪些外部IP,传输了什么数据(抓包分析)

实践内容及步骤

使用schtasks指令监控系统运行

  • 先在C盘目录下建立一个netstatlog.bat文件,用来将记录的联网结果格式化输出到netstatlog.txt文件中,netstatlog.bat内容为:

    date /t >> c:\netstatlog.txt  time /t >> c:\netstatlog.txt  netstat -bn >> c:\netstatlog.txt
  • 然后打开Windows下命令提示符,输入指令schtasks /create /TN netstat /sc MINUTE /MO 2 /TR "c:\netstatlog.bat"指令创建一个每隔两分钟记录计算机联网情况的任务

1065400-20180410223601623-1509827859.png

  • 创建完成后,我运行这个任务,发现netstatlog.txt并没有显示出网络连接记录信息,而是请求的操作需要提升。然后发现是自己没有以管理员身份运行.

1065400-20180410223617115-465493543.png

1065400-20180412213706018-1176407819.png

  • 一段时间后查看netstatlog.txt文件,可以观察到运行的免杀的恶意程序5227test32.exe,除此之外没什么不明联网情况。

1065400-20180410223638790-665206162.png

1065400-20180410223647512-242583430.png

监测了好几天之后,将txt导入到Excel中,整理发现最常见的是360se即360游览器,360tray即360安全卫士。

1065400-20180412224151884-1896727298.png

1065400-20180412224200560-545372278.png

以及常见的进程[svchost.exe]Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称。这个程序对系统的正常运行是非常重要,而且是不能被结束的。

[conhost.exe]:微软的系统文件。

sysmon工具监控

  • 用管理员身份运行cmd,配置文件,保存在sysmon.exe同目录下就好。输入以下指令进行安装配置。

1065400-20180410223702455-1939922622.png

  • 右键“我的电脑”选择管理,进入事件查看器,查看日志:

1065400-20180410223719447-330308743.png

  • 监测到进程创建:

    1065400-20180412212254738-1379173465.png

  • 监测到360对文件创建时间进行了修改:

    1065400-20180412212310115-117664653.png

1065400-20180412212324754-1127114267.png

  • 监测到kali监听回连时的网络连接:
    1065400-20180412212337882-86728341.png

1065400-20180412212345587-1021171792.png

virscan网站分析

在上次用来查杀程序的网站上,等一段时间后会出现程序的行为分析,点击可以查看到对这个程序的行为描述,还有它对注册表是否有增删的情况等等:

1065400-20180410223803703-667400701.png

1065400-20180410223817612-647622174.png

systracer工具快照分析

我一共建立了3个快照,分别是:有后门程序但未回连时、后门程序回连时、执行指令操作时。

1065400-20180412224115171-1087301294.png

可以看到Kali回连成功后注册表发生变化:

1065400-20180410223833870-278930258.png

对比未回连时和回连时可以发现后门程序建立了主机到Kali的tcp连接,进行了回连;后门程序对注册表项进行了修改:

1065400-20180412224101289-1443556244.png

对比回连时和输入指令时可以看到后门程序对文件、注册表等都进行了增改:

1065400-20180412224128458-1035259684.png

使用wireshark分析恶意软件回连情况

Windows主机上用netstat命令可以查看TCP连接的情况,其中就有后门程序所建立的TCP连接:

1065400-20180410224053525-2119532794.png

使用wireshark进行抓包后可以看到,其先进行了TCP的三次握手,之后再进行数据的传输,如图所示,带有PSH,ACK的包传送的就是执行相关操作指令时所传输的数据包:

1065400-20180410223926342-1622837251.png

使用PEiD分析恶意软件

PEiD是一个常用的的查壳工具,可以分析后门程序是否加了壳:

1065400-20180410224205643-344080949.png

Process Monitor分析

1065400-20180410224219636-1861142992.png

1065400-20180410224231155-2059873621.png

使用Process Explorer分析恶意软件

打开Process Explorer,在Process栏点开explorer.exe前面的小加号,运行后门程序5227test32.exe,界面上就会出现它的基本信息。

1065400-20180410224258191-400059207.png

双击后门程序那一行,点击不同的页标签可以查看不同的信息:

1065400-20180410224315108-1717009626.png

1065400-20180410224347367-1795626558.png

其调用的ntdll库,ntdll.dll是重要的Windows NT内核级文件。描述了windows本地NTAPI的接口。当Windows启动时,ntdll.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

1065400-20180410224417747-1588865912.png

问题回答

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

  • 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  • 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。
  • 使用netstat命令设置一个计划任务,指定每隔一定时间记录主机的联网记录等等。
  • 可以通过sysmon工具,配置好想记录事件的文件,然后在事件查看器里面查看相关文件。

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

  • 可以使用systracer工具比较某个程序的执行前后计算机注册表、文件、端口的变化情况。
  • 可以使用Wireshark进行抓包分析,然后查看该程序联网时进行了哪些操作。

实验总结与体会

刚开始做实验时有点无从下手,参考了很多学长学姐的博客,通过这次实验,可以看到现在的恶意代码已经不能仅仅靠杀软来查杀了。我们需要了解使用不同软件来进行恶意代码分析的方法,希望以后也能运用这些知识来发现系统中的一些异常行为吧。

转载于:https://www.cnblogs.com/guyanlin/p/8783766.html

你可能感兴趣的文章
系统调用全过程
查看>>
1.公众号是什么
查看>>
Quartz 教程
查看>>
网路视频播放-ios
查看>>
[转]Android调用so文件(C代码库)方法详解
查看>>
C#高级编程----反射的小结
查看>>
[转][Err] 1452 - Cannot add or update a child row: a foreign key constraint fail
查看>>
《众妙之门 JavaScript与jQuery技术精粹》 - 读书笔记总结[无章节版][1-60]
查看>>
list.erase导致迭代器失效问题
查看>>
UIBlock 按钮图片设置
查看>>
关于Redis的常见面试题解析
查看>>
【Struts1】--beanutils
查看>>
putty+Xming使用方法
查看>>
ORACLE VARCHAR2
查看>>
Cocos2d-x for Android & iOS开发环境配置最佳实践
查看>>
批处理,扫描当前目录下的文件,传到指定文本中
查看>>
正怎表达式在爬虫里的应用
查看>>
[bzoj2115][Wc2011] Xor
查看>>
配置nginx作为下载站点
查看>>
英语六级翻译训练:教育专题
查看>>