Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
psad — psad: Detecção de Intrusão e Análise de Logs com iptables | Kitploit
Ferramentas/GitHubGitHub/mrash/psad
Análise de VulnerabilidadesEvasão de IDS/IPSAnálise ForenseSegurança de RedeInteligência de AmeaçasDetecção de IntrusãoAnálise de Logs
GitHubmrash/psad

psad

psad: Detecção de Intrusão e Análise de Logs com iptables

Ver Repositório
4277710há 7 anosRevisado pelo Kitploit
Site

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

psad - Detecção de Intrusão com Logs do iptables

Introdução

O Port Scan Attack Detector psad é um daemon de sistema leve escrito em Perl, projetado para trabalhar com os códigos de firewall Linux iptables/ip6tables/firewalld para detectar tráfego suspeito, como varreduras de portas e sweeps, backdoors, comunicações de comando e controle de botnets e muito mais. Ele possui um conjunto de limites de perigo altamente configuráveis (com valores padrão sensatos), mensagens de alerta detalhadas que incluem a origem, destino, intervalo de portas varridas, horários de início e fim, flags TCP e opções nmap correspondentes, informações de DNS reverso, alertas por e-mail e syslog, bloqueio automático de endereços IP ofensivos por meio da configuração dinâmica de regras iptables, fingerprinting passivo de sistema operacional e relatórios DShield. Além disso, o psad incorpora muitas das assinaturas TCP, UDP e ICMP incluídas no sistema de detecção de intrusão Snort. para detectar varreduras altamente suspeitas de vários programas backdoor (ex.: EvilFTP, GirlFriend, SubSeven), ferramentas DDoS (Mstream, Shaft) e varreduras avançadas de portas (SYN, FIN, XMAS) que podem ser facilmente utilizadas contra uma máquina via nmap. psad também pode alertar sobre assinaturas Snort que são registradas via fwsnort, que utiliza a extensão de correspondência de strings do iptables para detectar tráfego que corresponde a assinaturas da camada de aplicação. A partir da versão 2.4.4, o psad também pode detectar a fase de varredura de credenciais padrão IoT do botnet Mirai.

A lista completa de recursos está abaixo.

Baixar ferramenta

Recursos

  • Detecção de varreduras TCP SYN, FIN, NULL e XMAS, bem como varreduras UDP.
  • Suporte para logs IPv4 e IPv6 gerados respectivamente por iptables e ip6tables.
  • Detecção de muitas regras de assinatura do sistema de detecção de intrusão Snort.
  • Modo forense de análise de logs iptables/ip6tables (útil como ferramenta forense para extrair informações de varredura de arquivos de log iptables/ip6tables antigos).
  • Fingerprinting passivo de sistema operacional via pacotes TCP syn. Duas estratégias diferentes de fingerprinting são suportadas; uma reimplementação do p0f que usa estritamente mensagens de log iptables/ip6tables (requer a opção de linha de comando --log-tcp-options) e uma estratégia baseada em TOS.
  • Alertas por e-mail que contêm características de varredura TCP/UDP/ICMP, informações de DNS reverso e whois, correspondências de regras Snort, informações de palpite de SO remoto e muito mais.
  • Quando combinado com fwsnort e a extensão de correspondência de strings do iptables, o psad pode gerar alertas para ataques de estouro de buffer na camada de aplicação, comandos suspeitos de aplicação e outro tráfego suspeito da camada 7.
  • Validação de campos de cabeçalho de tipo e código ICMP.
  • Limites de varredura configuráveis e atribuições de nível de perigo.
  • Análise de regras iptables para verificar a postura de política "drop padrão".
  • Atribuição automática de nível de perigo IP/rede (pode ser usado para ignorar ou escalar automaticamente níveis de perigo para certas redes).
  • Alertas DShield.
  • Bloqueio automático de endereços IP de varredura via iptables/ip6tables e/ou tcpwrappers com base no nível de perigo da varredura. (Este recurso NÃO está habilitado por padrão.)
  • Análise de mensagens de log iptables/ip6tables e geração de saída CSV que pode ser usada como entrada para o AfterGlow. Isso permite que logs iptables/ip6tables sejam visualizados. Gnuplot também é suportado.
  • Modo de status que exibe um resumo das informações atuais de varredura com contagens de pacotes associadas, cadeias iptables/ip6tables e níveis de perigo.

Visualizando Tráfego Malicioso

O psad oferece integração com gnuplot e afterglow para produzir gráficos de tráfego malicioso. Os dois gráficos a seguir são do worm Nachi do desafio Scan30 do Honeynet. Primeiro, um gráfico de link produzido por afterglow após análise dos dados de log iptables pelo psad:

nachi-worm-link-graph "Gráfico de Link do Worm Nachi"

O segundo mostra o tráfego do worm Nachi em uma base horária a partir dos dados iptables do Scan30:

nachi-worm-hourly-graph "Gráfico Horário do Worm Nachi"

Informações de Configuração

Informações sobre palavras-chave de configuração referenciadas pelo psad podem ser encontradas tanto na página de manual psad(8) quanto aqui:

