metasploit使用外部数据库(TODO)
metasploit不能使用外部的pgsql数据库搞得一直很蛋疼,这篇小记只是记录下如何一步步让metasploit使用外部的pgsql,本篇文章中使用pgsql的docker
安装ruby
此处使用 rbenv 安装 ruby
克隆rbenv仓库
git clone --depth=1 https://github.com/rbenv/rbenv.git ~/.rbenv
编译bash扩展加速rbenv,可选
cd ~/.rbenv && src/configure && make -C src
把rbenv加到环境变量
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
rbenv设置
rbenv init # 跟随命令的输出设置rbenv shell
安装ruby-build插件,为了支持rbenv install 命令
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
如果是国内用户,可以加上rbenv cache镜像
git clone https://github.com/andorchen/rbenv-china-mirror.git "$(rbenv root)"/plugins/rbenv-china-mirror
查看 metasploit 官方开发使用版本,https://github.com/rapid7/metasploit-framework/blob/master/.ruby-version
我这里看到的是 2.6.6,就安装这个版本
rbenv install 2.6.6
rbenv local 2.6.6
如果你是国内用户,可以设置一些镜像
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
安装bundler并设置镜像
gem install bundler
bundle config mirror.https://rubygems.org https://gems.ruby-china.com
安装 metasploit
详细可参见 https://github.com/rapid7/metasploit-framework/wiki/Setting-Up-a-Metasploit-Development-Environment
我们已经安装了ruby,紧接着安装依赖
sudo apt update && sudo apt install -y git autoconf build-essential libpcap-dev libpq-dev zlib1g-dev libsqlite3-dev
克隆 metasploit
git clone --depth=1 https://github.com/rapid7/metasploit-framework.git
安装metasploit运行所需的ruby库
cd metasploit-framework && bundler install
至此,metasplot 已经可以使用
./msfconsole
如果进入了 msf console 证明已经正确安装,并且运行后会在你的创建一个 ~/.msf4 文件夹,这个我们后面会用到
设置metasploit使用外部数据库
启动pgsql
首先启动一个postgresql docker
参见 https://hub.docker.com/_/postgres
这里我直接使用官方提供的命令
docker run -d -p 5432:5432\
--name some-postgres \
-e POSTGRES_PASSWORD=mysecretpassword \
-e PGDATA=/var/lib/postgresql/data/pgdata \
-v /custom/mount:/var/lib/postgresql/data \
postgres
或者你可以使用 docker-compose,但是记得改掉密码和挂载目录
然后我们创建两个数据库 msf 和 msftest,具体怎么创建这里不展开,可以使用数据库管理工具
配置 msf 数据库连接
在 ~/.msf4 文件夹下面创建一个文件 database.yml,即 ~/.msf4/database.yml
development: &pgsql
adapter: postgresql
database: msf
username: postgres
password: mysecretpassword
host: 127.0.0.1
port: 5432
pool: 200
production: &production
<<: *pgsql
test:
<<: *pgsql
database: msftest
本文作者:Akkuman
本文链接:https://www.cnblogs.com/Akkuman/p/13652938.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?