1. 实践内容1.1 恶意代码1.1.1 定义与分类定义:计算机按照攻击者的意图执行以达到恶意目标的指令集 。 分类:计算机病毒、蠕虫、恶意移动代码、后门、特洛伊木马、僵尸程序、内核套件 ,融合型恶意代码。
1.1.2 计算机病毒
1.1.3 网络蠕虫
1.1.4 僵尸程序与僵尸网络
1.1.5 Rootkit
1.2 恶意代码分析方法分析环境:隔离的分析环境,分为简单连接不同系统平台的计算机的私有局域网段,虚拟蜜网结构,或特定的研究用自动分析环境等。 1.2.1 静态分析技术:
1.2.2 动态分析技术(激活部分代码):
2. 实践过程2.1 恶意代码文件类型识别、脱壳与字符串提取2.1.1rada恶意代码样本的文件格式、运行平台和加壳工具
2.1.1对rada恶意代码样本进行 脱壳处理使用超级巡警这个软件进行脱壳 ,得到脱壳后的文件Radaunpacked.exe: 2.1.1使用字符串提取工具从中发现rada恶意代码的编写作者e...strings命令好像不大行,找不到像作者的字符串,这里使用IDA Pro。分析脱壳文件发现作者信息DataRescue sa/nv: 2.2 分析Crackme程序使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息: 看题目知需要执行这两个程序了。 首先对文件格式进行识别,这两个都是PE32结构: 使用IDA Pro对crackme1.exe进行分析,得到一大堆汇编语句... 没头绪,先执行crackme1.exe,并尝试输入一些字符,根据结果猜测程序通过比对输入与预设字符串,匹配则输出相应信息,故猜想其中存在条件匹配模块,并随之链接输出模块。 故接下来查看函数调用图。 发现从入口开始,链接输出的模块为sub401280,故查看该模块,观察下面代码,推测功能为:在对寄存器内容作出比较匹配后,满足条件即跳入loc4012D,调用strcmp函数比较两个栈内的字符串,进行条件测试,满足条件跳入loc401310,输出“YouknowHowTOSp”: 故猜测输入内容应为 “I know the secret”,测试后结果: 同理对crackme2.exe执行如上操作,其中有段代码比较了“crackmeplease.exe”,然而才跳入信息的验证。否则还会提示“i have an identity”,认证错误,如果不是输入字符有错的话,那就是说上面的“crackmeplease.exe”是运行程序名咯。于是将crackme2.exe改名后进行了验证有结果: 2.3 样本分析实践1. 提供对这个二进制文件的摘要使用 一些基本的识别壳以及文件类型上面已经说过,现在使用IDA Pro进行分析: 2.找出并解释这个二进制文件的目的,识别并说明这个二进制文件所具有的不同特性 ,识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术 ,分类,开发作者开发作者,识别和特性:上面已经分析过了; 目的,分类:调出其函数调用图,发现结构有点复杂,不好下手。查看字符串看看有什么可以利用的信息: 根据字符串提供的一些信息,猜想该文件通过网页下载文件到c盘中,然后感染c盘文件。程序执行后又开始“DDoS”远程攻击?猜测以该主机为跳板,继续攻击其他主机?所以猜测该文件可能远程后门控制或为基于http的僵尸程序? 下面这些字符串应该是该程序干了些啥的提示,执行后访问几个ip,进行一些操作后进行了截屏: 尝试运行该软件并看看其干了些什么:主要是建立了RdDa及其他的一些文件,还想使用浏览器访问ip,但由于断网被拒绝了。根据字符串提供的信息,应该是想访问10.10.10.10/RaDa下载一个可执行文件,以进行接下来的攻击。 防止被分析或逆向工程的技术加壳。UPX壳。 2.3 取证分析1. IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?因特网中继聊天(Internet Relay Chat),简称:IRC。它是由芬兰人Jarkko Oikarinen于1988年首创的一种网络聊天协议。IRC的工作原理非常简单,只要在自己的PC上运行客户端软件,然后通过因特网以IRC协议连接到一台IRC服务器上即可。它的特点是速度非常之快,聊天时几乎没有延迟的现象,并且只占用很小的带宽资源。所有用户可以在一个被称为"Channel"(频道)的地方就某一话题进行交谈或密谈。每个IRC的使用者都有一个Nickname(昵称)。 发送的消息有三种:口令、昵称、用户信息,格式为USER 、 PASS 、 NICK 。 明文传输端口:6667 ;SSL加密传输端口:6697 。 2. 僵尸网络是什么?僵尸网络通常用于干什么?见上文。 3. 蜜罐主机(IP:172.16.134.191)与哪些IRC服务器进行了通信使用wireshark对通信包进行过滤,指令为 4. 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络使用指令ip.dst == 209.196.44.172 && tcp.port == 6667进行筛选,将筛选出的source ip放入python set中,计算该set长度。思路就是这样了,但是资源导出好像有点麻烦,以后有时间再补充吧。 5. 哪些IP地址被用于攻击蜜罐主机?难顶,同样是上面的方法。 6,7. 攻击者尝试了哪些安全漏洞? 哪些攻击成功了?是如何成功的?键盘失灵...很多指令打起来太麻烦了。通过参考同学博客,对响应的tcp端口135,139,25,445,4899,80 ,udp端口137 分别进行数据分析,其中,udp137数据显示ARP查询数据。 tcp135 端口和tcp25端口只是进行连接,没有data交互,应该只是进行了扫描。 tcp139端口为smn服务扫描,多个ip同蜜罐尝试建立网络服务连接。 tcp445端口,这个不用看数据都应该知道有很大可能被攻击了。。忽略连接过程,直接最终连接后的数据流可知过两次攻击ADMDLL注入和PSINFSVC攻击,后者失败了,前者可能成功了吧。 tcp4899端口,这个端口数据交换唯一的特点貌似是诸如以下格式的数据: tcp 80端口,这个端口交换数据特别多,想来应该是下载些东西。通过最终数据流发现访问的是IIS服务器,那可能的攻击就可以很多了。不过没有分析出什么东西。。不过有同学发现有ip访问了蠕虫网站。 学习问题
实践总结分析的有点粗糙。 |
|