schtacks的作用:安排命令和程序定期运行或在指定时间内运行。从计划表中添加和删除任务,按需要启动和停止任务,显示和更改计划任务。/create创建一个新的任务计划/tn taskname指定任务的名称/tr TaskRun指定任务运行的程序或命令。键入可执行文件、脚本文件或批处理文件的完全合格的路径和文件名。如果忽略该路径,将假定文件在SystemrootSystem32目录下。/sc schedule指定计划类型,其有效值有以下几类
MINUTE、HOURLY、DAILY、WEEKLY、MONTHLY指定计划的时间单位ONCE任务在指定的日期和时间运行一次ONSTART任务在每次系统启动的时候运行。可以指定启动的日期,或下一次系统启动的时候运行任务ONLOGON每当用户(任意用户)登录的时候,任务就运行。可以指定日期,或在下次用户登录的时候运行任务ONIDLE只要系统空闲了指定的时间,任务就运行。可以指定日期,或在下次系统空闲的时候运行任务/mo modifier指定任务在其计划类型内的运行频率,默认值1/s Computer指定远程计算机的名称或 IP 地址,默认值是本地计算机/sd StartDate以MM/DD/YYYY格式指定任务启动的日期。默认值是当前日期,只对于 ONCE计划是必需的schtasks /create /sc hourly /mo 5 /sd 03/01/2001 /tn "My App" /tr c:appsmyapp.exe > 1.txt
sysmon的作用:用来监视和记录系统活动,并记录到windows事件日志,可以提供有关进程创建,网络链接和文件创建时间更改的详细信息。sysmon用完整的命令行记录下子进程和父进程的创建行为。其中包括:
-c 更新或显示配置-h 指定hash记录的算法-i 安装,可用xml文件来更新配置文件-l 记录加载模块,可指定进程-m 安装事件清单-n 记录网络链接-r 检测证书是否撤销-u 卸载服务和驱动onmatch只能设置为include/excludecondition根据需求可设置为is/is not/contains/excludes/begin with/end with/less than/more than/ImageProcessCreate进程创建FileCreateTime进程创建时间NetworkConnect网络链接ProcessTermina进程结束DriverLoad驱动加载ImageLoad镜像加载CreateRemoteTh远程线程创建RawAccessRead驱动器读取ProcessAccess进程访问FileCreate文件创建RegistryEvent注册表事件FileCreateStre 文件流创建<NetworkConnect onmatch="exclude">      
<Image condition="end with">chrome.exe</Image>    
</NetworkConnect>        
<NetworkConnect onmatch="include">     
<DestinationPort condition="is">80</DestinationPort>      
<DestinationPort condition="is">443</DestinationPort>    
</NetworkConnect>
string *schtasks /create /TN task5312-1 /sc MINUTE /MO 1 /TR "cmd /c netstat -bn > c:\5312-1.txt"  //b表示显示可执行文件名,n表示以数字来显示IP和端口

c:\5312-1.batdate /t >> c:\5312-1.txt
time /t >> c:\5312-1.txt
netstat -bn >> c:\5312-1.txt
Windows->计算机管理->任务计划程序,可以看到新创建的任务

常规->勾选使用最高权限运行

操作->编辑,将其中的程序或脚本改为5312-1.bat,参数可选项为空

条件->电源,默认选项为前两个(你也可以修改成其他的),则表明此任务需要在接通电源且联网状态下运行

C:/5312-1.txt,并且每隔一分钟就会更新数据excel进行分析创建一个新的excel表格,数据->获取外部数据->自文本->C:/5312-1.txt

数据类型->分隔符号->下一步->标记所有分隔符号


在字段中去除不需要的字段,注意删去TCP

将“周六”拖到下方的“轴”、“值”

cloudmusic.exe、video.ui.exe、svchost.exe、WpnService、sogouexplorer.exe。
cloudmusic.exe是网易云,毕竟我一直在放音乐,不足为奇video.ui.exe是 win10自带的视频播放工具svchost.exe从动态链接库 (DLL) 中运行的服务的通用主机进程名称,听说当svchost.exe长时间占用大量CPU时,一定说明系统出现了问题(有点慌ing)sogouexplorer.exe是搜狗浏览器,可是在这11h内我没有使用过搜狗浏览器,当我打开搜狗浏览器的时候,它竟然占了50%的CPU(wtf???)开始怀疑我的这个浏览器并且准备和它说再见
按照上述同样的方法,制作了外部地址的统计图

5312sysmon.txt,并将其存储在C盘下。<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">cloudmusic.exe</Image> 
     </ProcessCreate>
     <FileCreateTime onmatch="exclude" >
       <Image condition="end with">cloudmusic.exe</Image>
     </FileCreateTime>
     <NetworkConnect onmatch="exclude">
       <Image condition="end with">cloudmusic.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">WpnService</TargetImage>
       <TargetImage condition="end with">Video.UI.exe</TargetImage>
       <TargetImage condition="end with">svchost.exe</TargetImage>
       <TargetImage condition="end with">SogouExplorer.exe</TargetImage>
       <SourceImage condition="end with">powershell.exe</SourceImage>
     </CreateRemoteThread>
   </EventFiltering>
</Sysmon>
cmd,进入sysmon所在路径.\Sysmon.exe -i C:\5312sysmon.txt


5312_backdoor.exe
Operational->查找->5312backdoor.exe,找到相应的日志

kail控制台下执行shell获取windows的cmd,再次刷新后发现这样一个进程C:\Windows\SysWOW64\cmd.exe。通过查看详细信息,发现它的parentimage竟然为5312backdoor.exe。所以猜测他俩之间有种联系。通过查阅资料:SysWOW64可以在64bit的Windows中运行32bit的程序,而Windows下的cmd.exe是64bit的,kali回连获取的windows的cmd.exe是32位的。进一步相信了我自己的猜测。

dir获取目录信息,发现一个多次出现很可以的进程C:\Windows\System32\svchost.exe我又实验了获取摄像头权限and录制音频等操作,都发现了发现一个多次出现很可以的进程C:\Windows\System32\svchost.exe的身影。在Exp4.1.1中,我也发现了这个可疑进程。看来我的电脑……
virustotal对20165312-Exp3-2-upxed.exe进行扫描

PEid进行外壳检测
检测出来此文件加壳且加壳的版本

查看扩展信息

PE explorer查看PE头部的头部信息
machine的值为014ch说明系统为32位number of sections的值为0005h,说明整个文件所包含的节的数量为5time data stamp为时间戳,datavalue记录距离1970年1月1日0时秒数,description表明生成此文件的具体时间size of optional header为可选文件头所包含的字节数,值为00E0h表明为32位characteristics判定文件是.dll/.exemagic判定文件类型,``010Bh```表明为32bit文件View->Data Directories查看PE的数据

View->Section Headers查看节头信息

tools->disassemble进行反汇编

import可以查看导入的.dll库
kernel32.dll是动态链接库文件,属于内核级文件。它控制着系统的内存管理、数据的输入输出操作和中断处理,当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。
SysTracer分析后门软件的运行过程
SysTracer
选择第2个

端口号为5312

kail和windows 7 连通之后,在进行回连之前,take snapshot 记录快照1

dir,记录快照3screenshot,记录快照4在kail下获取windows的录音record_mic,记录快照5

ctrl选择快照1和快照2,点击右下角compare,进行快照之间的比对
注册表的变换(蓝色部分为变换的部分)

进程的变换,最大的变化是新增了5312backdoor.exe

开放端口的变换

查看.dll文件的变换

Process Monitor分析恶意软件
Process Monitor可以对系统中的任何文件和注册表操作同时进行监视和记录,通过注册表和文件读写的变化,对于帮助诊断系统故障或是发现恶意软件、病毒或木马来说,非常有用。5312systracer,找到之后双击即可查看详细内容
sysmon时,遇到如下问题
然后发现自己指令打错了,纠正了错误之后,又尝试了一遍

依旧不行,然后根据提示,发现是权限不够。关闭之后,重新使用管理员权限打开cmd,就ok了!
实验感想
这次实验让我知道自己电脑哪个软存在问题,也让我学习了多个扫描工具的使用方法,通过这些扫描工具,让我知道了使用恶意软件时注册表、文件等变化。使用下来,我觉得
SysTracer最实用,通过对比不同快照之间的不同,可以清楚发现自己电脑的变化之处。
如果在工作中怀疑一台主机上有恶意代码,但只是猜想,所以想监控下系统在干些什么。请设计下你想监控的操作有哪些,用什么方法来监控
- 使用
 schtasks,设置一个计划任务,进行记录,并使用excel进行分析- 使用
 sysmon,修改配置文件,记录相关的日志文件。- 使用
 SysTracer,在不同时间点建立快照,并进行对比。- 使用
 Process Monitor,寻找可疑的进程
如果已经确定是某个程序或进程有问题,你有什么工具可以进一步得到它的哪些信息
- 使用
 PEid判定是否加壳- 使用
 PE explorer查看程序头部信息- 使用
 Wireshark进行抓包分析,监视其与主机进行的通信过程
2018-2019-2 20165312《网络攻防技术》Exp4 恶意代码分析
原文:https://www.cnblogs.com/cxgg/p/10666121.html