20192430 2021-2022-2 《网络与系统攻防技术》实验四实验报告
一、实验内容
1、恶意代码文件类型标识、脱壳与字符串提取
对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下:
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
2、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
3、分析一个自制恶意代码样本rada,并撰写报告,回答以下问题:
(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
(2)找出并解释这个二进制文件的目的;
(3)识别并说明这个二进制文件所具有的不同特性;
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
(6)给出过去已有的具有相似功能的其他工具;
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
4、取证分析实践
Windows 2000系统被攻破并加入僵尸网络
问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:
(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
(2)僵尸网络是什么?僵尸网络通常用于什么?
(3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
(4)在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
(5)哪些IP地址被用于攻击蜜罐主机?
(6)攻击者尝试攻击了那些安全漏洞?
(7)那些攻击成功了?是如何成功的?
二、实验过程
1、恶意代码文件类型标识、脱壳与字符串提取
- 下载查壳软件以及脱壳软件
(1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具;
-
格式
-
查壳
- string查看字符串
(2)使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理;
- 脱壳过程(采用机器脱壳)
(3)使用字符串提取工具,对脱壳后的rada恶意代码样本进行分析,找到作者名字如下
2、使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息。
- crackme1.exe导入
- 调用关系如下
- 函数返回汇编结果如下
- 猜测“I know the secret”为继续执行口令
- 验证成功
- crackme2.exe导入
- 调用关系如下
- 函数返回汇编结果如下
- 可以看出需要判断程序名加密码
- 验证成功
3、分析一个自制恶意代码样本rada
(1)提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息;
- process explorer监听,执行RaDa.exe
通过HTTP协议请求10.10.10.10\RaDa\RaDa_commands.html
下载并更新cgi-bin,修改注册表自启动项
将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下
starting DDos smurf remote attack猜测为DDos攻击
读写和删除操作
(2)找出并解释这个二进制文件的目的;
作为后门程序伪装起来让用户运行,用户打开web后就会令攻击者获得控制权
(3)识别并说明这个二进制文件所具有的不同特性;
请求一个html页面
(4)识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术;
使用了加壳工具
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由;
由上述分析判断这是一个后门程序
(6)给出过去已有的具有相似功能的其他工具;
特洛伊木马
(7)可能调查处这个二进制文件的开发作者吗?
Raul siles和David Perze于2004年编写
4、取证分析实践
Windows 2000系统被攻破并加入僵尸网络
问题: 数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:
(1)IRC是什么?当IRC客户端申请加入一个IRC网络时将发送那个消息?IRC一般使用那些TCP端口?
IRC是英文Internet Relay Chat的缩写,1988年起源于芬兰,已广泛应用于全世界60多个国家,它是“talk”的替代工具但功能远远超过“talk”,IRC是多用户、多频道的讨论系统,许多用户可以在一个被称为“channel”的地方就某一话题交谈或私谈。它允许整个Internet的用户之间即时交谈,每个IRC 的使用者都有一个nickname,所有的沟通就在他们所在的channel内以不同的nickname交谈
IRC 的命令,免去用户记忆和考虑命令的各种格式以及参数的烦恼。IRC服务器明文传输通常在6667端口监听,也会使用6660—6669端口。SSL加密传输在6697端口。
(2)僵尸网络是什么?僵尸网络通常用于什么?
僵尸网络(英文名称叫Botnet),是互联网上在网络蠕虫、特洛伊木马、后门工具等传统恶意代码形态的基础上发展、融合而产生的一种新型攻击方法。往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。
(3)蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
使用“ip.src == 172.16.134.191 and tcp.dstport == 6667” 过滤规则进行查找,发现与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为服务器的僵尸网络?
tcpflow分流
tcpflow -r 20192430.dat "host 209.196.44.172 and port 6667"
产生三个文件
搜索主机连接数
cat 209.196.044.172.06667-172.016.134.191.01152 | grep "^: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
(5)哪些IP地址被用于攻击蜜罐主机?
tcpdump -n -nn -r botnet_pcap_file20192430.dat 'dst host 172.16.134.191' | grep -v 'reply' | cut -d '.' -f 10 | cut -d ':' -f 1 | sort | uniq | more >1.txt; wc -l 1.txt
查看1.txt
tcpdump -n -nn -r botnet_pcap_file20192430.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > 2.txt;wc -l 2.txt
查看2.txt
(6)攻击者尝试攻击了那些安全漏洞?
snort -r botnet_pcap_file20192430.dat -c /etc/snort/snort.conf -K ascii//网络流
大部分为tcp与udp
(7)那些攻击成功了?是如何成功的?
tcpdump -r botnet_pcap_file20192430.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq//查看tcp响应端口
tcpdump -r botnet_pcap_file20192430 -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq//查看udp响应端口
-
135端口
只是进行了连接,但是是没有数据的交互
-
139端口
连接但是大量空会话
- 25端口
只是进行了连接,但是是没有数据的交互
- 445端口
发现PSEXESVC.EXE,是一种Dv1dr32蠕虫
- 4899端口
服务端监听
- 80端口
一大串c猜测是缓冲区溢出攻击
- 137端口
IP地址查询服务
三、问题及解决方法
-
问题一:脱壳后strings命令仍存在部分乱码
-
问题二:执行tcp分流时出错
解决方案:安装tcpflow相关内容即可 -
问题三:对于汇编语言掌握不好,有些地方并未完全理解
四、实验感想
本次实验进行了大量的分析,对于恶意代码部分知识了解更加深入,配合这学期开设的恶意代码分析课程,对恶意代码的产生,运行,原理有了更加深入的理解,遗憾是在数据包分析中由于自己知识不足,并未分析出太多实质内容,在参考之后对于数据包核心内容有了一定了解。