Kategoriler
Siber Güvenlik

Bu MD5 Kırılan Bir Şey Mi?

Çok klasik bir yanlış anlaşılma söz konusu. Bu MD5’i kırıp şifreyi nasıl bulurum? Birkaç kelimelik soruda o kadar çok mantık hatası var ki üstüne yazı yazsak yeridir. Ben de tam olarak bunu yapıyorum. Ancak bu MD5 veya şifrelemeye dair yeterli bir yazı değil. Bana defalarca sorulan bu soruya uzun uzun açıklama yazdığımı fark ettim. En son bloga girip, tekrar sorulduğunda bu linki vermeyi daha mantıklı buldum.

Öncelikle şifre, parola ve şifrelemenin ayrımını iyi yapmamız gerekiyor. Siz mail hesabı oluşturmak istiyorsunuz diyelim. Mail adresinize herkesin erişememesi için yazdığınız gizli bilgi paroladır. Bakın şifre demedim. Diyelim ki 123456789 sizin parolanız.(Umarım parolanız bu değildir.) Siz bunu sisteme girdiğinizde bu bilgi şifrelenerek sisteme kaydolur. Belli bir matematiksel algoritmaya göre şifrelenerek oluşturulan bu anlamsız karakterler dizisi veritabanında size ayrılan köşede parola alanının karşısına yazılır. Bu sayede o veritabanına ulaşan yabancı birisi olursa elinde parolanın kendisi değil anlamsız bir dizi olacaktır. İşte o oluşan diziye biz şifre diyoruz. Bir Çin atasözü der ki(!) : “Senin bildiğin parola, sistemin bildiği şifredir.”

Peki biz neyi kırıyoruz kardeşim? Şifreyi, şifreleme tipinin matematiği neyse ona uygun şekilde geri çeviriyoruz ve nihayetinde parolaya ulaşıyoruz. E tamam, MD5 decode eden siteler de var? Ben o MD5’i alıp ekliyorum bana bazen kırıp(!) veriyor parolayı. Hayır efendim bir şeyi kırmıyor. En azından sizin anladığınız şekilde kırmıyor. MD5 hash değerini eklediğiniz site kendi veritabanı ile kıyaslıyor. Eğer veritabanında bu hash değerinin karşılığındaki anlamlı parolayı bulursa size sunuyor. Bu veritabanı nasıl oluşuyor? MD5 encode/decode siteleri, kendi sisteminde encode edilen bütün metinleri saklıyor. O yüzden kullandığınız önemli parolalarınızı “Ay şu sitede bi encode edeyim bakalım ne çıkacak?” diyerek denemeyin.

MD5 hash değeri geri çevrilemeyecek biçimde tasarlanmıştır. Haliyle teknik bir yolla geri getirmek pek mümkün değil. En azından bilinen bir yolu yok. Siz istediğiniz metni girin. İstediğiniz şeyi MD5 ile encode edin. Ortaya çıkan hash değeri, 32 karakterli olacaktır. Bir iso dosyasının MD5 değeri de, tek kelimelik bir metnin değeri de 32 karakterli olacaktır. Diğer yandan siz bir metine ufacık bir ekleme yapıp tekrar encode ettiğinizde ortaya çıkan MD5 değerleri bambaşka olacaktır.

MD5("Oku baban gibi eşek olma") = d59157e96d2e15e4768a89ffa27e1f4b
MD5("Oku, baban gibi eşek olma") = 63d97ea38b179146594ed325eeb6c8e6

Peki bunu nerede kullanırız? Siz bir dosya indirdiniz. İndirdiğiniz yerde md5 değeri verilir. Diyelim ki bu dosyayı indirdiniz ancak çalışmadı. O durumda indirirken bir bozulma yaşanmış olabilir mi? Elbette olabilir. İşte bu durumda indirdiğiniz dosyanın md5 değerine bakıp, indirdiğiniz yerde verilen değerle kıyaslarsınız. Eğer dosya inerken ufacık bir bozulma dahi yaşanmış ise MD5 değeri bambaşka bir şey çıkacaktır.

Biraz daha kafa karıştıralım mı? Bazen iki farklı şeyi MD5’e göre encode ettiğinizde, MD5 değeri aynı olabilir. Sonuçta 32 karakterli bir değer karşımıza çıkacak ve her şeye yetecek kadar değer yok değil mi?

Kategoriler
Siber Güvenlik

Bir OSINT Aracı: FOCA

FOCA, hedef web sitede yer alan belgeleri toplayarak metadata analizi yapar. Office dosyaları ve birçok dosya türünü arama motorları aracılığı ile bulur, indirir ve analiz eder. Google, bing ve duckduckgo arama motorlarını kullanır. Güzel bir açık kaynak istihbarat aracı. Dosyaların oluşturulduğu tarihleri, oluşturan kullanıcıları, işletim sistemini, mail adreslerini, yazıcıları ve parolaları(henüz parolaya denk gelmedim) elde etmeniz mümkün. C# ile yazılmış. Haliyle yalnızca Windows’ta çalışıyor. Şuradan indirebilirsiniz : https://github.com/ElevenPaths/FOCA

FOCA’yı verdiğim linkten indirip kurulumunu hallettikten sonra üst menüden Project kısmını seçiyoruz. Domain website kısmına bilgi toplamak istediğimiz adresi yazıyoruz. Genelde kurumsal adreslerde daha başarılı olursunuz. Create diyoruz ve artık proje sayfamız hazır. Yalnız ufak bir not düşeyim. Ben www.selcuk.edu.tr yazdım. Taramamın uzun sürmesini istemedim. Ancak selcuk.edu.tr yazsaydım farklı altdomainleri de tarayacaktı. Elbette farklı araçlar var ancak bu şekilde bazı alt domainleri de elde edebilirsiniz. Ufak bir not düşmüş olalım.

Proje sayfamız karşımızda. Kullanımı oldukça kolay. Search engines kısmından arama motorlarını, Extesions kısmından istediğiniz dosya uzantılarını seçebilirsiniz.En sonunda search all butonuna basıyoruz ve arama motorlarından bulduğu tüm dosyaları bize sıralıyor. Daha sonra dosyalara sağ tıklayarak download all diyoruz. Tüm dosyalar iniyor. Bu elbette biraz zaman alacak.

Sol taraf da oldukça önemli bizim için. network kısmında sunucu, domains kısmında adresler sıralanıyor. Esas olayımız metadata kısmında.İnen dosyalara sağ tıklayarak extract metadata diyoruz ve tüm dosyalardaki metadata bilgilerini toplamasını sağlıyoruz. Sonra yine sağ tıklayarak analyze metadata seçeneğini seçiyoruz. Toplanan verileri bir araya getirerek bir istatistik oluşturuyor. Hangi kullanıcıdan kaç tane var, hangi mailler var görebiliyorsunuz. (Yaptığımız şey herkese açık dosyaları analiz etmek. Ancak yine de kişisel mailleri kapatmaya özen gösterdim.) Diğer yandan maillerin formatına bakarak bir isim soyisme ait mailin nasıl oluşacağını da tahmin etmek mümkün genel anlamda. Ancak bu her durumda geçerli de denemez.

Son olarak gelelim bu aracın eklentilerine. Üst tarafta bulunan alışveriş arabası ikonuna tıklayarak eklentilere gidebilirsiniz. Peki ne işe yarıyorlar?

  • Information Gathering : DNS, whois gibi siteye ait bilgileri temin eder.
  • Git Finder : Sitedeki gizli git dosyalarını bulmak için bazı eklemeler yapar.
  • SVN Finder :  Sitedeki gizli SVN dosyalarını bulmak için bazı özellikler ekler.
  • Certificate Transparency Checker : Sitede Sertifika Transparency SCT doğrulaması ekler.
  • SQLi : SQLMap API kullanarak SQL enjeksiyon güvenlik açıklarını tespit eder.
  • Have I Been Pwned : Dosyalardan elde edilen mailleri haveIbeenpwned.com ve hesidohackeado.es adresinde sorgulatarak daha önce hacklenen maillerin parolalarını size getirir.
  • PluginAPI.dll : Tüm eklentileri tek seferde indirir.

Kategoriler
Linux Metasploit Siber Güvenlik

Metasploit (Msfconsole) Komutları

Terminalde “msfconsole” komutu ile metasploit aracını çalıştırıyoruz. Eğer banner ve diğer detayları görmek istemezseniz “msfconsole -q” yazabilirsiniz.

“help” komutu ile tüm komutları ve ne işe yaradığını öğrenmeniz mümkün. Gelelim bu listedekilerin ne işe yaradığına. Hepsini aşağıda özet bir biçimde sıraladım. Liste kabarık farkındayım. Ancak bilmeniz gerekenleri kırmızı renkle özellikle belirteceğim. Ne kadar bilirseniz o kadar iyi ama tüm tabloyu ezberlemek de zorunda değilsiniz. Kullanımlarını da tablonun altında göreceksiniz.

Tüm Metasploit (msfconsole) Komutlarının Özet Tablosu

