Antes de empezar quisiera que leas un poco sobre el script que se armo para instalar herramientas de KALI LINUX en DEBIAN.

El otro día estaba mirando el código del anterior post y me puso en la duda en instalar metasploit en debian y comprobé que existe más de un método para instalar metasploit en debian.
Desde el método para vagos, hasta el método de personalizar metasploit.
Quiero aclarar que antes de empezar tenemos que tener instalado lo siguiente

sudo apt-get install -y nmap build-essential libreadline-dev  libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-8-jre subversion git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev libyaml-dev curl ruby

Métodos para vagos

Me parece tan sencillo y sin ninguna modificación.

curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall

Este método es tan sencillo que para configurar la base de datos tenemos que hacer lo siguiente.

msfdb init

Ese comando es para hacer el proceso automáticamente la conexión con la base de datos de metasploit.

o

msfdb reinit

Este comando es para reiniciar la base de datos.

Método para instalar metasploit pro vago

Tenes la pagina para descargar el script de metasploit pro, obviamente te tenes que registrar y esperar 24h. para que te llegue la KEY para ser verificado o sino intenta probar con correos temporales.

Instalación

sudo chmod +x metasploit-latest-linux-x64-installer.run
sudo ./metasploit-latest-linux-x64-installer.run

Le damos lo siguiente:
Forward > Forward > /opt/metasploit/ forward > YES forward > forward > port 3790 forward > localhost 3650 forward > forward.
Espera que termine la instalación y luego se ejecuta por modo grafico, obviamente te pide usuario y contraseña y la KEY del producto sobre metasploit, te muestro un par de capturas.

Método para instalar METASPLOIT MODO PERSONALIZADO

Espero que se entienda!

INSTALACIÓN

Lo que vamos hacer es actualizar y instalar algunos requisitos.

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install -y nmap build-essential libreadline-dev  libssl-dev libpq5 libpq-dev libreadline5 libsqlite3-dev libpcap-dev openjdk-8-jre subversion git-core autoconf postgresql pgadmin3 curl zlib1g-dev libxml2-dev libxslt1-dev libyaml-dev curl ruby nmap

INSTALACIÓN RUBY

Lo podemos ver que tipo de versión de ruby y instalarlo.

sudo curl https://raw.githubusercontent.com/rapid7/metasploit-framework/master/.ruby-version
curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
curl -L https://get.rvm.io | bash -s stable
source /home/freddy/.rvm/src/rvm
echo "source  /home/freddy/.rvm/src/rvm" >> ~/.bashrc
source ~/.bashrc
rvm install 2.4.3
rvm use 2.4.3
ruby -v

Quiero aclarar para un futuro que las versión lo podes cambiar.

INSTALAR RUBY USANDO RBENV

git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc

Ahora para poder ejecutar metasploit por root

git clone git://github.com/dcarley/rbenv-sudo.git ~/.rbenv/plugins/rbenv-sudo
exec $SHELL
rbenv install 2.4.3
rbenv global 2.4.3
rvm use 2.4.3 --default
ruby -v

CONFIGURAR TU TERMINAL PARA RUBY

Preferences > Profiles > command > Run command as a login shell.

AUTORIZAR USUARIO DE LA VERSIÓN DE RVM

getent group rvm
usermod -a -G rvm freddy

Freddy es el usuario.

getent group rvm

CONFIGURAR Postgre SQL Server

sudo -s
su postgres

Ahora vamos a crear un usuario msf

createuser msf -P -S -R -D

password: Tu decides, en mi caso msf.

createdb -O msf msf
exit
exit

CONFIGURACIÓN DE OTRO USUARIO CON OTRO MÉTODO

sudo -u postgres psql

Cambie la codificación predeterminada de las nuevas bases de datos a UTF-8 en oposición a SQL_ASCII

UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
DROP DATABASE template1;
CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UNICODE';
UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';
postgres=# \l

Para ver la base de datos.
CREAR NUEVO USUARIO

CREATE USER msftest WITH PASSWORD 'msftest' CREATEDB;
CREATE DATABASE msftest OWNER msftest;

INSTALACIÓN DE METASPLOIT

cd /opt

O

cd /usr/share
sudo git clone https://github.com/rapid7/metasploit-framework.git
sudo chown -R `whoami` /opt/metasploit-framework

o

sudo chown -R `whoami` /usr/share/metasploit-framework
cd metasploit-framework
gem install bundler
bundle install
sudo bash -c 'for MSF in $(ls msf*); do ln -s /usr/share/metasploit-framework/$MSF /usr/local/bin/$MSF;done'

yard config --gem-install-yri

Configurar database.yml

sudo cp /usr/share/metasploit-framework/config/database.yml.example /usr/share/metasploit-framework/config/database.yml

Eso viene por default pero si lo quieres editar con lo siguiente que has programado en tu base de datos de user msf y password msf.

production:
 adapter: postgresql
 database: msf
 username: msf
 password: msf
 host: 127.0.0.1
 port: 5432
 pool: 75
 timeout: 5

Es tu decisión! Podemos dale un reboot.
Ahora para conectar tu base de datos vamos a ejecutar

msfconsole


Podemos ver que no esta conectada a nuestra base de datos, recuerda el lugar de database.yml.
Conectarlo!

sudo nano /etc/profile

Al final de la linea

export MSF_DATABASE_CONFIG=/usr/share/metasploit-framework/config/database.yml

Ahora volver a usar msfconsole.

Para personalizar tu base de datos tenes que deconectarlo y volverlo a conectar

db_disconnect
db_connect -y /usr/share/metasploit-framework/config/database.yml
db_status


Pero te preguntarás esto funciona con un solo comando. OBVIO!
Aveces tenes problemas con las versiones, bueno intenta leer el error como este ejemplo:

gem pristine eventmachine --version 1.2.3
gem pristine executable-hooks --version 1.4.2
gem pristine gem-wrappers --version 1.3.2</ŕe>
gem pristine json --version 2.1.0
gem pristine msgpack --version 1.2.4
gem pristine network_interface --version 0.0.2
gem pristine nokogiri --version 1.8.2
gem pristine pcaprub --version 0.12.4
gem pristine pg --version 0.20.0
gem pristine pg_array_parser --version 0.0.9
gem pristine redcarpet --version 3.4.0
gem pristine sqlite3 --version 1.3.13
gem pristine thin --version 1.7.1

Ahora si puedo usar msfconsole a mi gusto y a mi manera. Aunque no te puedes preocupar por alguna exploit publico que no este en la base de datos

LISTO! Ahora si tenes metasploit corriendo.
No te olvides en compartirlo y si preguntan con armitage, para qué? Es lo mismo pero en modo grafico.
GRACIAS!

Share Please!