Sic Parvis Magna

28 Aralık 2024 Cumartesi

TryHackMe - Introductory Researching

Aralık 28, 2024 Posted by unexpected No comments

Task 1 - Introduction

Etkili araştırma yeteneği bir hackerın sahip olması gereken en önemli niteliklerden biridir. Hackerlık doğası gereği geniş bir bilgi tabanı gerektirir. Çünkü nasıl çalıştığını bilmediğiniz bir şeye nasıl gireceksiniz değil mi? Mesele şu ki: kimse her şeyi bilemez. Herkes (profesyonel, amatör, deneyimli ya da konuya tamamen yeni olabilirler) otomatik olarak nasıl çözüleceğini bilmediği sorunlarla karşılaşacaktır. İşte bu noktada araştırma devreye girer, çünkü gerçek dünyada sorularınızın yanıtlarının size kolayca verilmesini bekleyemezsiniz.

Deneyim seviyeniz arttıkça, araştırdığınız şeylerin zorluk derecesinin de buna göre arttığını göreceksiniz; ancak bilgi güvenliği alanında, bir şeylere bakmanıza gerek kalmayacağı bir nokta asla gelmeyecektir.

Task 2 - Example Research Question

TryHackMe'de bir CTF üzerinde çalışırken bulmanız muhtemel türden olan tipik bir araştırma sorusuna bakarak başlayacağız.

Diyelim ki uzak bir sunucudan bir JPEG görüntüsü indirdiniz. İçinde gizli bir şey olduğundan şüpheleniyorsunuz, ancak bunu nasıl ortaya çıkarabilirsiniz? Google'da "hiding things inside images" aramasını yaparak başlamaya ne dersiniz?

Aşağıdaki ikinci bağlantının bize bir tekniğin başlığını verdiğine dikkat edin: "Steganography" Daha sonra bu bağlantıya tıklayabilir ve size dosyaların resimlerin içine nasıl gizlendiğini öğretecek olan belgeyi okuyabilirsiniz.

Artık nasıl yapıldığını biliyoruz, şimdi steganography kullanarak dosyaları ayıklamanın bir yolunu aramayı deneyelim

Zaten neredeyse her bağlantı faydalı bir şeye işaret ediyor. İlk bağlantı yararlı araçların bir koleksiyonunu içeriyor, ikincisi ise ilk etapta steganografinin nasıl gerçekleştirileceğine dair daha fazla talimat içeriyor. Gerçekçi olmak gerekirse bu bağlantılardan herhangi biri faydalı olabilir, ancak ilkine 0xrick.github.io bir göz atalım.

Buradaki ilk araç kullanışlı görünüyor. JPEG dosyalarından gömülü verileri ayıklamak için kullanılabilir tam da ihtiyacımız olan şey! Bu sayfa ayrıca steghide'ın "apt" kullanılarak kurulabileceğini de söylüyor.

Şimdi bunu araştıralım!

Harika Yani apt, Ubuntu (veya Kali!) gibi Linux dağıtımlarına araçlar yüklememizi sağlayan bir paket yöneticisidir. Apt kullanarak paketleri nasıl yükleyebiliriz? Hadi arayalım!

Mükemmel sayfanın en üstünde bize talimatlar veriliyor. Paketimizin adının steghide olduğunu biliyoruz, devam edip bunu yükleyebiliriz

terminal
apt-get install steghide

Şimdi, daha önce baktığımız steganografi araçları koleksiyonuna geri dönelim. Orada steghide'ın nasıl kullanılacağına dair talimatlar olduğunu fark ettiniz mi?

setghide extract -sf file: extracts embedded data from a file

İşte böyle! Bir dosyadan bir görüntüyü bu şekilde çıkarabiliriz. Araştırmamız sonuç verdi ve şimdi gidip görevi tamamlayabiliriz.


