文章目录

  • 2094307肖江宇Exp-4 恶意代码分析
    • 一、实践目标
      • 1.1 系统运行监控
      • 1.2 恶意软件分析
      • 1.3 未来设想
    • 二、实践内容
      • 2.1 系统运行监控—任务计划
        • (1) 写好脚本(实际上就是命令行语句)
        • (2) 用命令行创建一个计划任务
        • (3) 打开任务计划程序
        • (4) 在常规中选择使用最高权限运行,在条件中关闭电源限制
        • (5) 在操作栏清空参数,选择批处理文件
        • (6) 等待一段时间后就可以得到想要的数据了
        • (7) 收集了较多数据后,停止任务,将所得数据在excel中进行分析
        • (8) 分析结果
      • 2.2 系统运行监控—sysmon
        • (1) 安装sysmon
        • (2) 编写配置文件
        • (3) 启动sysmon
        • (4) 打开日志
        • (5) 打开kali,Win运行后门文件1227door.exe,回连到kali,kali执行shell获取win10的cmd
        • (6) 再次查看日志
      • 2.3 恶意软件分析
        • (1) 用wireshark分析TCP包
        • (2) kali中使用wireshark抓包分析
        • (3) 通过2.1中的任务计划分析
        • (4) 使用SysTracer分析
    • 三、实验后回答问题
      • 3.1 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控。
      • 3.2 如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息。
    • 四、实验感悟

2094307肖江宇Exp-4 恶意代码分析

一、实践目标

1.1 系统运行监控

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

1.2 恶意软件分析

分析该软件在

(1)启动回连,

(2)安装到目标机

(3)及其他任意操作时(如进程迁移或抓屏,重要是你感兴趣)。

该后门软件读取、添加、删除了哪些注册表项,读取、添加、删除了哪些文件,连接了哪些外部IP,传输了什么数据。

1.3 未来设想

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

二、实践内容

2.1 系统运行监控—任务计划

学习一下schtasks的命令,贴上参考链接schtasks的命令

(1) 写好脚本(实际上就是命令行语句)

脚本netcontrol4307.bat,再新建一个txt文档netstatlog4307.txt用于接收数据

date /t >> D:\桌面\肖江宇学习\肖江宇学习\大三下\网络对抗技术\实验四\netstatlog4307.txt
time /t >> D:\桌面\肖江宇学习\肖江宇学习\大三下\网络对抗技术\实验四\netstatlog4307.txt
netstat -bn >> D:\桌面\肖江宇学习\肖江宇学习\大三下\网络对抗技术\实验四\netstatlog4307.txt

(2) 用命令行创建一个计划任务

schtasks /create /TN netcontrol194307 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn  > D:\桌面\肖江宇学习\肖江宇学习\大三下\网络对抗技术\实验四\netstatlog4307.txt"

(3) 打开任务计划程序

“WIN+R”调出“运行”窗口,输入“taskschd.msc”按回车

(4) 在常规中选择使用最高权限运行,在条件中关闭电源限制



(5) 在操作栏清空参数,选择批处理文件


(6) 等待一段时间后就可以得到想要的数据了

(7) 收集了较多数据后,停止任务,将所得数据在excel中进行分析

①新建excel,数据→自文本→选择数据源→netcontrol4307.txt,勾选分隔符号



②勾选所有分隔符号

③列数据格式勾选常规→完成

④选择要分析的列——>选择插入——>选择数据透视图——>直接默认值确认


⑤右侧选择分析的日期,拖入下方的轴和值

同样的方法,可以得到连接的外部ip地址的统计图

(8) 分析结果

出现最多的是TCP,established,established意思是TCP连接成功,再下来就是[vmplayer.exe],是浏览器发起了510次TCP连接,下面列举出来连接最多的一些外部网站,端口基本上都是通过443端口(https)

2.2 系统运行监控—sysmon

sysmon是由Windows Sysinternals出品的一款Sysinternals系列中的工具,用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。

(1) 安装sysmon

sysmon安装包
sysmon配置文件

  • 确定监控目标
  • 进程创建ProcessCreate
过滤事件选项:
UtcTime, ProcessGuid, ProcessId, Image, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine
  • 进程创建时间FileCreatTime
过滤事件选项:
UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime
  • 网络连接NetworkConnect
