在Termux上部署MSF和Postgresql

引言

由于NetHunter占用内置存储太多导致手机卡顿,以及内核不支持某些功能,所以我决定将NetHunter从手机中移除,取而代之用Termux来搞事,这样我既能使用MSF也不会占用太多的内置存储,真是两全其美!

Step-1

下载并安装Termux,更新软件源并升级软件包

apt update && apt upgrade

apt install curl proot

Step-2

安装并配置好zsh(可选)

执行以下命令行自动安装并配置zsh

curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh > install.sh

chmod +x install.sh && ./install.sh

一路回车,使用默认配置即可(安装完毕后需重启Termux生效!)

Step-3

安装MSF和Postgresql

执行以下命令行自动安装MSF与Postgresql(metasploit-framework会同步到home目录下)

termux-chroot

curl -L https://Auxilus.github.io/metasploit.sh > metasploit.sh

chmod +x metasploit.sh && ./metasploit.sh

在此过程中会提示安装多个软件包,输入y回车即可,请耐心等待!(必须在home目录下执行安装脚本,否则会报错!)

Step-4

配置Postgresql数据库

mkdir ~/.msfdb

initdb ~/.msfdb

创建存放数据库文件的文件夹并初始化数据库

pg_ctl -D ~/.msfdb -l ~/.msfdb/msfdb.log start

pg_ctl -D ~/.msfdb -l ~/.msfdb/msfdb.log stop

启动和停止Postgresql服务(指定~/.msfdb/msfdb.log为数据库日志文件,主要用于排查BUG)

createuser msf

createdb msfdb

创建名为msf的数据库用户

创建名为msfdb的数据库(注意:创建用户和数据库时需要先启动数据库服务)

Step-5

启动msf并手动连接数据库

msfconsole

启动时会出现一行warning,目前来看并没有影响,有强迫症的同学可以找大佬看看怎么解决(注意:个人测试在32位平台的机器上启动MSF时会报段错误,无法使用!在64位平台的机器上可以正常执行)

db_connect msf@msfdb

连接数据库

db_status

查看数据库连接状态

db_rebuild_cache

重新生成模块数据库缓存

若一切正常,在成功连接上数据库后,执行搜索漏洞代码时会立即输出相关信息,否则将会提示没有生成模块数据库缓存,使用缓慢的方式进行搜索,虽然对使用MSF的主要功能没有太大影响,但这样会浪费很多时间在不必要的工作上

search ms17-010

搜索漏洞代码名为ms17-010的相关信息

引用

Metasploit - Termux wiki

Termux下如何配置Postgresql