Jump to content

bypassando defesa de perímetro com base64


VictorNeves

Recommended Posts

Posted

Estou em uma atividade de PoC de uma ferramenta de segurança no trabalho.

Dentre vários objetivos, um era bypassar um RAT pelas defesas de perímetro (IDS, IPS, FW) e executá-lo. Pois bem, não sei se essa técnica é muito difundida/conhecida mas fica ai a dica rápida para os pentesters de como passei pelas defesas.

No linux existe o comando cat, que lê os dados de um arquivo e cospe pra algum lugar. Então pedi para que a saída do comando fosse para o comando base64 . Eu pensei, "se o cat  cospe caracteres, eu posso pegar esses caracteres e codificá-los em base64, ninguém vai saber do que se trata!"

$ cat rat.jar | base64 > souInocente

Escrevi um então enviei para a vítima, no caso uma outra máquina virtual da PoC. E fiz o inverso:

$ cat souInocente | base64 -d > rat.jar ; ./rat.jar

E não é que parada funcionou?! 9_9

Achei super simples, rápido e eficiente!  Desculpa se a técnica é velha e/ou conhecida, eu nunca ouvi falar.

Abraços a tod@s

  • Administrators
Posted

Opa,

Tenho duas observações, brother:

A primeira é sobre o comando base64. Como muitos outros no Linux (grep, md5sum, etc) ele recebe um arquivo como entrada, por isso você não precisa do cat:

$ base64 rat.jar > souInocente

E na outra ponta:

$ base64 -d souInocente > rat.jar

A outra é sobre o "bypass" em si. Você tá assumindo que tem controle da máquina onde a RAT vai ser executada, ou seja, já tem shell nela, certo? Sendo assim, praticamente qualquer coisa pode ser utilizada para transferir um executável sem que as ferramentas de segurança barrem(scp, download via HTTPS, ZIP com senha, RAR, etc). O que quero dizer é que isso não é uma falha... Se você já tem shell na máquina alvo, já era. rs

Ou entendi errado? Bem, não sou muito dessa área de ataque...

Abraço e parabéns pelo hacking! Você atingiu teu objetivo de maneira criativa! \o/

Posted

Opa! e ai Fernando! bom dia!

Pô, vlw ai pela observação do base64, não sabia que também havia essa maneira!

Sobre o segundo questionamento, é porque eu não expliquei direito,  mas o segundo comando não é digitado por mim, seria por um arquivo que teria o papel de dropper, poderia ser um comando injetado num .doc, .odt, .pdf, qualquer coisas que executasse o comando por mim. Esse dropper  seria  enviado sob ataque de engenharia social, então no segundo comando eu presumiria que o usuário já tenha caído nesse ataque e executado o dropper.

  • Administrators
Posted
3 horas atrás, VictorNeves disse:

poderia ser um comando injetado num .doc, .odt, .pdf, qualquer coisas que executasse o comando por mim

É justamente a parte difícil né. :)

Mas eu entendi. Valeu!

  • 1 year later...
Posted

base64 pode ser bem interessante, mas algumas ferramentas "já" possuem recursos pra pegar bichinhos em base64(nem sempre vem habilitado por padrão)

Eu também tenho 2 considerações(seguindo a onda binária do Mercês):

1º Talvez seja melhor transferir algo menor do que um RAT em java, como uma conexão reversa através do netcat

2º Sobre fazer o alvo executar o bichinho do mal, usar algo como DDE pode ser útil, https://pentestlab.blog/2018/01/16/microsoft-office-dde-attacks/

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...