O que são rootkits e como detectá -los

O que são rootkits e como detectá -los
Rootkits são uma das piores coisas que podem acontecer com um sistema e são um dos ataques mais perigosos, mais perigosos do que malware e vírus habituais, tanto nos danos que causam ao sistema quanto na dificuldade em encontrá -los e detectá -los. Rootkits pode permanecer no seu sistema por um longo tempo sem que o usuário perceba e pode causar alguns danos graves ao sistema.

A palavra "rootkit" originalmente vem do mundo dos sistemas 'Unix', onde a raiz é o usuário com mais privilégios de acesso ao sistema '. Enquanto o kit de palavras define o kit que contém um conjunto de ferramentas maliciosas como KeyLoggers, ladrões de credenciais bancários, ladrões de senha, desabilitadores antivírus ou bots para ataques de DDoS, etc. Juntando os dois juntos, você recebe rootkit.

Eles são projetados de tal maneira que permanecem ocultos e fazem coisas maliciosas, como interceptar o tráfego da Internet, roubar cartões de crédito e informações bancárias on -line. Os rootkits dão aos cibercriminosos a capacidade de controlar seu sistema de computador com acesso administrativo completo, também ajuda o invasor a monitorar seus strokes-strokes e desativar seu software antivírus, o que torna ainda mais fácil roubar suas informações secretas.

Como os rootkits entram no sistema?

Rootkits são, de acordo com o tipo deles, incapazes de se espalhar por si mesmos. Portanto, eles são espalhados pelo atacante por tais táticas que o usuário não consegue notar que algo está errado com o sistema. Geralmente escondendo -os em software desonesto que parece legítimo e pode ser funcional. Seja como for, quando você concede o consentimento do software a ser introduzido em sua estrutura, o rootkit discretamente se infiltra por dentro, onde pode ficar baixo até que o invasor/hacker o atue. Rootkits são muito difíceis de identificar porque podem se esconder de usuários, administradores e a maioria dos produtos antivírus. Basicamente, no caso de uma comprometimento de um sistema por rootkit, o escopo do movimento maligno é muito alto.

Engenharia social:

O hacker tenta obter acesso de raiz/administrador, explorando vulnerabilidades conhecidas ou usando engenharia social. Os cibercriminosos empregam engenharia social para fazer o trabalho. Eles tentam instalar rootkits no sistema do usuário enviando -os em um link de phishing, golpes de e -mail, redirecioná -lo para sites maliciosos, corrigir os rootkits em software legítimo que parece normal a olho nu. É importante saber que os rootkits nem sempre querem que o usuário execute um executável malicioso para se esgueirar. Às vezes, tudo o que eles querem é um usuário para abrir um documento PDF ou Word.

Tipos de rootkits:

Para entender os tipos de raízes corretamente, primeiro, precisamos imaginar o sistema como um círculo de anéis concêntricos.

  • No centro, há um kernel conhecido como anel zero. O kernel tem o mais alto nível de privilégios em um sistema de computador. Ele tem acesso a todas as informações e pode operar no sistema como ele deseja.
  • Anel 1 e anel 2 são reservados para processos menos privilegiados. Se esse anel falhar, os únicos processos que serão afetados são os que o anel 3 depende.
  • Anel 3 é onde o usuário reside. É o modo de usuário ter uma hierarquia de acesso rigoroso de privilégio.

Criticamente, um procedimento em execução em um anel mais privilegiado pode derrubar seus benefícios e ser executado em um anel externo, mas isso não pode funcionar o caminho inverso sem o consentimento inequívoco dos instrumentos de segurança da estrutura de trabalho. Em situações de onde esses componentes de segurança podem ficar longe, diz -se que uma vulnerabilidade de escalada de privilégio existe. Agora existem 2 tipos mais proeminentes de raízes:

Modo de usuário Rootkits:

Rootkits desta categoria opera em nível de baixo privilégio ou do usuário no sistema operacional. Conforme expresso antes dos rootkits, os hackers mantêm sua autoridade sobre o sistema, dando a um canal de passagem secundária, o modo de usuário rootkit mudará, em geral. Existem diferentes raízes desse tipo para Windows e Linux.

Linux Rootkits de modo de usuário:

