Patrilic's blog

metasploit(1)

Word count: 979 / Reading time: 4 min
2018/03/25 Share

0x00 前言

学习了《kali渗透技术实战》和ArthurKiller师傅的《玩转Metasploit系列》,以及正在拜读《Metaploit魔鬼训练营 》 ,来写几篇总结

0x01 简介

Metasploit是一个模块化系统,一个漏洞框架,全称The Metasploit Framework,简称为MSF。Metasploit框架集成了很多模块,大致可分为以下类型:

1.渗透模块
2.辅助模块
3.攻击模块
4.监听模块
5.Shellcode模块

在一一介绍这些模块之前,我们先了解一下metasploit的结构

系统文件

data目录:里面存放一些可编辑的文件,主要是给Metasploit使用
documentation目录:提供一些MSF的介绍文档等
external目录:源文件和第三方的库
lib目录:MSF框架的主要组成部分
modules目录:MSF的模块存放位置
plugins目录:存放Metasploit的插件
scripts目录:存放Meterpreter代码(shell code)或者是其他的脚本文件
tools目录:各种各样实用的命令行工具

  1. Rex库
    1.1 最基础的组建
    1.2 网络套接字、网络应用协议客户端与服务端实现、日志子系统等
    1.3 SSL, SMB, HTTP, XOR, Base64, Unicode
  2. Msf::Core库
    2.1 提供了一些比较基础的API接口
    2.2 为MSF的框架进行定义
  3. Msf::Base
    3.1 提供了一些额外的和简单的API接口
模块
  1. 主要的Metasploit模块位置在/usr/share/metasploit-framework/modules/目录下。
  2. 用户设置的模块一般在~/.msf4/modules/

0x02 模块

渗透模块

由数据库中的代码预打包而成,向受害计算机攻击时会尝试利用本地或者远程系统上的漏洞来损坏系统,让其拒绝服务,泄露敏感信息或者上传精心构造的攻击载荷模块如 Meterpreter shell 或者其他类型的反弹shell

辅助模块

不需要调用攻击载荷
包括了许多有用的程序,如扫描器、Fuzzer、SQL注入工具,渗透测试人员可以利用辅助目录下的众多扫描器来获取被攻击系统更全面的信息,然后利用渗透模块进行攻击

攻击载荷

类似于定制的通讯工具,含有一系列的指令,当受害计算机被攻陷后就会执行它。攻击载荷有不同的形式,可以由数行代码到小的Application(如Metasploit shell) metasploit包含了很多攻击载荷,有不同的用途,最常用的攻击载荷是绑定shell和反向shell

绑定shell

这类shell潜伏下来并监听端口等待攻击者连接或发送命令,如果渗透测试人员指导在随后的测试中能直接通过网络访问系统,并且不想产生报警,绑定shell就能达成目的。相反,如果受害主机在防火墙后面,无法通过网络直接访问主机,绑定shell失效

反向shell

反向shell会回连安全测试人员,用于即使命令交互。

Meterpreter shell

Meterpreter shell是一种特殊的shell,可以添加到攻击载荷中,既能作为绑定shell,又能作为反向shell

监听器

既能镶嵌到一个绑定shell中等待连接,也能主动监听安全测试人员计算机发来的连接,可以通过metasploit程序处理,并且不用太多交互

0x03 使用

启动/关闭服务

Metasploit占用资源很大,很多服务依赖于网络稳定性,对于资源不足等情况,最好重启服务

1
2
3
service metasploit status //状态 
service metasploit start //开启
service metasploit stop //停止

更新数据库

保持metasploit数据库更新即为重要,你可以获取最新的模块来进行渗透攻击
msfupdate
更新完成更新完成后建议重启metasploit

下一篇:情报收集

CATALOG
  1. 1. 0x00 前言
  2. 2. 0x01 简介
    1. 2.0.0.0.1. 系统文件
    2. 2.0.0.0.2.
    3. 2.0.0.0.3. 模块
  • 3. 0x02 模块
    1. 3.0.0.0.1. 渗透模块
    2. 3.0.0.0.2. 辅助模块
    3. 3.0.0.0.3. 攻击载荷
      1. 3.0.0.0.3.1. 绑定shell
      2. 3.0.0.0.3.2. 反向shell
      3. 3.0.0.0.3.3. Meterpreter shell
    4. 3.0.0.0.4. 监听器
  • 4. 0x03 使用
    1. 4.0.0.1. 启动/关闭服务
    2. 4.0.0.2. 更新数据库