Buradaki metodolojiye dikkat edin. Hiçbir şey yapmadan başladık, ancak yavaş yavaş ne yapmamız gerektiğine dair bir resim oluşturduk. Bir sorumuz vardı (Bu görüntüden nasıl veri çıkarabilirim). Bu soruya bir yanıt aradık, ardından konuyu tam olarak anlayana kadar bize verilen yanıtların her birini sorgulamaya devam ettik. Bu, araştırma yapmak için gerçekten iyi bir yoldur: Bir soruyla başlayın; konu hakkında ilk anlayışı edinin; daha sonra gerektiğinde daha ileri yönlere bakın.

Şimdi sıra sizde. Araştırma becerilerinizi kullanarak aşağıdaki soruları yanıtlayıp yanıtlayamayacağınızı görün. İlk üç sorunun ipuçlarında uygun arama sorguları bulunmaktadır:

1. Kali Linux ile birlikte gelen Burp Suite Programında, bir isteği manuel olarak göndermek için (genellikle yakalanan bir isteği birçok kez tekrarlayarak) hangi modu kullanırsınız?

Repeater

2. Modern Windows oturum açma parolaları hangi hash formatında saklanır?

NTLM

3. Linux'ta otomatik görevlere ne denir?

Cron Jobs

4. Hangi sayı tabanını 2 tabanının (binary) kısaltması olarak kullanabilirsiniz?

Base 16

5. Bir parola hash'i $6$ ile başlıyorsa, bu hangi formattadır (Unix varyantında)?

sha512crypt

Task 3 - Vulnerability Searching

Bilgisayar korsanlığında genellikle istismara açık olabilecek yazılımlarla karşılaşırsınız. Örneğin, İçerik Yönetim Sistemleri (Wordpress, FuelCMS, Ghost, vb.) bir web sitesi kurmayı kolaylaştırmak için sıklıkla kullanılır ve bunların çoğu çeşitli saldırılara karşı savunmasızdır. Peki belirli bir yazılımı istismar etmek isteseydik nereye bakardık?

Bu sorunun cevabı aşağıdaki gibi web sitelerinde yatmaktadır:

NVD, CVE'leri (Common Vulnerabilities and Exposures) kamuya açık bir istismar olup olmadığını takip eder, bu nedenle belirli bir yazılım parçasındaki güvenlik açıklarını araştırıyorsanız bakmak için gerçekten iyi bir yerdir. CVE'ler şu biçimi alır: CVE-YEAR-IDNUMBER

ExploitDB hackerlar için çok yararlı olma eğilimindedir, çünkü genellikle kutudan çıkar çıkmaz indirilip kullanılabilecek açıklar içerir. Bir CTF veya pentestter yazılımla karşılaştığınızda ilk duraklardan biri olma eğilimindedir.

Eğer Linux'ta CLI kullanmaya meyilliyseniz, Kali, ExploitDB'yi kendi makinenizden aramanızı sağlayan "searchsploit" adlı bir araçla önceden yüklenmiş olarak gelir. Bu çevrimdışıdır ve veritabanının indirilmiş bir sürümünü kullanarak çalışır, yani Kali Linux'unuzda zaten tüm açıklara sahipsiniz!


Bir örnek verelim. Diyelim ki bir CTF oynuyoruz ve bir web sitesiyle karşılaştık:

Bunun FuelCMS olduğu çok açık. Genellikle bu kadar açık olmaz, ama elimizdekiyle çalışacağız!

Yazılımı biliyoruz, bu yüzden ExploitDB'de arayalım.

Açıkları aramak için searchsploit fuelCMS komutunu kullanıyorum

Web sitesinde bir şeyler yapmayı tercih ediyorsanız, işte oradan sonuçlar:

Artık web sitesine karşı kullanabileceğimiz bir açık bulduk!

Aslında istismarı kullanmak bu odanın kapsamı dışındadır, ancak süreci görebilirsiniz.

Başlığa tıklarsanız, açık hakkında biraz daha fazla açıklama alacaksınız:

CVE numaralarına özellikle dikkat edin; sorular için onlara ihtiyacınız olacak!

