VictorNeves Posted November 17, 2017 at 01:55 AM Share Posted November 17, 2017 at 01:55 AM 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?! 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 Link to comment Share on other sites More sharing options...
Fernando Mercês Posted November 17, 2017 at 02:13 AM Share Posted November 17, 2017 at 02:13 AM 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/ Link to comment Share on other sites More sharing options...
VictorNeves Posted November 17, 2017 at 12:35 PM Author Share Posted November 17, 2017 at 12:35 PM 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. Link to comment Share on other sites More sharing options...
Fernando Mercês Posted November 17, 2017 at 04:19 PM Share Posted November 17, 2017 at 04:19 PM 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! Link to comment Share on other sites More sharing options...
diego.rax Posted November 29, 2018 at 12:47 PM Share Posted November 29, 2018 at 12:47 PM 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/ Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.