[工具使用] Metasploit 渗透测试框架的基本使用(msf)

89 0
Honkers 7 小时前 | 显示全部楼层 |阅读模式

Metasploit 渗透测试框架的基本使用

一、Metasploit 渗透测试框架介绍

1.1 Metasploit 体系框架

1.基础库:metasploit 基础库文件位于源码根目录路径下的 libraries 目录中,包括 Rex、framework-core和framework-base三部分

  • Rex:是整个框架所依赖的最基础的一些组件,如包装的网络套接字,网络应用协议客户端与服务器实现、日志子系统、渗透攻击支持例程、PostgreSQL以及 MySQL数据库支持等;
  • framework-core 库:扩展了 framework-core,提供更加简单的包装例程,并为处理框架各个方面的功能提供了一些功能类,用于支持用户接口与功能程序调用框架本身功能及框架集成模块;

2.模块:模块组织按照不同的用途分为6种类型的模块(Modules):

  • 辅助模块(Aux)
  • 渗透攻击模块(Exploits)
  • 后渗透攻击模块(Post)
  • 攻击载荷模块(payloads)
  • 编码器模块(Encoders)
  • 空指令模块(Nops)

payload 又称攻击载荷,主要用来建立目标与攻击机稳定连接的,可返回shell,也可以进行程序注入等

3.插件:插件能够扩充框架的功能,或者组装已有功能构成高级特性的组件。插件可以集成现有的一些外部安全工具,如 Nessus、OpenVAS 漏洞扫描器等,为用户接口提供了一些新的功能。

4.接口:包括msfconsole控制终端,msfcli命令行,msfgui图形化界面,armitage图形化界面以及msfapi远程调用接口。

5.功能程序:metsploit 还提供了一系列可直接运行的功能程序,支持渗透者与安全人员快速地利用metasploit框架内部能力完成一些特定任务,比如msfpayload、msfencode和msfvenom 可以将攻击载荷封装为可执行文件、C 语言、JavaScript 语言等多种形式、并可以进行各种类型的编码。

二、Metasploittable2-Linux 靶机系统介绍

2.1 靶机信息

普通用户:msfadmin

密码:msfadmin

2.2 修改root用户密码

  1. msfadmin@metasploitable:~$ sudo passwd root
  2. [sudo] password for msfadmin: //msfadmin
  3. Enter new UNIX password: //123456
  4. Retype new UNIX password: //123456
  5. passwd: password updated successfully
  6. msfadmin@metasploitable:~$ su root //切换root用户
  7. Password: //123456
  8. root@metasploitable:/home/msfadmin#
复制代码

三、Metasploit 基本使用方法

3.1 Metasploit 基本命令

Metasploit 程序需要使用 Postgresql数据库

PostgreSQL 世界上最先进的开源关系数据库

3.1.1 手动启动数据库

启动数据库是必须的,我们设置成开机自启

  1. root@fengzilin53:~# systemctl start postgresql //启动postgresql
  2. root@fengzilin53:~# systemctl enable postgresql //设置为开机自启
复制代码

启动metasploit两种方式

第一种:点击图标

第二种:命令行启动

  1. root@fengzilin53:~# msfconsole
复制代码

3.1.2 查看帮助信息
  1. msf5 > help
复制代码

通过help 查看帮助,能对msf有个整体的认识,msf相关命令分成以下类型

命令译文
Core Commands核心命令
Module Commands模块命令
Job Commands后台任务命令
Resource Script Commands资源脚本命令
Database Backend Commands数据库后端命令
Crendentials Backend Commands证书/凭证后端命令
Developer Commands开发人员命令

3.2 常用命令介绍

3.2.1 核心命令中 connect 命令

connect 命令 主要用于 远程连接主机,一般用于内网渗透,比较常用的命令就是 “connect 192.168.37.140 80”

查看connect 命令参数

  1. msf5 > connect
复制代码

