Twitter Feed Popout byInfofru

Burak Selim Senyurt

Matematik Mühendisi Bir .Net,Ruby ve Python Severin Maceraları

.Net Uygulama Güvenliği–Hacking ve Tedbirleri

Merhaba Arkadaşlar,

Bu görsel dersimizde önce basit bir .Net uygulamasını, CIL(Common Intermediate Language) kodları üzerinden Hackliyor ve sonrasında olası tedbirleri deneyerek söz konusu vakayı engellemeye çalışıyoruz. Bunun için komut satırından kolayca kullanılabilen sn.exe(Strong Name ile uygulamanın işaretlenmesi) ve SignTool.exe(Uygulamanın bir sertifika ile işaretlenmesi) araçlarını değerlendiriyoruz. Kodun Obfuscate edilmesinden bahsediyor ve son olarak sonuçları irdeliyoruz.

Ara sıra gelen o gıcık öksürük ritmimi bozduğundan sürçü lisan etmişimdir mutlaka. O yüzden affola. Bir başka görsel dersimizde görüşünceye dek hepinize mutlu günler dilerim Winking smile

Yorumlar (11) -

  • Burak Kanmaz

    9.5.2013 13:25:23 | Yanıtla

    Bu tool'u bilmiyordum, anlatımınız için teşekkür ediyorum. Fakat SN aslında kırılması çok zor olmayan bir güvenlik önlemiymiş. Ufak bir araştırma ile SN'in 2-3 satır ek komutla kırıldığını gördüm ve bir anlamı kalmadı bu tool'un Smile Aslında videonun sonunda da dediğiniz gibi kırılamayacak hiçbir yazılım yoktur. Bu nedenle çok da şaşırmamak gerek.

  • bsenyurt

    9.5.2013 14:48:51 | Yanıtla

    Burak Hocam çok haklısın. Görsel Ders' te bahsettiğim gibi Obfuscator' ların profesyonel sürümlerini de bir deneme lazım. En azından kodun kırılmasını zorlaştırmak anlamında yardımcı olacaktır. VS ile gelen Free edition' dan ziyade çeşitli firmaların daha profesyonel olan araçlarını kullanmak ciddi olarak düşünülebilir. Diğer yandan sertifika ile işaretlemek daha mantıklı gibi görünüyor bana kalırsa.

  • Selçuk GÜRAL

    11.5.2013 01:19:55 | Yanıtla

    Hocam merhaba,

    Her zamanki gibi çok başarılı ve keyifli bir anlatım gerçekleştirmişsiniz, öksürüğünüz bile engel olamamış Smile

  • erhan

    15.5.2013 16:24:25 | Yanıtla

    Merhaba Burak Hocam,
    Firma tarafından imzalanmış exe değişiklik yapıldıktan sonra yeniden imzalanmaz mı?

  • bsenyurt

    15.5.2013 18:51:43 | Yanıtla

    Merhabalar,

    Sertifika ile işaretleme sırasında bir Timestamp değeri kullanılmakta ve bir de signtool' un verify parametresi ile kullanımı söz konusu.

    SignTool verify [Assembly Name]

    gibi. Bu şekilde daha önceden sertifikalandırılmış bir assembly ın imzası doğrulanabilir.

    Bir de sertifikalandırma sırasında password kullanımı söz konusu.
    SignTool sign /f MyCert.pfx /p[Güçlü bir password] [Assembly Name]

    gibi. Bu da tekrardan sertifikalandırma sırasında hacker için bir engel teşkil edebilir.

    Tabi hacker' ın önceden sertifikalandırılmış bir assembly' ı yeniden sertifilanaldırırken erişmesi gereken bilgiler de var. Sertifika, Timestamp kaynağı vb...Bunlara erişim de zorlanabilir belki. Yine de belli olmaz...

    Şu adreslere de bir bakın derim msdn.microsoft.com/.../aa388171(v=vs.85).aspx

    ve

    msdn.microsoft.com/.../aa388170(v=vs.85).aspx

    Tabi ne olursa olsun görsel anlatımda da belirttiğim üzere kırılma, kullanıcıyı yanıltma ihtimali %1 bile olsa bulunmaktadır :/

  • Can Şahin Bakır

    25.5.2013 17:06:48 | Yanıtla

    Merhaba;
    Şöyle bi hata alıyorum : "error : File 'timer.exe' not found or not a PE file"

    dcmp komutum : "C:\hack>ildasm  timer.exe /out=sc.il"

  • Can Şahin Bakır

    25.5.2013 17:08:03 | Yanıtla

    Bu arada il dosyasını oluşturmuş ama dosyada kod yok hata mesajı var

    //  Microsoft (R) .NET Framework IL Disassembler.  Version 4.0.30319.17929
    //  Copyright (c) Microsoft Corporation.  All rights reserved.

    error : File 'timer.exe' not found or not a PE file

  • Ramazan

    20.1.2016 17:59:49 | Yanıtla

    Burak Hocam merhaba,

    Öncelikle video için teşekkürler. Agile.Net gibi Obfuscator programları önerir misin?

  • reyhan

    1.3.2016 16:35:33 | Yanıtla

    selamlar,
    hocam properties ten singning olarak yapmaya çalıştığımda,
    "Error  1  Assembly generation failed -- Referenced assembly 'FTPclient' does not have a strong name  C:\etc_proje\WindowsFormsApplication1\WindowsFormsApplication1\CSC  WindowsFormsApplication1 "


    diye bir hata almaktayım.
    programım kısaca bir çıktı oluşturup ftp ile belirlenen yere dosya gönderiyor.
    ftp için dll kullanmıştım.

    bu sorunu nasıl çözebilirim.

  • Adem köseoğlu

    14.12.2016 22:14:45 | Yanıtla

    Hocam merhaba..
    Sign to assembly ile key belirledikten sonra proje üzerinde hiç bir değişiklik yapamıyorum bu işlemi nasıl geri alırım.. yani bu key nasıl kaldırılır..

Loading