carlossilva9867 / rookit_for_linux

Repositorio para estudo e demostração do comportamento de rootkit com linux
0 stars 0 forks source link

Linux Rootkit Features #1

Open ghost opened 6 months ago

ghost commented 6 months ago

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...

carlossilva9867 commented 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/

ghost commented 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

  • [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

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.