ctf

CTF konusunda öncelikle kayıt olup da son güne kadar iptal ettirmeyen ve aynı zamanda yarışmaya katılmayan arkadaşlara çok kırıldım. Özellikle herbirine mail atıp katılım kararınızı netleştirin ona göre düzenleme yapacağız dememe rağmen son güne kadar katılım oranı 20 civarında gözüküyordu ama katılım 10(Grup olarak 6) kişi ile sınırlı kaldı.

Etkinlik başlamadan oluşturduğum CTF senaryosu ile etkinlikte kullandığımız arasında bayağı fark var. Bunun sebebi benim CTF’i düzenlerken biraz acımasız davranmam:). Etkinlik başlamadan önce kullanmayı düşündüğümüz CTF senaryosu…

CTF Adımları:

1.Adım: Katılımcılardan istsec2009 adlı kablosuz ağa sızmaları istenmektedir.

Ortamda iki adet kablosuz ağ olacaktır. Bunlardan birincisi
MAC Adress filtering uygulanan
SSID’si açık
IP Adresi dağıtımı için DHCP sunucu çalışıyor ve ağa erişim için ip dağıtıyor
Herhangi bir şifreleme vs uygulanmamış bir AccessPoint olacak.
Ağda trafik oluşuran ve geçerli MAC adresine sahip bazı kullanıcılar var ve katılımcının bu mac adreslerinden birini üzerine alarak ağa bağlanması istenmekte.

Diğeri kablosuz ağ:
MAC Address Filtering uygulanmamış
SSID’si gizli bir AccessPoint
Arkaplanda IP adresi dağıtımı için DHCP sunucu çalışmıyor
Ağda hareketlilik gösteren ve ip adresi geçerli birden fazla istemci bulunmakta

Katılımcılardan Beklenen: Herhangi iki kablosuz ağdan birine sızıp Network taraması yapması ve ağda bulunan Linux makinenin root parolasını ele geçirmesi(Ikinci adımın başlangıcı)

Katılımcı mac adresini değiştirip ağa bağlanabilmeli ya da hidden SSID’i belirleyip doğrudan AP’e bağlanabilmeli ve DHCP den ip adresi dağıtılmıyorsa ağı dinleyerek ağda hangi ip adreslerini dolaştığını görüp bir tane aynı sınıftan ip adresini kendisine ataması.

2. Adım: Linux makine(Firewall) ele geçirmek

Kablosuz ağa dahil olan kullanıcılar ip adresini otomatik ya da manuel aldıktan sonra ilk yapmalaraı gereken ağda Nmap vs çalıştırarak hangi makinelerin olduğunu öğrenmeleridir.

Ağda 192.168.2.111 ip adresli yerleştirilmiş Linux makine bulunmaktadır. Bu makinenin üzerinde ftp, telnet, ssh, webmin ve bilumum port açık bulunmakta. Katılımcıların bu makineyi ele geçirebilmeleri için:

SSH üzerinden bruteforce, telnet üzerinden brute force ya da webmin üzerinden bruteforce yapmaları gerekir.
Parola, bilinen 100 paroladan biri olacaktır. Ya da anonim ftp üzerinden ilgili dizinleri gezerek root parolasının kayıtlı olduğu bir konfigurasyon dosyası bulacaklardır.

Kullanıcı sistemi ele geçirdikten sonra root dizini altında .istsec2009 adlı bir dosya görür ve dosyayı açar. Dosyanın içi base64 encode ile yazılmıştır. Bunu tersine çevirerek ipucunu alır ve bir sonraki adıma doğru ilerler.

Ipucunda bir sonraki adımla ilgili ek bilgiler yer almaktadır . Mesela üçüncü adıma nasıl ulaşacağına dair network ayarları yer alır. Eğer kullanıcı Linux üzerinde ip forwarding vs açmasını bilmiyorsa, kendi makinesine düzgün routing giremezse diğer hosta ulaşamaz.

3. Adım: Bir web uygulaması ve üzerinde bariz açıklıklar barındırmakta.

Web uygulaması: üzerinde PHPmyadmin barındıran bir uygulama ve database de bir tabloda kullanıcı adları ve parola bilgileri şifrelenmeden tutulmakta. Ya da WordPress 2.3.1 sürümünü içeren bir portal üzerindeki SQL Injection açıklığı değerlendirilerek sisteme user/pass bilgisi gerekmeden giriş yapılacak ve şifre isteyen postun içerisindeki ipucu okunacak.

4.Adım: Windows Directory Sunucusunun Hacklenmesi
Windows makine var üzerinde güncel bir açıklık metasploit kullanılarak exploit edilmesi gerekiyor. Hicbir zorlugu olmayan bir adım. Sadece ilgili portu bularak Metasploit ile sisteme sızması ve c:\dizini altındaki ipucu5.txt dosyasını okuması gerekiyor.

5. Adım: Sadece belirli iç ip adreslerinden telnet erişime sahip FreeBSD 7 sistem.

Bu adımda katılımcıdan FreeBSD 7 deki telnet root exploitini değerlendirip sisteme sızması beklenmektedir fakat FreeBSD sistemde telnet sadece belirli ip adreslerine açıktır. Katılımcının bu ip adreslerinden birini bulması ve telnet ile sisteme bağlanması istenmektedir.(bu adım biraz zor görünebilir fakat tek satırlık bir script ile halledilebilecek basitlikte)

Sonuç:

Yarışmanın sonucunda belirlenen kurallara göre ekipler birinciliği elde edemedi. Juri üyeleri toplanarak en fazla puan toplayana hediyeyi vermek içi kararlaştırınca oyun kuralını son dakikada bozarak Cihangir Beşiktaş’a hediyesi verildi.

Ben yarışmaya katılan tüm ekiplere gösterdikleri medeni cesaretten dolayı teşekkür ediyorum. Amaç bir oyun oynamak ve birşeyler öğrenmekti ki bunu en iyi şekilde yaptılar. Gelemeyenler, ya da cesaret edip de katılamayanlar da aslında olayın atla deve olmadığını görüp hayıflandılar. Bir sonraki etkinlikte daha esnek bir CTF düzenlemeye söz veriyorum:)

CTF’nin web kısmını hazırlayan OWASP-TR grubunun CTF çözümü >http://www.webguvenligi.org/dokuman/istsec-2009-ctf-web-app.html

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • StumbleUpon
  • Technorati
  • Twitter

Related posts:

  1. Istsec 2009 Değerlendirmesi
  2. IstSec 2009 Capture The Flag Yarışması Detayları
  3. Solaris Sistemlerde Ciddi guvenlik Acigi-Guncelleme
  4. FreeBSD Telnet Daemon Zero Day Açıklığı
  5. IStSec 2009 Capture The Flag Yarışması Katılım İçin Son Gün