Muitos rootkits de modo de usuário Linux estão disponíveis hoje em dia, por exemplo:

  • Para obter acesso remoto à máquina do alvo, os serviços de login como 'login', 'sshd' são todos modificados pelo rootkit para incluir um backdoor. Os atacantes podem ter acesso à máquina do alvo apenas chegando a um backdoor. Lembre -se de que o hacker já explorou a máquina, ele acabou de adicionar um backdoor para voltar outra vez.
  • Para realizar o ataque de escalada de privilégio. O atacante modifica comandos como 'su', sudo que quando ele usa esses comandos através de um backdoor, ele terá acesso ao nível da raiz aos serviços.
  • Para esconder sua presença durante um ataque por
  • Esconder de processo: vários comandos que mostram dados sobre procedimentos em execução no 'PS', 'PIDOF' do tipo máquina, são modificados com a meta de que o procedimento agressor não está registrado entre outros procedimentos em execução. Além disso, o comando 'Kill All' é normalmente alterado com o objetivo de que o processo do hacker não pode ser morto e a ordem 'Crontab' é alterada para que os processos maliciosos sejam executados em um momento específico sem mudar na configuração de Crontab.
  • Esconder o arquivo: escondendo sua presença de comandos como 'ls', 'encontre'. Além disso, escondendo -se do comando 'du' que mostra o uso de disco de um processo executado por um atacante.
  • Escondido para eventos: esconder -se dos registros do sistema modificando 'syslog.D 'arquivo para que eles não possam fazer login nesses arquivos.
  • Esconder de rede: esconder -se de comandos como 'netstat', 'iftop', que mostra conexões ativas. Comandos como 'ifconfig' também são modificados para erradicar sua presença.

Rootkits de modo de kernel:

Antes de passar para os rootkits do modo de kernel, primeiro, veremos como o kernel funciona, como o kernel lida com solicitações. O kernel permite que os aplicativos sejam executados usando recursos de hardware. Como discutimos o conceito de anéis, os aplicativos Ring 3 não podem acessar um anel mais seguro ou privilegiado I.E anel 0, eles dependem de chamadas do sistema que processam usando bibliotecas de subsistema. Então, o fluxo é algo assim:

Modo do usuário >> Bibliotecas do sistema >> Tabela de chamada do sistema >> kernel

Agora, o que um invasor fará é que ele alterará a tabela de chamadas do sistema usando o Insmod e depois mapear instruções maliciosas. Então ele inserirá o código e o fluxo maliciosos do kernel são assim:

Modo do usuário >> Bibliotecas do sistema >> Tabela de chamada do sistema alterado >>
Código de kernel malicioso

O que veremos agora é como essa tabela de chamada do sistema é alterada e como o código malicioso pode ser inserido.

  • Módulos do kernel: o kernel Linux foi projetado de forma a carregar um módulo de kernel externo para apoiar sua funcionalidade e inserir algum código no nível do kernel. Esta opção dá aos atacantes um grande luxo para injetar código malicioso diretamente no kernel.
  • Alteração do arquivo do kernel: Quando o kernel do Linux não é configurado para carregar módulos externos, a alteração do arquivo do kernel pode ser feita na memória ou disco rígido.
  • O arquivo do kernel que segura a imagem da memória no disco rígido é /dev /kmem. O código de corrida ao vivo no kernel também existe nesse arquivo. Nem requer uma reinicialização do sistema.
  • Se a memória não puder ser alterada, o arquivo do kernel no disco rígido pode ser. O arquivo que segura o kernel no disco rígido é vmlluz. Este arquivo só pode ser lido e alterado pela raiz. Lembre -se de que, para um novo código a ser executado, é necessária uma reinicialização do sistema neste caso. Alterar o arquivo do kernel não precisa ir do anel 3 para o anel 0. Só precisa de permissões de raiz.

Um excelente exemplo de rootkits do kernel é o smartservice rootkit. Ele impede que os usuários lançem qualquer software antivírus e, portanto, serve como guarda -costas para todos os outros malware e vírus. Era um famoso rootkit devastador até meados de 2017.

Chkrootkit:

Esses tipos de malware podem permanecer no seu sistema por um longo tempo sem que o usuário perceba e pode causar alguns danos graves, uma vez que o rootkit é detectado, não há outra maneira além de reinstalar todo o sistema e, às vezes, pode até causar falha de hardware.

Felizmente, existem algumas ferramentas que ajudam a detectar uma variedade de rootkits conhecidos em sistemas Linux como Lynis, Clam AV, LMD (detecção de malware Linux). Você pode verificar seu sistema quanto a rootkits conhecidos usando os comandos abaixo:

Primeiro de tudo, precisamos instalar o chkrootkit usando o comando:

ubuntu@ubuntu: ~ $ sudo apt install chkrootkit

Isso instalará a ferramenta Chkrootkit e você poderá usá -la para verificar se há rootkits usando:

