Hack The Box – Knife (TR)

Merhabalar, bu yazıda Hack The Box platformunda yer alan, zorluk seviyesi kolay olan makinelerden Knife makinesinin çözümünü anlatmaya çalışacağım.

Kullanıcı Alma

İlk olarak Knife makinesinin IP sini kullanarak nmap aracıyla mevcut portlara bakalım.

sudo nmap -sS -sC -sV -p- 10.10.10.242

22 – ssh portu ve 80 portu açık. 80 portu üzerinde Apache 2.4.41 servisinin çalıştığı görülüyor. Öncelikle 80 portunu tarayıcı üzerinden inceleyelim.

Web sitesinde sadece bu sayfa vardı ve herhangi bir link mevcut değildi. Kaynak koduna da baktım ancak birşey bulamadım. Wappalyzer aracı ile web site üzerinde çalışan teknolojileri bakındım.

Apache 2.4.41 ve Php 8.1.0 için zaafiyet taraması yaptım. Php 8.1.0 için Exploit DB’den bir zaafiyet buldum. (Exploit DB Linki)

Exploit DB’den elde ettiğim python betiğiyle sisteme giriş yapabildim.

Aldığım shell baya kullanışsızdı(cd komutu bile çalışmıyordu). Bu yüzden daha rahat çalışabileceğim bir shell almak için bir yol aradım. Aldığım kullanıcının ssh dosyalarına erişim vardı ve düzenleyebilirdim. Öncelikle touch /home/james/.ssh/authorized_keys komutu ile authorized_keys adında bir dosya oluşturdum ve içine echo “publickey” > /home/james/.ssh/authorized_keys komutu ile kendi public keyimi ekledim.

Daha sonra kendi makinemde private keyim kullanarak ssh -i id_rsa [email protected] komutunu çalıştırdım ve ssh bağlantımı sağladım. Ardından /home/james dizini altındaki user.txt yi okuyup ilk işimi bitirdim.

Root Olma

Root olmak için temel linux yetki yükseltme yöntemlerine göz gezdirdim ve sudo -l ile mevcut kullanıcımla çalıştırabileceğim uygulamalara baktım. /usr/bin/ dizininde çalışan knife adlı uygulamayı gördüm. Dizine geçip programı çalıştırdım ve çıktılarına baktım.

Uzun bir çıktıdan sonra dikkatimi bir parametre çekti. Exec parametresi ile script çalıştırabilirdim.

/tmp dizini altında bash script dosyası oluşturdum ancak işe yaramadı. Python deneyeyim diyecektim ama makinede python yüklü değildi. Daha sonra Knife scriptinin ruby dili ile yazıldığını anladım. Bu nedenle ruby scripti oluşturup denemek istedim.

Oluşturduğum .rb uzantılı script ile /root dizini altındaki root.txt yi okumaya çalıştım ve başardım.

Makinedeki amaç root.txt içeriğini almak olduğundan daha fazla ilerlemedim.

Okuduğunuz için Teşekkürler

Leave a Reply

Your email address will not be published. Required fields are marked *


The reCAPTCHA verification period has expired. Please reload the page.