Soru-Cevap

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...

KraL

Üye
Saldırı teknikleri hakkında merak ettiğiniz, öğrenmek istediginiz her soruyu sorabilirsiniz. Yönetici arkadaşlar ve bizler elimizden geldikce sorularınızı cevaplamak için çaba gösterecegiz.
 
Son düzenleme:

Cezeri

Yönetici
alt
M3T4L:
.bd dnslerini nasil hacklediniz (bangladesh dns hijacking)
" şunu nasıl yaptınız ?" tarzı sorular sormayın gençler. bunun yerine teknik alanlarda ki kafanıza takılan soruları sorun, hem siz hemde sizin gibi arkadaşlar cevaplardan faydalansın.
 
Son düzenleme:
  • Like
Tepkiler: sef

ozanpy

Üye
Internette genellikle bulunan yaygın diyebileceğimiz açıklar nelerdir?
Xss bol bulunuyor diye biliyorum onun harici neler vardır ? SQL açığı vs hala yaygın olarak bulunmakta mı?
 

acemi

Üye
Akamai WAF kullanılan bir web sitesinde SQL İnjection açığı var ise Akamai WAF’ı SQL İnjection açığı ile nasıl bypass edebiliriz veya bu bilgileri nasıl çekebiliriz? Ya da şöyle diyeyim: Waf analizleri nasıl yapılır, nasıl bypass etme yolları bulabiliriz? Acaba PHP’de bulunan RFI, LFI, SQL İnjection açıkları gibi WAF dosyalarını indirip, açık barınan kod parçacıklarını bulabilir miyiz? Amacım, listede engellenmemiş komutu bulup, oradan müdahale edip, bilgileri çekmek…
 
Moderatör tarafında düzenlendi:

Cezeri

Yönetici
alt
ozanpy:
Internette genellikle bulunan yaygın diyebileceğimiz açıklar nelerdir?
Xss bol bulunuyor diye biliyorum onun harici neler vardır ? SQL açığı vs hala yaygın olarak bulunmakta mı?
En çok hangi açık bulunur gibi bi sorunun tam değerlendirmesini yapmak mümkün değil açıkcası. Fakat SQLi, File Inclusion tarzı açıklar dahil diğer tüm açıklar hala çok sık bulunuyor, şahsen çok fazla karşılaşıyorum. Tabii ki zafiyeti bulabilmek başka konu, kullanabilmek bambaşka bir konu.

Genel manada başlangıç aşamasında birisi için tavsiye edebileceğim, bakılması gereken bazı zafiyet türlerini şöyle ufak listeliyelim (Tamamlanmış bir liste değildir.) ;
  • Command Execution
  • Expression Language Injection
  • SQL Injection
  • Template Injection
  • XSS
  • XML External Entity
  • File Inclusion
  • CSRF
  • Server-Side Includes
  • SSRF
  • XPath Injection
  • LDAP Injection
  • PHP Object Injection
  • Insecure Direct Object Reference
  • Arbitrary File Upload
  • CRLF
  • Open Redirect



Bu listeyi çok daha genişletmek mümkün. Bunun dışında bu listeyi farklı şekillerde ele almak da gerekir.
Mesela “Command Execution” olarak belirttiğimiz güvenlik açığını farklı boyutlarda ele alabilmek gerekiyor. Bir PHP scripti manipüle ederek kendi komutlarımızı çalıştırabildiğimiz zafiyet ile ShellShock zafiyetinin Command Execution kategorisine girmesi gibi durumlar ayrı ayrı değerlendirilebilmeli.
Veyahut “Injection” kategorisini seçtiğimizde “Command Injection”, “SQL Injection”, “XPath Injection”, “Expression Language Injection” vs. gibi zafiyetlerin bu kategoriye girdiğini ve geniş şekilde değerlendirilmesi gerektiğine dikkat edilmeli.
Bunun dışında zafiyet türleri detaylandırılmalı. Mesela SQL Injection zafiyetini ele alırsak “Time Based”, “Error Based”, “Boolean Based” gibi türlerin yanı sıra “Out of Band” tarzındaki kısımlarda ele alınmalı.

Buraya yazılabilecek şeyler çok uzun aslında. Hack işi çok geniş ve çok uzun uğraş gerektiren bir konu. Üzerine kafa patlatılmalı ve araştırmaya çok açık olunmalı gençler. Benim de daha yazasım var aslında ama sorular geldikçe dökelim birşeyler ve birazda konu olarak paylaşımlara ayıralım bazı kısımları.
 

KraL