back : Geçerli içerikten geri git pushm :
banner : Metasploit bannerlarını görüntüler. (Şu açılışta karşınıza çıkan rastgele bannerlar.) quit : Konsoldan çıkış.
cd  : Geçerli çalışma dizinini değiştirir. (Linux kullanıcıları bilir.) reload_all : Tanımlanmış tüm modül yollarından tüm modülleri yeniden yükler
color : Msfconsole’da oluşan çıktı renk içerecekse etkinleştirebilirsiniz. rename_job : İşi yeniden adlandırır.
connect : Bir host ile iletişim kurar. resource : Bir dosyada saklanan komutları çalıştır
edit : Seçilen exploiti veya modülü editör ile düzenlemeyi sağlar. route : Trafiğin yönlendirilmesini sağlar.
exit : Konsoldan çıkış. save : Veriyi depolar, kaydeder.
get : search : Exploit, payload ve diğer modülleri aramanızı sağlar.
getg : sessions : Oturumları listeler.
go_pro : Metasploit web GUI’yi başlatır. set : Bir değişkeni, bir değeri ayarlamayı sağlar.
grep : Yine linux kullanıcıları bilir. Search komutu ile çıkan sonuçlardan yalnızca istediklerinizi çıktı yapar. setg : Bir değişkeni, bir değeri global olarak ayarlar. Her modül seçiminde mevcut değişken hep aynı kalır.
info : Modüller hakkında bilgi verir. show : Modülleri listeler.
irb : irb scripting modunu başlatır. sleep : Verilen zaman aralığında işlem yapmaz.
jobs : İşlemleri görüntüler ve yönetir. spool
kill : İşlemi kapatır. threads
load : Eklenti yüklemek için kullanılır. unload : Mevcut eklentiyi kaldırır.
loadpatch : Verilen kaynaktan exploit vb. modülleri yükler. unset : Ayarlanan değişkeni iptal eder.
makerc : Bir dosyaya başlandıktan sonra girilen komutları kaydeder. unsetg : Ayarlanan global değişkeni iptal eder.
popm : En son modülü yığından çıkartır ve aktif hale getirir. use : İsmi verilen modülün seçilip kullanılmasını sağlar.
previous : Mevcut modül olarak önceden yüklenen modülü ayarlar. version : Konsol kütüphanesi sürüm numarasını gösterir.

run ve exploit

Bir modüle dair tüm hazırlığınızı yaptınız. Ve sonunda sistemde çalıştırmak istiyorsunuz. Bu durumda run veya exploit komutunu girmeniz yeterli.

back

Belirli bir modülle çalışmanız bittikten sonra veya bir modülü hata ile seçtiniz ise “back” komutu ile geçerli içeriğin dışına çıkabilirsiniz. Elbette bunu yapmanız şart değil. Bir modülün içindeyken de başka bir modül seçebilirsiniz.

msf auxiliary ( ms09_001_write )> back

background

Bir sisteme sızdınız ve aktif bir oturum yakaladınız. Diğer taraftan başka bir sisteme girmeniz gerekiyor. Bu durumda yakaladığınız aktif oturumu kaybetmeden diğer işlemleri yapmak için “background” komutunu yazmanız yeterli. Arkaplanda erişiminiz devam eder. Tekrar o erişime ihtiyacınız olursa “sessions” komutunu kullanabilirsiniz. Yazının devamında onu da anlattım.

banner

Metasploit açılışta size çeşitli bannerlarından birini gösterir. Diğerlerini görmek isterseniz “banner” yazmanız yeterli.

check

Diyelim ki sistemde bir exploiti, bir zafiyeti denemek istiyorsunuz. Ancak gerçekten sisteme girmeyi değil de sadece kontrol etmeyi istiyorsunuz. Exploitin o sistemde çalışıp çalışmadığını anlamak için parametreleri ayarladıktan sonra check yazmanız yeterli.

msf exploit(ms08_067_netapi) > check
[*] Verifying vulnerable status... (path: 0x0000005a)
[*] System is not vulnerable (status: 0x00000000)
[*] The target is not exploitable.
msf  exploit(ms08_067_netapi) >

color

Metasploit’in çıktılarını renkli veya renksiz bir biçimde tercih edebilirsiniz. Dikkat ederseniz aşağıdaki görselde seçtiğimiz exploit düz renk oldu.

connect

Telnet bağlantısı yapar gibi metasploit üzerinden de başka bir uzak makineye msfconsole içinden bağlanabilirsiniz. SSL, proxy, pivoting ve dosya aktarımını destekler. Connect komutu ile ip adresi ve port numarası belirtmeniz yeterli.

msf > connect 192.168.1.1 23
[*] Connected to 192.168.1.1:23
DD-WRT v24 std (c) 2008 NewMedia-NET GmbH
Release: 07/27/08 (SVN revision: 10011)
DD-WRT login:

edit

Edit komutu $VISUAL veya $EDITOR ile mevcut modülü düzenlemenizi sağlar. Varsayılan olarak Vim’de açar.

msf exploit(ms10_061_spoolss) > edit
[*] Launching /usr/bin/vim /usr/share/metasploit-framework/modules/exploits/windows/smb/ms10_061_spoolss.rb

##
# This module requires Metasploit: http//metasploit.com/download
# Current source: https://github.com/rapid7/metasploit-framework
##

require 'msf/core'
require 'msf/windows_error'
...(kodlar devam etmekte)

grep

Linux’taki grep komutuna oldukça benziyor. Örneğin arama işlemini grep ile gerçekleştirerek arama sonuçları içinde kısıtlamalar yapabilirsiniz. Aşağıda oracle aranmıştır ve yalnızca içinde http geçen modüller listelenmiştir.

msf > grep http search oracle

info

Bu komut sayesinde kullanmak istediğiniz modüle dair birçok bilgiye sahip olabilirsiniz.

  • Yazar ve lisans bilgileri
  • Güvenlik açığı referansları (örneğin: CVE, BID, vb.)
  • Modülün sahip olabileceği herhangi bir yük sınırlaması
msf  exploit(ms09_050_smb2_negotiate_func_index) > info exploit/windows/smb/ms09_050_smb2_negotiate_func_index 

       Name: Microsoft SRV2.SYS SMB Negotiate ProcessID Function Table Dereference
     Module: exploit/windows/smb/ms09_050_smb2_negotiate_func_index
    Version: 14774
   Platform: Windows
 Privileged: Yes
    License: Metasploit Framework License (BSD)
       Rank: Good

Provided by:
  Laurent Gaffie <[email protected]>
  hdm <[email protected]>
  sf <[email protected]>

Available targets:
  Id  Name
  --  ----
  0   Windows Vista SP1/SP2 and Server 2008 (x86)

Basic options:
  Name   Current Setting  Required  Description
  ----   ---------------  --------  -----------
  RHOST                   yes       The target address
  RPORT  445              yes       The target port
  WAIT   180              yes       The number of seconds to wait for the attack to complete.

Payload information:
  Space: 1024

Description:
  This module exploits an out of bounds function table dereference in 
  the SMB request validation code of the SRV2.SYS driver included with 
  Windows Vista, Windows 7 release candidates (not RTM), and Windows 
  2008 Server prior to R2. Windows Vista without SP1 does not seem 
  affected by this flaw.

References:
  http://www.microsoft.com/technet/security/bulletin/MS09-050.mspx
  http://cve.mitre.org/cgi-bin/cvename.cgi?name=2009-3103
  http://www.securityfocus.com/bid/36299
  http://www.osvdb.org/57799
  http://seclists.org/fulldisclosure/2009/Sep/0039.html
  http://www.microsoft.com/technet/security/Bulletin/MS09-050.mspx</[email protected]></[email protected]></[email protected]>

jobs

Arkaplanda çalışan modülleri gösterir. “jobs -l” komutu tüm işleri listeler. “jobs -K” tüm işleri kapatır.

kill

“kill 2” formatında kullanılır. “jobs” komutu ile listelenen işlerden istediğiniz birini kapatabilirsiniz. İş numarasını kill komutu ile kullanmanız yeterli.

msf exploit(ms10_002_aurora) > kill 0
Stopping job: 0...

[*] Server stopped.

search

Metasploit üzerinde bir işletim sistemi, bir servis veya bir modül tipi arıyorsunuz. Search komutunu kullanabilirsiniz.

  • “search platform: linux” yazmanız halinde linux platformunda işe yarar modülleri listeler.
  • “search type: auxiliary” şeklinde aramalarla modül tipi belirtebilirsiniz.
  • “search name: mysql” komutu ile mysql geçen modüllerin listelenmesini sağlarsınız.
  • “search author: dookie” komutu ile modülleri, yazan kişiye göre arayabilirsiniz.
  • “search cve(edb,cve,osvdb):****” Bu formatta istediğiniz numara ile arama yapabilirsiniz.
msf > search cve:2011 author:jduck platform:linux

Matching Modules
================

   Name                                         Disclosure Date  Rank     Description
   ----                                         ---------------  ----     -----------
   exploit/linux/misc/netsupport_manager_agent  2011-01-08       average  NetSupport Manager Agent Remote Buffer Overflow

sessions

Bir exploit sayesinde sisteme girdiniz diyelim. Hatta birden fazla sisteme girdiniz. Bu durumda herhangi bir sisteme geçiş yapmak isterseniz “sessions -l” komutu ile aktif oturumları listeleyebilirsiniz. Daha sonra meterpreter çalıştırmak için “sessions -c <id>” komutu girmeniz yeterli. Veya o oturuma geçmek için “sessions -i <id>” komutunu girebilirsiniz.

 

msf exploit(3proxy) > sessions -l

Active sessions
===============

  Id  Description    Tunnel
  --  -----------    ------
  1   Command shell  192.168.1.101:33191 -> 192.168.1.104:4444
msf exploit(3proxy) > sessions -i 1
[*] Starting interaction with 1...

C:WINDOWSsystem32>

set

Bir modül seçtiniz ve kullanmaya başladınız. Gerekli parametreleri girmek istiyorsunuz. Bu durumda “set” komutunu kullanırsınız. Örnek vermek gerekirse : “set RHOST 127.0.0.1”

msf auxiliary(ms09_050_smb2_negotiate_func_index) > set RHOST 172.16.194.134
RHOST => 172.16.194.134

unset

Seçtiğiniz modülün parametresini hatalı girdiniz. Veya o parametreyi boş bırakmak istiyorsunuz. Bu durumda “unset” komutu işinize yarar. Örnek vermek gerekirse : “unset RHOST”. Diğer yandan “unset all” komutu ile modüle ait girdiğiniz tüm parametreleri sıfırlayabilirsiniz.

msf > unset THREADS
Unsetting THREADS...
msf > unset all
Flushing datastore...

setg

Bir hedefe karşı birden fazla modülü test edeceksiniz. Ancak sürekli olarak RHOST girmekten sıkıldınız diyelim. (Bu başka bir parametre de olabilir.) Bu durumda global bir değer atarsınız ve siz aksini söyleyinceye kadar metasploit, hangi modülde RHOST varsa hepsine sizin bir defa verdiğiniz değeri girer. Örneğin : “setg RHOST 127.0.0.1”

