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 :)
17 Nisan 2013 Çarşamba
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...
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... :)
Yukardaki hata için aşağıdaki gibi bir sembolik link oluşturulur...
/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...
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.16Bunun 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...
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... :)
- 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...
İ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.
Daha sonra /etc/knockd.conf dosyasını aşağıdaki gibi düzenleyelim...
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...
Ş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.
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.
Ö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 200Bu 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...
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.
İndirdiğimiz arşiv dosyasını açalım ve açılan dizine geçelim.
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/
Kaydol:
Kayıtlar (Atom)