Open ghost opened 6 months ago
Boa tarde, hoook3d! Muito obrigado pelo seu comentário.
Este é um projeto que simula o comportamento de um rootkit de aplicação. Meu objetivo é simular alguns comportamentos que são utilizados pelos rootkits, a fim de identificá-los de alguma forma, seja durante a criação de um novo serviço ou alguma modificação de kernel. O foco principal é na detecção e não na exploração em si. De fato ele possui bastante características de Persistência
Vou pensar nas melhoria que você sugeriu
Se vocẽ quiser algo mais aprofundado sobre o assunto eu te indico este artigo
Se tiver mais sugestão fique a vontande https://www.linkedin.com/in/carlos-vinicius-rs/
Boa tarde, hoook3d! Muito obrigado pelo seu comentário.
Este é um projeto que simula o comportamento de um rootkit de aplicação. Meu objetivo é simular alguns comportamentos que são utilizados pelos rootkits, a fim de identificá-los de alguma forma, seja durante a criação de um novo serviço ou alguma modificação de kernel. O foco principal é na detecção e não na exploração em si. De fato ele possui bastante características de Persistência
- [x] Criação de usuário
- [x] Modificação de grupos
- [x] Criação de cronograma
- [x] Criação de serviço
Vou pensar nas melhoria que você sugeriu
- [ ] Ocultação conexões TCP / UDP com C2
- [ ] Ocultação Diretorios e scripts utilizados para estabelecer o controle
Se vocẽ quiser algo mais aprofundado sobre o assunto eu te indico este artigo
- https://xcellerator.github.io/posts/linux_rootkits_01/
- https://xcellerator.github.io/posts/linux_rootkits_08/
Se tiver mais sugestão fique a vontande https://www.linkedin.com/in/carlos-vinicius-rs/
Entendi, é por que quando um rootkit ele é carregado no sistema, além de ele se audo esconder do lsmod ou no "ld.so.preload", ele normalmente abusa de syscalls, do sistema e faz com que um comportamento padrão seja o padrão que ele quer, normalmente reverse shell são feitas usando o protocolo ICMP (ICMP Backdoor), se tornar root basicamente seria fazer um hook na syscall kill, por exemplo: kill -64 0 (e você é root) , um rootkit ele age assim, ele não é fácil de achar, principalmente as backdoors/persistencia, um rootkit nunca faria ou teria uma funcionalidade de um systemd backdoor, quando um atacante ja tem acesso a maquina, ele não vai usar o metodo antigo de persistencia por chaves de ssh, muito menos criar um usuário privilegiado, esse repositório é mais pra persistencia e como detectá-la. Rootkits são totalmente diferentes, assim como seus métodos de detecção, chkrootkit e rkhunter são antigos e são fáceis de dar bypass, hoje em dia tem outras ferramentas melhores de detecção, tanto é que auditoria de logs na maioria das vezes não funciona e não detecta nada quando um atacante realmente sabe o que faz, ainda mais com um rootkit em suas mãos.
Quando terá hooking de syscalls no seu rootkit? Por ex hookar a getdents pra esconder diretórios, tcp4_seq_show e tcp6_seq_show pra esconder conexões e etc... Isso ai não está nem perto de ser um rootkit, e a remoção também, não é assim que se detecta e remove um rootkit seja userland ou kernel mode no linux, esse repositório é mais para persistência no linux e não rootkit...