
Un msfconsole remoto escrito en Python 2.7 para conectarse al servidor msfrcpd de Metasploit. Esta herramienta te brinda la capacidad de cargar módulos permanentemente como un demonio en tu servidor, similar a autopwn2.
Esta herramienta ya no será mantenida por mí. Hay mejores alternativas de los propios Rapid7 como se describe aquí: How to run metasploit remotley
Ejemplo:
Para hacer que los comandos de msf sean viables desde fuera del directorio metasploit-framework, establezca la variable GEM_HOME. Para encontrar la ruta necesaria, cd al directorio metasploit-framework y ejecute:
$ rvm gemdir
/usr/local/rvm/gems/ruby-2.5.1@metasploit-framework
$ rvm use 2.5.1@metasploit-framework
Para iniciar Metasploit como daemon, debe ejecutar la utilidad msfd, que abre por defecto en el puerto 55554.
$ ./msfd -a 127.0.0.1
Para conectarse al daemon, use netcat como en el siguiente ejemplo:
$ nc 127.0.0.1 5554
Una consola msf remota escrita en Python 2.7 para conectarse al servidor msfrcpd de metasploit. Esta herramienta le brinda la capacidad de cargar módulos permanentemente como daemon en su servidor, como autopwn2. Aunque le brinda la capacidad de usar el servidor msfrpcd de forma remota, se recomienda usarlo localmente con un shell ssh o mosh porque la validación de certificados no está habilitada.
[*] Connecting to server:
Host => myDomain.com,
Port => 55553,
User => msf,
Pwd => ***,
SSL => True
[+] Successfully connected
[*] Console id: 19
, ,
/ \
((__---,,,---__))
(_) O O (_)_________
\ _ / |\
o_o \ M S F | \
\ _____ | *
||| WW|||
||| |||
=[ metasploit v4.12.22-dev-52b81f3 ]
+ -- --=[ 1577 exploits - 906 auxiliary - 272 post ]
+ -- --=[ 455 payloads - 39 encoders - 8 nops ]
+ -- --=[ Free Metasploit Pro trial: http://r-7.co/trymsp ]
msf >
Uso: Main.py [options]
Options:
-h, --help show this help message and exit
-r RESOURCE, --resource=RESOURCE
Path to resource file
-u USERNAME, --user=USERNAME
Username specified on msfrpcd
-p PASSWORD, --pass=PASSWORD
Password specified on msfrpcd
-s, --ssl Enable ssl
-P PORT, --port=PORT Port to connect to
-H HOST, --host=HOST Server ip
-c, --credentials Use hardcoded credentials
-e, --exit Exit after executing resource script
Con la opción -c puede usar las credenciales codificadas en Main.py; siéntase libre de cambiarlas para no tener que usar los parámetros de credenciales todo el tiempo.
Con la opción -r especifica un script de recursos para cargar desde su computadora en la consola.
Esto cargará un script de recursos y usará las credenciales codificadas:
python Main.py -c -r /root/resource/handler/allHandlers.rc
Esto iniciará sesión en el servidor msfrpcd a través de argumentos de línea de comandos:
python Main.py --ssl --port 55553 --host 127.0.0.1 --user msf --pass msf
Primero debe tener instalado metasploit. Si no puede usar el instalador porque no tiene entorno gráfico o lo que sea, use esta guía de rapid7: Nightly installers. Esto instalará todas las dependencias necesarias:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \
chmod 755 msfinstall && \
./msfinstall
git clone https://github.com/allfro/pymetasploit.git pymetasploit
cd pymetasploit && sudo python setup.py install
Además, no olvide iniciar su servidor msfrpcd:
cd metasploit-framework/
ruby msfrpcd -U msf -P msf -p 55553
Y probablemente sea una buena idea iniciar y conectarse a la base de datos postgresql: Por cierto, cambie la contraseña en la línea echo.
sudo update-rc.d postgresql enable
sudo service postgresql start
echo "create database msf;create user msf with password 'password';grant all privileges on database msf to msf;" > createdb_sql.txt
sudo -u postgres /usr/bin/psql < /home/postgres/createdb_sql.txt
En Metasploit:
db_connect msf:[email protected]/msf