Introdução
O Overpass foi hackeado! A equipe do SOC (Paradox, parabéns pela promoção) notou atividade suspeita durante um turno da noite enquanto analisava os dados do sistema e conseguiu capturar os pacotes de dados no momento do ataque.
Você consegue descobrir como o invasor entrou e invadir o servidor de produção da Overpass?
Análise do PCAP
Iniciamos a análise do arquivo .pcap enviado pela equipe de SOC utilizando a ferramenta Wireshark. Para isso aplicamos o filtro de requisição http.request.method == "POST" com o objetivo de filtrar todas as requisições POST feitas pelo atacante, onde nos possibilitou de identificar a URL da página utilizada pelo atacante /development/ e o payload foi carregado na página upload.php.

Em seguida, encontramos o payload utilizado pelo atacante para criar um shell reverso.

Como o atacante usou a porta 4242 para a conexão via netcat, filtramos todas as requisições feitas por essa porta através do filtro ip.addr == 192.168.170.145 && tcp.port == 4242.

Em seguida, conseguimos visualizar todos os comandos usados pelo atacante e identificar qual foi a senha utilizada pelo atacante para tentar escalar privilégio alternando para o usuário james.

Nesse mesmo log, encontramos um backdoor SSH utilizado pelo atacante para estabelecer persistência no sistema.
https://github.com/NinjaJc01/ssh-backdoorEm seguida, identificamos que o atacante acessou o arquivo /etc/passwd em busca de outros usuários:

Então copiamos os hashes do pacote para utilizar a ferramenta John The Ripper para ver quantas senhas podem ser quebradas utilizando a wordlist Fasttrack.

Tirando o usuário james conseguimos quebrar 4 senhas.
Análise do Código
Realizamos uma análise mais profunda no backdoor e descobrimos que ele possui um hash padrão.

E também possui um salt fixo presente no código

Olhando novamente para o arquivo .pcap encontramos o hash utilizado pelo atacante
6d05358f090eea56a238af02e47d44ee5489d234810ef6240280857ec69712a3e5e370b8a41899d0196ade16c0d54327c5654019292cbfe0b5e98ad1fec71bed
Em seguida, com o hash e o SALT enviando para o arquivo hash.txt , utilizamos a ferramenta Hashcat para descobrir a senha utilizada pelo atacante
hashcat -m 1710 -a 0 hash.txt /usr/share/wordlists/rockyou.txtSenha encontrada:
november16
Ataque
Agora que o incidente foi investigado, a Paradox precisa de alguém para assumir o controle do servidor de produção do Overpass novamente.
Iniciei com uma enumeração de portas tcp, utilizando a ferramenta Nmap:
nmap -p- -min-rate 1600 -sVC 10.65.139.36 -Pn --openEncontramos as portas:

Acessando a aplicação web nos deparamos com uma mensagem implantada pelo atacante.

Para ganhar acesso ao sistema, acessamos o serviço SSH pela porta 2222
ssh james@10.65.139.36 -oHostKeyAlgorithms=+ssh-rsa -p 2222
Assim que conseguimos acesso, obtemos a user flag no diretório do usuário james

Para conseguir a root flag, ainda no diretório do usuário James, usamos o comando ls -la onde encontramos um arquivo oculto com o bit SUID definido.

Em seguida, executamos o arquivo .suid_bash com o comando abaixo que nos permitiu escalar privilégio root e obter a root flag.
