ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

20192431张潇文 2021-2022-2 《网络与系统攻防技术》实验四实验报告

2022-04-13 17:31:48  阅读:130  来源: 互联网

标签:exe 主机 可以 端口 张潇文 2021 2022 服务器 IRC


实验四 恶意代码分析与实践

任务一 恶意代码文件类型标识 脱壳与字符串提取

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

  1. 在kali里通过file RaDa.exe查看文件类型,如下图,可以看到它是为MS Windows的80386处理器的一个32位PE可执行文件,而且是GUI(图形用户界面)的文件。

    什么是GUI?是指采用图形方式显示的计算机操作用户界面,允许用户使用输入设备操纵屏幕。
  2. 通过PEID查看其加壳类型。如图可以看到它是用了UPX的压缩壳。手脱UPX。

1.2 使用超级巡警脱壳机脱壳

1.3 脱壳前后的字符串提取

  1. 脱壳前:在windows的cmd下通过strings RaDa.exe进行字符串提取,由于没有脱壳,所以出现了很多乱码,但是从这里可以看出来作者和运行平台。

  2. 脱壳后
    可以看到比较能看得懂的一些东西,比如kernel32.dll等一些动态链接库。插图为脱壳后

任务二 使用IDA Pro静态或动态分析crackme1.exe与crakeme2.exe,寻找特定输入,使其能够输出成功信息

2.1 crackme1.exe

  1. 打开文件之后可以看到汇编的代码,以及函数之间的调用关系,函数的图中有箭头表示, 绿色就是代表判断条件成功,红色代表判断失败,蓝色的表示 普通的调用逻辑,可以在汇编窗口直接按空格键。Xrefs graph from可以看到函数的调用。所以看以下crackme1.exe,看到汇编中函数的入口位置应该是401280,从这里开始就开始了判断和调用函数,再看函数之间的调用关系我们可以看到,如果我们只是单纯地进行了crackme1.exe的运行那么程序将会弹出“I think you are missing something.",如果我们在命令行输入crackme1.exe "I Know the secret,那么程序可以顺利执行,弹出“you know how to ”,如果在后面输入的不是指定的字符串就会弹出“Pardon”.所以这个程序的关键在于判断输入的字符是不是它想要的。



    验证:

2.2 crackme2.exe

  1. 依旧是打开文件看其汇编代码和函数之间的调用关系,可以看到Main还是从401280开始的。但是可以看到函数调用的时候和多了一步判断,就是要判断程序的名字和输入的字符串对不对。如果输入crackme2.exe是没有用的,程序名必须是crackmeplease才可以进行接下来的判断。


    验证:

任务3 分析一个自制恶意代码样本rada

3.1 步骤

  1. 摘要可以通过在cmd下输入certutil -hashfile RaDa.exe MD5来查看哈希值
  2. 可以在process explorer监听,执行RaDa.exe或者是在Process monitor里查以下rada。在pm里查看Rada的时候可以看到它的操作是creat file,将文件 RaDa.exe 复制到了 C:\RaDa\bin 目录下,可以看到确实是复制到了这个目录之下,而且创建了temp这个文件夹。




    在进程监控里点击该恶意程序,右键选择Properties查看详细信息,从PE里面查看的时候可以看到它的一些行为,对于CPU:



    分析:该恶意程序使用http连接到目标为10.10.10.10的主机下的一个名为RaDa_commands.html的网页上,然后分别下载和上传某些文件,并且在受害主机C盘目录下创建一个文件夹“C:/RaDa/tmp”来保存其下载的文件同时将文件RaDa.exe复制到了 C:\RaDa\bin 目录下,可以看出该恶意代码将其自我复制到主机系统盘,并激活了自启动,还试图从一个HTML页面获取并解析命令,这应该是一个后门程序。该恶意程序中可执行DDos拒绝服务攻击。对注册表进行了Rewrite,它好像自动进入了任务管理器里。可以看到更准确详细的作者姓名Raul siles和David Perze

3.2 问题回答

(1)二进制文件的摘要:是caaa6985a43225a0b3add54f44a0d4c7
(2)二进制文件的目的:如下图,其目的是创造一个文件,修改注册表,使其可以在主机中运行,同时建立连接到10.10.10.10。自启动创建后门,施行DDOS攻击。
(3)不同特性:会请求 Web 服务器;解析获得的指令并执行
(4)采用的防止被分析或逆向工程的技术:UPX,就是给自己加壳
(5)对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由:
不具有自主传播模块,不具有隐蔽性而且没有伪装。不具有传播和感染的性质,所以它不属于病毒和蠕虫;没有欺骗性要你自己下载。不是木马。是一个后门程序。
(6)给出过去已有的具有相似功能的其他工具:
qq游戏木马,传奇终结者。
(7)可能调查处这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
作者:Raul siles和David Perze,通过工具查看。且不加壳的情况下

任务4 取证分析实践

  1. IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
    答:IRC互联网中继聊天,一种网络聊天协议,IRC的工作原理是在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可,特点是速度快,连天几乎无延迟。每个IRC的使用者都有一个Nickname。最大的网络是EFnet (原始IRC网络,通常一次有32,000多人), Undernet,IRCnet, DALnet和NewNet。. 请求是由服务器或客户端发出的,其目的是请求(另)一个服务器执行某个操作或提供某些信息; 应答是服务器对一个请求的回应信息. 请求通常被称为命令; 由于对每种应答都规定了一个三位数字做标识,应答也称为数字应答。
    当客户端申请加入一个IRC网络时将发送JOIN 信息来加入频道,格式:J为OIN
    会使用的端口:IRC 服务器明文传输通常在 6667 端口监听,也会使用 6660—6669 端口。 SSL 加密传输在 6697 端口。
  2. 僵尸网络是什么?僵尸网络通常用于什么?
    僵尸网络是指攻击者(称为botmaster)出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。
    它往往被黑客用来发起大规模的网络攻击,如分布式拒绝服务攻击(DDoS)、海量垃圾邮件等,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。
  3. 蜜罐主机(IP地址:172.16.134.191)与那些IRC服务器进行了通信?
    通过wireshark抓包,搜索ip.src=172.16.134.191&&tcp.dstport==6667,因为数据是加密的,而且知道源地址和目的端口,所以就可以设置过滤条件。由下图可以看出来,主要有五台IRC服务器,分别是63.241.174.144, 217.199.175.10, 209.126.161.29,66.33.65.58,209.196.44.172。

  4. 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络?
    使用命令 tcpflow -r botnet_pcap_2431.dat "host 209.196.44.172 and port 6667就会多出三个文件分别是,172.016.134.191.01152-209.196.044.172.06667、 209.196.044.172.06667-172.016.134.191.01152和report.xml。在这个xml报告中,会显示出两方的ip,mac,端口口,长度,文件长度,通信时间等等相关信息。
    什么是pcap文件:这次的.dat就是一个pcap文件,是常用的数据报存储格式,这种文件可以保存我们所抓到的报文。它有这固定的存储格式,通过notepad++中的插件Hex-Editor我们可以观察其中的16进制数据,从而来进行pcap文件的分析。可以直接用wireshark打开。
    tcpflow相关:tcpflow也可以抓包,是以流为单位显示数据,kali不是自带的,需要自行安装。相关的用法可以通过相关命令查看。比如-r代表从这个文件里读取数据,



    此外通过命令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.
  5. 哪些ip地址用于攻击蜜罐主机?
    执行命令使用指令tcpdump -n -nn -r botnet_pcap_2431.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 zxw.txttcpdump -n -nn -r botnet_pcap_2431.dat 'dst host 172.16.134.191' | awk -F " " '{print $3}' | cut -d '.' -f 1-4 | sort | uniq | more > xxw.txt;wc -l xxw.txt
    查找用于攻击蜜罐主机的ip和端口。可以看到很多的结果。



  6. 攻击者尝试攻击了那些安全漏洞?
    使用指令snort -r botnet_pcap_file20192413.dat -c /etc/snort/snort.conf -K asci查看使用的协议等。确定网络传输使用的是什么网络协议。发现大部分是TCP,少部分是UDP,所以要筛选响应方的TCP端口和UDP端口。然后就tcpdump -r botnet_pcap_2431.dat -nn 'src host 172.16.134.191' and tcp[tcpflags]== 0x12 | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq 查看TCP响应的具体端口。
    可以看到有135端口(rpc远程过程调用协议RPC允许像调用本地服务一样调用远程服务。 RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。)
    139端口(netbios-ssn,即网络基本输入输出系统,和TCP.IP捆绑在一起,用来文件和打印共享当NETBIOS运行时,后门就打开了,因为NETBIOS不光允许局域网内的用户访问硬盘资源,internet上的黑客亦可以进入)
    25端口(smtpSMTP是一种提供可靠且有效的电子邮件传输的协议。SMTP是建立在FTP文件传输服务上的一种邮件服务,主要用于系统之间的邮件信息传递,并提供有关来信的通知。)
    445端口(smb,是一个协议名,它能被用于Web连接和客户端与服务器之间的信息沟通。其目的是将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统)
    4899端口(radmin)radmin提权, Radmin是一款屡获殊荣的远程控制软件(服务器管理 ),它将远程控制、外包服务组件、以及网络监控结合到一个系统里,也是黑客攻击的途径,该漏洞的利用是需要有一定的前提条件的就是双方都必须要安有Radmin(客户端、服务端)。要获取读取系统注册表的权限(并不需要有写权限)。
    80端口(http)超文本传输协议,可以用来进行http泛洪攻击等等攻击方式。

    tcpdump -r botnet_pcap_2431.d,at -nn 'src host 172.16.134.191' and udp | cut -d ' ' -f 3 | cut -d '.' -f 5 | sort | uniq 查看udp端口。
    137端口(netbios-ns)NetBIOS Name Service.名称服务器。可以利用这个协议获取远程主机的MAC地址。


    接着就考虑用wireshark抓包去看这些端口看看有什么可能的攻击行为。
    tcp端口分析
    (1)135端口:135端口主要用于使用RPC,RPC本身在处理通过TCP/IP的消息交换部分有一个漏洞,该漏洞是由于错误地处理格式不正确的消息造成的。该漏洞会影响到RPC与DCOM之间的一个接口,该接口侦听的端口就是135。但是从图中看到Len都是0,而且没有什么特别的地方,应该是没有成功,在这里有一个sack_perm,SACK是一个TCP的选项,来允许TCP单独确认非连续的片段,用于告知真正丢失的包,只重传丢失的片段。要使用SACK,2个设备必须同时支持SACK才可以,=1代表开启SACK。只是用来进行连接,没有发生数据的交互

