
Une msfconsole distante écrite en Python 2.7 pour se connecter au serveur msfrcpd de metasploit. Cet outil vous donne la capacité de charger des modules en permanence en tant que démon sur votre serveur comme autopwn2.
Cet outil ne sera plus maintenu par moi. Il existe de meilleures alternatives de la part de Rapid7 elles-mêmes, comme décrit ici : Comment exécuter Metasploit à distance
Exemple :
Pour rendre les commandes msf viables depuis un autre emplacement que le répertoire metasploit-framework, définissez la variable GEM_HOME. Pour trouver le chemin nécessaire, cd dans le répertoire metasploit-framework et exécutez :
$ rvm gemdir
/usr/local/rvm/gems/ruby-2.5.1@metasploit-framework
$ rvm use 2.5.1@metasploit-framework
Pour démarrer Metasploit en tant que démon, vous devez exécuter l'utilitaire msfd, qui ouvre par défaut le port 55554.
$ ./msfd -a 127.0.0.1
Pour vous connecter au démon, utilisez netcat comme dans l'exemple suivant :
$ nc 127.0.0.1 5554
Une msfconsole distante écrite en Python 2.7 pour se connecter au serveur msfrcpd de metasploit. Cet outil vous permet de charger des modules en permanence en tant que démon sur votre serveur comme autopwn2. Bien qu'il vous permette d'utiliser le serveur msfrpcd à distance, il est recommandé de l'utiliser localement avec un shell ssh ou mosh car la validation du certificat n'est pas activée.
[*] 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 >
Usage: 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
Avec l'option -c, vous pouvez utiliser les identifiants codés en dur dans Main.py. N'hésitez pas à les modifier pour ne pas avoir à utiliser les paramètres d'identification à chaque fois.
Avec l'option -r, vous spécifiez un script de ressource à charger depuis votre ordinateur dans la console.
Ceci chargera un script de ressource et utilisera les identifiants codés en dur :
python Main.py -c -r /root/resource/handler/allHandlers.rc
Ceci se connectera au serveur msfrpcd via les arguments de la ligne de commande :
python Main.py --ssl --port 55553 --host 127.0.0.1 --user msf --pass msf
Vous devez d'abord avoir Metasploit installé. Si vous ne pouvez pas utiliser l'installateur parce que vous n'avez pas d'environnement graphique ou autre, utilisez ce guide de Rapid7 : Installateurs nocturnes. Cela installera toutes les dépendances nécessaires :
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
N'oubliez pas non plus de démarrer votre serveur msfrpcd :
cd metasploit-framework/
ruby msfrpcd -U msf -P msf -p 55553
Et c'est probablement une bonne idée de démarrer et de se connecter à la base de données PostgreSQL : Au fait, modifiez le mot de passe dans la ligne 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
Dans Metasploit :
db_connect msf:[email protected]/msf