HTB Block Hunt3r Write-Up
Herkese merhaba, Bugün HTB platformunda bulunan 60 Puanlık son OSİNT sorusunu inceleyeceğiz.
Last updated
Was this helpful?
Herkese merhaba, Bugün HTB platformunda bulunan 60 Puanlık son OSİNT sorusunu inceleyeceğiz.
Last updated
Was this helpful?
Uzunca bir araştırmadan sonra Write-Up okumak zorunda kalsak da bize güzel şeyler kattı.
Okuduğumuz Write-Up;
Öncelikle soruyu inceleyelim.
Blockchain data can't be deleted, and bad actors are using it to store blobs, we want to hunt down the user that has been uploading illegal pictures on the Ethereum Goerli testnet blockchain. We need to find one picture to use it as evidence to take him down. We know he was actively uploading pictures between 2020-07-30 and 2020-08-01. Soruda 2020-07-30 ve 2020-08-01 tarihleri arasındaki Görli Ethereum test ağı işleminde içinde görsel transfer yaptığını gösteren bir işaret olduğu söyleniyor peki blockchain'de nasıl fotoğraf gizleyebiliriz?
Bunun için bu blog yazısına göz atabilirsiniz;
Site:Blockchain Art. Images including Kitties in Blockchain. Step by step instruction
Soruya başlamadan önce bilmemiz gerekenler;
Ethereum Nedir?
Ethereum, kripto para birimini, eteri (ETH) ve binlerce ademi merkeziyetçi uygulamayı güçlendiren topluluk tarafından işletilen teknolojidir.
Go-ethereum Nedir?
Go Ethereum, Ethereum protokolünün üç orijinal uygulamasından (C ++ ve Python ile birlikte) biridir. Go'da yazılmıştır, tamamen açık kaynaklıdır ve GNU LGPL v3 altında lisanslanmıştır.
Hadi başlayalım…
Ethereum Goerli testnet Blockchain için arama yaptığımızda Github da olan bir “ go-ethereum “ olduğunu gördük ve git repository’den makinaya klonladık. “ go-ethereum ” dizinine gidip geth komutunu çalıştırdık lakin başarılı olamadık çünkü geth komutu için öncelikle golang yüklü olması gerekiyordu.
Biz de makinamıza golang yükledik ve ardından go-ethereum komut satırı ara yüzüne bağlanmamız için gerekli olan geth komutu , makinamıza install işlemi yaptık ve make geth ifadesi ile derlemesini çalıştırdık.
Şimdi Ethereum da önceden yapılandırılmış yetki kanıtı test ağı olan goerli'ye bağlanmayı deneyeceğiz.
Çıkan görüntü, bizim doğru yolda olduğumuzun göstergesidir.
Blockchain Sorgusu
Blockchain sorgusu yapmak için 2 yöntemimiz vardır. Bunlardan biri yerel kopyasını sorgulama bir diğeri ise uzak bir uç noktayı sorgulamadır.
Her iki durum için web3 kütüphanesi kullanılır.
Neden Web3 Kütüphanesi?
web3.py, Ethereum ile etkileşim için bir Python kitaplığıdır. Genellikle merkezi olmayan uygulamalarda (dapps) işlem gönderme, akıllı sözleşmelerle etkileşim, blok verilerini okuma ve çeşitli diğer kullanım durumlarına yardımcı olmak için bulunur.
Bu yüzden önce web3 kütüphanesi kullanılır.
Kütüphane kullanımı için Python ve pip yüklü değilse öncelikle onların kurulumu yapılması gerekir. Ardından web3 kütüphanesinin kurulumu yapılmalıdır.
Web3 kütüphanesini yüklendikten sonra aşağıdaki işlemler yapıldı.
Aşağıdaki scripti “ kod.py ” içine yazdık;
blockStart ve blockEnd kısmını , Etherscan ile göz atarken bulduk.
Dikkat: Uzak uç noktayı sorgulamak birkaç saat sürebilir.
Şimdi PNG’nin onaltılık kod dizimi bizim için önemli çünkü Blockchain de tüm içerik onaltılık bir değer olarak saklanır.
Soruda bize bir PNG olan bir dosya aktarımı yapıldığından bahsetmişti.
PNG hex = 89504e470d
Biz de kodu çalıştırırken bir yandan da görüntüyü yakalamak için PNG’nin onaltılık kod dizinini arattık.
Çıktıda PNG onaltılık kod dizimini bulduk , biraz üst tarafları inceledik ve from kısmının gönderenin adresini içermekte olduğunu gördük.
From adresini Etherscan sitesinde aramasını yaptık.
From Address : 0xb7e53A55dA3EEA0fbD09566afDa143667d77527D
Gönderenin cüzdanını incelediğimizde, burada iki OUT bir IN çıkışı görüyoruz.
Neden OUT? Çünkü gönderenin çıkış işleminde işlem yaptığını biliyoruz.
Buradaki OUT çıkışlarını incelediğimizde PNG dosyasının onaltılık kodu ilk satırda görülmektedir.
İlk OUT çıkışının Input Datasının başında olan 0x0 kısmını sildik ve ikinci OUT kısmındaki Input Datada da aynı işlemi uyguladık.
Bulduğumuz şifreli metni , CyberChef progamına attığımızda out kısmındaki küçük sihirli değnek sayesinde Flag karşımızda belirdi.
Flag , sizlerin de yapması için bir kısmı paylaşılmıştır. İyi çalışmalar 😊