http://www.cipherdyne.org/psad/docs/config.html

Metodologia

Todas as informações que o psad analisa são coletadas de mensagens de log do iptables. O psad, por padrão, lê o arquivo /var/log/messages em busca de novas mensagens iptables e opcionalmente as escreve em um arquivo dedicado (/var/log/psad/fwdata). O psad é então responsável por aplicar a lógica de limite de perigo e assinatura para determinar se uma varredura de porta ocorreu, enviar e-mails de alerta apropriados e (opcionalmente) bloquear endereços IP ofensivos. O psad inclui um tratador de sinal tal que, se um sinal USR1 for recebido, o psad despejará o conteúdo da estrutura de dados hash de varredura atual em /var/log/psad/scan_hash.$$ onde "$$" representa o PID do daemon psad em execução.

NOTA: Como o psad depende do iptables para gerar mensagens de log apropriadas para pacotes não autorizados, o psad é tão bom quanto as regras de log incluídas no conjunto de regras iptables. Portanto, se seu firewall não estiver configurado para registrar pacotes, então o psad NÃO detectará varreduras de porta ou qualquer outra coisa. Geralmente, a melhor maneira de configurar o firewall é com regras padrão de "drop and log" no final do conjunto de regras, e incluir regras acima desta última regra que apenas permitam tráfego que deve ser permitido. Após a execução, o daemon psad tentará verificar se tal regra de negação padrão existe e avisará o usuário caso contrário. Consulte o arquivo FW_EXAMPLE_RULES para exemplos de conjuntos de regras de firewall compatíveis com psad.

Além disso, uma cobertura extensa do psad está incluída no livro "Linux Firewalls: Attack Detection and Response" publicado pela No Starch Press, e um script de suporte neste livro é compatível com psad. Este script pode ser encontrado aqui:

http://www.cipherdyne.org/LinuxFirewalls/ch01/

Instalação

Dependendo da distribuição Linux, o psad pode já estar disponível no repositório de pacotes padrão. Por exemplo, em sistemas Debian ou Ubuntu, a instalação é feita com um simples:

root@kitploit:~
apt-get install psad

Se o psad não estiver disponível no repositório de pacotes, ele pode ser instalado com o script install.pl incluído nas fontes do psad. O script install.pl também lida com atualizações se o psad já estiver instalado. O psad requer vários módulos Perl que podem ou não já estar instalados em seu sistema Linux. Esses módulos estão incluídos no diretório deps/ nas fontes do psad e são instalados automaticamente pelo script install.pl. A lista de módulos é:

  • Bit::Vector
  • Date::Calc
  • IPTables::ChainMgr
  • IPTables::Parse
  • NetAddr::IP
  • Storable
  • Unix::Syslog

O psad também inclui um cliente whois escrito por Marco d'Itri (veja o diretório deps/whois). Este cliente é melhor que outros na coleta das informações whois corretas para um determinado endereço IP.

Configuração do Firewall

O principal requisito para uma configuração iptables ser compatível com o psad é simplesmente que o iptables registre pacotes. Isso é comumente feito adicionando regras nas cadeias INPUT e FORWARD assim:

root@kitploit:~
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

As regras acima devem ser adicionadas no final das cadeias INPUT e FORWARD após todas as regras ACCEPT para tráfego legítimo e logo antes de uma regra DROP correspondente para tráfego que não deve ser permitido pela política. Observe que as políticas iptables podem ser bastante complexas com restrições de protocolo, rede, porta e interface, cadeias definidas pelo usuário, regras de rastreamento de conexão e muito mais. Existem muitos softwares como Shorewall e Firewall Builder, que constroem políticas iptables e aproveitam os recursos avançados de filtragem e registro oferecidos pelo iptables. Geralmente, as políticas construídas por tais softwares são compatíveis com o psad, pois eles adicionam especificamente regras que instruem o iptables a registrar pacotes que não fazem parte do tráfego legítimo. O psad pode ser configurado para analisar apenas aquelas mensagens iptables que contêm prefixos de log específicos (que são adicionados via opção --log-prefix), mas o padrão é que o psad analise todas as mensagens de log iptables em busca de evidências de varreduras de portas, sondagens de programas backdoor e outros tráfegos suspeitos.

Plataformas

O psad geralmente executa em sistemas Linux e está disponível nos repositórios de pacotes de muitas distribuições Linux importantes. Se houver algum problema operacional com o psad, por favor, abra uma issue no github

Licença

O psad é lançado como software de código aberto sob os termos da GNU General Public License (GPL v2+). A versão mais recente pode ser encontrada em https://github.com/mrash/psad/releases

O psad faz uso de muitas das assinaturas TCP, UDP e ICMP disponíveis no Snort (escrito por Marty Roesch, veja http://www.snort.org). Snort é uma marca registrada da Sourcefire, Inc.

Contato

Todas as solicitações de recursos e correções de bugs são gerenciadas através do sistema de issues do github. No entanto, você pode me enviar um e-mail (michael.rash_AT_gmail.com) ou me contatar através do Twitter (@michaelrash).