(2)139端口:我们可以看到有一个Path:\PC0191\C,是不是尝试获取C盘共享?139d端口一般用来文件共享,针对139端口的攻击,一般最多只能拿到netbios信息,有密码的IPC$是带权限的,只有你有密码才能影射,而且对方要有共享,如果已经查获一台存在139端口漏洞的主机,这时就可以在命令行方式下使用“nbtstat -a [IP地址]”这个命令获得用户的信息情况,并获得攻击主机名称和工作组。接下来攻击者需要做的就是实现与攻击目标资源共享。使用Net View和Net user命令显示计算机列表和共享资源,并使用nbtstat -r和nbtstat -c命令查看具体的用户名和IP地址。
单击Windows桌面〔开始〕按钮,然后执行“查找/计算机”命令,填写刚才查找到的主机名称,就可以找到这台电脑了。双击主机名称即可打开指定的计算机。

(3)25端口:也许就是尝试从这里下载连接,但是大多都是[FIN ACK],而且很多重传,并且长度都是0.应该是没有成功。

(4)445端口:输入指令:ip.dst==172.16.134.191 and tcp.dstport==445
可以看到在61.111.101.78这里有一个PSEXESVC.EXE,这是一种Dv1dr32蠕虫,说明在通过Dv1dr32蠕虫进行攻击,这种蠕虫是否陈工的话,要判断以下蜜罐发往这个Ip地址的信息。发现每个IP地址连入的连接都有响应的回应,并且返回信息中含有\PIPE\ntsvcs,这是一个远程调用,所以攻击者肯定是获得了权限,攻击是成功的。




