Wednesday, July 29, 2009

Authenticode Challange 2 - Sonuçları


İbrahim Akgül ve civil engineer yarışmayı kazananlar oldu.

Aslinda yarisma gercekten de cok kolaydi, çünkü reverse edip koda baktığınızda program, kendi CheckSum'unu kontrol ediyor ve bunu NULL olarak bulursa, "Authenticode Challange 2" mesajını gösteriyordu. Direk olarak Opcode larda ya da string te oynama yapmak tabiki sertifikayı bozuyordu.

Peki cheksum değiştiğinde, nasıl oluyordu da dijital imza bozulmuyordu?
Bu durum, Authenticode teknolojisinde gizliydi.
Microsoft Authenticode PE.docx


Yani PE dosyasina ait SHA1 hash oluşturulurken 3 tane DWORD'luk değer hesaplanmıyor, bunlar IMAGE_OPTIONAL_HEADER daki CheckSum , IMAGE_DIRECTORY_ENTRY_SECURITY deki Certificate Table adresi ve uzunluğu.

Şimdi gelelim yeni yarışmamıza:
Bir öncekinden daha zor olan, yeni Authenticode Challenge v3
http://zemana.com/Challenge/RSA_Authenticode/Challenge3.exe

Challenge calistiginda "sha1RSA Authenticode Challenge v3 -1" mesajini veriyor. İsteğim, bunu "sha1RSA Authenticode Challenge v3 - 2" yapacak şekilde ve dijital imzasını bozmadan patch etmeniz.

Bunu çözen ilk 3 kişiye blog yada forumunda paylaşması için 20 adet AntiLogger lisansı vereceğiz.

UPDATE - 4:36 PM 9/5/2009: Huseyin Bey'de yarismamizi kazandi , son yarismaciyi bekliyoruz.

UPDATE - 11:58 AM 8/4/2009: Ilk yarismayai cozmeyi basaran civil engineer bu yarismayida cozdu. Son iki finalistimizi beklemeye devam ediyoruz, cozenler oldukca blogu guncelleyecegim.

UPDATE - 11:58 AM 8/4/2009: .


12 comments:

  1. aa v2 yi kazanmışım :D
    ms un konuyla ilgili makalesi çok yardımcı oldu. yoksa exeye bakmıyordum bile..

    bakalım v3 nasılmış demeye kalmadı çözdüm yaw gönderdim maillinize çözümü..

    microsoftun authenticode ile ilgili makalesindeki hesaplanmayan bytelar verisi hafızadayken çözüm çok kısa sürüyor :P

    ReplyDelete
  2. @civil engineer
    Tekrar tebrikler, yalniz v3 cozumunu kabul edemiyorum, sebeblerinide mail ile yazdim. Ancak istedigim cozumu yollarsan bir 20 anahtar daha verecegim.

    Cozumunu direk mail ile bildirdigin icinde ayrica tesekkurler ve lutfen kimseye konu hakkinda tuyo verme! Bol sanslar!

    ReplyDelete
  3. Tüyo isteyen :P

    Okudum mailinizi. Zaten çözerken kesin bir yanlışlık olduğunu anlamıştım. Hızlı davranarak hem sizi uyarmış oldum hemde 20 keyin sahibi oldum. :) Teşekkürler.

    v3 new build için gece küçük bir analiz yaptım da bu kez de cidden biraz zor olmuş :P ama bakicez artık. Bakalım ilk çözen 3 kişiden biri olacakmıyım.

    ReplyDelete
  4. zemana dijital imza teknolojisi kullanıyor. eğer dijital imzaya sahipse bir dosya, bunu otomatik olarak beyaz listeye ekliyor.

    bu arkadaşların yaptığı şekilde manipüle edilebiliyorsa güvenlik zafiyeti yaratmıyor mu?

    http://blog.didierstevens.com/programs/disitool/

    bu gibi araçlar bu konuda yardımcı oluyor sanırım. dijital imzayı kopyalayıp imzasız bir dosyaya ekleyebiliyor.

    ReplyDelete
  5. @civil engineer
    Aslinda buda kolay yani Didier Stevens'in blogundaki gibi degil cok daha kolay ancak ilkine gore biraz zor. Cozum yolunu iyi kurgularsaniz 1 saatten bile kisa bi cozumu var aslinda. Herneyse bu sefer ipucu vermiyorum. Authenticode Challange v3 ise Didier Stevens'in blogundakinden de zor olucak ve hediye de IPhone olur heralde :)

    @Adsız
    Bu yarismada gecen yonetemler veya disitool ile istenilen bir dosyaya dijital imza ekliyemessiniz.

    Herkese basarilar!

    ReplyDelete
  6. Mailinizi kontrol ediniz efen çözülmüştür. :)

    Sırada iPhone var. :)

    Tlf.num bozuk garantisi bitik..Tam zamanında ve tam isabet bir yarışma yapıyorsunuz.
    inş ben kazanıcam.

    ReplyDelete
  7. En azından uğraştığınızı ifade eden yorumlar yazın ki bilelim boşa beklemediğimizi..
    Şüphelenmeye başladım; demek ki bizim bilişimle uğraşan it proo. lar, ceh,msce..vs..vs sertifikam var die hava atanlar ya bu yarışmadan habersiz ya ilgisiz yada ezberle sertifika almış boş insanlar.
    Hadi sizi geçtik, bilmem ne koder tim, yok bilmem ne kürek tim vs die kendilerini Türkiyenin en büyüğü zanneden şaklabanlar nerde?
    Hepiniz string editçi misiniz? Yazılımların form verilerini editleyip sahte yazılım piyasaya sürmekten başka bişey bildiğiniz yok demek ki! (4B49C7494D494E204B4F4445524C455249)

    ReplyDelete
  8. Civil engineer çok haklısın. Ayrıca seni tebrik ederim.

    Diğer kek sitelerini dikkate bile almamak lazım aslında. Çoğu çoluk çocuk zaten.

    Beni düşündüren dediğiniz gibi "sertifikam var" diye hava atanlar. Buyrun sertifikalılar. Görelim bakalım endamınızı :D

    ReplyDelete
  9. Gaza geldim ugrastim biraz ve dokumantasyonuda okudum ama nafile. Sanirim hesaplanmayan bolgelerden birine uygun bir degeri girip karsilastirma esnasinda istedigi degeri manuel olarak saglamaliyiz? ve bunuda deneme yanılma ile bulmak iskence halini aliyor bir süre sonra. Ya da istenen baska bir sey ise ipucu verebilirseniz seviniriz :)

    ReplyDelete
  10. Yarisma, Burute Force ilede cozulebilir ve cevap olarak kabul ederim ancak asil istedigim cevap bu degil.

    ReplyDelete
  11. Inline patch yapılabilir ama loader ile olur, dijital imzadan dolayı.
    Loaderı çözüm olarak kabul etmezsiniz die çok çok daha zor olanı yaptım brute ettim erinmeden :P
    Gerçek çözüm loaderda değilse yarışmanın sonlanmasını beklicez artık.

    ReplyDelete
  12. merhaba.

    erkan bey. yarisma halen devam ediyor ise dosyayi code1211@yahoo.com adresine gonderebilirmisiniz.

    saygilar.

    ReplyDelete