Üye
Çeşitli yöntemler mevcut. Eğer waf yazılımı mevcut ise ne gibi önlemler alınmış bunu nasıl aşabiliriz sorusu daha rahat cevaplanabilir. Fakat bu elimizde yoksa payloadları deneme yanılma ile bulabilmek mümkün. Misal /!50000payload/ bilinen ve yaygın kullanılan bir metottur. Yahut uNiOn gibi büyük küçük harf kullanılması… Bu konu hakkında yakın zamanda bir döküman yazarım. Ayrıca inceleyiniz : http://www.securityidiots.com/Web-Pentest/WAF-Bypass/waf-bypass-guide-part-1.html
 

Cezeri

Yönetici
alt
acemi:
Akamai WAF kullanılan bir web sitesinde SQL İnjection açığı var ise Akamai WAF’ı SQL İnjection açığı ile nasıl bypass edebiliriz veya bu bilgileri nasıl çekebiliriz? Ya da şöyle diyeyim: Waf analizleri nasıl yapılır, nasıl bypass etme yolları bulabiliriz? Acaba PHP’de bulunan RFI, LFI, SQL İnjection açıkları gibi WAF dosyalarını indirip, açık barınan kod parçacıklarını bulabilir miyiz? Amacım, listede engellenmemiş komutu bulup, oradan müdahale edip, bilgileri çekmek…
Öncelikle belirteyim ki kimse kolay kolay 0day veya private bilgilerini uluorta dökmez. Fakat WAF ve bypass işlemleri üzerine bilgilendirici yazılar yazmaya çalışacağız.

Basit manada bahsetmem gerekirse piyasada ki firewalllar blacklist mantığıyla çalışıyorlar. Blacklist ile eşleşen requestlerde engel ile karşılaşıyorsunuz. Bunu atlatırken alternatif payload kullanımları , encode/obfuscate işlemleri , HTTP methodunun değiştirilmesi, formlar üzerinde bazı oynamalar yapılması, parameter pollution uygulaması yada firewall’in hatalı konfigurasyonlarından kaynaklı yöntemler iş görebiliyor. Bunlar dışında farklı yöntemler üretilip geliştiriliyor. Bunlar için ekstradan kafa patlatmak gerekiyor.

WAF’lar public şekilde bulunuyormu bakmadım hiç daha önce fakat bulunuyor ise, dediğin gibi indirip incelenebilir. Ben şahsen şimdiye kadar hep blackbox testler yaptım WAFlar üzerine.

Akamai WAF SQL Injection Bypass amacıyla şu payloadı deneyip, buradan yürüyebilir ve üzerine kafa yorup fikirler üretmeyi deneyebilirsin ;
/**/AND/**/MID(current_user,1,4)/**/LIKE/**/'root'#
 
WAF konusunu benim içinde büyük sorun teşkil ediyor. Blacklistle çalışmaları, wafın üreticisinin yeteneğine bağlı olarak sektördeki atlama tekniklerine karşı sürekli önlem alınıyor. Örnek üzerinden sormam gerekirse;

ornek.com üzerinde 300 parametre var diyelim. 300 ünden hangisinin SQL Injection olduğunu tespit etmek otomatize bir halde mümkün olmuyor. Banlanıyorum. 300 parametreden şu parametrede bir zafiyet var denilse belki onun üzerinde çalışırım ama böyle geniş bir uygulamada waf yüzünden zafiyetler görünmeyebiliyor. Böyle bi durumda nasıl bir yol izlemeliyim?
  1. soru olarak. önünde firewall olan bir sisteme nmap atmak istediğimde hangi parametre firewallı atlatırdan ziyade nasıl bir metodoloji izlemem gerekir? Firewall böyle çalışıyor şunu yapmalıyım önce şu taramayı atmalıyım sonra bunu denemeliyim gibi bir yol belirleyemedim. ve soruya birde şöyle birşey eklesem SOC ekibinin izlediği bir networke onlar hissetmeden version taraması atılabilir mi?
Bir de kısa tecrübemden edindiğim kadarıyla artık zafiyeti bulmak kadar bu cihazlardan atlamakta çok önemli bir hale geliyor. Nabza göre şerbet verecek kadar esnek bir kafaya sahip olmak gerekiyor.
 

Cezeri

Yönetici
Hep benzer yorum yapıyo gibi olacağım ama benzer sorular sorduğunuz için tekrarlıyorum.
Öncelikle hedefteki mevcut firewall analiz edilmesi gerekiyor, bypass işlemi gerçekleştiren payload tespit edildikten sonra 300 parametre üzerinde denemeler yapman gerekiyor. Daha sonra aynı firewall çıkması durumunda bu payload üzerinden işlem gerçekleştirebilirsin fakat ilk başta bypass için gerekli payloadı bulma aşamasında tabiki sistem seni engelleyecektir.

