20212924 2021-2022-2 《网络攻防实践》实践第10周(8次·)报告

1.实践内容

  • PEiD查壳教程:PEiD可以探测大多数的PE文件封包器、加密器和编译器。当前可以探测 600 多个不同签名。PEiD 是最强大的一个查壳工具。
  • 超级巡警虚拟机自动脱壳机软件:
    • 本工具完全基于虚拟机技术,对各种已知未知壳进行脱壳处理,适合病毒分析中对加壳的木马样本进行脱壳处理。
    • 由于所有代码均运行在虚拟机中,不会对系统造成任何危害。
  • file命令:用来探测给定文件的类型。file命令对文件的检查分为文件系统、魔法幻数检查和语言检查3个过程。
  • CrackMe :它们都是一些公开给别人尝试破解的小程序, CrackMe简称CM。 程序分为两部分Serial/NameSerial

2.实践过程

一、任务:对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:

(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;

(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;

(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?

二、操作

  • (1).准备工作:

    • 下载PEID: 链接——用来查壳(WInXP自带PEID,可以直接使用)。
    • 下载7zip:链接——在WinXP中解压rada
    • 点击虚拟机——重新安装Vmware Tools,用来把下载好的rada文件夹拖进WinXp
    • 下载超级巡警虚拟机脱壳器。
  • (2).在kali中使用file指令查看文件类型:file /home/kali/Desktop/rada/RaDa.exe

    • 截图如下:
    • 输出结果表示RaDa.exe一个有图形化界面(GUI)Win32 PE(可移植可执行)的程序。
  • (3).使用PEID工具对恶意代码样本的加壳类型进行分析:在WinXP中运行PEID工具。

    • 可以看到文件的入口点、偏移、文件类型、EP短、汇编程序以及加壳类型:
  • (4).在kali中使用命令查看RaDa.exe 可打印的字符串strings

    • 打印结果全是乱码,证明文件被加壳了。
  • (5).使用脱壳工具超级巡警虚拟机脱壳器对恶意程序进行脱壳。得到文件unpacked.exe

  • (6).使用strings指令查看脱壳后的RaDa_unpacked.exe

    • 脱壳后的文件中找到作者名字:

任务二:分析Crackme程序

  • WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.execrackme2.exe,寻找特定的输入,使其能够输出成功信息。

操作:

  • (1).查看文件crackme1.execrackme2.exe的文件类型:首先在终端进入这两个文件所在位置,利用命令file crackme1.exefile crackme2.exe查看。
  • (2).终端测试运行上面的文件。在WinXP环境下输入命令
  crackme1.exe
  crackme2.exe
  crackme1.exe 0
  crackme2.exe 0
  crackme1.exe 0 1
  • 输出结果截图如下:

  • 它提示我们忘记了一些什么东西,猜测后面需要跟一些参数,于是做了几次测试,结果发现它总是提示一样的提示语,就好像是让我们输入密码总是没输入正确一样。

  • (3).WinXP自带的IDA Pro打开crackme1.exe,查看4条明文信息;

  • (4).使用IDA Pro打开crackme1文件,打开函数调用图。

  • (5).打开IDA View-A,查看函数返回汇编结果,从函数strcmp所在的程序段中找到参数"I know the secret"猜测这是破解的密钥。

  • (6).进行验证,输入密码,验证成功。

任务三:分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:

  • 1、提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
    • (1)在Kali终端下使用md5sum命令查看摘要信息。
    • md5摘要为caaa6985a43225a0b3add54f44a0d4c7
    • (2)通过process explorer进行监听,并执行RaDa.exe
    • (3)process explorer来查看该二进制文件在内存中的字符串。
    • (4)根据上述结果分析:
    • 通过HTTP协议请求10.10.10.10\RaDa\RaDa_commands.html
    • 下载并更新cgi-bin,修改注册表自启动项。
    • 将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下
    • 读写和删除操作
  • 2、找出并解释这个二进制文件的目的;
    • 该二进制文件的目的是建立连接10.10.10.10的后门,这样用户打开web后就会令攻击者获得控制权。
  • 3、识别并说明这个二进制文件所具有的不同特性;
    • 自我复制到C盘下,可以修改注册表自启动项。
  • 4、识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
    • 加壳工具
  • 5、对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
    • 可以远程发起攻击,但并不能自主进行传播和感染,并且建立连接10.10.10.10的后门由此推断,是一个后门程序
  • 6、给出过去已有的具有相似功能的其他工具;
    • 木马Bobax(使用HTTP协议从指定的服务器下载命令文件)、木马Setiri
  • 7、可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
    • 可以找出,作者是Raul silesDavid Perze

任务四:Windows 2000系统被攻破并加入僵尸网络

  • 任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:
  • 1、IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
    • IRC(Internet Relay Chat),即因特网中继聊天。 用户用自己的PC运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器即可聊天。
    • IRC客户端申加入一个IRC网络时将发送JOIN信息来加入频道
    • IRC服务器通常在6667端口监听,也会使用6660—6669端口
  • 2、僵尸网络是什么?僵尸网络通常用于什么?
    • 僵尸网络Botnet是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络
    • 僵尸网络通常被用于发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等
  • 3、蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
    • Wireshark打开数据文件,因为IRC通过6667端口,可设置过滤条件ip.src == 172.16.134.191 && tcp.dstport == 6667
    • 可以找到五个IRC服务器209.126.161.29、66.33.65.58、63.241.174.144、217.199.175.10、209.196.44.172
  • 4、在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
    • (1)kali安装tcpflowr:依次输入命令sudo apt install tcpflowsudo apt install tcpflow-nox
    • (2)筛选指定host与端口:输入命令tcpflow -r botnet_pcap_file.dat 'host 209.196.44.172 and port 6667'
    • 产生的3个文件是209.196.044.172.06667-172.016.134.191.01152、172.016.134.191.01152-209.196.044.172.06667、report.xml
    • (3)输入如下指令进行搜索有多少主机连接:
      cat 209.196.044.172.06667-172.016.134.191.01152 | grep -a "^:irc5.aol.com 353" | sed "s/^:irc5.aol.com 353 rgdiuggac @ #x[^x]*x ://g" | tr ' ' '\n' | tr -d "\15" | grep -v "^$" | sort -u | wc -l
    • 3461台主机访问了以209.196.44.172为服务器的僵尸网络。
  • 5、那些IP地址被用于攻击蜜罐主机?
    • 输入指令tcpdump -n -nn -r botnet_pcap_file.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > 20212924.txt;wc -l 20212924.txt将攻击蜜罐主机的ip筛选出输出至20212924.txt文件中。
    • 结果显示有165个IP地址用于攻击蜜罐主机。
  • 6、攻击者尝试攻击了那些安全漏洞?
    • (1)将端口分为TCP端口和UDP端口两部分,分别查看它们受攻击的情况。
    • (2)输入tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191 and tcp[tcpflags]== 0x12' | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq筛选响应的tcp端口
    • 得到的TCP端口有:135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)
    • (3)输入tcpdump -r botnet_pcap_file.dat -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq筛选响应的udp端口。
    • 结果显示udp 137端口,此端口在局域网中提供计算机的IP地址查询服务,处于自动开放状态,可用于NetBIOS查点。
  • 7、那些攻击成功了?是如何成功的?
    • 得到端口后,利用wireshark查看TCP端口
    • 端口135:过滤条件tcp.dstport==135 && ip.dst==172.16.134.191——发现只进行了TCP连接。
    • 端口139:过滤条件tcp.dstport==139 && ip.dst==172.16.134.191——发现有NBSS包和SMB包以及TCP包。
    • 端口25:过滤条件tcp.dstport==25 && ip.dst==172.16.134.191——发现只进行TCP连接。
    • 端口445:过滤条件tcp.dstport==445 && ip.dst==172.16.134.191——发现有61.111.101.78向蜜罐主机发送PSEXESVC.EXE,当客户端执行该可执行文件后,攻击方就可以远程控制执行文件的主机,然后获取权限。
    • 端口80:过滤条件tcp.dstport==80 && ip.dst==172.16.134.191——发现c:\notworm,发现这是一个红色代码蠕虫攻击。
    • 根据以上分析可以知道析可知218.25.147.83发起的攻击是成功的,它通过蠕虫病毒实现。

3.学习中遇到的问题及解决

  • 问题1:本次实验过程中,需要用到很多软件,有很多在WinXp中自带,并不需要下载,在前期过程中,下载软件,浪费了一些时间。
  • 问题2:一些软件的操作不太熟练,只能进行最简单的基本操作。
  • 问题2解决方案:通过查阅资料,咨询,获取操作技能。

4.实践总结

  • 通过本次实验,学习到了监控软件、脱壳工具等的使用。
  • 通过各种工具,尝试着对恶意代码进行分析,我们可以得到恶意代码的各种各样的信息。
  • 由于对于汇编语言不够熟悉,在crackme文件的分析时,需要反复搜索汇编语言的用法,。总的来说,本次实验让我学到了很多。

参考资料

posted @ 2022-05-05 23:10  洛浅姬  阅读(149)  评论(0编辑  收藏  举报