Background Image

BLOG

DKHOS - Reverse 300 - Kambersiz düğün olmaz
16 Şubat 2018 CTF

DKHOS - Reverse 300 - Kambersiz düğün olmaz


Soru Açıklaması: 

Mahmut Pelinsu'nun tam bir hacker kafa yapısında düşünebildiğini bilmektedir. Bu nedenle Pelinsu eğer halen hayattaysa, onun erişebileceği birçok noktaya ipuçları bırakmaya karar verir.

Sorunun Çözümü:

Bu soruda yarışmacılara bir EXE dosyası verilmektedir.Dosya direk olarak çalıştırıldığında hata verip kapanmaktadır, verilen dosya PEID ve benzeri statik analiz araçları yardımı ile analiz ediliğinde dosyanın sahip olduğu yüksek entrophy değeri dosyanın packlenmiş olabiliceğini göstermektedir.

Bu noktada otomatize araçlar kullanılan packer yazılımını tespit etmekte yetersiz kalıyor. Dosya içerisindeki string lere bakıldığında AMBER dikkat çekiyor.

Yarışmacılardan bu string den yola çıkarak yapacakları basit google araştırması ile bu EXE dosyasının Amber Reflective PE Packer ile packlendiğini anlamaları beklenmektedir. Yarışmacılar packer ın kaynak koduna github üzerinden kolayca erişebilmektedir.

Amber packlenen dosyalarıRC4 algoritması kullanarakşifrelemektedir. Verilen EXE debugger yardımı ile incelendiğinde RC4 decipher kodunun başlangıcında 0x350001 adresinden 0x3ab190 adresine zıpladığı görülmektedir. Burdan yola çıkarak RC4 ile şifrelenen data+key in boyutunun 0x5b18f olduğu anlaşılmaktadır.

"mov ecx,5b17ah" bu instruction dan şifrelenen datanın boyutunun 0x5b17a olduğu anlaşılıyor. Basit bir çıkarma işlemi yaparak (5B18F-5B17A = 0x10) RC4 key boyutunun 16 byte olduğu ortaya çıkıyor. Fakat packer ın kaynak kodundan da görüldüğü üzere key scheculing angoritmasından hemen sonra başlayan decipher loop da kullanılan key boyutunun gereğinden 1 fazla olduğu görülmektedir. 

Bu noktada 0x3ab1b2 adresindeki AND operasyonu "and dl,0Fh" olacak şekilde patch edilmelidir.

Gerekli pactchleme yapıldıktan sonra EXE çalıştırıldığında başarılı bir şekilde kendini decrypt edip flag i ekrana basmaktadır.