
Um msfconsole remoto escrito em Python 2.7 para conectar ao servidor msfrcpd do metasploit. Esta ferramenta oferece a capacidade de carregar módulos permanentemente como daemon em seu servidor, como o autopwn2.
Esta ferramenta não será mais mantida por mim. Existem alternativas melhores da própria Rapid7, conforme descrito aqui: Como executar o metasploit remotamente
Exemplo:
Para tornar os comandos do msf viáveis a partir de outros locais que não o diretório metasploit-framework, defina a variável GEM_HOME. Para encontrar o caminho necessário, acesse o diretório metasploit-framework e execute:
$ rvm gemdir
/usr/local/rvm/gems/ruby-2.5.1@metasploit-framework
$ rvm use 2.5.1@metasploit-framework
Para iniciar o Metasploit como um daemon, você precisa executar o utilitário msfd, que abre na porta 55554 por padrão.
$ ./msfd -a 127.0.0.1
Para conectar ao daemon, use o netcat como no exemplo a seguir:
$ nc 127.0.0.1 5554
Um msfconsole remoto escrito em Python 2.7 para conectar ao servidor msfrcpd do metasploit. Esta ferramenta oferece a capacidade de carregar módulos permanentemente como daemon no seu servidor, como o autopwn2. Embora forneça a capacidade de usar remotamente o servidor msfrpcd, é recomendado usá-lo localmente com um shell ssh ou mosh, pois a validação do certificado não está ativada.
[*] 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 [opções]
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
Com a opção -c, você pode usar as credenciais codificadas no Main.py. Sinta-se à vontade para alterá-las para não precisar usar os parâmetros de credenciais toda vez.
Com a opção -r, você especifica um script de recurso para carregar do seu computador no console.
Isso carregará um script de recurso e usará as credenciais codificadas:
python Main.py -c -r /root/resource/handler/allHandlers.rc
Isso fará login no servidor msfrpcd através de argumentos de linha de comando:
python Main.py --ssl --port 55553 --host 127.0.0.1 --user msf --pass msf
Primeiro você deve ter o metasploit instalado. Se não puder usar o instalador por não ter ambiente gráfico ou outro motivo, use este guia da rapid7: Nightly installers. Isso instalará todas as dependências necessárias:
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
Também não se esqueça de iniciar o servidor msfrpcd:
cd metasploit-framework/
ruby msfrpcd -U msf -P msf -p 55553
E provavelmente é uma boa ideia iniciar e conectar ao banco de dados postgresql: A propósito, altere a senha na linha do 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
No Metasploit:
db_connect msf:[email protected]/msf