Wednesday, September 16, 2009

Authenticode Challange 3 - Sonucu


Aslında bu yarışma her ne kadar bir öncekinden zor olsa da, aslında çok zor değildi. Çünkü en önemli husus olan, PE dosyasının cheksum'unu değiştirildiğinde, imzanın bozulmadığını 1. yarışmada belirtmiştik.

Bu yarışmada kullanılan exe de, hiç bir packer/crypter/protector kullanılmadığı için, herhangi bir disassembler ile koda baktığımızda , programın kendisinin crc32 değerini hesapladığını ve bu değer 0x0000BAC2 ise istediğimiz mesajı verdiğini görüyoruz.

Soru şu idi;
Bu değeri elde etmek için, IMAGE_OPTIONAL_HEADER->CheckSum'a nasıl bir değer atamaliydık ki dosyanın crc32 değeri 0x0000BAC2 olsun?

Cevap; uzunca bir sure, 32 bitlik bir değere brute force yaparak olabilirdi ,ancak crc32 algoritmasını google'da biraz araştırdığımızda alttaki cümleye ulaşıyoruz.
"The CRC-32 is neither keyed nor collision-proof"
ve bunu anında kırabilecek bir tool aradığımızda Julien Tinnes'in crctools(tweakcrc) programını buluyoruz ve resimde görüldüğü gibi, 1 saniyede puzzel'i çözmüş oluyoruz.

Bir sonraki yarışma, biraz daha assembly bilgisi gerektirecek ve hediyesi de güzel olacak, yakında hazırlayıp bloğa post edeceğim.


5 comments:

  1. Brute etmek aslında sanıldığı kadar uzun sürmüyor. Benim antika makinayla bile 3 dakika ancak sürdü :) bilemediniz 4 dakika olsun...

    Artık yarışmayı da 4 gözle bekliyorum 8)

    Ayrıca şimdiden herkese kutlu bayramlar ve bol şans diliyorum...

    ReplyDelete
  2. Aslinda cok kolay degil hele eski bir makina ile 1 haftani bile alabilirdi sen biraz sansliymissin cunku checksum<2^16 da bulmussun (0x00AAA39). Biraz daha acmak gerekirse 698937. denemende sonuca hizlica ulasmissin bu deger 4294967295'de olabilirdi :) dedigim gibi gercekten sansliymissin.

    Gelecek yarismayi hazirliyorum kisa zamanda yayinlayacagim.

    ReplyDelete
  3. Merhaba, bu konuda ki Julien Tinnes'in crctools(tweakcrc) programının derlenmiş hali duruyorsa gönderebilir misiniz? blue_screen_of_death_07@hotmail.com

    Bu arada Nvidia CUDA GPU Computing ile ilgilenen var mı ekibinizde..?

    ReplyDelete
  4. @civil engineer
    Derlenmis halini mailledim.

    Protokolunu kendimizin gelistirdigi bir IP-TV uzerinde calismalarimiz var ve Video rendering kisimi icin ise Nvidia yerine Intel Graphics Controller chip'leri uzerine optimize ediyoruz.
    Proje bittiginde hem program hemde protokol ayri ayri satisa sunulucak. Ancak daha arg-ge de ve onumuzdeki yil cikar diye tahmin ediyorum. Belki gelen istege gore Nvidia GPU icinde optimizasyona gidilebilir. Bunu neden sordugunuzu ogrenebilirmiyim?

    ReplyDelete
  5. Sanayi bakanlığında bir projem var. Mart ayında bir panele katılıcam. Komisyon onaylarsa bir ar-ge şirketi kurabilirim. Ar-ge sürecinden sonra ortaya çıkacak prototip için test, optimizasyon, stabilizasyon gibi çalışmalarda kullanmak üzere yüksek işlem gücü gerekecek. Bunu da Nvidia Tesla birimleri ile sağlamayı planlıyordum.
    Bunun için sormuştum.

    ReplyDelete