Ir para conteúdo
  • Cadastre-se
VictorNeves

bypassando defesa de perímetro com base64

Posts Recomendados

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

  • Curtir 2

Compartilhar este post


Link para o post
Compartilhar em outros sites

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/

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites
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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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/

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×