İyi günler Türk Hack Team ailesi.
Bugün sizlere zararlı yazılım analizi hakkında bir içerik hazırlayacağım. Aynı zamanda biliyorsunuz ki günümüzde doğrudan sonuç odaklı yaşıyoruz. Bundan dolayı sizler için Python ile geliştirebileceğiniz analiz kod örnekleri vereceğim. Daha sonrasında bu kodları farklı projeler üretmek veya ufkunuzu açmak için kullanabilirsiniz.
Çalışmaya Başlamadan Önce Hazırlık
Çalışmaya başlamadan önce bu linke veya bu linke giderek, önceden hazırlanmış birçok zararlı yazılıma erişebilir ve bunlar üzerinden testlerinizi yapabilirsiniz.
Dinamik analizler için sanal bir bilgisayar kurup, çalışmalarınızı içinde yapmanızı tavsiye ediyorum.
Zararlı Yazılım Analizi Süreçleri
Zararlı yazılım analizi, temel olarak iki ana süreçten oluşur: statik analiz ve dinamik analiz.
Statik Analiz
Statik analiz, zararlı yazılımın çalıştırılmadan önce incelenmesi ve analiz edilmesi sürecidir. Bu analiz türünde, dosya özellikleri, dosya içeriği, gömülü metin dizeleri ve diğer meta veriler incelenir. Statik analiz, güvenli bir ortamda zararlı yazılımın iç yapısını anlamak için kullanılır ve potansiyel zararlı işlemleri belirlemeye yardımcı olur. Statik analiz süreci, zararlı yazılımın kodu veya dosya formatının deşifre edilmesi ve çözümlenmesiyle başlar ve daha sonra özellikler ve bağımlılıkların analiziyle devam eder.
Dinamik Analiz
Dinamik analiz, zararlı yazılımın gerçek zamanlı olarak çalıştırıldığı ve sistemdeki etkilerinin gözlemlendiği bir süreçtir. Bu analiz türü, zararlı yazılımın çalıştırılması sırasında ağ trafiği, sistem değişiklikleri, dosya işlemleri ve diğer sistem etkileşimleri gibi davranışlarını incelemeyi amaçlar. Dinamik analiz, genellikle sanal ortamlarda veya izole edilmiş sistemlerde gerçekleştirilir, böylece zararlı yazılımın gerçek sistemlere zarar vermesi önlenir. Dinamik analiz, zararlı yazılımın nasıl çalıştığı, hangi sistem kaynaklarını kullandığı ve sistemle nasıl etkileşime girdiği hakkında derinlemesine bilgi sağlar.
Python ile Statik Analiz Örnekleri
Dosya Özellikleri Analizi
Zararlı yazılım dosyasının özelliklerini inceleyerek (dosya boyutu, oluşturulma tarihi, değiştirilme tarihi vb.), dosyanın şüpheli olup olmadığına dair ipuçları elde edebilirsiniz.
Bu şekilde dosyanın daha önceden değiştirilip, değiştirilmediği, benzer dosyaların boyutları, vb. gibi veriler üzerinden bir çıkarımda bulunabilirsiniz. Sonrasında dosya türü gibi farklı verileri ekleyip, farklı analizlerde bulunabilirsiniz.
Çıktı:
PE Dosyası Analizi
PE (Portable Executable) dosyası, Microsoft Windows işletim sistemi tarafından kullanılan ve uygulama veya sürücü gibi yürütülebilir dosyaları içeren bir dosya formatıdır. PE Dosyası Analizi, bu dosya formatını inceleyerek dosyanın işleyişi hakkında bilgi sağlayan bir tekniktir.
PE dosyasının yapısı, bir dosyanın içindeki bölümler, dosya başlığı, dosya kaynakları, yürütülebilir kod, veri blokları ve benzeri özellikleri içerir. PE Dosyası Analizi, bu özellikleri inceler ve dosyanın amacını ve potansiyel risklerini belirlemeye yardımcı olur.
Çıktı:
Import ve Export Analizi
Import Analizi, bir yürütülebilir dosyanın diğer dosyalardan hangi fonksiyonları çağırdığını ve bu fonksiyonların nerede bulunduğunu belirlemeye yardımcı olur. Bu analiz, bir yazılımın hangi kütüphanelerini ve fonksiyonlarını kullandığını anlamak için kullanılabilir.
Export Analizi ise, bir yürütülebilir dosyanın kendi içinde hangi fonksiyonları barındırdığını ve diğer dosyaların bu fonksiyonları nasıl kullanabileceğini belirlemeye yardımcı olur. Bu analiz, bir yazılımın hangi fonksiyonları kullanıcılar veya diğer yazılımlar tarafından çağırabileceğini anlamak için kullanılabilir.
Zararlı yazılımların kullandığı harici fonksiyonları ve kütüphaneleri analiz ederek, zararlı yazılımın amacı ve işlevselliği hakkında bilgi toplayabilirsiniz.
Çıktı:
String Analizi
String Analizi, bir yazılımın içindeki metin verilerini inceleyen bir tekniktir. Bu analiz, zararlı yazılım analizi ve yazılım geliştirme süreçlerinde kullanılır.
Bir yazılım, kullanıcı arayüzünde, hata mesajlarında, komut dosyalarında, kaynak kodunda ve diğer birçok yerde metin verileri içerir. String Analizi, bu metin verilerini inceleyerek yazılımın işleyişi hakkında bilgi sağlar.
Örneğin, bir zararlı yazılımın içindeki bir dize, bir şifreleme algoritmasını belirleyebilir veya bir komut dosyasında bir kötü amaçlı URL'yi açığa çıkarabilir. Bu bilgi, zararlı yazılımın tespit edilmesi ve temizlenmesi için kullanılabilir.
Zararlı yazılım içindeki metin dizelerini çıkararak, zararlı yazılımın amacı ve işlevleri hakkında daha fazla bilgi edinebilirsiniz.
Çıktı:
Yapılandırma Ayarları Çıkarılması
Yapılandırma Ayarları Çıkarılması (Configuration Extraction), bir yazılımın çalışması için gereken yapılandırma dosyalarından veya ayarlarının çıkarılması ve analiz edilmesi işlemidir. Bu analiz, bir yazılımın yapılandırması hakkında bilgi sağlayarak, yazılım geliştirme ve zararlı yazılım analizi süreçlerinde kullanılır.
Bir yazılım, genellikle bir konfigürasyon dosyası veya ayarları içeren bir yapılandırma dosyası kullanır. Bu dosyalar, yazılımın çalışması için gerekli olan değişkenleri, parametreleri ve diğer ayarları içerir. Yapılandırma Ayarları Çıkarılması, bu dosyaların içeriğinin analiz edilmesi ve yazılımın çalışması için gerekli olan ayarların belirlenmesi işlemini içerir.
Bazı zararlı yazılımlar, yapılandırma ayarlarını veya hassas bilgileri dosya içinde saklar. Bu bilgileri çıkararak, zararlı yazılımın işleyişine dair daha fazla bilgi elde edebilirsiniz.
Control Flow Graph (CFG) Analizi
Control Flow Graph (CFG) Analizi, bir yazılımın kodunun kontrol akışını temsil eden bir grafik modeli oluşturarak, yazılımın işleyişi hakkında bilgi sağlayan bir tekniktir. Bu analiz, yazılım geliştirme ve zararlı yazılım analizi süreçlerinde kullanılır.
CFG Analizi, bir yazılımın kodunu bloklara ayırır ve bu bloklar arasındaki kontrol akışını belirleyerek bir grafik modeli oluşturur. Bu model, bir yazılımın farklı kısımlarının nasıl etkileştiğini ve birbirleriyle nasıl bağlantılı olduğunu gösterir.
Zararlı yazılımların CFG'lerini inceleyerek, kodun mantığı ve çalışma şekli hakkında bilgi edinebilirsiniz. Python ile angr kütüphanesini kullanarak CFG analizi yapabilirsiniz.
Çıktı:
Python ile Dinamik Analiz Örnekleri
Cuckoo Sandbox
Cuckoo Sandbox, otomatik olarak zararlı yazılım örneklerini çalıştırarak, ağ trafiğini, sistem değişikliklerini ve diğer davranışları analiz etmeyi sağlayan açık kaynaklı bir dinamik analiz aracıdır. Python ile Cuckoo Sandbox API'sini kullanarak analiz sonuçlarını alabilirsiniz. Ayrıca Cuckoo Sandbox hakkında daha fazla bilgi almak isterseniz buradan websitesine gidip, dökümantasyonunu okuyabilirsiniz.
Öncelikle Cuckoo Sandbox kurulumunu tamamlamanız ve çalışır durumda olması gerekmektedir.
Process Monitor
Process Monitor, bir uygulamanın sistemin farklı bileşenleriyle olan etkileşimlerini izleyerek, uygulamanın davranışını anlamaya yardımcı olan bir hata ayıklama ve izleme aracıdır. Bu etkileşimler, dosya işlemleri, kayıt defteri değişiklikleri, ağ trafiği ve diğer birçok bileşeni içerebilir.
Process Monitor, dinamik analiz sırasında süreçleri ve dosya etkinliklerini izlemenize olanak tanır. Python ile Process Monitor'ı (ProcMon) kullanarak dinamik analiz yapabilirsiniz. Öncelikle ProcMon'ı indirip doğru yola yerleştirmeniz gerekir.
Dynamic Instrumentation
Dynamic Instrumentation, yazılımın çalışma zamanındaki davranışını analiz etmek için kullanılır. Bu teknik, yazılımın bellek yönetimi, dosya işlemleri, ağ bağlantıları ve diğer işlemleri gibi farklı bileşenleri üzerinde etkili bir şekilde çalışabilir.
Bir örnek olarak, Dynamic Instrumentation, bir yazılımın bellek yönetimini analiz etmek için kullanılabilir. Bu teknik, yazılımın bellek kullanımını analiz ederek, bellek sızıntıları veya bellek bozulmaları gibi hataları belirleyebilir. Aynı zamanda, bir yazılımın ağ bağlantılarını analiz ederek, zararlı yazılımın ne tür verileri çalabileceğini veya ne tür ağ bağlantıları kurabileceğini belirleyebilir.
Python ile frida kütüphanesini kullanarak dinamik enstrümantasyon yapabilirsiniz.
Sistem API Çağrılarını İzleme
Sistem API çağrılarını izleme, bir yazılımın çalışma zamanında sistem çağrılarını izleyerek, yazılımın davranışını analiz etmek için kullanılan bir tekniktir. Bu teknik, bir yazılımın ne tür işlemler gerçekleştirdiğini belirlemeye ve zararlı yazılımların tespit edilmesine yardımcı olabilir.
Sistem API'leri, işletim sistemi ile iletişim kurarak, bir yazılımın farklı işlemleri gerçekleştirmesine olanak tanır. Örneğin, bir yazılım dosya okuma veya yazma işlemleri gerçekleştirmek için sistem API'lerini kullanabilir. Sistem API çağrılarını izlemek, bir yazılımın dosya işlemleri, ağ bağlantıları, bellek yönetimi ve diğer işlemleri gibi birçok bileşeni üzerindeki etkileşimleri analiz etmek için kullanılabilir.
Python ve pydbg kütüphanesini kullanarak sistem API çağrılarını izleyebilirsiniz. Öncelikle pydbg kütüphanesini kurmanız gerekmektedir: pip install pydbg
Tulu Yıldızları Kulübü sunmuştur. Umarım sonraki projelerinizde referans alabileceğiniz güzel bir kaynak olmuştur.
Eğer konu ilginizi çektiyse, paylaşmış olduğum diğer konulara göz atabilirsiniz.
Hacklink otomasyonu | Colab ile Otonom Website Hacklemek!
HackRF ile Bluetooth Low Energy Sniffing #3
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
https://www.turkhackteam.org/konular/hackrf-ile-replay-attack-2.2033875/
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
YOLO ile Derin Öğrenme! | Veri İşaretleme | Veri Eğitme | Görüntü İşleme
Zararlı yazılım dosyasının özelliklerini inceleyerek (dosya boyutu, oluşturulma tarihi, değiştirilme tarihi vb.), dosyanın şüpheli olup olmadığına dair ipuçları elde edebilirsiniz.
Bu şekilde dosyanın daha önceden değiştirilip, değiştirilmediği, benzer dosyaların boyutları, vb. gibi veriler üzerinden bir çıkarımda bulunabilirsiniz. Sonrasında dosya türü gibi farklı verileri ekleyip, farklı analizlerde bulunabilirsiniz.
Python:
import os
import time
file_path = "malware.exe" # dosya yolu
# Dosya özelliklerini al
file_size = os.path.getsize(file_path)
created_time = os.path.getctime(file_path)
modified_time = os.path.getmtime(file_path)
# Dosya özelliklerini yazdır
print(f"File size: {file_size} bytes")
print(f"Created time: {time.ctime(created_time)}")
print(f"Modified time: {time.ctime(modified_time)}")
Çıktı:
PE Dosyası Analizi
PE (Portable Executable) dosyası, Microsoft Windows işletim sistemi tarafından kullanılan ve uygulama veya sürücü gibi yürütülebilir dosyaları içeren bir dosya formatıdır. PE Dosyası Analizi, bu dosya formatını inceleyerek dosyanın işleyişi hakkında bilgi sağlayan bir tekniktir.
PE dosyasının yapısı, bir dosyanın içindeki bölümler, dosya başlığı, dosya kaynakları, yürütülebilir kod, veri blokları ve benzeri özellikleri içerir. PE Dosyası Analizi, bu özellikleri inceler ve dosyanın amacını ve potansiyel risklerini belirlemeye yardımcı olur.
Python:
import pefile
pe = pefile.PE("malware.exe")
# PE dosya özelliklerini yazdır
print(f"Entry Point: {hex(pe.OPTIONAL_HEADER.AddressOfEntryPoint)}")
print(f"Number of Sections: {len(pe.sections)}")
print("Sections:")
for section in pe.sections:
print(f" {section.Name.decode('utf-8')} - VA: {hex(section.VirtualAddress)} - Size: {section.SizeOfRawData}")
Çıktı:
Import ve Export Analizi
Import Analizi, bir yürütülebilir dosyanın diğer dosyalardan hangi fonksiyonları çağırdığını ve bu fonksiyonların nerede bulunduğunu belirlemeye yardımcı olur. Bu analiz, bir yazılımın hangi kütüphanelerini ve fonksiyonlarını kullandığını anlamak için kullanılabilir.
Export Analizi ise, bir yürütülebilir dosyanın kendi içinde hangi fonksiyonları barındırdığını ve diğer dosyaların bu fonksiyonları nasıl kullanabileceğini belirlemeye yardımcı olur. Bu analiz, bir yazılımın hangi fonksiyonları kullanıcılar veya diğer yazılımlar tarafından çağırabileceğini anlamak için kullanılabilir.
Zararlı yazılımların kullandığı harici fonksiyonları ve kütüphaneleri analiz ederek, zararlı yazılımın amacı ve işlevselliği hakkında bilgi toplayabilirsiniz.
Python:
import pefile
pe = pefile.PE("example_malware.exe")
# İmportları yazdır
if hasattr(pe, "DIRECTORY_ENTRY_IMPORT"):
print("Imports:")
for entry in pe.DIRECTORY_ENTRY_IMPORT:
print(f" {entry.dll.decode('utf-8')}")
for function in entry.imports:
print(f" {function.name.decode('utf-8')}")
# Exportları yazdır
if hasattr(pe, "DIRECTORY_ENTRY_EXPORT"):
print("Exports:")
for function in pe.DIRECTORY_ENTRY_EXPORT.symbols:
print(f" {function.name.decode('utf-8')}")
Çıktı:
String Analizi
String Analizi, bir yazılımın içindeki metin verilerini inceleyen bir tekniktir. Bu analiz, zararlı yazılım analizi ve yazılım geliştirme süreçlerinde kullanılır.
Bir yazılım, kullanıcı arayüzünde, hata mesajlarında, komut dosyalarında, kaynak kodunda ve diğer birçok yerde metin verileri içerir. String Analizi, bu metin verilerini inceleyerek yazılımın işleyişi hakkında bilgi sağlar.
Örneğin, bir zararlı yazılımın içindeki bir dize, bir şifreleme algoritmasını belirleyebilir veya bir komut dosyasında bir kötü amaçlı URL'yi açığa çıkarabilir. Bu bilgi, zararlı yazılımın tespit edilmesi ve temizlenmesi için kullanılabilir.
Zararlı yazılım içindeki metin dizelerini çıkararak, zararlı yazılımın amacı ve işlevleri hakkında daha fazla bilgi edinebilirsiniz.
Python:
import string
import pefile
def strings_in_file(file_path, min_len=5):
with open(file_path, "rb") as file:
result = ""
for char in file.read():
if chr(char) in string.printable:
result += chr(char)
else:
if len(result) >= min_len:
yield result
result = ""
pe = pefile.PE("example_malware.exe")
# Stringleri yazdır
print("Strings:")
for s in strings_in_file("example_malware.exe"):
print(f" {s}")
Çıktı:
Yapılandırma Ayarları Çıkarılması
Yapılandırma Ayarları Çıkarılması (Configuration Extraction), bir yazılımın çalışması için gereken yapılandırma dosyalarından veya ayarlarının çıkarılması ve analiz edilmesi işlemidir. Bu analiz, bir yazılımın yapılandırması hakkında bilgi sağlayarak, yazılım geliştirme ve zararlı yazılım analizi süreçlerinde kullanılır.
Bir yazılım, genellikle bir konfigürasyon dosyası veya ayarları içeren bir yapılandırma dosyası kullanır. Bu dosyalar, yazılımın çalışması için gerekli olan değişkenleri, parametreleri ve diğer ayarları içerir. Yapılandırma Ayarları Çıkarılması, bu dosyaların içeriğinin analiz edilmesi ve yazılımın çalışması için gerekli olan ayarların belirlenmesi işlemini içerir.
Bazı zararlı yazılımlar, yapılandırma ayarlarını veya hassas bilgileri dosya içinde saklar. Bu bilgileri çıkararak, zararlı yazılımın işleyişine dair daha fazla bilgi elde edebilirsiniz.
Python:
import re
import pefile
def extract_config(file_path, regex_pattern):
with open(file_path, "rb") as file:
file_data = file.read()
config_data = re.findall(regex_pattern, file_data)
return config_data
pe = pefile.PE("example_malware.exe")
# Örnek bir düzenli ifade (regex) ile yapılandırma ayarlarını çıkarma
config_pattern = re.compile(rb"config_key=(\w+)")
config_values = extract_config("example_malware.exe", config_pattern)
print("Config Values:")
for value in config_values:
print(f" {value.decode('utf-8')}")
Control Flow Graph (CFG) Analizi, bir yazılımın kodunun kontrol akışını temsil eden bir grafik modeli oluşturarak, yazılımın işleyişi hakkında bilgi sağlayan bir tekniktir. Bu analiz, yazılım geliştirme ve zararlı yazılım analizi süreçlerinde kullanılır.
CFG Analizi, bir yazılımın kodunu bloklara ayırır ve bu bloklar arasındaki kontrol akışını belirleyerek bir grafik modeli oluşturur. Bu model, bir yazılımın farklı kısımlarının nasıl etkileştiğini ve birbirleriyle nasıl bağlantılı olduğunu gösterir.
Zararlı yazılımların CFG'lerini inceleyerek, kodun mantığı ve çalışma şekli hakkında bilgi edinebilirsiniz. Python ile angr kütüphanesini kullanarak CFG analizi yapabilirsiniz.
Python:
import angr
binary_path = "example_malware.exe"
# Angr projeyi yükleme
project = angr.Project(binary_path)
# CFG oluşturma
cfg = project.analyses.CFG()
# CFG düğümlerini yazdırma
print("CFG Nodes:")
for node in cfg.nodes():
print(f" {node}")
Çıktı:
Python ile Dinamik Analiz Örnekleri
Cuckoo Sandbox
Cuckoo Sandbox, otomatik olarak zararlı yazılım örneklerini çalıştırarak, ağ trafiğini, sistem değişikliklerini ve diğer davranışları analiz etmeyi sağlayan açık kaynaklı bir dinamik analiz aracıdır. Python ile Cuckoo Sandbox API'sini kullanarak analiz sonuçlarını alabilirsiniz. Ayrıca Cuckoo Sandbox hakkında daha fazla bilgi almak isterseniz buradan websitesine gidip, dökümantasyonunu okuyabilirsiniz.
Öncelikle Cuckoo Sandbox kurulumunu tamamlamanız ve çalışır durumda olması gerekmektedir.
Python:
import requests
cuckoo_api_url = "http://localhost:8090"
# Cuckoo Sandbox'a dosya gönderme
with open("example_malware.exe", "rb") as file:
response = requests.post(f"{cuckoo_api_url}/tasks/create/file", files={"file": file})
task_id = response.json()["task_id"]
# Analiz sonuçlarını al
results_response = requests.get(f"{cuckoo_api_url}/tasks/report/{task_id}")
analysis_results = results_response.json()
# Sonuçları işleme
print(f"Task ID: {task_id}")
print(f"Malware Score: {analysis_results['info']['score']}")
Process Monitor, bir uygulamanın sistemin farklı bileşenleriyle olan etkileşimlerini izleyerek, uygulamanın davranışını anlamaya yardımcı olan bir hata ayıklama ve izleme aracıdır. Bu etkileşimler, dosya işlemleri, kayıt defteri değişiklikleri, ağ trafiği ve diğer birçok bileşeni içerebilir.
Process Monitor, dinamik analiz sırasında süreçleri ve dosya etkinliklerini izlemenize olanak tanır. Python ile Process Monitor'ı (ProcMon) kullanarak dinamik analiz yapabilirsiniz. Öncelikle ProcMon'ı indirip doğru yola yerleştirmeniz gerekir.
Python:
import subprocess
procmon_path = "C:\\Path\\To\\procmon.exe"
procmon_output = "procmon_logfile.csv"
malware_path = "example_malware.exe"
# ProcMon'ı başlatma
procmon = subprocess.Popen([procmon_path, "/Quiet", "/Minimized", "/Backingfile", procmon_output])
# Zararlı yazılımı çalıştırma
subprocess.run([malware_path])
# ProcMon'ı durdurma
procmon.terminate()
# ProcMon loglarını işleme
with open(procmon_output, "r") as logfile:
log_data = logfile.readlines()
# Log verilerini işleme ve sonuçları yazdırma
print("ProcMon Logs:")
for line in log_data:
print(f" {line.strip()}")
Dynamic Instrumentation, yazılımın çalışma zamanındaki davranışını analiz etmek için kullanılır. Bu teknik, yazılımın bellek yönetimi, dosya işlemleri, ağ bağlantıları ve diğer işlemleri gibi farklı bileşenleri üzerinde etkili bir şekilde çalışabilir.
Bir örnek olarak, Dynamic Instrumentation, bir yazılımın bellek yönetimini analiz etmek için kullanılabilir. Bu teknik, yazılımın bellek kullanımını analiz ederek, bellek sızıntıları veya bellek bozulmaları gibi hataları belirleyebilir. Aynı zamanda, bir yazılımın ağ bağlantılarını analiz ederek, zararlı yazılımın ne tür verileri çalabileceğini veya ne tür ağ bağlantıları kurabileceğini belirleyebilir.
Python ile frida kütüphanesini kullanarak dinamik enstrümantasyon yapabilirsiniz.
Python:
import frida
def on_message(message, data):
print(f"Message: {message}, Data: {data}")
malware_process_name = "example_malware.exe"
# Frida ile sürece bağlanma
session = frida.attach(malware_process_name)
# Süreç içindeki bir fonksiyonu izleme
hook_script = """
Interceptor.attach(ptr("0x123456"), {
onEnter: function(args) {
console.log("Function called!");
},
onLeave: function(retval) {
console.log("Function returned!");
}
});
"""
script = session.create_script(hook_script)
script.on("message", on_message)
script.load()
# Dinamik analiz sırasında süreci izleme
input("Press Enter to stop the monitoring...")
Sistem API çağrılarını izleme, bir yazılımın çalışma zamanında sistem çağrılarını izleyerek, yazılımın davranışını analiz etmek için kullanılan bir tekniktir. Bu teknik, bir yazılımın ne tür işlemler gerçekleştirdiğini belirlemeye ve zararlı yazılımların tespit edilmesine yardımcı olabilir.
Sistem API'leri, işletim sistemi ile iletişim kurarak, bir yazılımın farklı işlemleri gerçekleştirmesine olanak tanır. Örneğin, bir yazılım dosya okuma veya yazma işlemleri gerçekleştirmek için sistem API'lerini kullanabilir. Sistem API çağrılarını izlemek, bir yazılımın dosya işlemleri, ağ bağlantıları, bellek yönetimi ve diğer işlemleri gibi birçok bileşeni üzerindeki etkileşimleri analiz etmek için kullanılabilir.
Python ve pydbg kütüphanesini kullanarak sistem API çağrılarını izleyebilirsiniz. Öncelikle pydbg kütüphanesini kurmanız gerekmektedir: pip install pydbg
Python:
from pydbg import pydbg
from pydbg.defines import DBG_CONTINUE
def api_callback(dbg, args):
print(f"API called: {args[0]}")
return DBG_CONTINUE
malware_process_name = "example_malware.exe"
# Pydbg ile sürece bağlanma
dbg = pydbg()
dbg.attach(dbg.find_process_by_exe(malware_process_name))
# Sistem API'lerini izleme
dbg.bp_set(dbg.func_resolve("kernel32.dll", "CreateFileW"), api_callback)
# Dinamik analiz sırasında süreci izleme
dbg.debug_event_loop()
Tulu Yıldızları Kulübü sunmuştur. Umarım sonraki projelerinizde referans alabileceğiniz güzel bir kaynak olmuştur.
Eğer konu ilginizi çektiyse, paylaşmış olduğum diğer konulara göz atabilirsiniz.
Hacklink otomasyonu | Colab ile Otonom Website Hacklemek!
HackRF ile Bluetooth Low Energy Sniffing #3
Phishing URL Kısaltma Uygulaması Yazalım! | Phishing için URL Tekniği
https://www.turkhackteam.org/konular/hackrf-ile-replay-attack-2.2033875/
QRLJacking Nedir? | Whatsapp Saldırı Vektörü Oluşturalım!
YOLO ile Derin Öğrenme! | Veri İşaretleme | Veri Eğitme | Görüntü İşleme
Son düzenleme: