脚本宝典收集整理的这篇文章主要介绍了20212904 2021-2022-2 《网络攻防实践》实践八报告,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
(1)动手实践任务一:分析恶意代码样本
任务:对提供的rada恶意代码样本,进行文件类型识别、脱壳与字符串提取,获得rada恶意代码的编写作者,具体操作如下:
(2)动手实践任务二:分析Crackme程序
任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
(3)分析实践任务一:
任务:分析恶意代码样本rada,并撰写报告,回答以下问题:
(4)分析实践任务二:
Windows 2000系统被攻破并加入僵尸网络 任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:
(1)恶意代码类型
(4)恶意代码分析
静态分析 静态分析基础技术:包括检查可执行文件但不查看具体指令的一些技术。静态分析基础技术可以确认一个文件是否是恶意的,提供有关其功能的信息,有时还会提供一些信息让你能够生成简单的网络特征码。 静态分析高级技术:主要对恶意代码内部机制的逆向工程,通过将可执行文件装载到反汇编器中,查看程序指令,来发现恶意代码到底做什么。这些指令时被CPU执行的,所以静态分析高级技术能够告诉你程序具体做了哪些事情。需要掌握汇编语言、代码结构、windows操作系统概念等专业知识。
动态分析 动态分析基础技术:涉及运行恶意代码并观察系统的行为,以移除感染,产生有效的检测特征码,或者两者。然而,在可以安全运行恶意代码之前,必须建立一个安全的环境,能够让你在避免对你的系统与网络带来的风险的前提下,研究运行的恶意代码。 动态分析高级技术:用调试器来检查一个恶意可执行程序运行时刻的内部状态。动态分析高级技术提供了从可执行文件中抽取详细信息的另一个路径。
(1)动手实践任务一:分析恶意代码样本
任务:对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
打开WinXP Attacker,进入所提供的rada.exe目录,输入file rada.exe,查看rada的文件类型为32-bit操作系统下的PE文件,并且有GUI界面。
使用PEiD工具,查看rada的基本信息。可以看到文件的入口点为0000FD20、文件偏移为00004120、EP段为JDR1,加壳类型为UPX壳。
输入strings RaDa.exe查看RaDa.exe中可打印字符串,发现都是乱码。
2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理。
3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁。
输入命令strings RaDa_unpacked.exe,查看脱壳后的rada.exe中可打印的字符串,发现有大量的函数调用名。
打开监控软件process explorer,运行RaDa_unpacked.exe,查看程序属性,可以看到作者名字为:Raul siles&David Perze,写于2004年。
(2)动手实践任务二:分析Crackme程序
任务:在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
1)使用file命令分析该恶意程序的大致信息。
2)对 crackme1.exe 进行分析。
在cmd中输入crackme1.exe,尝试运行该程序,试探其输入格式。
使用IDA pro Free工具打开crackme1.exe进行分析,选择文件类型为PE。在Strings页面可以看到该程序中出现的明文字符串,发现了刚刚没测试得到的另外两个字符串“I know the secret”和“You know how to speak to programs, Mr.Reverse-Engineer”,初步猜测前者是我们需要的口令,后者是口输入令正确时的程序反馈信息。
输入crackme1.exe “I know the secret”验证刚刚口令为“I know the secret”的猜想,得到了程序反馈信息“You know how to speak to programs, Mr.Reverse-Engineer”,猜想正确。
view--graphs--function calls,打开function call,sub_401280为关键程序段,stump为c语言编写,使用字符串匹配密码。发现输出函数fprintf和printf即为程序输出,则sub_401280即为核心函数。
view--graph--Flow chart,打开sub_401280函数的流程图,可以看到该函数首先判断参数个数是否为2,若参数个数不为2,也就是我们前面尝试直接运行程序时,在crackme1.exe及crackme1.exe 1 2时,都会输出“I think you are missing something”,若参数个数为2,则将第二个参数与字符串“I know the secret”作比较,若正确,则输出“You know how to programs”,与前面的猜想一致。
3)对 crackme1.exe 进行分析
使用IDA pro工具来打开crackme1.exe文件,查看函数调用情况。
程序关键的部分为sub_401280,查看sub_401280流程图。
“cmp [ebp+arg_0],2”判断参数是否为两个,判断完参数后,接着用strcmp函数对argc里面的第一个字符串,即程序名,和crackmeplease.exe进行判断:
通过程序名判断后,用户输入的口令与“I know the secret”判断。通过口令判断后,通过一定规则输出通过测试的信息。具体是unk_403080中的字符串分别与0x42h进行异或运算。
输入copy crackme2.exe crackmeplease.exe 和crackmeplease.exe “I know secret”进行测试:
(3)分析实践任务一:
分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息:
2)找出并解释这个二进制文件的目的:
3)识别并说明这个二进制文件所具有的不同特性;
4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术: 防分析技术:加壳技术。
用wireshark打开该文件,可以发现受害机与10.10.10.10的主机发送信息。
打开IDA对脱壳后的RaDa进行静态分析,在设置中先把字符串类型改为unicode,查看字符串。
5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
6)给出过去已有的具有相似功能的其他工具;
7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
(4)分析实践任务二:
任务:分析的数据源是用Snort工具收集的蜜罐主机5天的网络数据源,并通过编辑去除了一些不相关的流量并将其组合到了单独的一个二进制网络日志文件中,同时IP地址和其他特定敏感信息都已经被混淆以隐藏蜜罐主机的实际身份和位置。回答下列问题:
1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
2)僵尸网络是什么?僵尸网络通常用于什么?
3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
由于IRC协议使用的是TCP连接,因此可以利用建立TCP连接的三次握手过程找出与蜜罐主机通信的IRC服务器。
在WireShark中打开botnet_pcap_file.dat对日志进行分析,发现除了6667外,其他端口上没有数据包,因此这里所有的IRC数据传输都使用的是6667端口。用ip.src == 172.16.134.191 and tcp.dstport == 6667 and tcp.flags.syn == 1过滤,共过滤得到21个TCP包,发现蜜罐主机与5台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为服务器的僵尸网络?
可以通过查找这段观察期间不同昵称的出现个数来判断。进入botnet_pcap_file.dat目录,输入命令tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667",查看一共产生了五个文件,因为我们要找的是访问 209.196.44.172的主机,所以后面着重看第一个文件。
输入命令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地址被用于攻击蜜罐主机?
6)攻击者尝试攻击了那些安全漏洞?
输入命令snort -r botnet_pcap_file.dat -c /etc/snort/snort.conf -K ascii,查看网络流分布情况,发现主要是TCP包。
输入命令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响应过的端口有:135、139、25、445、4899、80。
输入命令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响应的端口为137,所以访问这个端口是 NetBIOS 网络查点。
7)那些攻击成功了?是如何成功的?
对于端口80,用wireshark输入tcp.dstport==80 && ip.dst == 172.16.134.191进行筛选,发现24.197.194.106与蜜罐的有交互连接数最多,有883次,使用snort对该部分数据包进行扫描,发现大部分报警信息都为WEB-IIS、WEB-CGI、WEBFRONTPAGE、WEB-MISC,不成功。
对于端口4899,用wireshark输入tcp.dstport==4899进行筛选,4899端口是一个远程控制软件radmin,攻击者通过上传radmin成功控制靶机。
对于端口135和25,用wireshark输入tcp.port == 135 || tcp.port == 25进行筛选,发现只有连接,无数据传输,可能是攻击者对端口135和25进行了 connect 扫描。
对于端口139,用wireshark输入tcp.port==139进行筛选,发现有很多主机与139建立连接,且有很多空会话,同样也没有成功。
对于端口445,输入tcp.port == 445 && ip.dst == 172.16.134.191进行过滤,发现很多samr,srvsvc字符串,查询字符串,发现PSEXESVC.EXE字符串是由61.111.101.78发起的,通过搜索,发现这是一种Dv1dr32蠕虫,这种蠕虫通过IRC进行通信,并且发现每个IP地址的连接都有响应,且攻击者获得了权限,因此攻击成功。
这次实验我学到了很多新知识,但也遇到了一些难题,在以后的实验中要勤于思考,遇到不懂的知识要多学多问。
以上是脚本宝典为你收集整理的20212904 2021-2022-2 《网络攻防实践》实践八报告全部内容,希望文章能够帮你解决20212904 2021-2022-2 《网络攻防实践》实践八报告所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。