过滤事件选项:
UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName
  • 远程线程创建CreateRemoteThread
过滤事件选项:
UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction

(2) 编写配置文件

创建一个txt文件,写好配置文件后将文改为sysmon4307.xml

<Sysmon schemaversion="4.81"><!-- Capture all hashes --><HashAlgorithms>*</HashAlgorithms><EventFiltering><!-- Log all drivers except if the signature --><!-- contains Microsoft or Windows --><ProcessCreate onmatch="exclude">     <Image condition="end with">chrome.exe</Image> <Image condition="end with">QQBrowser.exe</Image> </ProcessCreate><FileCreateTime onmatch="exclude" ><Image condition="end with">chrome.exe</Image></FileCreateTime><NetworkConnect onmatch="exclude"><Image condition="end with">chrome.exe</Image><SourcePort condition="is">137</SourcePort><SourceIp condition="is">127.0.0.1</SourceIp></NetworkConnect><NetworkConnect onmatch="include">     <DestinationPort condition="is">80</DestinationPort>      <DestinationPort condition="is">443</DestinationPort>    </NetworkConnect><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>

解释一下:

  • onmatch选项只能设置为include或者exclude,exclude相当于白名单,不用记录;include相当于黑名单
  • 第一行的sysmon版本号要跟使用的sysmon一致(当前版本是4.81)
    Image condition根据自己使用的浏览器更改,如谷歌浏览器是“chrome.exe”,IE浏览器是“iexplore.exe”,火狐浏览器是“firefox.exe”,QQ浏览器是“QQBrowser.exe”,写在exclude中就是不记录由谷歌浏览器创建的进程
  • 进程创建时间类似,也是不创建浏览器创建进程的时间
  • 网络连接过滤掉了浏览器的网络连接、源IP为127.0.0.1(localhost)的网络连接和目的端口为137的连接服务,且查看目的端口为80(http)和443(https)的网络连接。
  • 137端口的主要作用是在局域网中提供计算机的名字或IP地址查询服务,一般安装了NetBIOS协议后,该端口会自动处于开放状态
  • 127.0.0.1表示回环地址
  • 远程线程创建记录了目标为explorer.exe、svchost.exe、winlogon.exe和powershell.exe 的远程线程
  • explorer.exe是Windows程序管理器或者文件资源管理器
  • svchost.exe是一个属于微软Windows操作系统的系统程序,是从动态链接库 (DLL) 中运行的服务的通用主机进程名称
  • winlogon.exe是Windows NT 用户登陆程序,用于管理用户登录和退出
  • powershell.exe是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用

(3) 启动sysmon

输入指令.\Sysmon.exe -i sysmon4307.xml安装Sysmon,点击Agree

(4) 打开日志

打开事件查看器(win+R运行eventvwr.msc)——>应用程序和服务日志->Microsoft->Windows->Sysmon->`Operational


(5) 打开kali,Win运行后门文件1227door.exe,回连到kali,kali执行shell获取win10的cmd

(6) 再次查看日志

根据时间观察对应的事件
可以在Sysmon的日志中看到进程创建


2.3 恶意软件分析

(1) 用wireshark分析TCP包

启动wireshark选择接口,先运行ipconfig找到kali所用接口,然后选择


输入以下进行筛选

ip.addr == 192.168.238.128

可以看到kali和主机之间一直在进行三次握手以及UDP包的传递

(2) kali中使用wireshark抓包分析

主机ip:192.168.43.230 虚拟机ip:192.168.238.1

点击右上方的kali图标,搜索wireshark,进入wireshark

选择需要监听的网卡,双击即可开始监听


ncat传送后门程序

主机开启监听

kali传输

ncat 192.168.43.230 4307  < 20194307_backdoor.exe


抓包结果如下

794-796三行很明显是经典的三次握手连接

现在来看看下面的详细信息,因为用的tcp反弹式连接,所以基本上都是tcp包,详细信息一次类推
第一行,帧Frame797指的是要发送的数据块,其中捕获字节等于传送字节数:7354字节
第二行,以太网,有线局域网技术,是数据链路层。源Mac地址为00:0c:29:92:42:0f,目标Mac地址为00:50:56:f5:29:f5
第三行,IPV4协议,也称网络协议,是网络层;源IP地址为192.168.238.128,目的IP地址为:192.168.43.230
第四行,TCP协议,也称传输控制协议,是传输层;源端口(45956);目标端口(4307);序列号(1);ACK是TCP数据包首部中的确认标志,对已接收到的TCP报文进行确认,值为1表示确认号有效;长度为7300字节
第五行,数据共有7300字节


可以看出来ncat是将后门程序分段传输过去的哈,我生成的后门程序大小为73802字节,最终总计也为73802字节。完美!


打开msfconsole,并设置打开kali监听,并在Windows中启动后门程序,抓包

可以看到这里其实是kali(192.168.238.128)与192.168.238.1之间的数据传输,因为这里我采用的是NAT网络模式,所以对虚拟机来说,在不指定IP的情况下,和主机的数据交换其实就是和192.168.238.1的交换

(3) 通过2.1中的任务计划分析

在20194307_backdoor.exe启动后,通过上文中的程序找到了192.168.238.1(本机)向192.168.238.128(Kali虚拟机)的TCP包,由此可见在程序启动后会隔一段时间就会发送TCP包。

(4) 使用SysTracer分析

systracer直接去官网下载,安装的时候点击第一个,一直下一步

  • systracer可以记录下计算机某个时刻的状态。然后过一段时间后再次记录。通过比较两次记录中计算机的不同进行相应的分析


等待右上角检测完毕生成当前快照snap#1



然后再kali上打开监听,并在Windows上运行后门程序后再次快照,生成snap#2


再kali上对主机进行一些列操作,dir、mkdir20194307,再次快照,得到snap#3

对比快照ncap#1和快照ncap#2
在右下角选择要对比的两个快照,再点击compare
为了更清晰地知道我们的计算机被执行了什么操作,所以选中only differences

通过查看Running Processes、Opened Handles、Opened Ports,可以更直观地看到后门程序的执行,以及它添加了哪些句柄和连接的是哪个端口。


这里可以看到后门程序是通过``29704端口对192.168.238.128:4307`进行连接,这里可以看出后门采用的是反弹端口连接方式。


对比快照Snapshot #2和快照Snapshot #3

新增了这个进程


新增20194307文件夹

三、实验后回答问题

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

答:

首先要监控的是网络,可以就用schtasks设置任务,然后筛选出可疑的网络行为。但凡攻击者想进行远程操作,建立了连接,就一定会被记录到
然后检测进程,比如攻击者要抓肉鸡DDOS或者挖矿,肯定会导致占用的CPU不正常(虽然我感觉应该很少抓PC)
还有要检测文件的创建和删除。如果攻击者是通过小马传大马的方式进行进一步的攻击,检测文件的创建和删除可以防止进一步的攻击,这个可以用schtasks,也可以用systracer。
最后是监控对驱动和硬件的调用,将损失尽量减少。

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

答:Process Monitor可以看的很清楚这个进程的实施者、端口等等,如果能定位到具体的exe,可以进一步丢到vt上,或者用ida反编译之类的深入研究.

四、实验感悟

这次的实验其实更加倾向于防御,通过各种手段分析电脑上可能存在的恶意代码,相对于之前的攻击来说并不是那么有趣,但是这才是网络攻防的常态,大多数时候我们是在防御,只有极少情况才会去主动攻击别人。
通过这次实验我发现攻击比防御容易,很多时候只要找到一个漏洞就可以实施攻击,而防御需要考虑很多方面。而且对于防御方的要求其实也更高,这次实验中我们就能看出一二,防御者需要了解更多的知识,例如抓包,不仅要会抓,还要会读;还有数据,不仅要会获取,还要会分析。可以说一个优秀的防御者肯定是一个优秀的攻击者。
这也让我明白这门课需要我付出更大的努力。