show

Bu komut göster anlamına gelmektedir. Aşağıda pekçok örnekte kullandık. Onları incelediğinizde daha iyi anlayacaksınız.

payload

Birçok payload mevcut. Hangisini nerede kullanacağımızı bilemiyoruz. Bu durumda mevcut exploiti seçtikten sonra show payloads yazdığımda exploite uygun payloadları bana listeleyecektir.

msf  exploit(ms08_067_netapi) > show payloads

Compatible Payloads
===================

   Name                                             Disclosure Date  Rank    Description
   ----                                             ---------------  ----    -----------
   generic/custom                                                    normal  Custom Payload
   generic/debug_trap                                                normal  Generic x86 Debug Trap
   generic/shell_bind_tcp                                            normal  Generic Command Shell, Bind TCP Inline
...snip...

options

Bir modülü seçtiniz ve kullanmak için hangi parametrelere ihtiyacınız var bilmek istiyorsunuz. “show options” veya “options” yazdığınızda girmeniz gereken parametreler size listelenir. “Required” kısmının altında yes yazanları girmek zorundasınız. No yazanları girmeseniz de modül çalışmayı dener. Ancak no yazanları girerseniz modülün gücüne güç katarsınız. Çalışma imkanı artacaktır.

msf exploit(ms08_067_netapi) > show options

Module options:

   Name     Current Setting  Required  Description
   ----     ---------------  --------  -----------
   RHOST                     yes       The target address
   RPORT    445              yes       Set the SMB service port
   SMBPIPE  BROWSER          yes       The pipe name to use (BROWSER, SRVSVC)

Exploit target:

   Id  Name
   --  ----
   0   Automatic Targeting

use

Bir modül seçtiğinizde onu kullanmaya başlamanız için use komutunu kullanıp modülün adresini yazarsınız.

msf > use dos/windows/smb/ms09_001_write

Tab Tuşu

Tab tuşu linuxta büyük kolaylık. Kelimelerinizin birkaç harfinden sonra tab tuşuna basmanız halinde devamı otomatik tamamlanır. Aynı harflerle başlayan birden fazla komut varsa arka arkaya taba basın ve size hepsini sıralasın. Bu sayede tam anımsayamadığınız komutları da hatırlayabilirsiniz.

Bu yazı çok büyük oranda Offensive Security’nin metasploit klavuzundan çevrilmiştir. Açıklamalarda farklılıklar söz konusu. Bire bir çeviri değil.

https://www.offensive-security.com/metasploit-unleashed/msfconsole-commands/

Kategoriler
Linux Siber Güvenlik

Detaylı NMAP Kullanımı

Nmap, en basit açıklama ile hedef makinedeki portları tespit etmemizi, onlar hakkında bilgi toplamamızı sağlayan bir araç. Ancak bununla sınırlı değil. Çok daha kapsamlı işler yaptığı gerçek. Ağdaki veya bizim belirlediğimiz ip adreslerindeki işletim sistemini, o makinelerde çalışan servisleri, firewall bulunup bulunmadığı ve ağ haritası gibi veriler oluşturmamız mümkün. Ağırlıklı olarak linux üzerinde kullanılmakla beraber windows ve MacOS için de indirmek mümkün. Hatta Android üzerinden de kullanabilirsiniz. Biz anlatımlarımızı linux üzerinden sürdüreceğiz.Yazıya devam etmeden önce buraya tıklayarak internet protokollerini öğrenmenizi öneririm. Bunları anlamadan komutları anlamanız pek mümkün olmayacaktır. Kurulum kısmını ben pas geçeceğim ancak kolayca yapabilirsiniz. Kaynak bırakacağım.

Genelde pentesterlar ağı keşfetmek, ip adreslerini, ayaktaki makineleri ve açık portları, çalışan servisler ve onların versiyonlarını keşfetmek amacıyla kullanır. Ağ yöneticileri de ağı haritalamak için NMAP kullanır. NMAP alanının en iyisi desek herhalde itiraz eden çıkmaz. Bu taramalar root yetkisi ile yapılırsa daha sağlıklı olacaktır. Diğer yandan bu tarama sonuçları kesin olmayabilir. Manipüle edilebilir. Honeypota çarpmış olabiliriz. Özellikle TCP taraması başlatmadınız ise güvenilir olmayabilir.(Acelemiz yok TCP taramasını anlatacağız ileride.) Diğer yandan taramalar sisteme ciddi bir yük bindirip erişimin kesilmesine sebep olabilir. Bu yüzden dikkat etmek iyi olacaktır. Son olarak aktif keşif yapıyorsunuz. Yani sizinle ilgili her şey log kaydına düşüyor. Sistem sahibi sizi takip ediyor olacaktır. O yüzden izinsiz bir tarama yapmamanızı öneririm. Özellikle ktirik sistemler ise… Bu log kayıtlarından sizin tespit edilmenizi zorlaştıran yöntemler de var tabii. Onları da anlatacağız.

Biz genelde pentest işlemi sırasında nasıl bir yol izleriz?

Öncelikle ağı keşfedeceğiz. Ağdaki açık makineleri tespit edeceğiz. Söz konusu bir domain ise DNS sorgusu ile ip adresini almamız gerek. Daha sonra çalışan makinenin üzerinde at koşturan servislere bir bakacağız neler var. Bu servislerin versiyonları ne? Bunları keşfettikten sonra bu makinenin işletim sistemi nedir, firewall bulunduruyor mu gibi sorulara cevap bulacağız. Daha sonra Firewall varsa onları atlatmaya bakacağız. Tespit ettiğimiz servislerin o versiyonlarındaki açıkları keşfedip uygulamaya koyacağız.

Taramaya Başlamak…

nmap 192.168.1.15

Bu tarama bize hedef sistemin en popüler bin portunu tarar ve çalışan versiyonları servisi ile karşımıza koyar. Bir domain girdiniz ise DNS çözümlemesi yaparak ip adresini de belirtir ve sistemin ayakta olup olmadığını, cihaz ismini verir.

Peki biz tek bir hedef taratmak istemiyorsak? Onun için de aşağıdaki tarama yöntemlerine göz atmak gerekecek.

nmap -A 192.168.1.15

Yukarıdaki taramanın ismi agresif tarama. Bu tarama yukarıda anlattıklarıma ek olarak sistemin işletim sistemini tahmin eder, gönderilen paketin aldığı yolları takip ederek haritalandırır, versiyon tespiti sırasında da nmap scriptlerini kullanır. (Bu script meselesini de anlatacağız.)

Taramada Hedef Belirtmek

  • nmap 192.168.1.1, 192.168.1.22, 192.168.1.34 : Bu şekilde birden fazla adresi tarayabilirsiniz.
  • nmap 192.168.1.1-40 : Bu şekilde 192.168.1.1 adresinden başlayarak sonu 40 olana kadar tüm adresleri tamamlar. Toplamda 40 hedef demektir bu da.
  • nmap 192.168.1.0/24 : Bu tarama ile 192.168.1.x aralığındaki tüm ip adreslerini tarar.
  • nmap -iL hedefler.txt : Bu parametre sayesinde not defterine kaydettiğiniz tüm hedefleri satır satır alarak tarayacaktır.
  • nmap 192.168.1.0/24 –exclude 192.168.1.55 : exclude parametresi sayesinde bir listede taranmasını istemediğiniz adresi listeden çıkartabilirsiniz. Örnekte 192.168.1.55 adresi taramaya dahil edilmeyecektir.
  • nmap 192.168.1.0/24 –exclude list.txt : Bu sayede de tarama yaptığımız ip aralığında, belirtiğimiz listedeki adreslerin tarama dışı kalmasını sağlıyoruz. Not defterindeki hedefler taramaya dahil edilmeyecektir.
  • nmap -6 [hedef] : ipv6 taraması yapmamızı sağlar.

Taramada Port Belirtmek

Peki önce şundan bahsedelim : Port Nedir? Port en basit anlamda sizlerin bilgisayarındaki veri kapılarıdır. Veri akışı onlar sayesinde yapılır.Bilgisayarınızın bir ip adresi var. Ancak birden fazla internete bağlı programla çalışıyorsunuz. Bu durumda nasıl veri akışı gerçekleşecek? Farklı kapılardan, yani farklı portlardan. Toplamda 2 üzeri 16 yani, 65535 adet port açılabilir. Sanıyorum ki bu kadar kapı size fazlasıyla yeter 🙂  En sık kullanılan portlar ve onlarda çalışan default sistemleri aşağıda listeledim. (65535 port TCP ve UDP olarak ayrılıyor. Yani verdiğimiz sayının iki katı söz konusu ya bu ayrı bir yazı konusu. Kafanızı çok takmayın şimdilik.)

  • File Transfer Protocol(FTP) 20/21
  • Secure Shell(SSH) 22
  • Telnet 23
  • Simple Mail Transfer Protocol(SMTP) 25
  • Domain Name System(DNS) 53
  • Domain Host Configuration Protocol(DHCP) 67/68
  • Hypertext Transfer Protocol(HTTP) 80
  • HTTPS 443
  • NetBIOS 137/138/139
  • Internet Message Access Protocol(IMAP) 143
  • Simple Network Management Protocol(SNMP) 161/162
  • Hypertext Transfer Protocol over SSL/TSL(HTTPS) 443

Uzun bir liste : http://www.ciscotr.com/forum/network/428-tum-port-numaralari-list-tcp-udp-port.html

