返回目录html
启动回连
,安装到目标机
及其余任意操做
时(如进程迁移或抓屏,重要是你感兴趣)。该后门软件——
返回目录node
若是在工做中怀疑一台主机上有恶意代码,但只是猜测,因此想监控下系统一每天的到底在干些什么。请设计下你想监控的操做有哪些,用什么方法来监控。linux
- 利用Windows计划任务netstat,按期查看并分析网络链接状况
- 可利用sysmon工具,配置好想要监控的端口、注册表信息、网络链接等信息,经过其生成的日志文件进行查看
- 利用wireshark查看数据包,分析数据流
- 使用Process Explorer工具,监视进程执行状况
若是已经肯定是某个程序或进程有问题,你有什么工具能够进一步获得它的哪些信息。git
- 利用wireshark查看数据包,查找能够数据链接
- 利用systracer进行快照的对比(注册表、文件等)
返回目录web
恶意代码算法
- 是经过存储介质和网络进行传播,从一台计算机系统到另外一台计算机系统,未经受权破坏计算机系统完整性的程序或代码
- 最多见的恶意代码有病毒、木马、蠕虫、后门、僵尸网络、Rootkit等
- 恶意代码都有如下共同特征:
- 恶意的目的
- 自己是计算机程序
- 经过执行发生做用
- 具体可看恶意代码
恶意代码分析chrome
- 静态分析(不运行程序)
- 使用反病毒软件来确认程序样本的恶意性(VirusTotal或者virscan,可调用多个反病毒引擎来进行扫描)
- 哈希值:恶意代码的指纹(md5deep程序:计算出程序的哈希值)
- 经过检索恶意代码字符串得到相应的功能调用解释等,查看是否有被加壳处理(字符串检索:Strings 外壳检测:PEiD)
- 可移植执行(PE)文件以一个文件头开始,包含代码信息、应用程序类型、所需的库函数与空间要求。(使用PEview来分析PE文件。使用Resource Hacker工具来浏览.rsrc节(资源)。PEBrowse Professional和PE Explorer 也是分析PE文件的两大工具)
- 动态分析(运行程序)
- 沙箱:提供容易理解的输出结果,用来作初诊断很是有用(Norman沙箱、GFI沙箱等)
- DLL类型文件执行(PEview、PE Exporer)
- 用一些系统监视类软件捕获运行中恶意程序的系统调用(process monitor、process explorer)
返回目录shell
使用schtasks /create /TN netstat5330 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\netstat5330.txt"
命令建立计划任务netstat5330
windows
其中,TN是TaskName的缩写,这里计划任务名是netstat5330;sc表示计时方式,以分钟计时填MINUTE;TR=Task Run,要运行的指令是
netstat -bn
,b表示显示可执行文件名,n表示以数字来显示IP和端口。api
在C盘要目录下建一个文件c:\netstat5330.bat
(能够先在桌面新建txt文本文件,使用记事本写入后在修改后缀为.bat,复制到C盘中),写入内容以下:
date /t >> c:\netstat5330.txt time /t >> c:\netstat5330.txt netstat -bn >> c:\netstat5330.txt
计算机管理
-任务计划程序
,能够看到咱们新建立的任务:操做
-编辑
,将其中的程序或脚本
改成咱们建立的netstat5330.bat
批处理文件,参数可选项
为空,点击肯定。(注意看这里:必定要勾选使用最高权限运行
,不然可能致使文件不能自主更新或者记录里出现权限问题)条件
中设置其余属性,在电源
这里默认操做为只有在计算机使用交流电源时才启动此任务
,那么使用电池电源时就会中止任务,因此若保持默认注意电脑保持开机联网状态!运行
,可在netstat5330.bat
目录下看到一个txt文本文件,打开就可看到每隔一分钟被输到这里的联网数据。数据
-获取外部数据
-自文本
,在数据类型
中选择分隔符号
下一步
,标记全部分隔符号
,点击完成插入
-数据透视图
,并默认位置新表格
,点击肯定
轴
和值
两个区域中20165330_backdoor.exe
,经过查询他的链接数据,发现他所连IP都显示为[::1]:8307
类,通过查询::1
表明的是ipv6的本机地址,也就是ipv4的127.0.0.1
,在查找相关进程在VM有关进程发现vmware-authd.exe
(它是虚拟机的受权服务)所连外部IP就是个人kali的IP地址和后门设置的端口,这应该就是后门和个人主机进行通信的一个通道吧。。QQBrowser.exe
,这个是QQ浏览器对应的进程,没什么可疑的。SearchUI.exe
,这个原来是win10所带的Cortana小娜的进程,查了它的两个链接的外部IP,一个显示是上海市腾讯云,一个是在美国(这大概是微软的吧。)360
、有道云
还有office
及一些系统服务的,没有可疑部分。Sysmon是微软Sysinternals套件中的一个工具。能够监控几乎全部的重要操做,参考使用轻量级工具Sysmon监视你的系统开始咱们的使用。
① 基本操做
进程建立
、进程建立时间
、网络链接
、远程线程建立
进程建立ProcessCreate
我用到了Image
、SourceIp
、SourcePort
,进程建立时间FileCreateTime
我用到了Image
,网络链接NetworkConnect
我用了Image
、SourceIp
、SourcePort
,远程线程建立CreateRemoteThread
我用了TargetImage
、SourceImage
开始写与本身想要监控的事件相对应的配置文件,命名为20165330Sysmoncfig.txt
,内容以下:(配置文件是xml文件,为了简单编辑就直接命令为.txt,每次用写字本打开。)
<Sysmon schemaversion="3.10"> <!-- Capture all hashes --> <HashAlgorithms>*</HashAlgorithms> <EventFiltering> <!-- Log all drivers except if the signature --> <!-- contains Microsoft or Windows --> <ProcessCreate onmatch="exclude"> <Image condition="end with">QQBrowser.exe</Image> </ProcessCreate> <FileCreateTime onmatch="exclude" > <Image condition="end with">QQBrowser.exe</Image> </FileCreateTime> <NetworkConnect onmatch="exclude"> <Image condition="end with">QQBrowser.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>
exclude
至关于白名单,不用记录。include
至关于黑名单Image condition
根据本身使用的浏览器更改,如谷歌浏览器是“chrome.exe”,IE浏览器是“iexplore.exe”,我用的是QQ浏览器则更改成“QQBrowser.exe”(可在上面的netstat5330.txt中找到进程名称),写在exclude中就是不记录由QQ浏览器建立的进程。- 进程建立时间相似,也是不建立浏览器建立进程的时间。
- 网络链接过滤掉了浏览器的网络链接、源IP为
127.0.0.1
的网络链接和目的端口为137的链接服务,且查看目的端口为80(http)
和443(https)
的网络链接。(137
端口的主要做用是在局域网中提供计算机的名字或IP地址查询服务,通常安装了NetBIOS协议后,该端口会自动处于开放状态。127.0.0.1
表示本机IP。)- 远程线程建立记录了目标为
explorer.exe
、svchost.exe
、winlogon.exe
和powershell.exe
的远程线程。explorer.exe
是Windows程序管理器或者文件资源管理器svchost.exe
是一个属于微软Windows操做系统的系统程序,是从动态连接库 (DLL) 中运行的服务的通用主机进程名称。winlogon.exe
是Windows NT 用户登录程序,用于管理用户登陆和退出。powershell.exe
是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,二者既能够独立使用也能够组合使用。
② 启动sysmon
Windows PowerShell(管理员)
进入管理员命令行,先cd
进入工具目录,在安装sysmon:.\Sysmon.exe -i C:\20165330Sysmoncfig.txt
(由于按老师的指令报错我将指令改成如上才成功执行)Agree
,安装成功以下图.\Sysmon.exe -c C:\20165330Sysmoncfig.txt
来更新.\Sysmon.exe -i
命令启动sysmon③ 使用sysmon
事件查看器
,在应用程序和服务日志
-Microsoft
-Windows
-Sysmon
-Operational
能够看到按照配置文件的要求记录的新事件,以及事件ID、任务类别、详细信息等等20165330_backdoor.exe
,按步骤执行到回连Sysmon
-Operational
刷新记录,在12:36:34找到运行后门文件20165330_backdoor.exe
相对应的日志以下360RealPro.exe
,这是360的实时保护进程名,后续还运行了其余一些可执行文件,如360sctblist.exe、360sclog.exe。shell
获取cmdC:\Windows\SysWOW64\cmd.exe
这样一个进程,其显示目录在后门程序目录下,很显然与后门程序相关dir
获取目录下信息,发现了一个被运行的的进程svchost.exe
webcam_snap
获取摄像头,一样也发现了Svchost.exe
这个进程。静态分析
① 使用VirusTotal分析恶意软件
② 使用PEiD进行外壳检测
PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎能够侦测出全部的壳,其数量已超过470 种PE 文档 的加壳类型和签名
>>
查看详细信息③ 使用PE explorer查看PE文件头中包含代码信息
PE Explorer是功能超强的可视化Delphi、C++、VB程序解析器,能快速对32位可执行程序进行反编译,并修改其中资源
20165330_backdoor.exe
试图
-数据目录
查看程序静态数据目录试图
-节头
查看节头信息工具
-反汇编器
进行反汇编导入
查看所引用的dll库,分析得知msvcrt.dll
是微软在windows操做系统中提供的C语言运行库执行文件kernel32.dll
属于内核级文件,它控制着系统的内存管理、数据的输入输出操做和中断处理,是必需的advapi32.dll
是一个高级API应用程序接口服务库的一部分,包含的函数与对象的安全性,注册表的操控以及事件日志有关,会受到病毒的侵扰及篡改,致使系统文件丢失、损坏wsock32.dll
是Windows Sockets应用程序接口,用于支持不少Internet和网络应用程序,是一个对系统很关键或很可疑的文件,易遭受木马病毒(如“犇牛”病毒)破坏致使系统找不到此文件,出现错误提示框。ws2_32.dll
是Windows Sockets应用程序接口。一些病毒会在杀毒软件目录中创建伪"ws2_32.dll"的文件或文件夹,在杀毒软件看来这是程序运行须要的文件而调用,这个所谓的“文件”又不具有系统"ws2_32.dll"文件的功能,因此杀毒软件等就没法运行了而提示:应用程序正常初始化失败。动态分析
① 使用SysTracer分析后门软件的运行过程
SysTracer是一款能够分析你的计算机文件,文件夹和注册表项目改变的系统实用工具。你能够在任何想要的时间获取无数个屏幕快照,比较任何一对想要的屏幕快照,而且观察其间的不一样之处。获取屏幕快照一般会持续几分钟的时间,这取决于文件和文件夹的数量和注册表项目的总数。
next
设置端口为5330
(后门生成时利用的端口),安装完成后进入界面take snapshot
(建立快照),接着Start
Snapshot #1
Snapshot #2
ls
命令,此时建立第三个快照Snapshot #3
screenshot
命令抓屏,此时建立第四个快照Snapshot #4
compare
将快照之间进行比较,在Registry
可看到注册表的变化(蓝色部分为有变化的)ctrl
键,选择#1和#2进行比较:能够发如今启动回连时的变化
opened handles
(打开的句柄)来对比他们都作了什么② 使用wireshark对流量进行抓包分析
5330.exe
进行回连,输入过滤条件ip.addr == 192.168.30.129
,能够看到Wireshark上捕获到大量的TCP传输(因为抓包时Kali一直处于链接win7的状态,所以并无捕获到TCP四次握手取消链接过程)③ 使用Process Monitor分析恶意软件
Process Monitor一款系统进程监视软件,整体来讲,Process Monitor至关于Filemon+Regmon,其中的Filemon专门用来监视系统 中的任何文件操做过程,而Regmon用来监视注册表的读写操做过程
过滤器
-过滤器
,选择进程名称
,输入后门名称5330.exe
,选择包括
并添加,点击应用肯定,就能够看到监视条目ls
查看目录,在Process Monitor中发现这个操做跳转到
能够跳转到注册表,发现指向了这个注册表④ 使用Process Explorer分析恶意软件
Process Explorer让使用者能了解看不到的在后台执行的处理程序,能显示目前已经载入哪些模块,分别是正在被哪些程序使用着,还可显示这些程序所调用的 DLL进程,以及他们所打开的句柄。Process Explorer最大的特点就是能够终止任何进程,甚至包括系统的关键进程!
Strings
一般可以显示这个进程在运行的时候可能会使用到的一些字符串,好比网址、路径名、注册表信息等等蛛丝马迹。若是是病毒或者恶意软件经过包含着一个远程的地址用来下载病毒或者将窃取的信息上传。这里一般还会包含其余信息,对于不一样的场合来讲,总有一些是有用的。一般有些杀毒软件也会从这里提取病毒特征码的。wsock32.dll
和ws2_32.dll
,这两个是会常常被木马、病毒等进行侵略篡改的文件,能够分析出咱们的后门程序对其作必定的修改来实现反弹链接控制被控机。在安装sysmon时报错,提示找不到命令Sysmon.exe,但它确实存在于当前位置
解决办法:按照提示要求将命令改成
.\Sysmon.exe -i C:\20165330Sysmoncfig.txt
便可。
参开资料