54
社区成员




在本地解压rada.rar(解压密码rada),然后通过vmtools传到winxp中运行
由图可知RaDa.exe是一个32位的Windows PE可执行文件,使用命令strings RaDa.exe来查看该程序可打印字符串。
如上图显示乱码,无法获取有效信息,所以判断程序加壳了,使用PEiD查看RaDa.exe的基本信息
使用超级巡警虚拟机脱壳器对RaDa.exe进行脱壳
脱壳后生成一个RaDa_unpacked.exe文件
再次使用PEiD来查看脱壳后的程序
可以看到程序的开发工具为VB5.0/6.0,使用命令strings RaDa_unpacked.exe查看脱壳后的信息
如上图,可以看出文件调用的函数。
再使用IDA Pro Free进一步获取信息
点击选择“new”,“file”-“open”打开RaDa_unpacked.exe
从下图中可以看到作者的信息DataRescue sa/nv,还有邮箱ida@datarescue.com
再往下看可以发现是调用函数的汇编代码。
将文件下载到本机,然后将crackme1.exe和crackme2.exe复制进XP
使用file命令查看crackme的文件类型file crackme1.exe和file crackme2.exe,
我们先对crackme1.exe进行破解
我们发现程序接受一个参数是有输出变化,因此推测程序是一个输入。因此我们使用IDA 打开crackme1.exe
放大string窗口。
通过Strings页面我们发现了两种输出,“I think you are missing something.” “Pardon? What did you say?”,还发现了“I know the secret”和“You know how to speak to programs, Mr. Reverse-Engineer”这两个字符串。因此我们推测前面的是输入,后面的是正确的输出。
点击View-Graphs-Function calls,查看函数结构
由图可知此程序由c编写,因此推测程序应该是使用strcmp函数对比输入的,因此关键的部分在sub_401280
查看sub_401280的汇编代码
在命令行输入crackme1.exe 1,那么参数对应的值为argc=2,argv={”crackme1.exe”,”1”}
如果argc=2,那么去往loc_4012D2进行下一步判断
如输入"I know the secret",则继续前往loc_401310
接下来验证猜想crackme1.exe "I know the secret"。
由上图可知验证成功。
对于crackme2.exe破解,猜测crackme2.exe也只接受一个参数。
使用IDA pro free来阅读代码,
将参数设置"I know the secret"进行测试,表示错误
查看汇编代码,认为关键的部分还是在sub_401280这里
cmp [ebp+arg_0],2代码使我猜测参数应该是两个字符串拼接而成。通过判断后,前往loc_401313将用户输入的口令与”I know the secret”判断。
通过判断后,经由loc_401351和loc_401358前往loc_401381、unk_403080
因此判断copy crackme2.exe crackmeplease.exe,接着输入crackmeplease.exe "I know the secret"为正确的
实验一中的RaDa.exe,使用MD5对该恶意程序进行摘要信息分析
md5摘要值为caaa6985a43225a0b3add54f44a0d4c7,并且由第一部分实验可知RaDa.exe为32位可执行PEUI文件
使用监视工具process explore进行分析
运行恶意程序RaDa_unpacked.exe,打开process explorer进行监视
选择Properties查看详细信息
该恶意程序使用http连接到目标为10.10.10.10的主机下的一个名为RaDa_commands.html的网页上,然后分别下载和上传某些文件,并且在受害主机C盘目录下创建一个文件夹“C:/RaDa/tmp”来保存其下载的文件,同时将文件RaDa.exe复制到了 C:\RaDa\bin 目录下,故猜测这应该是一个后门程序
由下图可知对主机进行远程控制,也进行了put和get命令
Rada.exe文件执行后,在c盘中添加了两个文件夹,
经过PEiD分析可知,其经过加壳处理
然后先对文件进行脱壳,然后分析得到其作者为Raul Siles和David Perez,时间为2004.9.
IRC(Internet Relay Chat)是一种网络聊天协议,它允许用户通过互联网实时地与其他用户进行文本交流。IRC起源于1988年,是互联网上最早的实时聊天系统之一。它通过服务器中转消息的方式,使得用户能够加入到不同的聊天室(也称为频道或房间)中,与在同一聊天室内的其他用户进行文字交流。
当IRC客户端申请加入一个IRC网络时,它将发送一个JOIN消息以请求加入特定的频道(channel)。JOIN消息通常包含要加入的频道的名称以及客户端的用户名和昵称。
至于IRC一般使用的TCP端口,通常是6667。但请注意,这只是一个常见的默认端口,实际使用中可能会有所不同。在某些情况下,管理员可能会选择使用其他端口来运行IRC服务器,以提高安全性或避免端口冲突。
僵尸网络(Botnet)是指采用一种或多种传播手段,将大量主机感染bot程序(僵尸程序)病毒,从而在控制者和被感染主机之间所形成的一个可一对多控制的网络。
僵尸网络通常被黑客用于发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)和海量垃圾邮件等。黑客可以通过控制这些被感染的主机,使它们向目标服务器发送大量的无效请求,从而耗尽目标服务器的带宽和处理能力,导致目标服务器无法正常响应合法用户的请求
将botnet_pcap_file.dat文件从主机复制到kali中,并且右键使用Wireshark打开数据文件,IRC服务器明文传输通常在6667端口监听,所以设置的过滤条件ip.src == 172.16.134.191 and tcp.dstport == 6667 and tcp.flags.syn==1
找到了5个地址:
209.126.161.29
66.33.65.58
63.241.174.144
217.199.175.10
209.196.44.172
使用apt-get install tcpflow安装tcpflow
使用tcpflow -r botnet_pcap_file.dat "host 209.196.44.172 and port 6667" #读取文件,筛选host和端口6667后进行分流
查看报告信息
使用下列命令查询访问209.196.044.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
使用如下指令找出所有连接主机的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 > 2.txt;wc -l 2.txt
如上图所示,共有165个。
使用命令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共65535,135(rpc)、139(netbios-ssn)、25(smtp)、445(smb)、 4899(radmin)、 80(http)
对上述端口进行分析:使用wireshark打开pcap文件,首先查看TCP的135和25端口,设定筛选条件
tcp.port==135 || tcp.port==25
可以看到这两个端口只是进行了连接,并没有数据的交互,猜测攻击者对这两个端口进行了扫描,但未进行攻击
接下来分析445端口,445端口是SMB端口,设置过滤条件ip.dst==172.16.134.191 and tcp.dstport==445
如上图在61.111.101.78发起的请求中发现了PSEXESVC.EXE,这是一种Dv1dr32蠕虫,通过IRC进行通信
为判断攻击是否成功,查找从蜜罐发往61.111.101.78的信息,设置条件ip.dst==61.111.101.78
发现每个连接都有回应,并且返回信息中含有\PIPE\ntsvcs,因此攻击是成功的
接下来是80端口,设置筛选条件ip.dst==172.16.134.191 and tcp.dstport==80 and http
分析得知210.22.204.101向蜜罐发送了很多的C,因此推测在进行缓冲区溢出攻击
并且218.25.147.83也访问了80端口,且下方信息中发现了C:\notworm,
再看4899端口,设置条件ip.dst==172.16.134.191 and tcp.dstport==4899
这个端口只有210.22.204.101访问过,查询得知4899端口是一个远程控制软件radmin服务端监听端口
最后分析UDP的137端口,这个端口是NetBIOS相关协议,设置条件ip.dst == 172.16.134.191 and udp.port == 137
上图可以看出访问的负载是KAAAA···的形式,猜测这里是进行NetBIOS查寻,但并未攻击
所以综上来自61.111.101.78的PSEXESVC.EXE,即Dv1dr32蠕虫攻击成功了。
这次实验内容多,细节较多,需要仔细分析和进行实验,经过这次实验,学到了更多关于网络攻防的知识。