Nihayetinde nmap taraması belirtilmedikçe en popüler ilk bin portu tarar. Ancak biz başka bir portu taramak istiyorsak? Sistem sahibi bir servisin standart çalıştığı port yerine başka bir port girmişse biz o sistemden bihaber olacağız. Veya kapsamlı bir tarama yaparak portların tamamına göz atmak istiyor olabiliriz. İşte bunun için de aşağıdaki parametreler bize çözüm olacak.

  • nmap 192.168.1.15 -p 80 : Bu tarama ile yalnızca 80 portunu tararsınız.
  • nmap 192.168.1.15 -p 80,443,53 : Bu sayede birden fazla port taramanız mümkün.
  • nmap 192.168.1.15 -p 80-100 : Burada da 80 ile 100 arasındaki tüm portları taradık.
  • nmap 192.168.1.15 -p- : Bu da en kapsamlı olanı. Tüm portları tarayacaktır. Kaç adet demiştik? 65535
  • nmap -p ftp,https,telnet 192.168.1.15 : Burada sayısal olarak girmek yerine portları isim olarak girdik. Girdiklerimizi tarayıp sonucu verecektir.
  • nmap -p “http*” 192.168.1.15 : Bu sayede hem http hem de https çalışan portları tararız.
  • nmap 192.168.1.15 –top-ports 400 : Bir şey belirtmememiz halinde NMAP en popüler 1000 portu taramıştı değil mi? Biz en popüler ilk kaç portu tarayabileceğini belirtebiliriz. Tıpkı burada olduğu gibi.
  • nmap -F 192.168.1.15 : Bu sayede de en popüler 100 portu tarayarak hızlı olmasını göz önüne alırsak verimli bir tarama gerçekleştiririz.
  • nmap -r 192.168.1.15 : Bu parametre ile verilen portlar ardışık olarak taranır. Siz bir şey belirtmediniz ise nmap verdiğiniz portları rastgele tarar.

Port Tarama Sonuçları

Gelelim bu portlar tarandığında yazan sonuçların anlamlarına.

  • Open : Port açık demek. Aradığımız şey tam da bu. Bu portun üstünde çalışan sistemin üzerine gidebiliriz.
  • Close : Port kapalı. Ancak nihayetinde böyle bir servis var. Aktif olma ihtimali de var. Yine de şu an üstüne gidemeyiz.
  • Filtered : Açık veya kapalı olduğu net değil. Muhtemelen bir firewall sistemi devrede.
  • Unfiltered : ACK taramalarında karşınıza çıkar. (Bunu da anlatacağız.) Erişilebilir ancak açık olmama ihtimali de var demektir.
  • Open | Filtered : Açıkveya filtreli olup olmadığı tespit edilememiş.
  • Close | Filtered : Kapalı veya filtreli olup olmadığı tespit edilememiş.

Gelişmiş Tarama Türleri

NMAP,sistemde yetkili olup olmamanıza göre farklı standart taramalar yapar. Ancak elbette bu tarama tipini değiştirmemiz de mümkün.

TCP Syn Scan : -sS parametresi kullanılır. Bu şekilde SYN paketleri göndererek tarama yapılır. Log kayıtlarına yakalanmaması garanti edilmez. Günümüzde gelişmiş firewaller tespit edebiliyor fakat bir sonraki bahsedeceğimiz taramaya oranla daha az riskli olduğunu söyleyebiliriz. Yetkili erişiminiz varsa bu tarama türünü standart olarak gerçekleştirir.(Linux’taki root yetkisini örnek verebiliriz evet.)

Örnek kullanım : nmap -sS 192.168.1.15

TCP Connect Scan : -sT parametresi kullanılır. Direk olarak sistemle bağlantı kurduğu için log kayıtlarına düşmemeniz pek de mümkün değil. Ancak Syn Scan taramasına kıyasla daha net sonuçlar elde edersiniz. Örneğin servislerin versiyonlarını ararken daha kesin sonuçlar karşınıza çıkar. Yetkili erişiminiz olmaması halinde bu tarama standart olarak gerçekleşir.

Örnek Kullanım : nmap -sT 192.168.1.15

UDP Scan : -sU parametresi kullanılır. UDP paketleri ile tarama yapar. Birçok servis TCP protokolü ile anlaşırken hala UDP kullanan servisler var. Haliyle mevcut taramanızın yanında UDP taraması yapmak daha kapsamlı bir sonuç üretecektir. Ancak UDP taraması biraz uzun sürecektir.

Örnek kullanım : nmap -sU 192.168.1.15

TCP Null Scan : -sN parametresi kullanılır. Bayrak bulundurmayan boş TCP paketleri gönderir. Yine de log kayıtlarına düşer. Gerçek hayatta olmayan bir senaryodur. Karşı taraftaki güvenlik duvarını atlatmamızı sağlayabilir.

FIN Scan : -sF parametresi ile kullanılır. TCP üçlü el sıkışmasının ilk aşamasını gerçekleştirmez. Burada da amaç, şayet bir güvenlik sistemi varsa sistemden cevap almak için ters köşe yapmaktır diyebiliriz. FIN paketi gönderildiğinde karşı makinenin o portu kapalıysa RST+ACK paketi dönerken, portun açık olması halinde hiçbir tepki verilmez.

Örnek Kullanım : nmap -sF 192.168.1.15

XMAS Scan : -sX parametresi ile kullanılır. Bazı güvenlik duvarlarından sonuç almamızı sağlayabilir. TCP paketinin içine URG, PSH ve FIN bayrakları ekler. Hedef makineden dönen cevap FIN taraması ile aynıdır.

TCP ACK Scan : -sA parametresi kullanılır. Hedef sistemin güvenlik duvarı bulundurup bulundurmadığını tespit etmek için kullanılabilir. Tek vazifesi filtreli ve filtresiz paketleri ayırt etmektir. Kapalı veya açık olma durumlarına bakmaz. Hatırlarsanız üçlü el sıkışmada ACK paketi gönderirdik. Karşı taraf ACK+RST gönderirdi. Sistem gönderdiği paketlere RST ekledi ise filtresiz demektir.

–scanflags : TCP tarama bayraklarını manuel girmek isterseniz kullanabilirsiniz. Örnek kullanım : nmap –scanflags [bayrak_tipi] [hedef]

IP Protocol Scan : -sO parametresi kullanılır. Hedef sistemde desteklenen IP porotokollerini gösterir.(TCP, UDP, ICMP…) Ne tür taramalar yapmak istediğinizi belirlemek için güzel bir çözüm olacaktır.

Keşif & Ping

Bir sistemin çalışır halde olup olmadığını anlamak için ona ping göndeririz. Bu sayede tim ip adreslerini tek tek aramak zorunda kalmayız. Standart bir taramada ICMP isteği gönderilir ve cevaba göre hareket edilir. Ancak güvenlik sistemleri ICMP isteklerini genelde engeller ve siz de buna bir çözüm bulmak için aşağıdaki parametreleri kullanırsınız.

-PN : Bazı güvenlik duvarları ping gönderildiğinde karşılık vermez. Bu durumda -PN parametresini kullanırsanız NMAP, o makineyi ayakta kabul edecek ve taramaya başlayacak.

-sP : İp adresi aralığındaki hangi makineler açık onları listeler ve port taraması yapmaz. Root yetkisi ile çalıştırırsanız yerel bir ağda mac adreslerini de size listeleyecektir.

-PS : Makinelere ping gönderilirken standart olarak 80 portu tercih edilir. Ancak siz bunu değiştirebilirsiniz. Ping göndererek yapılan kontrol işleminde istediğiniz portu seçmeniz mümkün. Örneğin : nmap -PS 80,22,443,25 [hedef]

-PA : Standart durumlarda ICMP taraması gerçekleştiğini söylemiştik. Bu işlem üçlü el sıkışması gibidir. ACK paketleri gönderilmesini sağlar. ICMP engelleyen güvenlik duvarları bulunuyorsa bu tarama biçimi çözüm olabilir.

-PU : UDP paketleri göndermeyi tercih eder. Varsayılan port numarası 40125’tir. Bunu değiştirmeniz de mümkün. Örneğin : nmap -PU 22,25,80,443 [hedef]

-PY : Hedefin Akış Kontrol İletim Protokolünü (SCTP) kullanarak keşif yapar. SCTP ise genelde ip tabanlı telefon sistemlerinde kullanılır. Yine PU’da olduğu gibi port belirtmeniz mümkün.

–traceroute : Bu parametre sayesinde gönderilen paketlerin sizin cihazınızdan çıktıktan sonra dünyanın nerelerini dolaşıp karşı makineye ulaştığını keşfedebilirsiniz.

İşletim Sistemi  ve Servis Versiyonu Keşfi

İşletim Sistemi Keşifleri

-O veya –osscan-guess parametreleri ile işletim sistemlerini tespit edebilirsiniz. NMAP, makineden topladığı tüm verileri bir araya getirerek bir sonuç ortaya koyar. Ancak ikinci seçeneği tercih ederseniz daha agresif davranır ve olasılığı daha yüksek sonuçlar elde edersiniz.

Örnek Kullanım : nmap -O 192.168.1.15

Versiyon Keşifleri

-sV parametresi sayesinde çalışan servislerin versiyonları hakkında bilgi edinebiliriz. Bu parametreyi eklememiz halinde NMAP, servislerden bilgi toplamaya başlar ve sonuçta elde ettiği verileri bir araya getirerek versiyonunu tespit eder.

Örnek kullanım : nmap -sV 192.168.1.15

–version-trace parametresini kullanırsanız versiyon taraması için bilgi toplaması vazifesi ile görevlendirdiğimiz casus paketimizin nereleri dolandığını görebilirsiniz. Bu sayede herhangi bir hatanın tespitini de yapmanız mümkün.

-sR, RPC (remote procedure call) taraması yapmak için kullanılan bir parametredir.

RPC NEDİR : RPC, sunucu ve istemcilerin iletişimi için dizayn edilmiş bir servistir. Kullandığınız herhangi bir uygulama sunucu istemci iletişimine ihtiyaç duyuyor ise eğer RPC servisini kullanabilir. Bir mail server için örnek vermek gerekir ise, istemci yani mail almak veya göndermek isteyen bir makine mail server’ a pop3 ile bağlanarak mail alabilir ve smtp üzerinden mail gönderebilir. Mail server tarafında bu servislerin çalışıyor olması gerekmektedir ki gelen isteklere cevap verebilsinler. Aynı örnekten yola çıkarak Microsoft Exchange Server istemcilere pop3 ve smtp desteği sunuyorken ayrıca iletişim için RPC protokolünüde kullanabilmektedir. Burada RPC istemci ve sunucu arasındaki iletişimi gerçekteştiren servis olarak gözlemlenmektedir ( tabiki mail trafiği ile ilgili olan iletişim ).
Özetle RPC sunucu ve istemci arasında çalışan programların ( yapılan işlemlerin ) iletişimi için dizayn edilmiştir. 