连接目标端口 80

  1. msf5 > connect 192.168.37.111 80
  2. [*] Connected to 192.168.37.111:80 //出现这个就可以输入 get/ 就可以看到服务器版本信息,有些网站看不到
  3. /get
  4. HTTP/1.1 400 Bad Request
  5. Server: nginx/1.6.2
  6. Date: Thu, 11 Feb 2021 09:04:00 GMT
  7. Content-Type: text/html
  8. Content-Length: 172
  9. Connection: close
  10. <html>
  11. <head><title>400 Bad Request</title></head>
  12. <body bgcolor="white">
  13. <center><h1>400 Bad Request</h1></center>
  14. <hr><center>nginx/1.6.2</center>
  15. </body>
  16. </html>
复制代码
3.2.2 模块相关的命令 show 使用方法

show 命令用的很多

show 参数:all,encoders,nops,exploits,payloads,auxiliary,post,plugins,info,options

举例:列出metasploit 框架中的所有渗透攻击模块 expoits、payloads、auxiliary

  1. msf5 > show exploits //渗透攻击模块
  2. msf5 > show payloads //攻击载荷模块
  3. msf5 > show auxiliary //辅助攻击模块
复制代码
3.2.3 模块相关的命令 search 搜索的使用方法
  1. msf5 > search -h //查看帮助
复制代码

1.通过name 关键字查找

  1. msf5 > search mysql //mysql是名字
复制代码

  1. Name Disclosure Date Rank Check Description
  2. 名字 披露日期 排名 检查 说明
复制代码

2.通过路径进行查找

我们只记得模块的路径,可以用search 查找

  1. msf5 > search path:mysql
复制代码

3.缩小查找范围 platfrom

platform:列出可以影响次平台的模块,也就是比较好的漏洞有时我们会搜索到大量的模块,可以用platform

  1. msf5 > search platform:mysql
复制代码

4.通过类型查找 type

type:特定类型的模块(exploit,payload,auxiliary,encoder,evasion,post,or nop)

  1. msf5 > search type:auxiliary
复制代码

5.联合查找

  1. msf5 > search name:mysql type:auxiliary
复制代码

6.根据 CVE 搜索 exploit 相关模块

查找:CVE-2017-8464 远程命令执行漏洞

  1. msf5 > search cve:CVE-2017-8464 type:exploit
复制代码

3.2.4 模块相关的命令 use 使用方法

use 使用方法,找到模块的名字

1.找到漏洞名字

  1. msf5 > search cve:CVE-2017-8464 type:exploit
复制代码

2.装载一个渗透模块

  1. msf5 > use exploit/windows/fileformat/cve_2017_8464_lnk_rce
  2. msf5 exploit(windows/fileformat/cve_2017_8464_lnk_rce) > back //退出 当前调用模块
复制代码

3.2.5 模块相关的命令 info 的使用方法

info:显示模块的相关信息

  1. 方法1
  2. msf5 > info exploit/windows/fileformat/cve_2017_8464_lnk_rce
  3. 方法2
  4. msf5 > use exploit/windows/fileformat/cve_2017_8464_lnk_rce
  5. msf5 exploit(windows/fileformat/cve_2017_8464_lnk_rce) > info
复制代码

信息内容介绍

1.可用目标,支持哪些操作系统

2.Basic options: 调用漏洞需要的相关

3.漏洞描述和执行过程

4.参考文献

3.2.6 模块的使用方法

查看模块的选项

  1. msf5 exploit(windows/fileformat/cve_2017_8464_lnk_rce) > show options
复制代码

查看可以攻击哪些操作系统

  1. msf5 exploit(windows/fileformat/cve_2017_8464_lnk_rce) > show targets
复制代码

设置 target 目标系统 并查看设置结果

  1. msf5 exploit(windows/fileformat/cve_2017_8464_lnk_rce) > set target 1
  2. msf5 exploit(windows/fileformat/cve_2017_8464_lnk_rce) > show options
复制代码

四、总结

本章学习了metasploit 的整个框架,以及常用命令介绍,攻击的整个流程,在实战会体现出来,整体的攻击方式类似,就是需要的信息不同,这里要收集相关的信息

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行