# 渗透测试笔记（二）Metasploit (MSF) 与Searchsploit




## 一、Metasploit

### MSF简介

Metasploit Framework(MSF)是一款开源安全漏洞检测工具，附带数千个已知的软件漏洞，并保持持续更新。Metasploit可以用来信息收集、漏洞探测、漏洞利用等渗透测试的全流程。

### MSF初始化

如果第一次使用，运行以下命令

```shell
msfdb run
```

该命令包含以下三个命令

```shell
service postgresql start # 启用数据库服务
msfdb init # msfdb第一次运行时初始化
msfconsole # 启用msf终端
```

在后续使用时，第一条命令在计算机重启后需要要重新执行，第二条命令不需要再执行，在数据库服务启动情况下，执行第三条命令进入msf终端。

以上是kali初始化自带msf步骤，关于非kali的linux初始化msf，参考[【工具使用】——Metasploit(MSF)使用详解(超详细)-CSDN博客](https://blog.csdn.net/weixin_45588247/article/details/119614618)。

### MSF使用

```shell
msfconsole								# 进入框架
search smb_version                      # 使用search命令查找相关漏洞
use auxiliary/scanner/smb/smb_version   # 根据搜索结果，使用use进入模块
show options     						# 查看模块需要配置的参数
set RHOST 192.168.100.158    			# 设置参数
run     								# 攻击
```

有些模块可以通过`set payload`直接进行漏洞利用，也可以仅进行漏洞探测后，用其他手段进行漏洞利用。如探测到smb版本为Samba 2.2.1a后，使用下文介绍Searchsploit进行攻击。

## 二、Searchsploit

### Searchsploit简介

Searchsploit是一款基于命令行的搜索工具，专为Exploit-DB设计。Exploit-DB是一个由Offensive Security赞助的开源漏洞利用程序数据库，包含了大量的漏洞信息和渗透脚本。Searchsploit允许用户通过简单的命令，在Exploit-DB中快速搜索和定位所需的漏洞信息。

### 安装与更新

kali系统中已经内置，更新使用以下命令

```shell
searchsploit -u
```

### Searchsploit使用

#### 搜索漏洞信息

```shell
searchsploit term1 [term2] … [termN]
```

term1、term2等表示搜索的关键词

#### 进阶搜索

- **排除某些关键词**：使用 `--exclude` 参数排除不相关的结果：

  ```bash
  searchsploit apache --exclude httpd
  ```

- **搜索标题**：用 `--title` 参数只在漏洞标题中查找，而非描述中：

  ```bash
  searchsploit --title apache
  ```

#### 复制漏洞利用脚本

当你找到一个感兴趣的漏洞利用脚本时，可以使用-m选项将其复制到当前工作目录。例如搜索Samba 2.2.1a得到脚本10.c后，使用以下命令将其复制到当前工作目录：

```shell
searchsploit -m 10.c
```


---

> 作者: [fupcode](https://github.com/fupcode)  
> URL: https://fupcode.com/blog/posts/reverse-engineering/learning-reverse2/  