Kategoriler
Siber Güvenlik

Google Dorklarını Kullanarak Bilgi Toplama

Google internet dünyasının köşe bucak her yanını gezen, en ücra yerlerini dahi didik didik eden bir arama motoru. Elbette bir yemek tarifi, bir ödev kaynağı bulabilirsiniz. Bunun yanı sıra kimlik bilgileri, kredi kartları, parolalar, farklı platformlara ait hesaplar ve dokümanlar da temin edebilirsiniz. Ne de olsa onlar da internet dünyasında saklanıyor. Aradığınız her şey mutlaka bir yerlerden çıkıyor bu mutlak. Ancak yaptığınız aramalar her zaman istediğiniz sonucu vermiyor. O zaman Google, sizin aramalarınıza ve web sitelerine nasıl yaklaşıyor, biz daha verimli sonuçlar nasıl elde ederiz bir bakalım. Bu yöntemleri sadece siber güvenlik adına değil, günlük hayatınızda da uygulayarak zamandan tasarruf edebilirsiniz.

GoogleBOT, binlerce web örümceğini sanal aleme salıverir. Bu örümcekler web site sahibi tarafından aksi belirtilmedikçe her sayfanın içeriğini kopyalar. Biz bu kopyalamaya indexlemek diyoruz. Koca internet alemini üç defa kopyalayarak binlerce farklı bilgisayarına yönlendirir ve depolar. Üç petabaytlık manyak bir arşiv demektir bu. Google, bu kadar bilgisayarı, yazılımı sayesinde bir bilgisayarmışçasına yönetir. Yani Google, siz arama yapınca tüm interneti gezmez. Kopyalarını kontrol eder. Bu kopyaları bir saat aralıklarla aldığını söyleyebiliriz. Ancak sitenin ilgisine göre örümceklerin uğrama sıklığı değişebilir. Bu yazıda buralara çok girmeyelim, SEO adı altında daha güzel konuşulabilir bunlar.

Google bu kopya içerikleri aramaya hazır hale getirmek için anahtar kelimelere ayırır. Popülerlik ve aramanızla alakalı olma düzeyine bakar. Siz aradığınız anahtar kelimeye dair binlerce sayfa içerikle karşı karşıya olabilirsiniz. Ancak aradıklarınızın tamamı işinize yaramaz. Burada belli parametreler girerek google dorkları oluşturacağız ve aramaları daha başarılı hale getireceğiz.

Hiçbir ekleme yapmadan bir arama girelim.

Güzel. Sonuçlar geldi karşıma. Ama ben aramayı tamamen “HTTP Message Flow” şeklinde yapmak istemiştim. Bu üç kelime yan yana geçiyorsa lazım. Diğer metinlerin bir orasında bir burasında geçmiş. O zaman tırnak içine alarak bu kelimeleri sana verdiğim şekilde ara diyoruz Google Amca’ya.

Gördüğünüz gibi ilk sıradaki arama elendi bile. Artık karşımızda verilen kelimelerin sırası ile geçtiği metinler yer alıyor.

Öncelikle tüm bu parametreleri kullanmadan bir kullanıcı arayüzü görmek isterseniz şu sayfayı kullanabilirsiniz : https://www.google.com.tr/advanced_search

Gelelim başka parametrelere.

site :  Bu arama ile sadece caglar-celik.com adresine ait içerikleri ararsınız. Farklı sitelerden sonuç göremezsiniz. Aynı zamanda sadece istediğiniz domain uzantısı ile aramaları kısıtlayabilirsiniz. Örneğin “site: .tr” veya “site: .org”

inurl : Tarayıcınızda üst tarafta gördüğünüz url alanının tamamınu kapsar. Url içinde arama yapabilirsiniz. En basit örnek ile “inurl:/admin.php”

intitle : Sayfa başlıklarında arama yapar.

intext : Sayfa içeriğinde arama yapar.

filetype ve ext : Dosya türüne yönelik arama yapar. Pdf, txt, docx veya bambaşka bir dosya türü için arama yapabiliriz. Örneğin “filetype:pdf” veya “ext:txt”

cache : Bu arama ile Google’ın önbelleği üzerinden o siteyi izlemeniz mümkün. Örneğin : “cache: caglar-celik.com”

related : Aramanıza yakın benzer web sayfalarını görebilirsiniz.

author : Bu parametre ile yazar aramamız mükün. Örneğin : “author: arthur conan doyle”

numrange : Bu arama ile belli sayı aralığını aratabilirsiniz. Örneğin TC kimlik numaraları 11 haneli ve biz 11 haneli sayılar arıyoruz. “numrange: 10000000000-99999999999”

daterange : Herhangi iki tarih arasında arama yapabiliriz. Örneğin “daterange: 1980-1990”

Eksi (-) : Karşınıza çıkan sonuçlarda ilgisiz başka bir kelime varsa aramanıza o kelimeyi de yazın ve başına eksi ekleyin. Google bu kelimelerin geçtiği sonuçları listeden çıkartacaktır.

Veya ( | ) : Veya işareti ile elma veya armut şeklinde arama yapabilirsiniz. Yani iki farklı kavramı aramanıza eklersiniz. Google size elma da bulsa armut da bulsa sonuç getirir.

Nokta (.) : Örnek bir arama üstünden gidelim. “m.trix” Bu şekilde arattığınızda Google, nokta gördüğü sıraya bütün karakterleri koyarak karşınıza bir sonuç çıkartacak. Yani m-trix, matrix,metrix gibi bütün kelimeleri arama sonucunda bulunduracak.


Birkaç uygulama yapalım bakalım.

İlk akla gelecek olan şey kimlik bilgileri. “intext:TCKNO filetype:pdf site:edu.tr”


Örneğin bir program arıyorsunuz ve direk dizinden indirmek istiyorsunuz. Aşağıdaki aramayı yapın ve metasploit yerine istediğiniz programı aratın.

“parent directory” metasploit -xxx -html -htm -php -shtml -opendivx -md5 -md5sums


Bir müzik arıyoruz diyelim. Neden kafa yoralım ki youtube ile veya aracı sitelerle? Bir dork çakarız ooo mis…

intitle:index.of mp3 pinhani


Diyelim ki bir mail listesine ihtiyacımız var. Hemen bir dork daha yazıyoruz.

filetype:txt inurl:”mail.txt”


Ben güvenlik kameralarını izlemek istiyorum bakalım neler var neler yokmuş.

intitle:webcam 7 inurl:8080 -intext:8080


İşin bir de dalavere tarafını düşünecek olursak, txt dosya tipinde saklanan kredi kartı bilgilerine bir bakalım.

filetype:txt card cw 2018

 

Peki siber güvenlik için kullanabileceğimiz Google dorklarını nereden bulacağız? Size iki kaynak gösterebilirim. Birisi  Google Dorking diğeri ise Exploit-DB’ye ait Google Hacking Database.

 

Kategoriler
Siber Güvenlik

CanYouPwnMe CTF Çözümleri

CanYouPwnMe CTF sorularını çözdükçe buradan paylaşacağım ve aralıklarla güncelleyeceğim. https://ctf.canyoupwn.me adresinden kayıt yaparak çözmeye başlayabilirsiniz. Vakit ayırdıkça güncelleme yapacağım. İnternette çok güzel çözümler var ama bazı sorularda farklı çözümlerim oldu kıyaslayınca fark ettim.

Flag Form : cypwn_{h4ckm3} formatında girilerek çözümler yazılacak. Süslü parantezin arasına cevabımızı yazacağız. Flag Form kısmına bunu kopyalayıp girmeniz halinde de on puan vererek yarışmayı başlatıyor sistem.

Trivia

Git101 (20 Puan)

Unutma dökümantasyon önemli.

https://github.com/londragecidi/londragecidi

Adı üstünde 101 sorusu. Girdim github hesabına, birkaç kurcalamadan sonra wiki sekmesine göz attım ve flag karşıladı beni.

Flag : cypwn_{ben_git_biliom_abi}

First DEUCE (50 Puan)

EE bre deyyus nedir bu ilk DEUCE ??

Doğrusu sorunun cevabını çok farklı yerlerde aradım. Dizi çıktı, film çıktı, tenis çıktı, daha neler neler…Tek tek flag olarak denedim farklı kombinasyonları. Ancak tutturamadım. Tutmayan her şeyi google aramamdan eledim. Sonunda karşıma bir bilgisayar markası çıktı. Alan Turing ilgimi çekti ve onu da aramama dahil ettim. Çok karıştı değil mi? 🙂

Google’daki aramam şu hali aldı :
-“The deuce” “first” “DEUCE” “Alan Turing” “computer” -dizi -şarkı -2017 -music -tennis -dictionary -shoes -ayakkabı -lyrics

http://www.alanturing.net/turing_archive/archive/infopages/london1st.html

Burada şu cümleyi gördüm : “The Pilot Model ACE was London’s first electronic computer and the third stored-program computer to function in Britain.”

Demek The Pilot Model ACE Londra’nın ilk elektronik bilgisayarı. Bunun da birkaç kombinasyonunu denerken tam hayal kırıklığına uğruyordum ki tutturdum. Bu soruya bu kadar vakit harcadığım için üzüldüm doğrusu.

Flag : cypwn_{pilot_ace}

Carrot (50 Puan)

At boyutunda ördek?