20194307肖江宇Exp-4 恶意代码分析相关推荐

  1. 20194307肖江宇Exp5—信息搜集与漏洞扫描

    文章目录 20194307肖江宇Exp5-信息搜集与漏洞扫描 一.实践目标 二.实践内容 1. 各种搜索技巧的应用 1.1 搜索网址目录结构 1.2 利用搜索引擎的技巧 1.3 路由侦察 2. DNS ...

  2. 20194307肖江宇exp-1

    20194307肖江宇<网络对抗技术> exp1 逆向与Bof基础 文章目录 20194307肖江宇<网络对抗技术> exp1 逆向与Bof基础 基础知识 1. NOP,JNE ...

  3. 20194307肖江宇Exp2—后门原理与实践

    文章目录 20194307肖江宇Exp-2后门原理与实践 1.实验基础 1.1基础知识 1.2常用后门工具 NC和Netcat SoCat 任何代理.转发等功能都可以用该工具实现. Meterpret ...

  4. 20145236《网络攻防》Exp4 恶意代码分析

    20145236<网络攻防>Exp4 恶意代码分析 一.基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些 ...

  5. 20145328 《网络对抗技术》恶意代码分析

    20145328 <网络对抗技术>恶意代码分析 ------看到这句话说明还没写完-------- 实践内容: 使用schtasks指令监控系统运行 使用sysmon工具监控系统运行 使用 ...

  6. 2018-2019-2 网络对抗技术 20165324 Exp4:恶意代码分析

    2018-2019-2 网络对抗技术 20165324 网络对抗技术 Exp4:恶意代码分析 课下实验: 实践目标 是监控你自己系统的运行状态,看有没有可疑的程序在运行. 是分析一个恶意软件,就分析E ...

  7. 2018-2019-2 网络对抗技术 20165320 Exp4 恶意代码分析

    2018-2019-2 网络对抗技术 20165320 Exp4 恶意代码分析 一.实践目标 监控你自己系统的运行状态,看有没有可疑的程序在运行 分析一个恶意软件,就分析Exp2或Exp3中生成后门软 ...

  8. Exp4 恶意代码分析 20164303 景圣

    Exp4 恶意代码分析 实验内容 实验点一:系统运行监控 (1)使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部IP是哪里.运行一段时间并分析该文件,综述一下分析结果.目标就是找出 ...

  9. 20155317《网络对抗》Exp4 恶意代码分析

    20155317<网络对抗>Exp4 恶意代码分析 基础问题回答 如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所有想监控下系统一天天的到底在干些什么.请设计下你想监控的操作有哪些,用 ...

  10. 2017-2018-2 20155228 《网络对抗技术》 实验四:恶意代码分析

    2017-2018-2 20155228 <网络对抗技术> 实验四:恶意代码分析 1. 实践内容 1.1 系统运行监控 使用如计划任务,每隔一分钟记录自己的电脑有哪些程序在联网,连接的外部 ...

最新文章

  1. outlook2007 未知错误,代码0x80040600解决方法
  2. 浏览器控件JxBrowser 6.18发布 | 极大增强了安全性
  3. 关键字之defer、panic、recover
  4. C. The Sports Festival
  5. Android Google Map APIKey申请
  6. python批量创建实例_Django批量创建Model实例
  7. vs2010 C# 如何将类做成DLL 再从另一个项目中使用这个类
  8. 非spring boot (即spring) 使用/集成 Spring cloud Config 分布式配置中心
  9. ES6学习笔记对象的扩展(补充)
  10. 京东自动签到领京豆软件_京东618来了,合法又简单的自动领京豆的技能要get一下吗?...
  11. A/B【费马小定理】
  12. php 错误503的原因,网站503错误原因和解决方法
  13. 什么是 480i、576i、480p、1080i、720p?什么是 HDTV?
  14. win10系统的字体突然变成繁体字,如何修改回简体中文
  15. 提取FBX文件中mesh的信息
  16. 支付宝小程序JS省市区三级联动
  17. 怎么添加扫描仪到计算机快捷键,Win7系统添加扫描仪快捷方式的方法
  18. APP2SD图文储存卡分区教程
  19. 防ddos-shell
  20. 前台替换用户名部分转换为*显示

热门文章

  1. android手机内存不足使用sd卡,解决红米内存不足(内置SD卡与外置SD卡互换)
  2. 手机html保存工具,用手机保存任何网页视频:Pro Recorder 使用介绍
  3. win7计算机系统更新,win7电脑版本低怎么升级?win7电脑版本低的解决方法
  4. Massive MIMO简介
  5. 利用BLAST进行序列比对和寻找同源基因
  6. 冥王星P的编曲日志《我们就这样溺死在漩涡里》
  7. Verifying an Alien Dictionary
  8. 详说ArcGIS之重采样技术图文解析
  9. Contextual 上下文绑定机制
  10. Excel列与数字的转换