ubuntu@ubuntu: ~ $ sudo chkrootkit
Rootdir é '/'
Verificando 'amd' ... não encontrado
Verificando 'chsh' ... não infectado
Verificando 'cron' ... não infectado
Verificando 'Crontab' ... não infectado
Verificando 'data' ... não infectado
Verificando 'du' ... não infectado
Verificando 'Dirname' ... não infectado
Verificando 'su' ... não infectado
Verificando 'ifconfig' ... não infectado
Verificando 'Inetd' ... não infectado
Verificando 'inetdconf' ... não encontrado
Verificando 'identd' ... não encontrado
Verificando 'init' ... não infectado
Verificando 'killall' ... não infectado
Verificando 'login' ... não infectado
Verificando 'ls' ... não infectado
Verificando 'lsof' ... não infectado
Verificando 'passwd' ... não infectado
Verificando 'pidof' ... não infectado
Verificando 'ps' ... não infectado
Verificando 'pSTree' ... não infectado
Verificando 'rpcinfo' ... não encontrado
Verificando 'rlogind' ... não encontrado
Verificando 'rshd' ... não encontrado
Verificando 'slogin' ... não infectado
Verificando 'Sendmail' ... não encontrado
Verificando 'sshd' ... não encontrado
Verificando 'syslogd' ... não testado
Verificando 'alienígenas' ... nenhum arquivo suspeito
Procurando os troncos de Sniffer, pode demorar um pouco ... nada encontrado
Procurando os arquivos padrão do Rootkit Hidrootkit ... nada encontrado
Procurando os arquivos padrão do Rootkit T0RN ... nada encontrado
Procurando os padrões V8 do T0RN ... nada encontrado
Procurando os arquivos padrão do Rootkit Lion ... nada encontrado
Procurando os arquivos padrão do Rootkit RSHA ... nada encontrado
Procurando os arquivos padrão do rootkit rh-sharpe
Procurando arquivos padrão e dirs de rootkit (ARK) do ambiente ... nada encontrado
Procurando por arquivos e diretores suspeitos, pode demorar um pouco ..
Os seguintes arquivos e diretórios suspeitos foram encontrados:
/usr/lib/debug/.Build-id/lib/módulos/5.3.0-45-genérico/vdso/.Build-id/lib/módulos/
5.3.0-46-genérico/vdso/.Build-id
/usr/lib/debug/.Build-id/lib/módulos/5.3.0-45-genérico/vdso/.Build-id/lib/módulos/
5.3.0-46-genérico/vdso/.Build-id
Procurando por arquivos e diretos de worm LPD ... nada encontrado
Procurando por arquivos e diretos de worm ramen ... nada encontrado
Procurando por arquivos maníacos e dirs ... nada encontrado
Procurando por arquivos RK17 e dirs ... nada encontrado
CHKPROC: AVISO: Possível LKM Trojan instalado
Chkdirs: nada detectado
Verificando 'rexedcs' ... não encontrado
Verificando 'sniffer'… lo: não promisc e sem soquetes de sniffer de pacotes
VMNET1: não promisc e sem soquetes de sniffer de pacotes
VMNET2: não promisc e sem soquetes de sniffer de pacotes
vmnet8: não promisc e sem soquetes de sniffer de pacotes
BNEP0: Sniffer de pacote (/sbin/dhclient [432])
Verificando 'W55808' ... não infectado
Verificando 'wted'… chk wtmp: nada excluído
Verificando 'Scalper' ... não infectado
Verificando 'Slapper' ... não infectado
Verificando 'Z2'… chk lastLog: nada excluído
Verificando 'chkutmp'… o TTY dos seguintes processos do usuário (s) não foi encontrado
in/var/run/utmp !
! Ruid pid tty cmd
! 101 0 ES = V8_CONTEXT_SNAPSHOT_DATA: 100, V8101-MSSTEAMS-PROCESS-TYPE = NotificationsManager
! ESS-TYPE = PlugInhost 0 Ta: 100, V8_NATIONS_DATA: 101
! raiz 3936 pts/0/bin/sh/usr/sbin/chkrootkit
! raiz 4668 pts/0 ./chkutmp
! raiz 4670 pts/0 ps axk tty, russer, args -o tty, pid, usuário, args
! Raiz 4669 pts/0 sh -c ps axk "tty, russer, args" -o "tty, pid, usuário, args"
! Raiz 3934 pts/0 sudo chkrootkit
! Usman 3891 pts/0 Bash
Chkutmp: Nada excluído

O programa Chkrootkit é um script de shell que verifica os binários do sistema no caminho do sistema para modificação maliciosa. Ele também inclui alguns programas que verificam vários problemas de segurança. No caso acima, ele verificou um sinal de rootkit no sistema e não encontrou nenhum, bem, isso é um bom sinal.

Rkhunter (rootkithunter):

Outra ferramenta incrível para caçar uma variedade de raízes e façanhas locais em um sistema operacional é o RKHunter.

Primeiro de tudo, precisamos instalar o RKHunter usando o comando:

ubuntu@ubuntu: ~ $ sudo apt install rkhunter

