Baixei um arquivo de captura de pacotes (.pcapng) do malware-traffic-analysis.net que era um exemplo de uma tentativa de ataque contra um servidor web usando a vulnerabilidade Log4J (CVE-2021-44228). Examinei a quantidade de endpoints se comunicando com o servidor e, sabendo que jnidi é comum na vulnerabilidade, encontrei-o em texto claro.
Ao abrir o PCAP, a primeira coisa que gosto de fazer é ver quantos dispositivos estão presentes/se comunicando (Statistics -> Endpoints)
Depois de notar uma quantidade incomum de tráfego e diferentes conversas IPv4 originadas de diferentes países, exportei os endpoints para exibição em um mapa global usando o banco de dados GEOIP da Max Mind. (Endpoints -> Map -> Open in Browser)
Sabendo que estava lidando com um PCAP de exploit Log4J, e que o exploit aproveita a vulnerabilidade da Interface de Nomenclatura e Diretório Java (jndi), pensei que esse seria um bom filtro para começar (ip contains "jndi")
O filtro para "jndi" funcionou bem; expandi o primeiro pacote, que era uma requisição HTTP POST, e examinei o campo User-Agent, que mostrou uma requisição ldap com um IP seguido de texto codificado em base-64.
A decodificação do final da requisição POST inicial do ataque mostra um wget, que é uma requisição web para um IP baixar lh[.]sh, um script shell, e o comando chmod, que altera privilégios para adicionar x, que é a permissão de execução. Por fim, ele iniciaria o script shell
Em seguida, determinei se o servidor host em 198.71.247.91 fez conexões com servidores externos, especificamente com o endereço IP do wget na string decodificada. Filtrei por pacotes SYN, que estabelecem uma conexão TCP, e descobri que o servidor não se conectou a endereços externos, o que provavelmente significa que o servidor estava corrigido e, portanto, o exploit falhou.
Com o script decodificado, investiguei mais a fundo usando o VirusTotal para saber mais sobre o IP que o script estava chamando e descobri que ele era malicioso
Na seção Comunidade do VirusTotal, havia mais evidências de que se tratava de um ataque Log4J, pois esse IP era conhecido por tentar o exploit no passado.
