Escolar Documentos
Profissional Documentos
Cultura Documentos
Write-up iam
A melhor parte do Hacking Club é que ele é muito prático. Se você é novo em hacking, experimente!
Varredura nmap:
Precisamos saber quais serviços estão sendo executados nos bastidores e quais portas estão abertas. Então, vamos usar
uma ferramenta chamada nmap.
Ports:
Porta 22 - SSH
Write-Up - IAM 1
Essa versão do Apache é vulnerável a SSRF no mod_proxy do apache2, estarei deixando um link com mais informações
detalhadas:
Write-Up - IAM 2
Building a POC for CVE-2021-40438
If you're blue team and want to know what an exploit for this looks like for filtering purposes I've added that
information for you in the conclusions section. While working on one of the Insane machines on Hack The
Box I came across a scenario in which the SSRF in mod_proxy of apache2 could have potentially been the
https://firzen.de/building-a-poc-for-cve-2021-40438
Como o nome da máquina já nos dá uma HINT (IAM), podemos consultar a instância e recuperar informações específicas do
AWS EC2 e, no pior dos casos, credenciais temporárias anexadas ao AWS EC2.
Podemos então acessar a instância de metadados, disponível por meio de um endereço IP de intervalo APIPA sobre HTTP—
http://169.254.169.254/
http://169.254.169.254/latest/meta-data/iam/security-credentials/
Poc:
/?unix:AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
Or
Iremos então enviar a Poc, estarei utilizando o BurpSuite para interceptar a nossa requisição, assim podemos manipula-lá com
facilidade.
Write-Up - IAM 3
Enviarei a requisição para o Repeater.
E temos o nome da Role (MACHINE_IAM_ROLE), iremos enviar a requisição novamente passando o nome da ROLE
http://169.254.169.254/latest/meta-data/iam/security-credentials/MACHINE_IAM_ROLE
Write-Up - IAM 4
E aqui temos as credenciais temporárias anexadas ao AWS EC2
Pacu é uma estrutura de exploração de código aberto da AWS, projetada para testes de segurança ofensivos em ambientes
de nuvem. Criado e mantido pelo Rhino Security Labs, o Pacu permite que os Pentesters explorem as falhas de configuração
em uma conta da AWS, usando módulos para expandir facilmente sua funcionalidade. Os módulos atuais permitem uma
Write-Up - IAM 5
variedade de ataques, incluindo escalonamento de privilégios de usuário, backdoor de usuários IAM, ataques a funções
Lambda vulneráveis e muito mais.
GitHub - RhinoSecurityLabs/pacu: The AWS exploitation framework, designed for testing the security of Amazon Web Services environments.
Update 5/4/2021: We recently added support for installing via pip, take a look at the Installation section for running pacu when installed with pip. If you want to
run pacu directly from the checked out repo you'll want to use ./cli.py instead of python3 pacu.py.
https://github.com/RhinoSecurityLabs/pacu
Com o Pacu aberto irei rodar o comando set_keys para setar as chaves de acesso, que são:
AccessKeyID
SecretAccessKey
Token
Agora iremos utilizar o comando console que irá gerar uma url de acesso a AWS web console, assim podemos navegar pela
a interface gráfica do website.
Write-Up - IAM 6
Acessando a AWS web console, iremos em S3 e vamos acessar o bucket → machine-iam-bucket, que é onde temos acesso
de leitura.
Acessando o bucket, temos a nossa primeira flag e uma chave de usuário → op-user-key.pem
Write-Up - IAM 7
Tentaremos se conectar no ssh utilizando essa chave privada.
E temos acesso, rodando o comando sudo -l podemos ver que temos permissão de executar dois comandos como root sem
precisar passar a senha
Write-Up - IAM 8
httpd é o programa do servidor Apache HyperText Transfer Protocol (HTTP). Ele é projetado para ser executado como um
processo daemon independente. Quando usado dessa forma, ele criará um pool de processos-filho ou threads para lidar com
as solicitações.
O processo de privilege escalation aqui é bem simples, podemos editar o arquivo httpd.service inserindo uma reverse shell
na variável ExecStart . Para isso temos que ter permissão de escrita no arquivo httpd.service.
Então vamos lá, primeiro temos que localizar o arquivo httpd.service, e para isso usaremos o seguinte comando:
Write-Up - IAM 9
Ouvinte do netcat para recebermos a conexão
Write-Up - IAM 10
E recebemos a nossa conexão reversa com o usuário root 😀
Write-Up - IAM 11