Isso instalará a ferramenta RKHunter e você pode usá -la para verificar se há rootkits usando:

ubuntu@ubuntu: ~ sudo rkhunter -check | Rootkits
Verificando o Rootkits…
Executando a verificação de arquivos e diretórios de rootkit conhecidos
55808 TROJAN - Variante a [não encontrado]
ADM Worm [não encontrado]
Ajakit rootkit [não encontrado]
Adore rootkit [não encontrado]
kit APA [não encontrado]
Worm Apache [não encontrado]
ROOTKIT ABIENTE (ARK) [não encontrado]
Balaur Rootkit [não encontrado]
Beastkit rootkit [não encontrado]
Bex2 Rootkit [não encontrado]
Bobkit Rootkit [não encontrado]
CB Rootkit [não encontrado]
Cinik Worm (Slapper.V variante) [não encontrado]
Kit de abuso de Danny-Boy [não encontrado]
Devil Rootkit [não encontrado]
Diamorfina LKM [não encontrado]
Dica-Kit Rootkit [não encontrado]
Sonhos Rootkit [não encontrado]
Duarawkz Rootkit [não encontrado]
Ebury Backdoor [não encontrado]
Enye lkm [não encontrado]
Flea linux rootkit [não encontrado]
Fu rootkit [não encontrado]
Fuck'it rootkit [não encontrado]
Gaskit Rootkit [não encontrado]
Heroína LKM [não encontrado]
Kit HJC [não encontrado]
Ignokit rootkit [não encontrado]
Intoxonia-ng rootkit [não encontrado]
IRIX Rootkit [não encontrado]
Jynx rootkit [não encontrado]
Jynx2 rootkit [não encontrado]
Kbeast Rootkit [não encontrado]
Kitko Rootkit [não encontrado]
KNARK ROOTKIT [não encontrado]
LD-Linuxv.Então rootkit [não encontrado]
Li0n worm [não encontrado]
Lockit / ljk2 rootkit [não encontrado]
Mokes Backdoor [não encontrado]
Mood-nt Rootkit [não encontrado]
MRK Rootkit [não encontrado]
Ni0 rootkit [não encontrado]
Ohhara rootkit [não encontrado]
Kit de óptica (Tux) Worm [não encontrado]
Oz rootkit [não encontrado]
Phalanx Rootkit [não encontrado]
Phalanx2 Rootkit [não encontrado]
Phalanx Rootkit (testes estendidos) [não encontrado]
Portacelo rootkit [não encontrado]
R3D Storm Toolkit [não encontrado]
Rootkit de Rh-Sharpe [não encontrado]
RSHA's Rootkit [não encontrado]
Worm Scalper [não encontrado]
Sebek Lkm [não encontrado]
Desligar rootkit [não encontrado]
Shv4 rootkit [não encontrado]
Shv5 rootkit [não encontrado]
Sin rootkit [não encontrado]
Worm Slapper [não encontrado]
Sneakin Rootkit [não encontrado]
Rootkit 'espanhol' [não encontrado]
Suckit rootkit [não encontrado]
SUPERKIT ROOTKIT [não encontrado]
TBD (Telnet Backdoor) [não encontrado]
Telekit rootkit [não encontrado]
T0rn rootkit [não encontrado]
trnkit rootkit [não encontrado]
Kit Trojanit [não encontrado]
Tuxtendo Rootkit [não encontrado]
Urk rootkit [não encontrado]
Vampiro rootkit [não encontrado]
Vckit rootkit [não encontrado]
Volc rootkit [não encontrado]
Xzibit rootkit [não encontrado]
Zarwt.Kit rootkit [não encontrado]
ZK Rootkit [não encontrado]

Isso verificará um grande número de rootkits conhecidos em seu sistema. Para verificar se há comandos do sistema e todos os tipos de arquivos maliciosos em seu sistema, digite o seguinte comando:

ubuntu@ubuntu: ~ sudo rkhunter -c --enable all ---disable nenhum

Se ocorrer um erro, comente as linhas de erro em /etc /rkhunter.arquivo conf e funcionará sem problemas.

Conclusão:

Rootkits pode causar alguns danos irreversíveis graves ao sistema operacional. Ele contém uma variedade de ferramentas maliciosas, como keyloggers, ladrões de credenciais bancários, ladrões de senha, desabilitadores de antivírus ou bots para ataques de DDoS, etc. O software permanece oculto em um sistema de computador e continua fazendo seu trabalho para um atacante, pois ele pode acessar remoto o sistema da vítima. Nossa prioridade depois de detectar um rootkit deve ser alterar todas as senhas do sistema. Você pode corrigir todos os links fracos, mas a melhor coisa é limpar completamente e reformar o impulso, pois você nunca sabe o que ainda está dentro do sistema.