TryHackMe The Witch’s Cauldron Write-Up
Herkese merhaba! Bugün TryHackMe‘ye Cadılar Bayramı dönemine özel gelen kriptoloji odası olan The Witch’s Cauldron odasının çözümünü sizlere aktaracağız. O hâlde hadi başlayalım.
1) The Witch’s Cauldron:
Burada bir web sitesine yönlendirme söz konusu, View Site diyerek web sitesini açın. Daha sonrasında Begin diyerek macerayı başlatın. Macera başlayınca karşınıza aşağıdaki ekran gelecektir. Burada sağ taraftaki çizgiye tıklayarak günlüğünüzü açabilirsiniz.
Burada yapılması gerekenler sırasıyla şu şekilde:
- Yukarıda yer alan base menüsüne girip iki kazana da aynı iki temel bileşeni ekleyin. Örneğin soldan birinci ve ikinci malzemeleri her iki kazana da koyun.
- Kazanlara tıklayıp “Empty Cauldron” yani kazanı boşaltma tuşuna basın. Soldaki kazan Alice’in ve sağdaki kazan Bob’un. Her iki kazana da kazanın sahiplerinin menülerinden 3 farklı bileşen ekleyin.
- Yukarıdan Shared menüsüne gelip oradaki bileşeni her iki kazana da ekleyin.
- Alice’in public karışımını da Bob’un public karışımını da ortadaki ork benzeri yaratığa teslim edin.
- Her iki kazanı da boşaltın. Alice’in secret karışımı ile Bob’un public karışımını Alice’in kazanına boşaltın. Aynı şekilde Bob’un kazanına da Bob’un secret karışımı ile Alice’in public karışımını boşaltın.
- Bob’un “Shared Secret Mixture” yani paylaşılan gizli karışımını Bob’un kazanına boşaltın ve ardından Bob’s recipe adlı parşömeni Bob’un kazanına sürükleyin.
- Şifrelenen parşömeni ortadaki ork benzeri yaratığa sürükleyerek Alice’e iletin ve Alice’in envanterinden parşömeni Alice’in kazanına sürükleyin.
Bunun sonucunda ilk flagimizi almış bulunmaktayız. Bu flagi yazdıktan sonra diğer bölüme geçebiliriz.
2) The Technical Components:
Aslında bir önceki bölümde şifreli bir veri akışı örneklendirilerek bizlere anlatılmak istenmişti. Bu yapıya Diffie-Hellman anahtar değişimi deniyor. O hâlde her şeyden önce Diffie-Hellman anahtar değişimi nedir ona bir bakalım.
Diffie-Hellman anahtar değişimi nedir?
Adını mucitleri Whitfield Diffie ve Martin Hellman’dan alan Diffie-Hellman anahtar değişimi, modern kriptografide çok önemli bir kavramdır. İki tarafın güvensiz bir iletişim kanalı üzerinden, anahtarın kendisini hiç değiş tokuş etmeden paylaşılan gizli bir anahtar oluşturmasına olanak tanır. Bu, modüler aritmetiğin özelliklerinden ve ayrık logaritma problemlerinin hesaplama karmaşıklığından yararlanılarak gerçekleştirilir.
Kısacası güvenilir olmayan bir medya üzerinden ortak gizli anahtar üretimi sağlanır. Örneklendirecek olursak siz telefondan bir arkadaşınızla konuşacaksınız fakat bunun kimse tarafından duyulmasını istemiyorsunuz. Bunun için yalnızca ikinizin bileceği bir anahtar oluşturuluyor ve gönderilen veriler bununla şifrelendiği için yalnızca bu anahtarı bilen kişi veriyi anlamlı bir şekle sokabiliyor.
OpenSSL’de Diffie-Hellman anahtar değişimiyle soru çözümü
Bu kısımda yer alan görev dosyalarını “Download Task Files” diyerek indirdikten sonra arşivden çıkarın. Aşağıdaki gibi bir görüntü ile karşılaşacaksınız. Daha sonrasında terminal üzerinden dosyaları arşivinden çıkarttığınız dosya konumuna ilerleyin.
Bu dosya yolundayken aşağıdaki komutu girerek Alice’in anahtarını Bob’un public verisiyle eşleştirip paylaşılan sırrı açığa çıkarıyoruz. Bu komut, alice.key
özel anahtarı ile bob.public
genel anahtarını kullanarak anahtar türetme işlemini gerçekleştirir ve sonucu paylasilan_sir.bin
dosyasına kaydeder.
openssl pkeyutl -derive -inkey alice.key -peerkey bob.public -out paylasilan_sir.bin
Bu komut ise, encrypted_spell.enc
adlı şifreli dosyayı paylasilan_sir.bin
dosyasındaki şifreleme anahtarı kullanarak çözerek çıktıyı spell.txt
adlı bir dosyada saklar.
openssl aes-256-cbc -d -in encrypted_spell.enc -pass file:paylasilan_sir.bin -out spell.txt
Bu sayede oluşan dosyayı kontrol ettiğimizde flagimizi de elde ediyoruz. Bir sonraki içerikte görüşmek dileğiyle, hoşça kalın!