首先启动postgres数据库:
使用命令
service postgresql start
当然他会提示你需要管理员权限。
再启动msfconsole,注意这里需要使用管理员权限,否则会报数据库链接失败,不可读。
[-] Warning, /opt/Metasploit/apps/pro/ui/config/database.yml is not readable. Try running as root or chmod.
[-] No database definition for environment
所以使用
sudo msfconsole
然后我们需要链接postgresql,怎么做到呢,需要这样
1. sudo su - postgres psql #进入超级用户
2. \password postgres #第一件事是使用\password命令,为postgres用户设置一个密码。
3 CREATE USER Assassin WITH PASSWORD ‘assassin’; #第二件事是创建数据库用户dbuser(刚才创建的是Linux系统用户),并设置密码。
4.CREATE DATABASE Assassin OWNER Assassin;#第三件事是创建用户数据库,这里为Assassin,并指定所有者为Assassin。
5.GRANT ALL PRIVILEGES ON DATABASE Assassin to Assassin;#第四件事是将Assassin数据库的所有权限都赋予Assassin,否则Assassin只能登录控制台,没有任何数据库操作权限。
6.\q退出即可
然后打开msfconsole,我的莫名清秒会这样
他说什么我的默认postgresql端口没有开启?我明明开启了服务!但是不用慌,我们再查一下即可!
sudo netstat -tnpl | grep postgres
这死货居然成了5432端口???什么原理…
然后在msf上链接!
db_connect Assassin:assassin@localhost:5432/Assassin
Attention!第一个Assassin是你的postgresql帐号,assassin是对应的密码,第二个Assassin是帐号对应的数据库
效果如下
23333这样数据库就连上了,因为这个版本的结构还没有理清处,暂时没法自动化^_^