İkinci soruda benzer soru aslında. Sistemin nasıl korunduğunu anlaman gerekiyor. Cloudflare mantığıyla çalışıyor ise real ip adresini bulmak yada bypass için uygun bir payload ayarlaman gerekir. Cloudflare benzeri bir sistem değilse, sadece request üzerindeki payloadlardan kaynaklı hata sayfaları geliyorsa hangi payloadları veya kelime ve sembolleri algıladığında hata alıyorsun bunu analiz edip bunlara alternatifler üretmek gerekir. Alternatif payload üretmek dışında yapabileceğin bazı yöntemleri bi yukarıdaki yorumumda belirtmiştim. Bu yöntemler haricinde ise private bilgiler üretmen gerekecektir.

Real ip adresi bulma aşamasında bilinen bazı yöntemleri kullanabilirsin ;
  • DNS History
  • Subdomainler
  • SSL Sertifikaları
  • Kodlar veya dosyalarda IP adres ifşa olması
  • Debug sayfaları
  • Hata mesajları
  • SSRF
Bu yöntemler haricinde bişeylerin gerekmesi durumunda 0day bişeyler gerekebilir.
 
Format String Exp denerken farkettim. GOT’da exp edeceğimiz fonksiyon adresinin sonu 0 (sıfır) ile bitince 20 30 40 gibi. Bu adresi yazdıramıyorum. mesela örnek bir adres şu olsun.

0x55563040

printf “\x40\x30\x56\x55”-%…n

gibi bir payload ile yaptığımda sıkıntı oluyor. Yazmıyor adresi daha doğrusu yazmaya çalışıyor ama o sondaki 0’ı görmediği için benzer değişik bir adresi yazdırmaya çalışıyor haliyle yazmıyor hata veriyor.

Fakat adres şöyle bir şey olursa.

0x55563018

Bunda hiçbir sıkıntı olmuyor gayet güzel bir şekilde yazdırabiliyorum adresi. Hatta yazmış mı diye kontrol ediyorum adresi.

Bu problemin çözümünü aradım fakat bulamadım belki bilen biri olur diye buraya da sormak istedim.
 
Makinadan makinaya adresler farklılık göstereceği için soruyu göndersem de problem anlaşılmayabilir. Yakın bir zamanda aynı sorunu tekrarlayıp görsel şekilde soracağım
 

Ozan

Üye
Kesinlikle doğru söylüyor. İşin ticaretini yapmak, işin ihlasını kaçırmak gibi oluyor. Bir işi gerçekten seven merak eden araştıran yapar. Yoksa para kazanılmak amacıyla yapılan iş öğrenme çalışmaları verimsiz olur. Bug bounty olayı da uzun yaptığın araştırmaların edindiğin bilgilerin meyvesi olur. Şahsi kanaatimdir tabi. 🙂
 

roro

Üye
Yanlış bir düşünce sonuçta sen AH-AL-AX-EAX gibi düşünürsen o register adresini orada AL(lower) register oluyor ! Bir problem yaşadığını söylüyorsun sanırım çözdüğün soruda PaX patch yok yani en fazla entropy 16-bit kadar ASLR ile etkilenebilir, eğer bu statik bir dosya ise online bir soru değilse ASLR disable edip(echo 0 > /proc/sys/kernel/randomize_va_space ) çözmen daha mantıklı olur. Debug için ise “gef” kullanmanı tavsiye ederim.
 
Fonksiyonun GOT’daki adresini kastetmiştim. ASLR neden disable etmem gerek ayrıca ? GOT’daki adrese ulaşabiliyorum.

Localdeki bir dosya farklı şekilde aynı soruyu birkaç kez build ettim. GOT’daki fonksiyon adresinin sonu 0 (sıfır) olmasın diye. Sıfır olmadığı zaman atıyorum sonu 21 gibi bir sayı ile bitti. Bunda hiçbir şekilde sıkıntı olmadan exp edebiliyorum adrese integer yazdırabiliyorum. Fakat, sonu 0 olduğunda ise o adrese herhangi bir integer yazdıramıyorum…
 
wordpress,joomla ve diğer cmslerin açıklarını get ve post’dan sonuç alamadıysak ne yapmalıyız ve hangi programla açık aramamız gerekiyor sql,Authentication,XSS denedikten sonra birşey yapamıyorum acaba bunun bir senaryosu veya ne yapmam gerektiğini nasıl bilicem hangi yolu incelemem lazım
 

roro

Üye
alt
Oguzbey:
Makinadan makinaya adresler farklılık göstereceği için soruyu göndersem de problem anlaşılmayabilir.
Soruyu gönderirsen herkes elinden geldiği kadar yardımcı olur muhakkak, ben bunu ASLR olarak yorumladım kusura bakma. “0” ile biten Offset üzerine bir breakpoint atıp çalıştıralım ya da offset için x/xw $offset olarak içeriğini görelim ona göre teşhisi koyalım böylece daha anlaşılır olur.
 
Son düzenleme:
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst