Post

Grep

Amacınız, keşif ve OSINT becerilerilerinizi kullanarak uygulamadaki güvenlik açıklarını belirlemek ve bunlardan yararlanmaktır. İlerledikçe uygulamadaki zayıf noktaları arayacak, hassas verileri bulacak ve yetkisiz erişim elde etmeye çalışacaksınız.


API KEY

nmap taramasıyla başlayalım.

1
2
3
4
5
6
7
8
9
10
11
12
┌──(root㉿kali)-[~/Desktop]
└─# nmap -T4 -sV 10.10.173.21       
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-29 15:26 EDT
Nmap scan report for 10.10.173.21 (10.10.173.21)
Host is up (0.093s latency).
Not shown: 997 closed tcp ports (reset)
PORT    STATE SERVICE  VERSION
22/tcp  open  ssh      OpenSSH 8.2p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
80/tcp  open  http     Apache httpd 2.4.41 ((Ubuntu))
443/tcp open  ssl/http Apache httpd 2.4.41
51337/tcp open  http     Apache httpd 2.4.41
Service Info: Host: ip-10-10-173-21.eu-west-1.compute.internal; OS: Linux; CPE: cpe:/o:linux:linux_kernel

80 ve 443 portları açık 80 portuna gittiğimizde default apache sayfasıyla karşılaşıyoruz.

443 portuna gitmeye çalıştığımızda ise iznimiz olmadığını görüyoruz.

etc/hosts dosyasına siteyi ekleyerek gitmeyi denedim.

1
2
nano /etc/hosts
MACHINE_IP grep.thm

hosts dosyasını kaydettiğimizde artık siteye erişebiliriz.

Register sayfasından kayıt olmaya çalıştığımda Invalid or Expired API key hatasıyla karşılaşıyorum.

İnternetten sitede yazan SearchME hakkında araştırma yaptım ve bir Github sayfası buldum.

api/register.php dosyasının history bölümüne girdiğimde api key ile karşılaşıyorum.

İlk sorunun cevabını bulduk.

First Flag

Siteye kayıt olurken burp ile isteği durdurup bulduğum api keyi kullandım ve karşılaştığım hatayı çözmüş oldum.

Giriş yaptığımızda ilk bayrağı buluyoruz.

What is the email of the “admin” user?

Github sayfasında upload.php dosyası dikkatimi çekti.

upload.php dizinine giderek dosya yükleyebiliyoruz.

Kodları incelediğimde dosyaları magicbyte larına bakarak kabul ettiğini gördüm.

Hexeditor ile reverseshell.php dosyasının ayarlarıyla oynadım :)

1
2
┌──(root㉿kali)-[~/Downloads]
└─# hexeditor reverseshell.php 

İlk 4 hex kodunu jpeg dosyasının hex kodu olan “FF D8 FF E0” ile değiştirdim.

Dosyayı yüklemeyi başardım.

Dosyaların nereye yüklendiğini görmek için gobuster ile dizin taraması yaptım ve api/uploads dizinine yüklendiğini gördüm.

Makineye girmeyi başardım.

var/www klasörü içinde backup dosyası dikkatimi çekti.

1
2
3
4
5
6
7
8
9
10
11
12
$ cd var/www
$ ls
backup
certificate.crt
certificate.csr
default_html
html
leak_certificate.crt
leak_certificate.csr
leakchecker
private.key
private_unencrypted.key

backup içerisindeki users.sql dosyasında adminin mailini görüntülüyorum.

What is the host name of the web application that allows a user to check an email for a possible password leak?

leak_certificate.crt dosyasını inceledim.

1
2
3
4
5
6
7
8
9
10
11
12
$ openssl x509 -in leak_certificate.crt -text -noout
Certificate:
    Data:
        Version: 1 (0x0)
        Serial Number:
            2c:df:fe:6b:5d:68:11:a2:28:aa:4e:ee:07:6d:a5:d5:46:f6:ee:a2
        Signature Algorithm: sha256WithRSAEncryption
        Issuer: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = leakchecker.grep.thm
        Validity
            Not Before: Jun 14 12:58:31 2023 GMT
            Not After : Jun 13 12:58:31 2024 GMT
        Subject: C = AU, ST = Some-State, O = Internet Widgits Pty Ltd, CN = leakchecker.grep.thm

What is the password of the “admin” user?

leak_certificate.crt dosyasını inceleyerek nmap taramasında gördüğüm 51337 portunda çalışan servisi buldum. hosts dosyasına ekleyerek siteye eriştim.

Bulduğumuz adminin mailini girerek adminin parolasını öğrenebiliriz.

fsoc

This post is licensed under CC BY 4.0 by the author.