17 Nisan 2013 Çarşamba

Uludağ Üniversitesi Semineri

Internet Haftası etkinlikleri kapsamında17 Nisan 2013 tarihinde Uludağ üniversitesi'nde "İnternet Kullanıcıları İçin Güvenlik Riskleri ve Saldırı Yöntemleri"konulu bir sunum yaptım...

İnternet kullanıcılarının karşılaşabilecekleri çeşitli saldırılardan ve bu saldırılara karşı neler yapılabileceğinden bahsetmeye, bazı saldırıları uygulamalı olarak göstermeye çalıştım... Finalde ise bir sürprizle semineri tamamladık :D


Umarım faydalı bir seminer olmuştur :)

11 Şubat 2013 Pazartesi

FreeBSD için Python MySQLdb Kurulumu

Python üzerinden MySQL sunucuna bağlanmak için ihtiyaç duyulan MySQLdb eklentisini kurmak için FreeBSD üzerinde aşağıdaki gibi bir yol izlenebilir...

pkg_add -rv ftp://ftp2.jp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/py26-MySQLdb.tbz

Kurulum tamamlanıktan sonra aşağıdaki gibi bir hata alırsanız çözümü hatanın altında gördüğünüz gibi olacaktır... :)

Traceback (most recent call last):
  File "test.py", line 24, in <module>
    import MySQLdb as sql
  File "/usr/local/lib/python2.6/site-packages/MySQLdb/__init__.py", line 19, in <module>
    import _mysql
ImportError: Shared object "libmysqlclient_r.so.16" not found, required by "_mysql.so"


Yukardaki hata için aşağıdaki gibi bir sembolik link oluşturulur...

ln -s /usr/local/lib/mysql/libmysqlclient_r.so.16 /usr/local/lib/libmysqlclient_r.so.16

Bunun dışında aşağıdaki gibi bir hata söz konusu olabilir...

/usr/local/lib/python2.6/site-packages/MySQLdb/__init__.py:34: DeprecationWarning: the sets module is deprecated
from sets import ImmutableSet

/usr/lib/python2.6/site-packages/MySQLdb/__init__.py dosyasını en sevdiğiniz metin editörüyle açıp aşağıdaki değişiklikleri yapın...

34. Satırda "from sets import ImmutableSet" ifadesini açıklama satırı yapıp bir alt satıra aşağıdaki gibi ekleme yapmanız gerekiyor...

ImmutableSet = frozenset

41. Satırda "from sets import BaseSet" ifadesini açıklama satırı yaparak bir altına aşağıdaki satırı ekleyin...

BaseSet = set

Her şey yolundaysa Python içerisinde import MySQLdb komutunu verdikten sonra MySQLdb eklentisini kullanabilirsiniz...

30 Ocak 2013 Çarşamba

Akademik Bilişim 2013

Akdeniz Üniversitesinin ev sahipliği yaptığı Akademik Bilişim kapsamında 19-20 Ocak 2013 tarihlerinde uygulamalı olarak "Özgür Yazılımlarla Saldırı Yöntemleri" konulu güvenlik eğitimi vermeye ve katılımcı arkadaşlarla bu konudaki naçizane bilgilerimi paylaşmaya çalıştım...

  • Bilgi Toplama ve Ağ Haritalama
  • Ağ Servislerine Yönelik Saldırılar
  • Yerel Ağ Saldırıları
  • Kablosuz Ağ Saldırıları
  • Sisteme Sızma Süreci
  • Güvenlik Açığı Kullanımı
  • Şifre Kırma

Ana hatlarıyla yukarıdaki konu başlıklarını kapsayan eğitim sırasında saldırganların bilgi toplamak ve ağ haritalamak için kullandıkları yöntemleri, ağ servislerine yapılabilecek saldırıları, yerel ağlar için tehdit unsuru olan MAC sahteciliği, ARP zehirleme, Ortadaki adam saldırısı, DNS zehirleme gibi saldırıları daha önceden hazırlamış olduğum test sistemleri üzerinde örneklemeye çalıştım...

Kablosuz ağ saldırılarında ise kablosuz ağların tespit edilmesi, şifresiz ağların dinlenmesi, şifreli ağlarda wep/wpa/wpa2 gibi şifrelerin özgür yazılımlar kullanılarak kırılması ve wps gibi teknolojilere ait zayıflıkların suistimal edilmesini yanımda götürmüş olduğum kendi modemim üzerinde uygulamalı olarak göstermeye gayret ettim...