Bu soruyu aramaya başladığımda “At boyutunda bir civcivle mi yoksa yüz ördek boyutundaki bir atla mı savaşmayı tercih edersiniz?” şeklinde bir soru ile karşılaştım. Olası cins cevapları, soruyu işe alım mülakatında sorduğu iddia edilen şirket isimlerini ve birkaç denemeyi daha cevap olarak girdim ancak önceki sorudan dilim yandı bir defa. Bu işte başka bir iş var. İngilizce aramaya başladım ancak bunu keşfetmem çok zaman aldı. Aynı sorularla karşılaşınca aramamda ufak dokunuşlar yaptım ve ikinci arama sayfamda Wikipedia’nın farklı bir başlığını gördüm. Nihayetinde at boyutunda bir ördeğe benzeyen dinazor türü ile karşılaştım. Yine o kadar umutlu değilken ikinci denememde cevap geldi.

https://en.wikipedia.org/wiki/Dromornithidae

Flag : cypwn_{dromornithidae}

INTELLIGENCE (50 Puan)

Bu çocuk müthiş istihbarat tekniği kullandı. 🙂

Yine bir iki denemem oldu. İstihbarat tekniklerini yazdım ancak doğru çıkmadı. Sonra çark ettim ki aradığım tüm sayfaların ortak noktası OSINT. Eh, öyleyse biz de bunu yazarız dedik. Bingo 🙂

Flag : cypwn_{OSINT}

Forensics

Flog (25 Puan)

http://s3.dosya.tc/server10/ol4jyx/canyoupwnme.rar.html