Format şu şekilde olacaktır: CVE-YEAR-NUMBER

Not: CVE numaraları güvenlik açığı keşfedildiğinde atanır, kamuoyuna duyurulduğunda değil. Bir güvenlik açığı bir yılın sonunda keşfedilirse veya güvenlik açığını doğrulama ve düzeltme süreci uzun sürerse, yayınlanma tarihinin CVE tarihindeki yıldan sonraki yıl olabileceğini unutmayın... aşağıdaki soruları yanıtlarken bunu aklınızda bulundurun.

1. WPForms'ta bulunan 2020 Cross-Site Scripting (XSS) güvenlik açığının CVE'si nedir?

CVE-2020-10385

2. Apache Tomcat'in Debian sürümünde 2016 yılında bir Local Privilege Escalation açığı bulundu. Bu güvenlik açığı için CVE nedir?

CVE-2016-1240

3. VLC medya oynatıcısında bulunan ilk CVE nedir?

CVE-2007-0017

4. Sudo programında 2020 tampon taşmasından yararlanmak isteseydiniz, hangi CVE'yi kullanırdınız?

CVE-2019-18634

Task 4 - Manual Pages

Daha önce Linux'ta çalışmadıysanız, Linux Temelleri modülüne bir göz atın. Linux (genellikle Kali Linux) şüphesiz bilgisayar korsanlığında kullanılan en yaygın işletim sistemidir, bu yüzden ona aşina olmakta fayda var!

Linux'un birçok yararlı özelliğinden biri de, çoğu aracın kılavuz sayfalarına doğrudan terminalinizin içinden erişmenizi sağlayan dahili man komutudur. Bazen kılavuz girişi olmayan bir araç bulabilirsiniz; ancak bu nadirdir. Genel olarak, bir aleti nasıl kullanacağınızı bilmediğinizde ilk başvuracağınız yer insan olmalıdır.

Hadi bir deneyelim!

SSH kullanarak uzaktaki bir bilgisayara bağlanmak istediğimizi ancak sözdizimini bilmediğimizi varsayalım. SSH için kılavuz sayfasını almak için man ssh'ı deneyebiliriz

Açıklamada SSH kullanımı için sözdiziminin user@host olduğunu görebiliriz

Ayrıca man sayfalarını, programın başka şeyler yapmasını sağlayan özel anahtarları aramak için de kullanabiliriz. Bunun bir örneği, (ilk örneğimizden) steghide'ın, verdiğiniz anahtarlara bağlı olarak bir görüntünün içindeki dosyaları hem ayıklamak hem de gömmek için kullanılabilmesidir.

Örneğin, SSH için sürüm numarasını görüntülemek istiyorsanız, uygun bir anahtar bulana kadar man sayfasında aşağı kaydırırsınız:

terminal
-V         Display the version number and exit.

Şimdi sıra sizde! Aşağıdaki soruları man komutunu kullanarak cevaplayın:

SCP, dosyaları bir bilgisayardan diğerine kopyalamak için kullanılan bir araçtır.

1. Bir dizinin tamamını kopyalamak için hangi anahtarı kullanırsınız?

-r

fdisk, sabit diskinizde kullanılan bölümleme şemasını görüntülemek ve değiştirmek için kullanılan bir komuttur.

2. Mevcut bölümleri listelemek için hangi anahtarı kullanırsınız?

-l

nano Linux için kullanımı kolay bir metin editörüdür. Muhtemelen daha iyi editörler vardır (Vim, vi vb.); ancak, nano başlamak için harika bir tanesidir.

3. Nano ile bir dosya açarken yedekleme yapmak için hangi anahtarı kullanırsınız?

-B

Netcat, ağ isteklerini manuel olarak göndermek ve almak için kullanılan temel bir araçtır.

4. Netcat'i 12345 numaralı bağlantı noktasını kullanarak dinleme modunda başlatmak için hangi komutu kullanırsınız?

nc -l -p 12345

0 comments:

Yorum Gönder