H4cked
It seems like our machine got hacked by an anonymous threat actor. However, we are lucky to have a .pcap file from the attack. Can you determine what happened? Download the .pcap file and use Wireshark to view it.
Görev 1 Oh no! We’ve been hacked!
İndirmemiz istenen dosyayı indirelim ve wireshark ile dosyayı açalım.
Saldırgan hangi serviste oturum açmayı deniyor?
1 Nolu kayıta sağ tıklıyoruz > Follow > TCP Stream yolunu izliyoruz.
Saldırganın FTP Servisinde oturum açmaya çalıştığını görüntüledik.
- FTP
Protocol FTP yazan kayıtların info kısmına baktığımızda “Request: User Jenny , Response: Please specify the password “ şeklinde bilgileri görüyoruz.
Seçilen kaydın TCP Stream’ ini görüntülediğimizde sadece seçilen kaydın birden fazla protokollerindeki akışları görüntüleriz. Fakat ilk gelen ekran yani tüm kayıtları görüntülemek için filtrelemeyi kapatmamız gerekiyor
Van Hauser’in bir dizi hizmeti kaba kuvvet uygulamak için kullanılabilecek çok popüler bir aracı var. Bu aletin adı nedir?
- Hydra
Saldırgan belirli bir kullanıcı adıyla oturum açmaya çalışıyor. kullanıcı adı nedir?
- jenny
Kullanıcının şifresi nedir?
password123
Saldırgan oturum açtıktan sonra geçerli FTP çalışma dizini nedir?
- /var/www/html
Saldırgan bir backdoor dosyası yükledi. Bu dosyanın adı nedir?
- shell.php
Backdoor dosyasının yüklendiği URL nedir?
FTP kayıtlarında TCP Stream yaptığımızda FTP deki komut geçmişlerini görüntüleyebileceğimizi öğrenmiştik. Fakat bir FTP dosyasının içeriğini görüntüleyebilmek için Protocol kısmında FTP-Data olan kayıta bakmamız gerekir.
Tüm kayıtların görüntülendiği ana pencerede Protocol butonuna basarak protokol kayıtlarının bir arada durmasını sağlamıştık.
En son 395 nolu kayıtı incelemiştik. Artık bu kayıtla işimiz bittiği için biraz daha aşağıya inelim ve Protokolü FTP-DATA olan kayıtları görüntüleyelim.
412 ve 431 Nolu kayıtların FTP-DATA protokolüne ait olduğunu göryoruz.
Info kısmında STOR shell.php yazan kaydın TCP Streamine bakalım.
- “http://pentestmonkey.net/tools/php-reverse-shell”
Saldırgan bir ters kabuk(reverse shell) aldıktan sonra hangi komutu manuel olarak yürüttü?
431 Nolu kayıtta shell içeriğini görüntülemiştik. Fakat hedef makineden ters kabuk aldıktan sonraki işlemler 431 Nolu kayıttan sonraki kayıtlarda karşımıza geleceğinden biraz daha aşağılara bakmamız gerekiyor.
452 Nolu kayıta baktığımızda Ters Kabuğun alındığını ve yürütülen komutları görebiliriz.
- whoami
Hedef bilgisayarın hostname ‘i nedir?
452 nolu kaydın TCP Stream’ini incelemeye devam ettiğimizde bir yer dikkatimizi çekiyor.
Saldırgan ls -la çektikten sonra interaktif shell almaya çalışıyor ve başarıyor.
İnteraktif shell aldığında kullanıcı adı ve hostname ‘si gözüküyor.
- wir3
Saldırgan yeni bir TTY kabuğu oluşturmak için hangi komutu yürüttü?
Ters kabuk(reverse shell) alındıktan sonra kullanılan shell sadece imleç şeklinde olur ve www-data@wir3 şeklinde olmaz.
www-data@wir3 şeklinde olan yeni bir tty shell’ine geçmek için saldırgan python ile interaktif shell alma komutunu kullandığını görmüştük.
452 Nolu kaydın TCP Streamine baktığımızda komutun şöyle olduğunu görüyoruz:
- python3 -c ‘import pty; pty.spawn(“/bin/bash”)’
Root shell olabilmek için hangi komut yürütüldü?
Yani bize root kullanıcısına hangi komutla geçtiği soruluyor.
452 nolu kayıta baktığımızda şu kısım dikkatimizi çekiyor.
- sudo su
Saldırgan GitHub’dan bir şey indirdi. GitHub projesinin adı nedir?
452 Nolu kaydı incelemeye devam edelim.
- Reptile
Proje, sisteme gizli bir arka kapı(backdoor) kurmak için kullanılabilir. Tespit etmek çok zor olabilir. Bu tür arka kapıya ne denir?
Projenin Reptile olduğunu öğrenmiştik. Githubdaki linkine gidelim ve projenin ne olduğu daha fazla bilgi sahibi olalım.
- LKM Linux Toolkit
Görev 2 Hack your way back into the machine
FTP hizmetinde Hydra’yı (veya benzer herhangi bir aracı) çalıştırın. Saldırgan karmaşık bir parola seçmemiş olabilir. Ortak bir kelime listesi kullanırsanız şanslı olabilirsiniz.
Karmaşık olmayan şifreler için wordlist olarak genellikle /usr/share/wordlists/ dizinindeki rockyou.txt kullanılır.
Saldırganın FTP’ye jenny kullanıcısı olarak giriş yaptığını bildiğimiz için jenny kullanıcısı için brute force saldırısı yapacağız.
1
hydra -l jenny -P /usr/share/wordlists/rockyou.txt ftp://IP$
l parametresi; kullanıcı adı belirtmek için kullanılır. -L parametresi; kullanıcı adı bilinmediği zamanlarda wordlist kullanarak kullanıcı adı denetir. “-L wordlist.txt” kullanım şeklidir. -p parametresi; wordlist kullanmadan sadece parola yazılır. Örnek kullanım : “-p 987654321” -P parametresi; wordlist kullanarak şifre denememizi sağlar. Şifrenin bilinmediği zamanlarda bu parametre kullanılır.
Şifreyi buluyoruz.
- 987654321
Bu bilgileri kullanarak ftp servisine giriş yapalım.
Saldırganın yaptığı gibi php reverse shell ekliyoruz.
Ardından chmod 777 ile herkesin ulaşabilmesini sağlayalım.
netcat çalıştıralım.
1
nc -nvlp 1234
10.10.139.146/shell2.php adresine gittiğimde shellimi alıyorum.
python3 -c 'import pty; pty.spawn("/bin/bash")'
ile shelli stabil hale getirelim ve su jenny yazarak jenny kullanıcısına geçelim.
Ardından saldırganın yaptığı gibi sudo su komutunu çalıştırarak root olalım ve bayrağı alalım.
ebcefd66ca4b559d17b440b6e67fd0fd