Rar dosyasının içinden bir log kaydı çıkıyor. Ben de “cypwn_{” yazarak aratıyorum. Ve tam üstüne denk geliyorum. Tertemiz kurtuluyorum sorudan 🙂

Flag : cypwn_{canyoupwnme_log}

Is Empty? (50 Puan)

Daha dün baktım burdaydı ama şimdi bulamıyorum?

https://drive.google.com/open?id=0B5i8WVYofXg6QWxVNUQyTkRfRW8

Parola korumalı bir zip dosyası söz konusu. Öyleyse john the ripper aracı imdadımıza yetişir.

“zip2john demorepo.zip > demorepo.hash” komutunu kullanıyorum. Şimdi şu hash dosyasını kırmaya bakalım.

“john demorepo.hash –show” parametresi ile son hamlemi yapıyorum. Parola : 12345

Sonra dosyaların içinde deli danalar gibi gezinmeye başlıyorum. Bakalım işe yarar ne var? Aradığım şeyin config dosyasında olduğunu buluyorum.

url = https://github.com/stolera/demorepo.git

Github hesabından flagi elde ediyorum.

Flag : cypwn_{easy_peasy_lemon_squeezy}

OSINT

NS (10 Puan)

canyoupwn.me ‘nin nameserverlarından birisi?

Herhangi bir web sitesi üzerinden CanYouPwnMe nameserverlarını sorgulayabiliriz. Ben linux araçlarından dig ile yaptım.

Komut : dig canyoupwnme mx
Karşıma iki NS çıktı.

ada.ns.cloudflare.com
zod.ns.cloudflare.com
Flag : cypwn_{ada.ns.cloudflare.com}

Mail (25 Puan)

Bu canyoupwn.me mailleri nerede barındırıyor acaba?

OSINT kategorisindeki NS sorusunda dig aracı ile yaptığım sorgu aslında bu sorunun da cevabını verdi. Şans 🙂

Flag : cypwn_{mx.yandex.net}

xCyberX (50 Puan)

Siber suçlular gizli ağlardan erişim sağlayarak orjinal Mona Lisa tablosunun taranmış digital kopyasını ele geçirdiler. Bu orjinal resmin yerine ise başka bir resim bırakmışlar. Siber suçluları takibe hazır mısın ? Bıraktıkları resim dosyası aşağıdadır.

https://drive.google.com/open?id=0B5i8WVYofXg6c29VYlg2MUZTQkk

Her gördüğüm fotoğrafta bir fotoforensic işlemi arıyorum. Bunda da ilk önce onu yaptım. Didik didik ettim hiçbir şey çıkmadı. Sonra soruya dikkat etmediğimi düşünüp tekrar döndüm. Dedim şunu steghide ile açayım. xcyberx ve ona yakın bazı anahtarlar belirledim kendime ve denemeye başladım. Sonucu aşağıdaki komut verdi. Yani cyberx.

steghide extract -sf RockYouFor_cyber_.jpg

Nihayet hint.txt isimli bir belge çıkıyor fotoğrafın içinden. Onda da aşağıdaki link yer alıyor.

https://yadi.sk/i/zxpANdeJ38yUKK

Karşımıza bir karekod çıkıyor. Bunu da herhangi bir karekod decode sitesinde çözüyorum. Bu sefer de tahminimce base64 ile şifrelenmiş bir metin var.

Doğru yoldasın dostum devam et..go go go!!!flag : aWV2Y3Rfe20wMGpfcDBIX0h4MF9lMGFfQHgzX0BfbkBpcTNYfQ==

Decode ettiğimde şununla karşılaşıyorum : ievct_{m00j_p0H_Hx0_e0a_@x3_@_n@iq3X}

Bir iki denemeden sonra da ROT ile şifrelendiğini keşfediyorum ve çözdüğümde flag karşıma çıkıyor.

Flag : cypwn_{g00d_j0B_Br0_y0u_@r3_@_h@ck3R}

Secret (100 Puan)

secret.canyoupwn.me

Verilen adrese erişim yok. Ne ola ki? Sazanlık edip soru bozuk bile dedim itiraf ediyorum. Sonra DNS sorgusundan cevabı buldum.

http://www.iyinet.com/dns-sorgulama/url/secret.canyoupwn.me

Flag : cypwn_{kks271723jjjasd9asd771239}

Kategoriler
Siber Güvenlik

İnternet Protokolleri (TCP,UDP,ICMP ve ARP)

Az önce NMAP ile ilgili bir yazı hazırlarken önce protokolleri ve OSI katmanlarını anlatmam gerektiğini fark ettim. Burada protokol dediğimiz şey iki makine arasındaki bağlantıyı sağlamak için oluşturulan belli kurallar silsilesidir. Bu iki makinenin iletişim kurabilmesi için bu kuralların uygulanması şarttır. Tanım sizi korkutmasın aşağıda örnekleri ile açıkladığımızda her şey aydınlanacak.

TCP Nedir?

TCP güvenli bağlantıdır. Bunun sebebi üçlü el sıkışması(three way handshake) mantığı. Önce üçlü el sıkışmasını anlatmam gerekecek elbette. A makinesi, B makinesi ile iletişim kurmak istiyor diyelim. B makinesinin çalışıp çalışmadığını anlamak için, içinde kendi bilgilerinin olduğu bir SYN paketi gönderiyor. Eğer RST+ACK paketi dönerse bu karşı makinenin kapalı olduğu anlamına gelir ve iletişim burada biter. 

Ancak diyelim ki B makinesi açık ve paketi aldı. Bu durumda o da kendi bilgilerini barındıran SYN+ACK paketi gönderir. A makinesi de mesajı aldığını belirtmek için ACK paketini iade eder. 

Bir arkadaşımın özeti ile durum şudur :

*Merhaba, ben Çağlar.

-Merhaba ben de Oğuz Atay.

* Tanıştığıma memnun oldum.

UDP Nedir?

UDP, güvensiz protokoldür. Bunun sebebi üçlü el sıkışmasının gerçekleşmemesi. Paketler kontrolsüz bir biçimde gönderilir. Teyit işlemi yapılmaz. Bu teyit işlemi olmadığı için de UDP ile gönderilen paketler daha hızlı bir iletişim sağlar. Paket gider, dönüş yoksa karşı makine kapalı kabul edilir, dönüş varsa açıktır. 

Şimdi hazır ikisini anlatmışken şunu da belirtmem gerekiyor, internet ortamındaki canlı yayınlar, görüntülü konuşmalar, anlık sesli konuşmalar UDP paketleri ile yapılır. Çünkü paketlerin tamamen iletilmesinden ziyade hızlı iletişim önemlidir bu kullanım alanlarında. Basit bir benzetme yaparsak karşınızdaki kişi konuşurken bir iki harf gelmezse bunu tamamlayabilirsiniz ve çok rahatsız olmazsınız. Fakat geriden gelen veya donan bir canlı bağlantı işinize gelmeyecektir. TCP ise paketlerin kaybolmasını önlüyor. Yaptığınız dönem ödevinin hocanıza eksik gitmesini istemezsiniz değil mi? İşte bu durumda TCP devreye girer ve her paket güvenle karşı tarafa ulaşır.

ARP Nedir?

ARP’ın üstüne vazife olan iş, mevcut paketten aldığı ip adresinin MAC adresini öğrenmek. Ana makineye gider ve bu ip adresinin mac adresi nedir diye sorar. Aldığı cevabı da bu iletişim dünyasına dahil eder.

ICMP Nedir?

ICMP ise bir bilgilendirme protokolüdür. Paket aktarımı sırasında bir hata olması, bağlantı kopması, paketin ulaşmaması durumunda, paketi gönderen makineye gider ve durumu haber verir. Bu sayede paket tekrar gönderilir.


Diğer protokollere de hızlıca bir dokunmak istiyorum. FTP, dosya transferi için hazırlanan protokoldür. Örnek vermek gerekirse web sitenize ait dosyaları gönderirken bu protokolü kullanırsınız. SMTP ise eposta gönderimlerinde rol alır. IMAP ve POP3 de eposta protokollerindendir. IMAP sayesinde epostalarınızı ve onlara ek olarak yüklenen dosyaları indirmeden de erişebilirsiniz. Bu sayede her cihazdan, her yerden, daha az veri kullanımı ile epostalarınıza ulaşırsınız. Ancak POP3 kullanıyorsanız tüm postalar sizin sisteminize indirilir ve indirmeden erişilmez.

 

BAYRAKLAR

  • URG : Öncelik belirten bayrak
  • ACK : Onay bayrağı. Paket alındı/teslim edildi anlamına gelir.
  • PSH : Veri iletimi. Push kelimesinden gelir.
  • RST : Kapalı port bildiren bayrak.
  • SYN : Senkron bayrağı.
  • FIN : Bağlantı sonlandırma bayrağı.
Kategoriler
Siber Güvenlik Video

Intercepter ile İnternet Ağını İzleme

İntercepter isimli mobil uygulama, bizim bağlı olduğumuz wifi ağındaki diğer bütün cihazları izlememizi sağlıyor. Ağdaki bütün paket akışını görebiliyoruz. Bu paketlerin içinde kullanıcı adı ve parola gibi önemli bilgiler de yer alabiliyor. Bunların dışında girdikleri siteye ait fotoğrafları görebiliyoruz. Google Play’de bulunmayan bu uygulamayı kullanmak için cihazınızın rootlu olması gerekiyor. İndirme linki : http://www.mediafire.com/file/cm6dvpikdx139mi/Intercepter-NG.2.1_www.siberyazilimci.net.apk

“Skip scanning” seçeneği ile taramayı geçebiliriz. Veya sağında bulunan yön butonu ile ağı taramaya başlayabiliriz. Bağlı olduğum wifi ağındaki diğer cihazları mac adresi, yerel ip adresi ve işletim sistemi ile beraber bana listeliyor ikinci görselde gördüğünüz gibi. Başlarındaki ufak ikonlar cihazların işletim sistemini gösteriyor. Sağ kısımlardaki tikleri seçerek istediğim cihazları tarayabilirim. Aynı zamanda select all seçeneği ile tamamını da seçmem ve izlemeye başlamam mümkün.

Daha sonrasında gelen ekranda ayarlar sekmesine geçerek SSLStrip seçeneğini seçiyoruz. Bunun sebebi ise ağdaki diğer kullanıcının güvenlik desteği olan https bağlantısı ile herhangi bir siteye giriş yapması halinde bu bağlantıyı http ile değiştirerek şifresiz paketleri izlememizin daha kolay olmasıdır. SSL’i kısaca anlatmak gerekirse, https bağlantılı sitelere verdiğimiz isimdir. Güvenli bağlantı olan https, paketleri şifreli olarak karşı sunucuya gönderir ve bizim bunları izlememiz güçleşir. Ancak karşı taraf http ile işlem yaparsa bunları kolayca izleyebiliriz. Örnek vermek gerekirse, Facebook, Twitter ve İnstagram gibi web siteleri güvenli bağlantı kullanır ve kullanıcılarının izlenmesini önlemeye çalışır.

Şimdi ilk sekmeye dönerek intercepter taramasını, ikinci sekmeden de paket taramasını başlatıyorum. Sol üst kısımdaki “play” tuşuna dokunmanız yeterli. Kurabiye ikonlu üçüncü sekmemizde çerez bilgileri yer alırken dördüncü sekmede karşı tarafın girdiği sitede bulunan görsel dosyalar listelenir. Şimdi taramayı sevdiğim teknoloji blogu Webtekno üzerinde test edelim. Webtekno, güvenli bağlantı kullanmıyor. Haliyle tüm paketler bana şifresiz biçimde ulaşacaktır. 

Şimdi siteye üye girişi yapmayı deneyelim. İlk başta hatalı bir giriş yapıyorum. Program tüm paketleri topluyor. Ardından doğru giriş yapıyorum. Yine aynı şekilde paketler listeleniyor. Intercepter hatalı veya doğru giriş ayırt etmeksizin bize kullanıcı adı ve parola bilgilerini gösterdi. İkinci sekmedeki paketler de aynı şekilde akmaya devam ediyor. Bu paketleri detaylıca incelemeyi wireshark ile ilgili bir yazı hazırladığımda anlatmayı planlıyorum.

Görseller sekmesine dönersek bana siteye ait tüm görselleri listelemeye başladı. Çerezler kısmında da herhangi birine tıklamam halinde detaylı bilgileri kopyalayacak ve o siteye giriş yapacak.

Taramayı durdurduktan sonra eğer kaydetmek istemiyorsak ayarlar kısmından Clear res ve clear pcap seçenekleri ile listelenen tüm bilgiler siliniyor. Yaklaşık beş dakikalık bir tarama bende 100mb civarında yer kapladı ve sürekli olarak saklamanın benim cihazımda yer sıkıntısına sebep olduğunu fark ettim. Bu ağdaki paket akışının ne kadar olduğu ile de ilgili. Tercih sizin.

Kategoriler
Siber Güvenlik

İplogger Kullanarak İp Adresi Tespit Etmek

IPLOGGER.ORG

Bu sefer bahsini edeceğim şey siber güvenlik noktasında çok önemli bir şey olmamakla beraber pratik bir detay olabiliyor. İplogger, sizin için linke tıklayanların ip adresini alır ve daha sonra sizin verdiğiniz siteye yönlendirir. Sıradan bir kullanıcının fark etmesi pek de mümkün değil. Umarım “ip adresin elimde modemini yakacağım.” lafları için kullananlar okumuyordur.

Öncelikle iplogger.org adresine kayıt oluyoruz. Daha sonra karşımıza çıkan bu ekrana karşı tarafın ip adresini alır almaz hangi adrese yönlendirmek istiyorsak onu yazıyoruz ve shorten butonuna basıyoruz.

Daha sonra aşağıdaki gibi bir ekranla karşılaşıyoruz. Bizim için önemli olan kısımlara değineceğim.  Üçüncü seçenekteki linke tıklayan herkesin ip adresi, tarayıcı ve işletim sistemi bilgileri, tahmini konum bilgisi kayıt olacaktır. Dördüncü kısımda ise yönlendirilecek adresi değiştirmemiz mümkün. Beşinci, yani Google short url kısmından ise goo.gl adresinden size mevcut linki kısaltarak verecektir. Nihayetinde karşı tarafa iplogger domainli bir link göndermek çok akıllıca olmayabilir. Kısaltılmış linke tıklayan birisi bir süre o adreste kalacak sonrasında direk olarak caglar-celik.com adresine geçecek. İplogger domaini fark edilmeyecek.

Bir sonraki seçenekte ise ip adreslerinin listesi mevcut. Bunu başkaları ile paylaşmanız mümkün.

Son iki seçenek ise forumlara ve HTML web sitelerine görsel olarak log koymak için hazırlanmış. O kodları forum mesajınıza veya web site kodlarınızın arasına koyduğunuzda herhangi bir önlem yoksa görünmeyecektir ve o sayfaya girenler otomatik olarak linke tıklamış kabul edilecektir. En alttaki ufak alandan ise link adresinde düzenlemeler yapmanız ve PDF, MP3 gibi farklı uzantılarda bir dosyaymış gibi göstermeniz mümkün. Ancak link kısalttığınızda bir anlamı kalmayacaktır.

Logged IP’s sekmesine gelelim. Burada ise sizi tıklayanların listesi karşılıyor. Tarayıcı detayları için sağ taraftaki info ikonuna tıklamanız yeterli. Ayrıca işletim sistemini de buradan öğrenmeniz mümkün. Mobil işletim sistemleri ve versiyonları da buna dahil.

Summary Data View kısmında ise bir harita mevcut. Burada hangi ülkeden ne kadar tıklanma aldığınızı görebilirsiniz. Ayrıca sayfayı aşağıya kaydırdığınızda yine işletim sistemi vb. özelliklere göre kaç kişinin tıkladığı istatistiği de grafiksel olarak verilmiş.

CyberHub İplogger

Sırada başka bir web sitesi var. Bu site de iplogger görevi görüyor fakat farklı olarak domain adresleri daha bir inandırıcı. Örneğin twitter.com domaininin harflerinden birinin altında hafif bir çizik var, başka bir domainde bir harf altında bir nokta… Domainler Yunan alfabesi gibi farklı harflerden seçilerek latin alfabesi ile alınan popüler domainlere benzetilmiş. Ve bu adreslere tıklayan herkesin ip adresini kaydediyor. 

Domain seçiminden sonra domaini yandaki butonla kopyalayıp karşı tarafa gönderiyoruz. Arkasından “IP Logger Key” adresini başka bir yere kopyalayıp saklıyoruz. Onunla sorgu yapacağız. Linki dağıttıktan sonra tıklayanların bilgilerini toplamak için Key kısmına aldığımız numarayı yapıştırıyoruz. Sonrasında da “Get Result” diyoruz. Tıklayanların ip adresi ve saat-tarih bilgileri karşımıza çıkıyor.

Kategoriler
Siber Güvenlik

OWASP Top 10 2017 Raporu

OWASP Nedir?

OWASP (Open Web Application Security Project), web uygulamalarının güvenliği için çalışma yapan özgür bir topluluktur. OWASP’a ait dokümanlar ve araçlar herkese açıktır. OWASP’ın hiçbir şirket ve kuruluşla bağı yoktur ve tamamen topluluğun ihtiyaçlarını gidermek üzerine çalışmalar yürütmektedir. OWASP Vakfı, projenin uzun vadeli başarısını sağlayan kar amacı gütmeyen bir kuruluştur. OWASP ile ilişkili hemen hemen herkes, OWASP kurulu, bölüm başkanları, proje liderleri ve proje üyeleri de dahil olmak üzere bir gönüllüdür.

OWASP Top 10 listesi birkaç yılda bir güncellenir. Tüm web açıklarını belli bir puan sistemine göre sıralar ve en popüler on açık listesini yayınlar. Aynı zamanda listede açıklar için öneriler de yer alır.Aşağıda 2017 listesi mevcuttur. Puanlama sistemine yazının devamında yer vereceğim.

OWASP TOP 10 2017 PUAN
A1: Injection 8.0
A2: Broken Authentication( and Session Management) 7.0
A3: Sensitive Data Exposure 7.0
A4: XML External Entities (XXE) 7.0
A5: Broken Access Control 6.0
A6: Security Misconfiguration 6.0
A7: Cross-Site Scripting (XSS) 6.0
A8: Insecure Deserialization 5.0
A9: Using Components with Known Vulnerabilities 4.7
A10: Insufficient Logging & Monitoring 4.0

A1 : Injection

İstismar Edilebilirlik: 3 Yaygınlık: 2 Tespit Edilebilirlik: 3 Teknik: 3

SQL, NoSQL, OS, and LDAP enjeksiyon gibi kusurlar, saldırganların verileri izinsiz bir şekilde okumasına ve komut çalıştırmasına sebep olabilir. Keşfedilmesi kolaydır. Enjeksiyon, veri kaybedilmesi, verilerde değişiklik yapılması ve saldırganın admin hesabını elde etmesi ile sonuçlanabilir.

 

A2: Broken Authentication (and Session Management)

İstismar Edilebilirlik: 3 Yaygınlık: 2 Tespit Edilebilirlik: 2 Teknik: 3

Tahmini kolay ve brute force sistemi ile kırılabilen şifreler bir web sitesi için tehdit demektir. Aynı zamanda giriş denemelerine kısıtlama konulmaması ve captcha kullanılmaması da zafiyetlerden birisidir. Bu şekilde getirilen sınırlamalar ve önlemler brute force saldırılarından web sitesini büyük oranda kurtaracaktır.

Sitemizi ziyaret eden her kullanıcıya bir değer atarız. Bu değer o kişinin hangi yetkiye sahip olduğunu da belirtir. Ancak bu zaafiyeti de beraberinde getirir. Örnek vermek gerekirse saldırgan, siteye ziyaretçi olarak girer ve ona bir id atanır. Bu id linkte yer alıyorsa linki görebileceği bir sayfa hazırlayarak kurbanın o sayfaya girmesini sağlar. Bu durumda kurbanın id’sini elde eden saldırgan, onun yetkileri ile sitede gezinebilir.

Bazı web siteleri ise parolamı unuttum seçeneğine mail girilmesi halinde direk olarak maile yeni şifreyi gönderir. Saldırgan, sürekli olarak kurbanın mailini bu sisteme girerse, saldırgan söz konusu web sitesine giriş yapamayacaktır.

Şifre yenileme ekranında eski parolanın sorulmaması da bu alandaki zafiyetlerden birisidir. Ayrıca mail aktivasyonu yapılmadan kayıt yapılan siteler ve üye girişi sonrası çıkışı mümkün olmayan sistemler de bu başlık altında incelenebilir.

A3: Sensitive Data Exposure

İstismar Edilebilirlik: 2 Yaygınlık: 3 Tespit Edilebilirlik: 2 Teknik: 3

Bu açığın sebebi önemli verilerin saklanmaması, şifrelenmemesi veya bilinen şifreleme algoritmaları ile saklanmasıdır. Kredi kartı, parolalar, adres ve kimlik bilgileri gibi önemli olduğuna inandığımız bilgileri güçlü algroitmalar ile şifrelemek sağlıklı olacaktır.Aynı zamanda bilgiler sunucuya şifrelenmeden ulaşıyorsa bu da bir risk oluşturacaktır. Sunucu ve kullanıcı arasındaki ağı takip eden bir saldırgan önlem alınmayan bu verileri elde edebilir. Bunun için https gibi güvenli protokolleri kullanmak faydalı olacaktır. Diğer yandan sistemdeki default parolaları da değiştirmek gerekir.

A4: XML External Entities (XXE)

İstismar Edilebilirlik: 2 Yaygınlık: 2 Tespit Edilebilirlik: 3 Teknik: 3

Bu açık yanlış configure edilmiş XML dosyalarının sabote edilmesine sebep olur. Saldırgan, sunucuya zararlı yazılım yer alan XML dosyası göndererek dosyaları okur, dos saldırısı gerçekleştirir ve komut çalıştırır. Çözüm olarak ise XML kütüphanelerini güncel tutmak, XML External Entity özelliğinin kapatılması ve sunucuda “whilelisting” kontrolünün yapılması gerekir.

A5: Broken Access Control

İstismar Edilebilirlik: 2 Yaygınlık: 2 Tespit Edilebilirlik: 2 Teknik: 3

Bu açık kullanıcı yetkilerinin doğru oluşturulmamış olmasından kaynaklanır. Daha açıklayıcı olarak aşağıdaki örnekte açıklayabiliriz.

example.com/app/accountInfo?acct=enes

Biz acct parametresini değiştirelim ve başka bir kullanıcının bilgilerine ulaşmayı deneyelim.

example.com/app/accountInfo?acct=Admin

Verilen linkte kullanıcı adı kısmı değiştirilerek başka kullanıcıların verileri elde edilebilir. Hatta bir wordlist ile farklı kullanıcı varyasyonları da temin edilebilir. Öte yandan admin gibi yetkili kullanıcılar da kullanılabilir. Bu durumda link yapısının doğru yapılması, izinlerin düzgün planlanması ve her açıkta olduğu gibi bunda da log kayıtlarının incelenmesi güvenlik adına önem taşımaktadır.

A6: Security Misconfiguration

İstismar Edilebilirlik:3 Yaygınlık: 3 Tespit Edilebilirlik:3 Teknik:2

Gereksiz servis ya da eklentilerin kurulması ve sonrasında unutulmasından kaynaklanan açıktır. Ayrıca OWASP’a göre en çok bulunan açık çeşididir. Bu sistemlerin güncel olmaması, default parolalar ile kalması güvenlik tehditlerini oluşturur. Çözüm olarak ihtiyaç duyulmayan servisler kaldırılmalı, default parolalar değiştirilmeli. Aynı zamanda sistem güncel tutulmalıdır.

A7: Cross-Site Scripting (XSS)

İstismar Edilebilirlik:3 Yaygınlık: 3 Tespit Edilebilirlik:3 Teknik:2

Türkçe karşılığı siteler arası betik çalıştırma olan bu zaafiyet, bir web sitesi üzerinde izinsiz olarak HTML, CSS veya Javascript gibi kod parçacıkları çalıştırmaya yaramaktadır. Bir sitenin XSS zaafiyeti bulundurması, o sitenin kullanıcılarının tarayıcılarında zararlı kod çalıştırılmasına zemin hazırlamaktadır.Bu da kullanıcıya ait parola, çerezler vb. bilgilerin ele geçirilmesi ile sonuçlanır. XSS önlemi alan frameworkler kullanılması ve toplum mühendisliği saldırılarına karşı bilinçlendirme çalışmaları alınacak önlemler listesinde yer almaktadır. Aynı zamanda web sitesine dair veriler elde etmek de mümkündür. XSS, kendi içerisinde üçe bölünür.

Reflected XSS : Mevcut zaafiyetin en yaygın alt dalıdır. Saldırgan, bulduğu XSS açığını kötüye kullanarak bir link hazırlar ve bunu kullanıcıya gönderir. Kurban gönderilen linke tıklarsa açığa kurban gider. Bu yüzden diğer çeşitlerine nazaran daha az önem arz ettiği kabul edilmektedir.

Örnek vermek gerekirse, aşağıdaki olağan link ikinci verilen örnekteki kod parçacığı çalıştırılabilir.

http://www.site.com/search.aspx?keyword=caglar

http://www.site.com/search.aspx?keyword=<script>alert(/caglar/)</script>

Stored XSS : Bir önceki örneğimizden farklı olarak yalnızca linki açan kullanıcı değil, o sayfayı görüntüleyen herkes saldırıya uğramış olur. Herhangi bir toplum mühendisliğine başvurmak gerekmeksizin saldırgan, kullanıcılara erişir. Zararları diğer çeşitlerine nazaran daha fazladır.

DOM Tabanlı XSS : Bu XSS çeşidi HTML üzerinden değil de DOM objeleri üzerinden uygulanır. Reflected örneğindeki gibi kullancıya bir link bırakılır fakat kullanıcı linke girdiğinde bilgiler site üzerinden gönderilmez. Kullanıcının oturum bilgileri, saldırganın elinde tuttuğu farklı bir web sitesine gönderilir.

A8: Insecure Deserialization

İstismar Edilebilirlik:1 Yaygınlık: 2

Tespit Edilebilirlik:2

Teknik:3

Bu zaafiyet ile web sitesine dos saldırında bulunmak ve komut göndermek mümkündür. Kullanıcılardan gelen verilerin kontrol edilmemesinden kaynaklanmaktadır.

A9: Using Components with Known Vulnerabilities

İstismar Edilebilirlik:2 Yaygınlık: 3 Tespit Edilebilirlik:2 Teknik:2

Security misconfiguration ile benzer olmakla beraber mesele burada biraz daha farklıdır. Bilindik bir exploiti bulunmasına karşın sistem veya uygulamaların aynı sürümünün kullanılması bu zaafiyetin listede yer almasına sebep olmuştur. Çözüm olarak ise sistem ve uygulamaları güncel tutmak gerekmektedir. Kullanılmayan ve gereksiz uygulamalar kaldırılmalıdır. başta exploit-db.com olmak üzere birçok yerden güncel exploitleri temin edebilirsiniz. Güncel olarak ortaya çıkan exploitleri takip ettikten sonra buna göre önlem almak da mümkün.

A10: Insufficient Logging & Monitoring

İstismar Edilebilirlik:2 Yaygınlık: 3

Tespit Edilebilirlik:1

Teknik:2

Log kayıtlarının yeterli oluşturulmaması ve incelenmemesinden kaynaklanan sıkıntılardır. Önemli işlemler ve başarılı/başarısız giriş denemelerinin kayıt altında olması gerekir. Bu durumda arka arkaya yapılan giriş denemeleri bir yerden sonra log kayıtlarını analiz eden sistem veya görevli tarafından dikkat çekecektir ve öncesinde önlem alınacaktır. Brute force saldırılarının yanı sıra listedeki diğer açıkların da tespiti logların izlenmesi sonucunda erkenden önlenebilir.

Detaylı bilgiler ve kaynakça :

 

Hazırladığım sunum PDFine şu linkten ulaşabilirsiniz : https://drive.google.com/file/d/1U7_6uzGO9xvpCC1fGgmjOapX_Fy9ovh7/view?usp=sharing