Güvenlik açığı kullanımı ve şifre kırma bölümlerinde ise ağ servislerini veya istemci tarafındaki web browser zayıflıklarını suistimal ederek test sistemlerine erişim sağlamayı örneklemeye çalıştım..

Güvenlik açığı kullanılarak girilen test sistemleri üzerinden alınan Windows ve Unix parola hashlerini farklı araçlar ile nasıl kırabileceğimizi örneklerken, çevrim içi olarak Uzak Masaüstü (RDP) ve SSH gibi servislere canlı parola denesi yaparak erişim sağlamaya çalıştık...

Günlük yaşamda karşılaşabileceğimiz saldırıları test ortamında örnekleyerek sonuçlarını görmeye ve bilgi güvenliği konusunda tecrübemizi arttırmaya çalıştık...

Projeksiyon ve İnternet erişimi sorunlarının can sıktığı ilk saatler dışında oldukça keyif aldığım bir eğitim oldu. Umarım katılımcılar içinde keyifli ve verimli bir etkinlik olmuştur...

24 Ocak 2013 Perşembe günü ise "Metasploit ile Güvenlik Denetimi" konulu bir sunum yaptım. Yine kapalı bir test ortamında Metasploit araçlarını kullanarak bilgisayar sistemlerine erişim sağladığımız "kırmalı dökmeli" bir sunum gerçekleştirdim...

Ev sahibimizin neredeyse kapıları üzerimize kilitleyip gitmesine ramak kala biraz uzatmış olduğum sunumu bitirerek henüz kilitlenmemiş olan arka kapıdan kendimizi dışarı atmayı başardık... :)

15 Ocak 2013 Salı

Ubuntu 12.10 Denetim Düğmelerini Sağa Kaydırmak

Ubuntu 12.10 sürümünde denetim düğmelerini sağa kaydırmak için aşağıdaki komutu kullanabilirsiniz...

gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close' 

3 Ocak 2013 Perşembe

Uşak Semineri

14 Aralık 2012 tarihinde Uşak Üniversitesinde çoğunluğunu öğrenci arkadaşlarımızın oluşturduğu elit bir toplulukla buluştuk. "Hacker Kültürü ve Etik Hacker" konulu sunumun ilk kısmında bilgi güvenliği alanında kariyer yapmak isteyen arkadaşlara yol göstermeye, fikir vermeye çalıştık...

İkinci bölümde ise uygulamalı olarak çeşitli saldırı yöntemlerini göstermeye ve bilgi güvenliği farkındalığı oluşturmaya gayret ettik...

Kamuya kapalı olan özel oturumda ise Uşak Bilişim Suçları Personeli ile fikir alışverişinde bulunduk...

 Başta Uşak Üniversitesi Öğretim Görevlileri; Utku Köse, Durmuş Koç, Süleyman Anıl Yücesoy Hocalarımıza, etkinlikte emeği geçen ve bizi dinlemeye gelen herkese teşekkür ediyoruz...

6 Aralık 2012 Perşembe

Knockd ile Port Knock

Port Knocking olarak bilinen yöntem belirli bir port yada port grubuna belirli paketlerin sırası ile gönderilmesi ve bu paketleri bekleyen knockd servisinin daha önceden belirlenen portları açması veya kapatmasıdır.

Örnek vermek gerekirse; SSH portu dışarıdan erişimlere kapatılır. Daha sonra uygun paket kombinasyonunu gönderen sistemler için SSH portuna izin verilir.  Bu sayede doğru şekilde kapı çalmayan sistemler için SSH portu açılmaz...

Knockd servisini kurmak için aşağıdaki gibi bir komut verebiliriz.

root@gondor:~# apt-get install knockd

Daha sonra /etc/knockd.conf dosyasını aşağıdaki gibi düzenleyelim...

[options]
          logfile = /var/log/knockd.log

[allowSSH]
          sequence    = 100,200,300
          seq_timeout = 10
          command     = /sbin/iptables -I INPUT -s %IP% -p tcp --dport 22 -j ACCEPT
          tcpflags    = syn,fin,urg

[blockSSH]
          sequence    = 300,200
          seq_timeout = 5
          command     = /sbin/iptables -D INPUT  -s %IP% -p tcp --dport 22 -j ACCEPT
          tcpflags    = syn

