一些问题 | 简单的解答 |
---|---|
这个作业属于哪个课程 | 网络攻防实践 |
这个作业的要求在哪里 | 作业要求 |
参考文献 | 一些网络资源 |
知识梳理和总结
恶意代码类型 | 定义特诊 | 典型实例 |
---|---|---|
计算机病毒(Virus) | [通过感染文件(可执行文件、数据文件、电子邮件等)或磁盘引导扇区进行传播,一般需要宿主程序交互 | Brain,Concept,CIH |
蠕虫(Worm) | 一般为不需要宿主的单独文件,通过网络传播,自动复制,通常无须为交互便可感染传播 | Morris,Code Red,Slammer |
恶意移动代码(Malicious mobile code) | 从远程主机下载到本地执行的轻量级恶意代码,几乎不需要认为干预 | Santy Worm |
后门(Backdoor) | 绕过正常的安全控制机制,从而为攻击者提供访问途径 | Netcat,BO,冰河 |
特洛伊木马(Trojan) | 伪装成有用软件,隐藏其恶意目标,欺骗用户安装执行 | Setiri |
僵尸程序(Bot) | 使用一对多的命令与控制机制组成僵尸网络 | Sdbot,Agobot |
内核套件(Rootkit) | 通过替换或修改系统关键可执行文件或控制内核,用以获得最高控制权限(root access) | LRK,FU,hdef |
融合型恶意代码 | 融合上述恶意代码技术,构成更具破坏性的恶意代码形态 | Nimda |
最近一种新型的勒索病毒Buran袭击了中国,很多人都中了招,比如B站的UP党妹。
- 勒索病毒无差别攻击的。它就是一个挺典型的ransomware,并且又是俄罗斯人造的,会刻意避开俄罗斯几个国家不攻击。
- 病毒并不会仅通过网络就主动执行。从各个样本分析看,它自己主动的第一步是用CMD.exe去伪造一个lsass.exe到启动项。
- 其实病毒能到这一步已经代表它无所不能了,它可以删了你的文件,甚至直接删了你的系统文件。
- 之所以选择加密是这样比较快而且有利可图。在此之前一定得有用户去执行恶意宏代码(腾讯样本里是邮件带的含有恶意宏的word附件。)
几乎所有的安全软件都失效,不禁让我思考我学这门课的意义。
实践过程
动手实践:恶意代码文件类型识别、脱壳与字符串提取
任务内容:对提供的rada恶意代码样本(U盘或FTP/materials/course9下载),在WinXP_Attacker虚拟机中进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者。
- 使用文件格式和类型识别工具(file, PEid),给出rada恶意代码样本的文件格式、运行平台和加壳工具。
- 使用超级巡警脱壳机等脱壳软件,对rada恶意代码样本进行脱壳处理。
- 使用字符串提取工具(strings、IDA Pro),对脱壳后的rada恶意代码样本进行分析,从中发现rada恶意代码的编写作者是谁?
下载一下云班课的文件,然后把可执行程序RaDa.exe提取出来,然后拖到WinXP Attacker里面
用file Rada.exe看一下文件类型
这是一个32位的,有图形化窗口(GUI)的文件
继续在当前界面操作,strings RaDa.exe看一下字符串
都是一些乱码,要不就是被混淆了,要不就是被加壳了
用电脑上有的PEiD工具,看一下是什么壳
发现是什么 UPX 0.89.6-1.02/1.05-2.90->Markus&Laszlo
百度一下发现者确实是个壳
用另外一个程序看看这葫芦里卖的什么药
发现还是一个.exe可执行文件
再用 IDA PRO Free 打开一下脱壳后的程序
所有的信息都在上面了,作者是什么:DataRescue sa/nv,百度了一下这个人,没什么结果。
正当我要离开时,我发现了这个
我百度了一下这个头像,指向了一个叫杨盼盼的知乎用户?????没什么用的操作
分析Crackme程序
在WinXP Attacker虚拟机中使用IDA Pro静态或动态分析crackme1.exe和crackme2.exe,寻找特定的输入,使其能够输出成功信息。
继续放到刚刚的WINXPattacker里面
按照上一个实践的操作
没什么有效输出
我又看了演示文件,方明白正确的打开方式
这是什么东西?
用IDA PRO FREE打开看看
最后一张图片,我看到了熟悉的东西,就是我前面输入的指令给的反馈。其实就是参数问题,关键是输入什么参数呢?
看一下日常的文件看看
其中有一个 I know the secret几乎没见到这个输出。
strcmp这个函数是字符串比较函数,所以显而易见,是和I Know the secret比较
有了上面的经验分析第二个就容易了很多
继续用IDE PRO FREE打开
找了半天,只有这两个符合的
很容易验证,结果竟然错了,我不禁陷入了沉思
我对汇编代码知之甚少,故参考了其他同学的博客
分析一个自制恶意代码样本
实践任务:现在你作为一名安全事件处理者的任务(如果你接受的话)就是深入分析这个二进制文件,并获得尽可能多的信息,包括它是如何工作的,它的目的以及具有的能力,最为重要的,请展示你获取所有信息所采取的恶意代码分析技术:
- 提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息
- 找出并解释这个二进制文件的目的
- 识别并说明这个二进制文件所具有的不同特性
- 识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术
- 对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由
- 给出过去已有的具有相似功能的其他工具
- 可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
查看一下文件的MD5摘要和文件类型
用IDA对RaDa.exe的脱壳程序进行分析,string编码设置为Unicode
一些基本信息,没什么好说的
找到一个IP,还有一个网址还有一个函数名
这个IP是本地局域网
此时打开process explorer和wireshark,来看看运行程序到底会怎么样
这个软件一打开就消失了,没什么反应,所以我们要监听它。
可以看到一些有用的信息,链接到这个局域网后,会下载一些东西,然后保存在文件夹里,后面有个DDOS,明显就是DOOS攻击了
这个明显是对注册表的操作,记得卸载文件之类的东西好像跟注册表有关系
这个程序自己创建了一个文件夹,然后自己创建了两个文件
下面还能看到这个软件的作者
打开wireshark筛选一下,可以看到发送了大量的数据
提供对这个二进制文件的摘要,包括可以帮助识别同一样本的基本信息。
- MD5摘要信息:上面有
- 运行环境:32位可执行文件,有图形化界面(GUI)
- 加壳了
找出并解释这个二进制文件的目的。
程序就会通过http请求连接到指定主机,然后对你攻击
识别并说明这个二进制文件所具有的不同特性。
运行RaDa.exe时,它会在实验主机的C盘下创建了一个RaDa目录,并创建一个bin文件夹,一个tmp文件夹,tmp文件夹用来临时存储从目标主机下载到受害主机的文件和从受害主机获取的文件信息,bin文件夹中安装了一个RaDa.exe可执行文件。
识别并解释这个二进制文件中所采用的防止被分析或逆向工程的技术。
该二进制文件使用了加壳技术,需要脱壳处理才能进行反编译分析的。
对这个恶意代码样本进行分类(病毒、蠕虫等),并给出你的理由。
僵尸程序,因为没法感染别人。
给出过去已有的具有相似功能的其他工具。
setiri
可能调查出这个二进制文件的开发作者吗?如果可以,在什么样的环境和什么样的限定条件下?
作者上面已经说了
取证分析,Windows 2000系统被攻破并加入僵尸网络
实践任务:数据源是Snort收集的蜜罐主机5天的网络数据源,并去除了一些不相关的流量,同时IP地址和其他敏感信息被混淆。回答下列问题:
- IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
- 僵尸网络是什么?僵尸网络通常用于干什么?
- 蜜罐主机(IP:172.16.134.191)与哪些IRC服务器进行了通信?
- 在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络。
- 哪些IP地址被用于攻击蜜罐主机?
- 攻击者尝试了哪些安全漏洞?
- 哪些攻击成功了?是如何成功的?
IRC是什么?当IRC客户端申请加入一个IRC网络时将发送哪个消息?IRC一般使用哪些TCP端口?
- 因特网中继聊天(Internet Relay Chat)。IRC 的工作原理非常简单,只需要在自己的 PC 上运行客户端软件,然后通过因特网以IRC 协议连接到一台 IRC 服务器上即可。IRC 特点是通过服务器中继与其他连接到这一服务器上的用户交流。
- 注册时需要发送的消息有三种,分别是口令,昵称和用户信息
- IRC 服务器明文传输通常在 6667 端口监听,也会使用 6660—6669 端口。SSL 加密传输在 6697 端口。
僵尸网络是什么?僵尸网络通常用于干什么?
- 僵尸网络是指攻击者(称为botmaster)出于恶意目的,传播僵尸程序控制大量主机,并通过一对多的命令与控制信道所组成的网络。
- 僵尸网络主要用于:发动DDOS攻击、发送垃圾邮件、 监听用户敏感信息、记录键盘输入信息、 扩散新的恶意软件 和 伪造点击量,骗取奖金或操控网上投票和游戏,同时黑客控制的这些计算机所保存的信息也都可被黑客随意“取用”。
蜜罐主机(IP:172.16.134.191)与哪些IRC服务器进行了通信?
打开一下wireshark,过滤一下可以从中找到五个IRC服务器
| 序号 | IP地址 |
| ---- | ---- |
| 1 | 209.126.161.29 |
| 2 | 66.33.65.58 |
| 3 | 63.241.174.144 |
| 4 | 217.199.175.10 |
| 5 | 209.196.44.172 |
在这段观察期间,多少不同的主机访问了以209.196.44.172为服务器的僵尸网络。
追踪一下TCP流,发现下面有很多IP,我在word里面粗略估计了一下,大概有几千个。
哪些IP地址被用于攻击蜜罐主机?
使用
tcpdump -n -nn -r botnet_pcap_file.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 -nn: 指定将每个监听到的数据包中的域名转换成IP、端口从应用名称转换成端口号后显示;grep -v:排除指定字符串;cut -d '.' -f 10:截取以'.'为分隔符的第 10 列;uniq命令用于检查及删除文本文件中重复出现的行列; wc -l 用于统计文件的行数),总共150个端口
攻击者尝试了哪些安全漏洞?
snort一直安装不上,正在尝试
用snort分析一下网络流量包的分布情况
筛选一下端口
下面分别分析一下端口
- 135端口,基本上没有什么内容
- 25端口和135端口差不多
- 主要是SMB查点
- 445端口明显交换的数据就变多了,我们找到了一个PSEXESVC.EXE,这是一种蠕虫
- 80端口明显数据也多了很多,我们也发现了一个蠕虫攻击
实践总结
内容太多,太复杂,很多知识想不起来了。