VictorNeves Posted November 17, 2017 Posted November 17, 2017 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
Administrators Fernando Mercês Posted November 17, 2017 Administrators Posted November 17, 2017 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/
VictorNeves Posted November 17, 2017 Author Posted November 17, 2017 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 Fernando Mercês Posted November 17, 2017 Administrators Posted November 17, 2017 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!
diego.rax Posted November 29, 2018 Posted November 29, 2018 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/
Recommended Posts
Archived
This topic is now archived and is closed to further replies.