Bu dosyada allowSSH kısmında 100,200,300 numaralı portlara 10 saniye içerisinde syn,fin ve urg bayrakları taşıyan paketler gönderdiğimizde tcp 22 (ssh) portuna izin verecek iptables kuralının girilmesini söylüyoruz.

blockSSH kısmında ise 300 ve 200 nolu portlara 5 sn içerisinde syn bayrağı taşıyan paketler gönderildiğinde SSH izin kuralını kaldıracaktır.

Daha sonra /etc/knockd.conf dosyası içerisinde START_KNOCKD değerini 1 yapıyoruz. KNOCKD_OPTS eğerini ise dinlemek istediğimiz ethernet kartını gösterecek şekilde değiştiriyoruz. Benim örneğimde eth1 kartı kullanıldığı için  KNOCKD_OPTS="-i eth1" şeklinde düzenledim...

# control if we start knockd at init or not
# 1 = start
# anything else = don't start
#
# PLEASE EDIT /etc/knockd.conf BEFORE ENABLING
START_KNOCKD=1

# command line options
KNOCKD_OPTS="-i eth1"

Şimdi gelelim kapıyı nasıl çalacağımza... :) Bunun için, keyfi paket üretmemizi ve bir yerlere fırlatmamızı sağlayan hping  aracını kullanabiliriz :) SSH portunun açılması SYN,FIN ve URG bayraklı paketleri sırası ile 100,200 ve 300 nolu portlara gödnermemiz gerekiyor.

root@mordor:~# hping -i eth0 -c 1 -S -F -U 192.168.100.136 -p 100
root@mordor:~# hping -i eth0 -c 1 -S -F -U 192.168.100.136 -p 200
root@mordor:~# hping -i eth0 -c 1 -S -F -U 192.168.100.136 -p 300

Bu üç komutu arka arkaya işlettiğimizde knockd kapıyı çaldığımızı fark ederek TCP 22 portunu bizim erişebilmemiz için açacaktır.

Kapıyı kapatmak istersek knockd.conf dosyasında belirttiğimiz gibi 300 ve 200 nolu portlara SYN bayrağı taşıyan paketler göndermemiz gerekir. Bunu ise aşağıdaki gibi yapabiliriz.

root@mordor:~# hping -i eth0 -c 1 -S 192.168.100.136 -p 300
root@mordor:~# hping -i eth0 -c 1 -S 192.168.100.136 -p 200

Bu iki paketin ardından knockd ssh servisine bizim için verdiği izni kaldırarak kapıyı kapatacaktır.  Kapıyı doğru şekilde çalmayı bilmeyen kimse kapının açılmasını sağlayamaz :)


5 Aralık 2012 Çarşamba

Ubuntu için Nmap Paketi Oluşturmak

Ubuntu 12.10 deposunda bulunan nmap 5.X sürümü nse scriptlerini kullanırken ve nmap --script-updatedb komutu ile güncellemek istediğinizde aşağıdakine benzer hatalar veriyordu...

Starting Nmap 5.21 ( http://nmap.org ) at 2011-02-22 12:08 CET
NSE: Updating rule database.
NSE: error while updating Script Database:
[string "local nse = ......"]:17: /usr/share/nmap/scripts//citrix-brute-
xml.nse:35: module 'citrixxml' not found:
        no field package.preload['citrixxml']
        no file './citrixxml.lua'
        no file '/usr/local/share/lua/5.1/citrixxml.lua'
        no file '/usr/local/share/lua/5.1/citrixxml/init.lua'
        no file '/usr/local/lib/lua/5.1/citrixxml.lua'
        no file '/usr/local/lib/lua/5.1/citrixxml/init.lua'
        no file '/usr/share/lua/5.1/citrixxml.lua'
        no file '/usr/share/lua/5.1/citrixxml/init.lua'
        no file '/usr/share/nmap/nselib/citrixxml.lua'
        no file './citrixxml.so'
        no file '/usr/local/lib/lua/5.1/citrixxml.so'

Depoları kurcalamak çözüm olmadığında kendi nmap'imizi kendimiz derleyip paket yapalım diye düşündük. Sonrasında olaylar aşağıdaki gibi gelişti :)

Öncelikle aşağıdaki komutla nmap 6.25 paketini nmap.org sitesinden indirdik.

root@mordor:~# wget http://nmap.org/dist/nmap-6.25.tar.bz2

İndirdiğimiz arşiv dosyasını açalım ve açılan dizine geçelim.

root@mordor:~# tar jxvf nmap-6.25.tar.bz2
root@mordor:~# cd nmap-6.25/