Java Malware Analysis Rehber

SeyitK

Gold Üye
Katılım
20 Ağu 2022
Mesajlar
210
Beğeniler
10
İletişim
Java'da yapılmış basit kötü yazılımları 2 türlü inceleme yapılır.​
Tüm malware'leri değil grabber/stealer üzerinden örnekleme yapıldı ve deobfuscation, ssvm daha karmaşık konular bahsedilmedi basit bir stealer/grabber analizi için yol gösterme amacı taşıyor.​
  • Statik Analiz
    - JAR dosyasını çalıştırmadan decompiler üzerinden analiz etmek
    - String analizi, importlar, urlclassloader, socket​
  • Dinamik Analiz
    - Sanal makine üzerinde JAR'ı çalıştırıp isteklere ve hareketlere bakmak.
    - Procces Monitor, Mitmproxy, Java Agents​
  • Statik Analiz
    - Decompiler:
    JAR Dosyasını incelemek ve bytecode için gereklidir.
    -
    -


    Birçok JAR malware'i asıl olarak grabber/stealer olarak çalışır ve kullanıcının bilgilerini çalmak için kullanılır bizde ana olarak bunu ele alıcağız.​
  • Obfuscation
    image.psd.jpg
    image.png
  • UCL(UrlClassLoader): JAR üzerinde farklı bir Jar'ı çalıştırmak için kullanılabilir.
    image.psd.png

  • Örnek Kodlar
    image.psd.png
    image.psd1.png
  • Referanslar
    "URL"
    "Http"
    "Socket"

    image.png


  • Dinamik Analiz
    -

    -
    -
    -


  • MitmProxy ile istekleri görme
    -
    MitmProxy ile istekleri görmek için mitmproxy'i indirip mitmproxy'nin sertifikasını çıkarmanız lazım ve bunu Java sertifikalarına importlamanız lazım bu işlemleri şu şekilde yapabilirsiniz.
    1- MitmProxy indirip proxy ayarlarından localhost 8080 şeklinde ayarlayıp arkadan mitmproxy'i açıp sitesinden sertifika indirebilirsiniz.
    2- Sertifikayı crt yapmak için openssl kullanarak çevirebilirsiniz.

  • Kod:
    openssl x509 -outform der -in mitmproxy-ca.pem -out mitmproxy-ca.crt
    3- Sertifikayı JDK'ya import etmek
    Kod:
    "C:\Program Files\Java\jdk-17\bin\keytool.exe" -import -alias mitmproxy -keystore "C:\Program Files\Java\jdk-17\lib\security\cacerts" -file mitmproxy-ca.crt -storepass changeit

    image.png


    4- MitmProxy üzerinde java isteklerini görmek için gereken argumentler
    Kod:
    -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=8080 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8080

    5- İsteklerden Request Details vb. bakmak için terminal üzerinden mitmproxy veya site olarak mitmweb i başlatmanız lazım
    image.png

    image.png



  • Process Monitor
    - Parent PID ile javaw işlemlerini izleyebilirsiniz.
    image.png
    testt.png


    qweqweqwe.png


Ekstra Bazı java scanner tool'ları
- En iyisi bu bot hızlıca hem statik hem dinamik analiz yapmak için en iyi tooldur.
image.png
 
Son düzenleme:
konu güzel ama eğer okunamayan bir kod varsa bunların çoğu geçersiz olacak
 
Adam importolari obfledi diyelim + üstüne skidfuscator bastı ne yapicaz
 
Adam importolari obfledi diyelim + üstüne skidfuscator bastı ne yapicaz
importlar obflenmiyor, sadece native cevirirsin ondada üstüne skidfuscator basman bişey değiştirmez sadece 2 tane methodla loadlıyor. Bu konu basit düzeyde bi malware analizi zaten eğer native, obfuscation vs. varsa direkt dinamik analiz ile yine inceleyebilirsin.
 
Son düzenleme:

  Şuanda konuyu görüntüleyen kullanıcılar


Üst Alt