O Império PowerShell. Empire é um quadro pós-operação baseada na implantação de agentes.Os agentes são executados nas máquinas comprometidas e são geridas a partir de um console sob o controle de pentester. Como se pode ler no site da própria Powershell Império , a comunicação é criptografada. Jogando com o quadro percebe-se que a força do império está na integração de todas as estruturas conhecidas pentesting com o PowerShell. Frameworks como Powersploit, Nishang, Posh-SecMod ou PowerUp, entre outros, são integrados e estão disponíveis para uso através da arquitetura que fornece o Império.
Uma das coisas mais poderosas oferecidos Powershell Império é a capacidade de executar agentes PowerShell sem o binário powershell.exe. Isso faz com que os agentes podem ser injectados em processos diferentes, e passar mais despercebida.
Quais são as partes têm Powershell Império? Fundamentalmente 3: ouvintes, agentes e stagers. Abaixo estão listadas as diferentes funções e que são responsáveis no jogo proposto pelo Império:
- Ouvintes. Eles servem para esperar por conexões de agentes implantados em máquinas comprometidas. Podemos dizer que o ouvinte será o ponto final, onde o pentester fazer as suas encomendas para executar.
- Agentes. Os agentes é o código executado nas máquinas comprometidas. O Império oferece uma série de agentes, como um em morcego formato, vbs, dll, ou mesmo um código preparado para o patinho de borracha.
- Stagers. Os stagers são precisamente o código para gerar, uma vez executado, torna-se agente. O fluxo é fácil de usar, o pentester tenha acesso através da exploração de uma vulnerabilidade e pode usar um tipo de stager DLL, por exemplo, para conseguir executar um agente na máquina remota. Outro caso de uso simples seria aproveitar o poder da Borracha Ducky em um ataque físico ou engenharia social para o usuário a executar um arquivo. A fase de implementação dos agentes está nas mãos dos leitores.
PoC: Conexão entre o agente eo ouvinte
Para a prova de conceito é usar um tipo stager de morcego. Primeiro você tem que instanciar um ouvinte na máquina para receber conexões de agentes. A instrução a ser executada neste caso ouvintes. Assim que o prompt mudanças podem ver as opções disponíveis. Para este caso, executá-lo para executar a instrução.
geração de arquivo Bat é simples, basta executar a instrução usestager. Com o comando opções podem verificar que podemos mudar e personalizar. Como você pode visualizar o ambiente é muito parecido com o console Metasploit, que é claro que @harmjoy y cia queria para dar aquele toque similar.
Se analisarmos o arquivo que acabou de criar, podemos encontrar que o stager é reduzido a um base64 encodeado e é invocado através de um código powershell.exe. PowerShell fornece a capacidade de executar código através base64 (-Enc), em um processo oculto (-W Oculto) e não-interativo (-NonI). Em outras palavras, uma maneira perfeita para passar despercebida. Na foto você pode ver o conteúdo do arquivo .bat.
Quando o arquivo .bat para executar na máquina comprometida vai lançar um Powershell sem qualquer perfil no modo não-interativo com janela oculta e executar o código na base64. Esse é o código que cria a conexão em busca do ouvinte que criámos. O ouvinte vai receber a ligação e tem um novo agente. A partir desse momento o pentester e módulos podem executar instruções na máquina remota. A operação não é imediata, o ouvinte prepara ordens e o agente não contínua para uma lista de coisas para executar as conexões. Isto significa que se as conexões de rede são exibidos na máquina comprometida, nós não ver a conexão entre o agente e o ouvinte.
Mais de 115 módulos disponíveis para o pentester remover o suco para a máquina comprometida. Técnicas como a passagem do Hash, pivotante, exfiltração de dados, digitalização de rede interna e externa, etc. pode ser realizada com o agente implantado.
Para este teste nós escolhemos um módulo pendurado em um módulo "curioso" chamado trollsploit. Este módulo fornece cinco funções que são:
- Mensagem.
- Process_Killer.
- Thunderstruck.
- Voicetroll.
- Papel de parede.
Qual é o resultado? Nesta prova de conceito, podemos ver como as ordens ouvinte configurado para o agente chamado Win7, que foi renomeado anteriormente. As ordens de consulta agente a cada N segundos contra o ouvinte e executa instruções.