• 27-10-2024, 23:54:24
    #1
    Herkese merhaba. Malesef ortalıkta sahtekarlar ve saldırganlar kol geziyor. Bir arkadaşım bir işe başvurmuş ve kendisine bir challenge göndermişler. Bu challenge bir proje ve içerisinde bazı tasklar yazıyor. Fakat projenin içerisinde şifrelenmiş kodlar var. Muhtemelen bu kodlar virüs. Bu kodları deobfusce edip içerisindeki kodları görmek mümkün mü?

    Kod şurada: https://github.com/labs-web3-org/Cry...98d16786117R97

    Adam projeyi silmeden kodların ekran görüntüsünü de atayım burda dursun.
  • 28-10-2024, 00:00:04
    #2
    Hayır, kolayca okunur ve anlaşılır bir duruma getiremezsiniz.
    Bazı deobfuscate toolları var ama çok sağlıklı çalışmıyor. Belli methodlarda yapılmışları biraz çözümleyebiliyor. Ama işinizi görmez.
  • 28-10-2024, 00:03:09
    #3
    Creative08 adlı üyeden alıntı: mesajı görüntüle
    Hayır, kolayca okunur ve anlaşılır bir duruma getiremezsiniz.
    Bazı deobfuscate toolları var ama çok sağlıklı çalışmıyor. Belli methodlarda yapılmışları biraz çözümleyebiliyor. Ama işinizi görmez.
    Yani bu kodun ne yaptığını anlamanın hiçbir yolu yok mu?
  • 28-10-2024, 00:04:23
    #4
    Hocam tabii ki var, reverse engineering bilginiz varsa çözüm o kadarda zor değil. Tabii bu class'lere kullanılan methodlara bağlı. Ücretli bir şekilde çözüm sağlarım.
  • 28-10-2024, 00:05:19
    #5
    Ücret derken mesela ne kadar?
  • 28-10-2024, 00:07:50
    #6
    anilkurtaran adlı üyeden alıntı: mesajı görüntüle
    Ücret derken mesela ne kadar?
    Projeyi görmeden, zorluğunu bilmeden söylediğim ücret doğru olmaz. Kolaysa makul bir fiyat istenir.
  • 28-10-2024, 00:09:45
    #7
    anilkurtaran adlı üyeden alıntı: mesajı görüntüle
    Yani bu kodun ne yaptığını anlamanın hiçbir yolu yok mu?
    Bence yok. Obfuscation sisteminin amacı bu zaten.
  • 28-10-2024, 00:11:41
    #8
    Misafir adlı üyeden alıntı: mesajı görüntüle
    Projeyi görmeden, zorluğunu bilmeden söylediğim ücret doğru olmaz. Kolaysa makul bir fiyat istenir.
    Kardeş kod orda zaten. Sen kodu görmeden mi ücretli destek olurum dedin? Neyse kalsın gerek yok.
  • 28-10-2024, 00:28:20
    #9
    anilkurtaran adlı üyeden alıntı: mesajı görüntüle
    Yani bu kodun ne yaptığını anlamanın hiçbir yolu yok mu?
    Çok karmaşık bir kod değil, değişken isimleri obfuscate edildiği böyle. Bu kod anlaşılabilir bir kod.

    ...
    P = (aD) => ((s1 = aD.slice(1)), Buffer.from(s1, H).toString(I))
    ...
    rq = require(P('YcmVxdWVzdA'))
    ...
    P bir fonksiyon ve parametre olarak bir string alıyor.
    P('YcmVxdWVzdA')
    P fonksiyonu içinde işlemler yaparak bir sonuç döndürüyor ve aslında kod şuna dönüşüyor. rq = require('request')

    Birkaç satırın örnek çıktısı:

    rq = require("request")
    pt = require("path")
    ex = require("child_process")["exec"]
    zv = require("node:process")
    hd = O["homedir"]()
    hs = O["hostname"]()
    pl = O["platform"]()
    uin = O["userInfo"]()
    Tabi ki zaman alıcı bir şey, ama tersine mühendislik dediğimiz şey ile dünyadaki bütün yazılımlar okunabilir ve çalıştırılabilir hale getirilebilir. Tabi ki bazı kodlar öyle karmaşık olur ki çözmesi ve anlamlı hale getirilmesi çok uzun süre alabilir. Eğer senin için gerçekten önemliyse bu kodu kendin tek tek deobfuscate edebilirsin.

    Dosya oluşturma ve silme işlemleri yapıyor.

    Sadece bilgi amaçlı yazıyorum, bu konuda maalesef yardımcı olamam.

    Edit1:

    Virüs olduğunu söylediğin için merakıma yenik düştüm ve inceledim.
    http://216.173.115.200:1244/s/83fe78ac2f79
    Buraya istek atıyor. Hangi verileri gönderiyor vs bilmiyorum. Kullananları tespit etmek amacıyla vs olabilir veya verileri kendine göndermek.