(5)4899端口:输入指令ip.dst==172.16.134.191 and tcp.dstport==4899
这个端口只有210.22.204.101访问过

(6)80端口:可以看到对于210.22.201.101向蜜罐主机发送了很多的C,可能是在进行缓冲区溢出攻击

对于80端口,发起连接最多的是24.197.194.106,而且从这个图看它发了很多的:HEAD/secure/.htaccess HTTP1.0/,查阅资料远程攻击者通过以“if:<http://"开头的长header PROPFIND请求,执行任意代码。说明也许这里就是在攻击IIS服务器的漏洞从而获取系统权限。





218.25.147.83也访问了80端口,下方信息中发现了C:\notworm,这是一个红色代码蠕虫攻击。,红色代码蠕虫攻击中有一步就是需要检查已存在的c:/notworm,如果它有一个"lysine deficiency" 功能,用来保持恶意代码进一步传播。如果该文件存在,它不会作其它动作;如果不存在,它会进行下一步。那这里已经存在了,应该不会进行下一步操作,就攻击也许没成功。

udp端口分析
分析:从下图看,可以看到有一个NetBIOS Name Service.名称服务器。
opcode: query,boardcast,可以看到是一个广播的。处于自动开放状态,提供Ip地址查询,同时经过一些资料,知道利用UDP(NetBIOS Name Service)可以来快速获取远程主机MAC地址。而且所有Ip地址进行访问的负载都是相同的,都是KAA……的形式,应该是进行NetBIOS查点。大概就是查看以下远程主机的Netbios的信息。

所以攻击者利用了IIS服务器的漏洞,缓冲区溢出的风险,还有蠕虫攻击。RPC本身在处理通过TCP/IP的消息交换部分有一个漏洞,该漏洞是由于错误地处理格式不正确的消息造成的。等等。
7. 那些攻击成功了?是如何成功的?
成功的攻击是在61.111.101.78这里有一个PSEXESVC.EXE,这是一种Dv1dr32蠕虫,说明在通过Dv1dr32蠕虫进行攻击,这种蠕虫是否陈工的话,要判断以下蜜罐发往这个Ip地址的信息。发现每个IP地址连入的连接都有响应的回应,并且返回信息中含有\PIPE\ntsvcs,这是一个远程调用,所以攻击者肯定是获得了权限。攻击成功。缓冲区溢出攻击应该也成功了吧,它后面一直都回复各种HEAD信息。不是特别会判断。

五 实验错误和遇到的问题

  1. 实验中在Process exploer里面看不到那个Rada.exe的相关信息,显示Path:拒绝访问,后来脱壳以后还是显示拒绝访问。后来我重新下载了这个软件,路径里不带有中文,好像就可以运行了。
  2. kali里面没有安装tcpflow。用命令安装就可以了。

六 实验感悟

对于IDA PRO的使用不是很会,不太懂怎么用的,然后那里面的一些函数之间的关系也不是很熟练的能够掌握。

标签:exe,主机,可以,端口,张潇文,2021,2022,服务器,IRC
来源: https://www.cnblogs.com/beauty-666/p/16141146.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有