یه سوال از همه شما ک نظرتون برام ارزشمند💙
نظرتون چیه یک چنل V.I.P بزنم برای ابزار های خطرناک و اوپن سورس و... که در دسترس عموم قرار نگیره
نظرتون چیه یک چنل V.I.P بزنم برای ابزار های خطرناک و اوپن سورس و... که در دسترس عموم قرار نگیره
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19👎13
مهندسی معکوس، اولین قدم
مهندسی معکوس یعنی فهمیدن یک برنامه بدون داشتن سورس کدش.
وقتی یه فایل اجرایی داری و نمیدونی چیکار میکنه، این مسیر رو طی میکنی.
قدم اول: تشخیص نوع فایل
file unknown.exe
خروجی بهت میگه PE32 هست یا ELF یا چیز دیگه.
قدم دوم: رشتههای داخل فایل
strings unknown.exe | head -50
دنبال URL، IP، اسم فایل، پیام خطا بگرد.
اکثر بدافزارها بدون رمزنگاری، خودشون رو لو میدن.
قدم سوم: اطلاعات هدر
objdump -f unknown.exe
معماری، آدرس ورودی، تعداد سکشنها.
قدم چهارم: دیساسمبلی
objdump -d unknown.exe > disasm.txt
حالا یه فایل داری پر از اسمبلی.
دنبال call های مشکوک بگرد.
دنبال syscall ها.
دنبال String References.
نکته کلیدی:
تو اسمبلی، هر call یعنی یه تابع صدا زده شده.
اگه اسم تابع تو خروجی نباشه، آدرسش هست.
آدرس رو برو تو Import Table پیدا کن.
ابزارهای حرفهای:
IDA Pro و Ghidra برای تحلیل عمیق.
x64dbg و OllyDbg برای دیباگ زنده.
PE-bear و CFF Explorer برای ساختار PE.
#ℳℴ𝒷𝒾𝓃
مهندسی معکوس یعنی فهمیدن یک برنامه بدون داشتن سورس کدش.
وقتی یه فایل اجرایی داری و نمیدونی چیکار میکنه، این مسیر رو طی میکنی.
قدم اول: تشخیص نوع فایل
file unknown.exe
خروجی بهت میگه PE32 هست یا ELF یا چیز دیگه.
قدم دوم: رشتههای داخل فایل
strings unknown.exe | head -50
دنبال URL، IP، اسم فایل، پیام خطا بگرد.
اکثر بدافزارها بدون رمزنگاری، خودشون رو لو میدن.
قدم سوم: اطلاعات هدر
objdump -f unknown.exe
معماری، آدرس ورودی، تعداد سکشنها.
قدم چهارم: دیساسمبلی
objdump -d unknown.exe > disasm.txt
حالا یه فایل داری پر از اسمبلی.
دنبال call های مشکوک بگرد.
دنبال syscall ها.
دنبال String References.
نکته کلیدی:
تو اسمبلی، هر call یعنی یه تابع صدا زده شده.
اگه اسم تابع تو خروجی نباشه، آدرسش هست.
آدرس رو برو تو Import Table پیدا کن.
ابزارهای حرفهای:
IDA Pro و Ghidra برای تحلیل عمیق.
x64dbg و OllyDbg برای دیباگ زنده.
PE-bear و CFF Explorer برای ساختار PE.
#ℳℴ𝒷𝒾𝓃
❤9
سرریز بافر، از تئوری تا عمل
سرریز بافر یعنی نوشتن داده بیشتر از ظرفیت یه متغیر.
مثال ساده:
char buffer[8];
strcpy(buffer, "ThisIsWayTooLong");
این کد باعث سرریز میشه.
چون buffer فقط ۸ بایت جا داره.
ولی ۱۹ بایت توش ریخته میشه.
چی اتفاق میافته؟
حافظه stack این شکلیه:
[buffer 8 بایت][ذخیره شده EBP][آدرس بازگشت]
وقتی ۱۹ بایت میریزی، ۱۱ بایت اضافه سرریز میشه.
اول EBP رو خراب میکنه.
بعد آدرس بازگشت رو خراب میکنه.
اگه آدرس بازگشت رو با آدرس shellcode عوض کنی، برنامه shellcode رو اجرا میکنه.
چطور آدرس درست رو پیدا کنیم؟
۱. الگو بساز
pattern_create.rb -l 100
خروجی: Aa0Aa1Aa2Aa3...
۲. برنامه رو اجرا کن با این الگو
۳. ببین EIP چقدر شده
۴. با pattern_offset.rb آفست رو پیدا کن
pattern_offset.rb -q 0x41326341
خروجی: 42
یعنی ۴۲ بایت بعد از شروع buffer، EIP قرار داره.
چرا این روزها سخت شده؟
ASLR: آدرسها هر بار رندوم میشن.
DEP: stack قابل اجرا نیست.
Stack Canary: قبل از EIP یه مقدار مخفی میذاره.
PIE: خود برنامه هم رندوم لود میشه.
برای همین، اکسپلویت مدرن نیاز به:
Info Leak برای شکستن ASLR
ROP Chain برای دور زدن DEP
Canary Leak برای دور زدن Stack Canary
#ℳℴ𝒷𝒾𝓃
سرریز بافر یعنی نوشتن داده بیشتر از ظرفیت یه متغیر.
مثال ساده:
char buffer[8];
strcpy(buffer, "ThisIsWayTooLong");
این کد باعث سرریز میشه.
چون buffer فقط ۸ بایت جا داره.
ولی ۱۹ بایت توش ریخته میشه.
چی اتفاق میافته؟
حافظه stack این شکلیه:
[buffer 8 بایت][ذخیره شده EBP][آدرس بازگشت]
وقتی ۱۹ بایت میریزی، ۱۱ بایت اضافه سرریز میشه.
اول EBP رو خراب میکنه.
بعد آدرس بازگشت رو خراب میکنه.
اگه آدرس بازگشت رو با آدرس shellcode عوض کنی، برنامه shellcode رو اجرا میکنه.
چطور آدرس درست رو پیدا کنیم؟
۱. الگو بساز
pattern_create.rb -l 100
خروجی: Aa0Aa1Aa2Aa3...
۲. برنامه رو اجرا کن با این الگو
۳. ببین EIP چقدر شده
۴. با pattern_offset.rb آفست رو پیدا کن
pattern_offset.rb -q 0x41326341
خروجی: 42
یعنی ۴۲ بایت بعد از شروع buffer، EIP قرار داره.
چرا این روزها سخت شده؟
ASLR: آدرسها هر بار رندوم میشن.
DEP: stack قابل اجرا نیست.
Stack Canary: قبل از EIP یه مقدار مخفی میذاره.
PIE: خود برنامه هم رندوم لود میشه.
برای همین، اکسپلویت مدرن نیاز به:
Info Leak برای شکستن ASLR
ROP Chain برای دور زدن DEP
Canary Leak برای دور زدن Stack Canary
#ℳℴ𝒷𝒾𝓃
❤6👍1
🕸️ ReconGraph | هر دارایی، بخشی از یک تصویر بزرگتر است.
در دنیای امنیت سایبری، شناخت یک دامنه کافی نیست؛ گاهی ارتباط میان داراییهای دیجیتال، اطلاعاتی را آشکار میکند که در نگاه اول دیده نمیشوند.
ReconGraph ابزاری برای شناسایی و تحلیل سطح حمله است که اطلاعات دامنهها، رکوردهای DNS، گواهیهای TLS و فناوریهای قابل مشاهده وب را جمعآوری کرده و در قالب یک گزارش ساختاریافته ارائه میدهد.
🔹 بررسی اطلاعات DNS
🔹 تحلیل گواهیهای TLS
🔹 شناسایی فناوریهای قابل مشاهده
🔹 بررسی وضعیت هدرهای امنیتی
🔹 ترسیم ارتباط میان داراییهای دیجیتال
🔹 تولید گزارش JSON برای تحلیل بیشتر
گاهی مهمترین سرنخ، یک دارایی نیست؛ ارتباطی است که میان چند دارایی وجود دارد.
ReconGraph — Map the Surface. Reveal the Connections.
دانلود فایل : کلیک
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
در دنیای امنیت سایبری، شناخت یک دامنه کافی نیست؛ گاهی ارتباط میان داراییهای دیجیتال، اطلاعاتی را آشکار میکند که در نگاه اول دیده نمیشوند.
ReconGraph ابزاری برای شناسایی و تحلیل سطح حمله است که اطلاعات دامنهها، رکوردهای DNS، گواهیهای TLS و فناوریهای قابل مشاهده وب را جمعآوری کرده و در قالب یک گزارش ساختاریافته ارائه میدهد.
🔹 بررسی اطلاعات DNS
🔹 تحلیل گواهیهای TLS
🔹 شناسایی فناوریهای قابل مشاهده
🔹 بررسی وضعیت هدرهای امنیتی
🔹 ترسیم ارتباط میان داراییهای دیجیتال
🔹 تولید گزارش JSON برای تحلیل بیشتر
گاهی مهمترین سرنخ، یک دارایی نیست؛ ارتباطی است که میان چند دارایی وجود دارد.
ReconGraph — Map the Surface. Reveal the Connections.
دانلود فایل : کلیک
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
❤7🔥1
Race Condition، وقتی زمانبندی همه چیز رو خراب میکنه
Race Condition یعنی دو تا عملیات همزمان روی یه منبع کار میکنن و نتیجه غیرقابل پیشبینیه.
مثال کلاسیک: انتقال پول
if balance >= amount:
balance -= amount
send_money()
فرض کن بالانس ۱۰۰ دلاره.
دو تا درخواست همزمان میاد، هر کدوم ۱۰۰ دلار.
هر دو چک میکنن: balance >= amount → True
هر دو کم میکنن: 100 - 100 = 0
هر دو پول میفرستن: ۲۰۰ دلار فرستاده شد، ولی بالانس صفر شد.
راه حل: قفل کردن
import threading
lock = threading.Lock()
with lock:
if balance >= amount:
balance -= amount
send_money()
حالا فقط یه thread همزمان میتونه وارد شه.
مثال تو وب:
فرض کن یه کد تخفیف یه بار مصرف داری.
دو تا درخواست همزمان میفرستی.
هر دو میان تو سرور، هر دو چک میکنن: used = False
هر دو تخفیف رو اعمال میکنن.
حالا دو بار تخفیف گرفتی.
برای تست:
از Burp Suite استفاده کن.
درخواست رو بگیر.
Send to Repeater.
تبدیل به Turbo Intruder کن.
۱۰۰ بار همزمان بفرست.
ببین چند تا موفق شد.
دفاع:
استفاده از Transaction
Row-Level Locking
Atomic Operations
Rate Limiting
#ℳℴ𝒷𝒾𝓃
Race Condition یعنی دو تا عملیات همزمان روی یه منبع کار میکنن و نتیجه غیرقابل پیشبینیه.
مثال کلاسیک: انتقال پول
if balance >= amount:
balance -= amount
send_money()
فرض کن بالانس ۱۰۰ دلاره.
دو تا درخواست همزمان میاد، هر کدوم ۱۰۰ دلار.
هر دو چک میکنن: balance >= amount → True
هر دو کم میکنن: 100 - 100 = 0
هر دو پول میفرستن: ۲۰۰ دلار فرستاده شد، ولی بالانس صفر شد.
راه حل: قفل کردن
import threading
lock = threading.Lock()
with lock:
if balance >= amount:
balance -= amount
send_money()
حالا فقط یه thread همزمان میتونه وارد شه.
مثال تو وب:
فرض کن یه کد تخفیف یه بار مصرف داری.
دو تا درخواست همزمان میفرستی.
هر دو میان تو سرور، هر دو چک میکنن: used = False
هر دو تخفیف رو اعمال میکنن.
حالا دو بار تخفیف گرفتی.
برای تست:
از Burp Suite استفاده کن.
درخواست رو بگیر.
Send to Repeater.
تبدیل به Turbo Intruder کن.
۱۰۰ بار همزمان بفرست.
ببین چند تا موفق شد.
دفاع:
استفاده از Transaction
Row-Level Locking
Atomic Operations
Rate Limiting
#ℳℴ𝒷𝒾𝓃
❤5👍1
SSRF، نفوذ از داخل شبکه
SSRF یعنی یه اپلیکیشن، از طرف خودش یه درخواست به یه URL میفرسته.
اگه مهاجم بتونه اون URL رو کنترل کنه، میتونه به منابع داخلی دسترسی بگیره.
مثال ساده:
یه سایت داره: example.com/avatar?url=https://gravatar.com/user.png
سرور میره gravatar رو دانلود میکنه و نشون میده.
حالا اگه بفرستی:
example.com/avatar?url=http://127.0.0.1:8080/admin
سرور از طرف خودش میره به پنل ادمین داخلی درخواست میده.
پنل ادمین IP لوکال رو قبول میکنه.
و مهاجم از راه دور به پنل دسترسی میگیره.
چطور بفهمیم SSRF داریم؟
از Burp Collaborator استفاده کن.
یه URL منحصربفرد بهت میده.
اگه بذاریش تو اون پارامتر و DNS Query دیدی، یعنی SSRF داری.
تکنیکهای دور زدن فیلتر:
۱. تبدیل IP به فرمتهای دیگه
http://2130706433 → معادل 127.0.0.1
http://0x7f000001 → معادل 127.0.0.1
http://0177.0.0.1 → معادل 127.0.0.1
http://127.1 → معادل 127.0.0.1
۲. Redirect
http://attacker.com/redirect → به 127.0.0.1 هدایت کنه
۳. DNS Rebinding
یه دامنه که اول IP عمومی میده، بعد IP خصوصی
۴. URL Parsing Bypass
http://expected.com@127.0.0.1
http://127.0.0.1#@expected.com
۵. Cloud Metadata
http://169.254.169.254/latest/meta-data/iam/security-credentials/
این آدرس تو AWS، کلید دسترسی به حساب میده.
دفاع:
Whitelist دامنههای مجاز
Block کردن IP های خصوصی
DNS Rebinding protection
استفاده از IMDSv2 در AWS
#ℳℴ𝒷𝒾𝓃
SSRF یعنی یه اپلیکیشن، از طرف خودش یه درخواست به یه URL میفرسته.
اگه مهاجم بتونه اون URL رو کنترل کنه، میتونه به منابع داخلی دسترسی بگیره.
مثال ساده:
یه سایت داره: example.com/avatar?url=https://gravatar.com/user.png
سرور میره gravatar رو دانلود میکنه و نشون میده.
حالا اگه بفرستی:
example.com/avatar?url=http://127.0.0.1:8080/admin
سرور از طرف خودش میره به پنل ادمین داخلی درخواست میده.
پنل ادمین IP لوکال رو قبول میکنه.
و مهاجم از راه دور به پنل دسترسی میگیره.
چطور بفهمیم SSRF داریم؟
از Burp Collaborator استفاده کن.
یه URL منحصربفرد بهت میده.
اگه بذاریش تو اون پارامتر و DNS Query دیدی، یعنی SSRF داری.
تکنیکهای دور زدن فیلتر:
۱. تبدیل IP به فرمتهای دیگه
http://2130706433 → معادل 127.0.0.1
http://0x7f000001 → معادل 127.0.0.1
http://0177.0.0.1 → معادل 127.0.0.1
http://127.1 → معادل 127.0.0.1
۲. Redirect
http://attacker.com/redirect → به 127.0.0.1 هدایت کنه
۳. DNS Rebinding
یه دامنه که اول IP عمومی میده، بعد IP خصوصی
۴. URL Parsing Bypass
http://expected.com@127.0.0.1
http://127.0.0.1#@expected.com
۵. Cloud Metadata
http://169.254.169.254/latest/meta-data/iam/security-credentials/
این آدرس تو AWS، کلید دسترسی به حساب میده.
دفاع:
Whitelist دامنههای مجاز
Block کردن IP های خصوصی
DNS Rebinding protection
استفاده از IMDSv2 در AWS
#ℳℴ𝒷𝒾𝓃
❤5
Deserialization، باگی که RCE میده
Serialization یعنی تبدیل یه آبجکت به رشته بایتی برای ذخیره یا انتقال.
Deserialization یعنی برگردوندن همون بایتها به آبجکت.
مشکل کجاست؟
اگه بایتها از سمت کاربر بیان، مهاجم میتونه آبجکت مخرب بسازه.
مثال PHP:
class User {
public $role = "user";
public function __destruct() {
// کد اجرا میشه وقتی آبجکت نابود میشه
}
}
$a = unserialize($_GET['data']);
اگه مهاجم یه آبجکت User بفرسته با role=admin،
حالا ادمین شده.
ولی این سادهست. حالت خطرناکتر:
اگه یه کلاس Magic Method مثل wakeup یا destruct داشته باشی که
بر اساس ورودی، یه فایل باز کنه یا یه دستور اجرا کنه،
مهاجم میتونه RCE بگیره.
مثال معروف: PHP Object Injection
class FileHandler {
public $filename;
public function __destruct() {
unlink($this->filename);
}
}
$a = unserialize($_GET['data']);
اگه مهاجم بفرسته:
O:11:"FileHandler":1:{s:8:"filename";s:11:"/etc/passwd";}
کلاس FileHandler ساخته میشه، filename میشه /etc/passwd.
وقتی اسکریپت تموم میشه، __destruct اجرا میشه.
فایل /etc/passwd پاک میشه.
چرا این خطرناکه؟
چون با زنجیرهسازی (POP Chain)، میتونی به RCE برسی.
ابزارش: ysoserial برای Java، phpggc برای PHP.
دفاع:
هرگز داده کاربر رو Deserialize نکن.
اگه مجبوری، از فرمتهای امن مثل JSON استفاده کن.
از کلاسهای Whitelist استفاده کن.
Signed Serialization
#ℳℴ𝒷𝒾𝓃
Serialization یعنی تبدیل یه آبجکت به رشته بایتی برای ذخیره یا انتقال.
Deserialization یعنی برگردوندن همون بایتها به آبجکت.
مشکل کجاست؟
اگه بایتها از سمت کاربر بیان، مهاجم میتونه آبجکت مخرب بسازه.
مثال PHP:
class User {
public $role = "user";
public function __destruct() {
// کد اجرا میشه وقتی آبجکت نابود میشه
}
}
$a = unserialize($_GET['data']);
اگه مهاجم یه آبجکت User بفرسته با role=admin،
حالا ادمین شده.
ولی این سادهست. حالت خطرناکتر:
اگه یه کلاس Magic Method مثل wakeup یا destruct داشته باشی که
بر اساس ورودی، یه فایل باز کنه یا یه دستور اجرا کنه،
مهاجم میتونه RCE بگیره.
مثال معروف: PHP Object Injection
class FileHandler {
public $filename;
public function __destruct() {
unlink($this->filename);
}
}
$a = unserialize($_GET['data']);
اگه مهاجم بفرسته:
O:11:"FileHandler":1:{s:8:"filename";s:11:"/etc/passwd";}
کلاس FileHandler ساخته میشه، filename میشه /etc/passwd.
وقتی اسکریپت تموم میشه، __destruct اجرا میشه.
فایل /etc/passwd پاک میشه.
چرا این خطرناکه؟
چون با زنجیرهسازی (POP Chain)، میتونی به RCE برسی.
ابزارش: ysoserial برای Java، phpggc برای PHP.
دفاع:
هرگز داده کاربر رو Deserialize نکن.
اگه مجبوری، از فرمتهای امن مثل JSON استفاده کن.
از کلاسهای Whitelist استفاده کن.
Signed Serialization
#ℳℴ𝒷𝒾𝓃
❤6
جمعآوری اطلاعات از Active Directory
Active Directory قلب شبکههای ویندوزیه.
اگه بخوای به یه شبکه سازمانی نفوذ کنی، اول باید AD رو بشناسی.
چرا مهمه؟
چون تو AD، همه چی ثبت شده:
کاربرا، کامپیوترا، گروهها، سیاستها، اعتمادها.
اگه بتونی AD رو بخونی، کل شبکه رو میشناسی.
اولین قدم: دسترسی به یه کاربر عادی
حتی با یه کاربر عادی، میتونی کلی اطلاعات بگیری.
کوئریهای پایه:
۱. لیست کاربران دامنه
net user /domain
۲. لیست گروهها
net group /domain
۳. اطلاعات دامنه
net accounts /domain
۴. اعضای Domain Admins
net group "Domain Admins" /domain
ابزارهای حرفهای:
BloodHound
یه ابزار گرافیکی که روابط AD رو نشون میده.
میتونی ببینی از کاربر عادی چطور به Domain Admin برسی.
PowerView
یه اسکریپت PowerShell برای شمارش AD.
Get-NetUser
Get-NetGroup
Get-NetComputer
Get-NetSession
ADExplorer
از Sysinternals، برای مرور AD به صورت گرافیکی.
SharpHound
نسخه Collector برای BloodHound.
دادهها رو جمع میکنه و به BloodHound میده.
چرا BloodHound انقلابی بود؟
قبلش، باید دستی همه روابط رو کشف میکردی.
الان، فقط یه بار داده جمع میکنی.
BloodHound خودش کوتاهترین مسیر به Domain Admin رو نشون میده.
مثال:
کاربر Ali، عضو گروه IT Support هست.
گروه IT Support، اجازه Reset Password کاربرا رو داره.
کاربر Reza، ادمین یه سرور قدیمیه.
سرور قدیمی، دسترسی به سرور اصلی داره.
سرور اصلی، Domain Controller هست.
BloodHound این زنجیره رو خودش پیدا میکنه.
دفاع:
Principle of Least Privilege
Tiered Admin Model
Regular Audit
Monitor BloodHound-like queries
#ℳℴ𝒷𝒾𝓃
Active Directory قلب شبکههای ویندوزیه.
اگه بخوای به یه شبکه سازمانی نفوذ کنی، اول باید AD رو بشناسی.
چرا مهمه؟
چون تو AD، همه چی ثبت شده:
کاربرا، کامپیوترا، گروهها، سیاستها، اعتمادها.
اگه بتونی AD رو بخونی، کل شبکه رو میشناسی.
اولین قدم: دسترسی به یه کاربر عادی
حتی با یه کاربر عادی، میتونی کلی اطلاعات بگیری.
کوئریهای پایه:
۱. لیست کاربران دامنه
net user /domain
۲. لیست گروهها
net group /domain
۳. اطلاعات دامنه
net accounts /domain
۴. اعضای Domain Admins
net group "Domain Admins" /domain
ابزارهای حرفهای:
BloodHound
یه ابزار گرافیکی که روابط AD رو نشون میده.
میتونی ببینی از کاربر عادی چطور به Domain Admin برسی.
PowerView
یه اسکریپت PowerShell برای شمارش AD.
Get-NetUser
Get-NetGroup
Get-NetComputer
Get-NetSession
ADExplorer
از Sysinternals، برای مرور AD به صورت گرافیکی.
SharpHound
نسخه Collector برای BloodHound.
دادهها رو جمع میکنه و به BloodHound میده.
چرا BloodHound انقلابی بود؟
قبلش، باید دستی همه روابط رو کشف میکردی.
الان، فقط یه بار داده جمع میکنی.
BloodHound خودش کوتاهترین مسیر به Domain Admin رو نشون میده.
مثال:
کاربر Ali، عضو گروه IT Support هست.
گروه IT Support، اجازه Reset Password کاربرا رو داره.
کاربر Reza، ادمین یه سرور قدیمیه.
سرور قدیمی، دسترسی به سرور اصلی داره.
سرور اصلی، Domain Controller هست.
BloodHound این زنجیره رو خودش پیدا میکنه.
دفاع:
Principle of Least Privilege
Tiered Admin Model
Regular Audit
Monitor BloodHound-like queries
#ℳℴ𝒷𝒾𝓃
❤7
جرمیابی حافظه، خوندن RAM
وقتی یه سیستم هک میشه، خیلی از شواهد تو RAM هستن، نه روی دیسک.
بدافزارهای مدرن Fileless کار میکنن.
یعنی چیزی روی دیسک نمینویسن.
اگه RAM رو نگرفتی، شواهد رو از دست دادی.
اولین قدم: گرفتن Memory Dump
ابزار: DumpIt (ویندوز)، LiME (لینوکس)
خروجی: یه فایل چند گیگابایتی که کل RAM توشه.
حالا چی توشه؟
پروسههای در حال اجرا
اتصالات شبکه فعال
کلیدهای رمزنگاری
پسوردهای تو حافظه
رشتههای متنی
فایلهای اخیراً باز شده
Command History
ابزار اصلی: Volatility
Volatility یه فریمورک پایتونی برای تحلیل Memory Dump هست.
دستورات پایه:
لیست پروفایلها
volatility -f memory.dump imageinfo
لیست پروسهها
volatility -f memory.dump --profile=Win10x64 pslist
پروسههای مخفی (با کد متفاوت)
volatility -f memory.dump --profile=Win10x64 psscan
اتصالات شبکه
volatility -f memory.dump --profile=Win10x64 netscan
فایلهای باز
volatility -f memory.dump --profile=Win10x64 filescan
استخراج یه فایل
volatility -f memory.dump --profile=Win10x64 dumpfiles -Q 0x12345 -D output/
DLL های لود شده تو یه پروسه
volatility -f memory.dump --profile=Win10x64 dlllist -p 1234
تاریخچه دستورات CMD
volatility -f memory.dump --profile=Win10x64 cmdscan
چرا مهمه؟
تو حملات APT، مهاجم ممکنه ماهها تو سیستم باشه.
ولی اگه یه بار Memory Dump بگیری،
میتونی ردپاش رو پیدا کنی.
نکته:
RAM بعد از خاموش شدن پاک میشه.
پس اگه سیستم قربانی رو خاموش کنی، شواهد از دست میره.
اول Memory Dump بگیر، بعد هر کار دیگه.
#ℳℴ𝒷𝒾𝓃
وقتی یه سیستم هک میشه، خیلی از شواهد تو RAM هستن، نه روی دیسک.
بدافزارهای مدرن Fileless کار میکنن.
یعنی چیزی روی دیسک نمینویسن.
اگه RAM رو نگرفتی، شواهد رو از دست دادی.
اولین قدم: گرفتن Memory Dump
ابزار: DumpIt (ویندوز)، LiME (لینوکس)
خروجی: یه فایل چند گیگابایتی که کل RAM توشه.
حالا چی توشه؟
پروسههای در حال اجرا
اتصالات شبکه فعال
کلیدهای رمزنگاری
پسوردهای تو حافظه
رشتههای متنی
فایلهای اخیراً باز شده
Command History
ابزار اصلی: Volatility
Volatility یه فریمورک پایتونی برای تحلیل Memory Dump هست.
دستورات پایه:
لیست پروفایلها
volatility -f memory.dump imageinfo
لیست پروسهها
volatility -f memory.dump --profile=Win10x64 pslist
پروسههای مخفی (با کد متفاوت)
volatility -f memory.dump --profile=Win10x64 psscan
اتصالات شبکه
volatility -f memory.dump --profile=Win10x64 netscan
فایلهای باز
volatility -f memory.dump --profile=Win10x64 filescan
استخراج یه فایل
volatility -f memory.dump --profile=Win10x64 dumpfiles -Q 0x12345 -D output/
DLL های لود شده تو یه پروسه
volatility -f memory.dump --profile=Win10x64 dlllist -p 1234
تاریخچه دستورات CMD
volatility -f memory.dump --profile=Win10x64 cmdscan
چرا مهمه؟
تو حملات APT، مهاجم ممکنه ماهها تو سیستم باشه.
ولی اگه یه بار Memory Dump بگیری،
میتونی ردپاش رو پیدا کنی.
نکته:
RAM بعد از خاموش شدن پاک میشه.
پس اگه سیستم قربانی رو خاموش کنی، شواهد از دست میره.
اول Memory Dump بگیر، بعد هر کار دیگه.
#ℳℴ𝒷𝒾𝓃
❤3
تست امنیت API، دنیای متفاوت
API ها با وبسایتهای معمولی فرق دارن.
HTML برنمیگردونن.
JSON برمیگردونن.
و اکثراً احراز هویت با Token هست، نه Session.
برای همین، ابزارهای معمولی وب کافی نیستن.
اولین قدم: کشف Endpoint ها
API ها معمولاً تو مستنداتشون یا تو کد JavaScript فرانتاند لو میرن.
یا از Swagger استفاده میکنن:
/api/swagger.json
/api/openapi.json
/swagger-ui.html
یا از Postman Collection.
چکهای پایه:
۱. تست Authentication
آیا بدون Token میشه درخواست زد؟
آیا با Token منقضی میشه؟
آیا با Token جعلی میشه؟
۲. تست Authorization
توکن کاربر A رو بگیر.
با اون به منابع کاربر B دسترسی بگیر.
اگه شد، IDOR داری.
۳. تست Mass Assignment
فرض کن API برای ثبتنام:
POST /api/register
{"username": "ali", "password": "123"}
حالا سعی کن فیلد اضافه بفرستی:
{"username": "ali", "password": "123", "is_admin": true}
اگه سرور قبول کرد، حالا ادمینی.
۴. تست Rate Limiting
۱۰۰۰ تا درخواست تو ۱۰ ثانیه بفرست.
اگه همشون ۲۰۰ دادن، Rate Limiting نداری.
۵. تست Verb Tampering
فرض کن GET /api/user/123 کار میکنه.
حالا PUT بفرست.
DELETE بفرست.
PATCH بفرست.
شاید یه Verb دیگه کار کنه.
۶. تست Parameter Pollution
GET /api/user?id=1&id=2
کدوم id استفاده میشه؟
۷. تست JWT
هدر رو با base64 -d چک کن.
alg رو به none تغییر بده.
امضا رو حذف کن.
ببین قبول میکنه یا نه.
ابزارها:
Postman
Insomnia
Burp Suite
OWASP ZAP
Kiterunner
#ℳℴ𝒷𝒾𝓃
API ها با وبسایتهای معمولی فرق دارن.
HTML برنمیگردونن.
JSON برمیگردونن.
و اکثراً احراز هویت با Token هست، نه Session.
برای همین، ابزارهای معمولی وب کافی نیستن.
اولین قدم: کشف Endpoint ها
API ها معمولاً تو مستنداتشون یا تو کد JavaScript فرانتاند لو میرن.
یا از Swagger استفاده میکنن:
/api/swagger.json
/api/openapi.json
/swagger-ui.html
یا از Postman Collection.
چکهای پایه:
۱. تست Authentication
آیا بدون Token میشه درخواست زد؟
آیا با Token منقضی میشه؟
آیا با Token جعلی میشه؟
۲. تست Authorization
توکن کاربر A رو بگیر.
با اون به منابع کاربر B دسترسی بگیر.
اگه شد، IDOR داری.
۳. تست Mass Assignment
فرض کن API برای ثبتنام:
POST /api/register
{"username": "ali", "password": "123"}
حالا سعی کن فیلد اضافه بفرستی:
{"username": "ali", "password": "123", "is_admin": true}
اگه سرور قبول کرد، حالا ادمینی.
۴. تست Rate Limiting
۱۰۰۰ تا درخواست تو ۱۰ ثانیه بفرست.
اگه همشون ۲۰۰ دادن، Rate Limiting نداری.
۵. تست Verb Tampering
فرض کن GET /api/user/123 کار میکنه.
حالا PUT بفرست.
DELETE بفرست.
PATCH بفرست.
شاید یه Verb دیگه کار کنه.
۶. تست Parameter Pollution
GET /api/user?id=1&id=2
کدوم id استفاده میشه؟
۷. تست JWT
هدر رو با base64 -d چک کن.
alg رو به none تغییر بده.
امضا رو حذف کن.
ببین قبول میکنه یا نه.
ابزارها:
Postman
Insomnia
Burp Suite
OWASP ZAP
Kiterunner
#ℳℴ𝒷𝒾𝓃
🔥3
Threat Hunting، شکار تهدید قبل از حمله
Threat Hunting یعنی به جای اینکه منتظر هشدار بشینی، خودت بری دنبال تهدید.
فرقش با SOC معمولی چیه؟
SOC منتظره هشدار بیاد.
Threat Hunter خودش فرضیه میسازه و جستجو میکنه.
فرضیههای رایج:
۱. آیا کسی تو ساعت غیرعادی وارد سیستم شده؟
Event ID 4624
فیلتر: ساعت ۱۲ شب تا ۶ صبح
اگه ورود دیدی، مشکوکه.
۲. آیا کسی از یه IP خارجی وارد شده؟
Event ID 4624 با Logon Type 10 (RDP)
IP هایی که تو لیست Whitelist نیستن.
۳. آیا یه پروسه از مسیر غیرعادی اجرا شده؟
Sysmon Event ID 1
مسیرهایی مثل C:\Users\Public
C:\Windows\Temp
C:\ProgramData
۴. آیا یه پروسه، یه پروسه دیگه رو صدا زده که نباید؟
Word → PowerShell → مشکوک
Excel → cmd.exe → مشکوک
Outlook → wscript.exe → مشکوک
۵. آیا PowerShell رمزنگاری شده اجرا شده؟
Event ID 4104
دنبال -EncodedCommand بگرد.
۶. آیا یه کاربر جدید به گروه ادمین اضافه شده؟
Event ID 4728 (Global Group)
Event ID 4732 (Local Group)
اگه خارج از ساعات کاری بود، مشکوکه.
۷. آیا یه سرویس جدید نصب شده؟
Event ID 7045
مسیر فایل رو چک کن.
اگه تو مسیر temp بود، بدافزاره.
۸. آیا ترافیک به یه دامنه عجیب رفته؟
DNS Log
دامنههایی که تازه ثبت شدن.
دامنههایی که تو لیست سیاه هستن.
دامنههایی با طول غیرعادی.
۹. آیا دادههای زیادی خارج شده؟
Network Log
یه کاربر نرمال، روزی ۱۰۰ مگ میفرسته.
اگه ۵ گیگ فرستاد، داره Exfiltrate میکنه.
۱۰. آیا یه کامپیوتر، اسکن شبکه میکنه؟
Firewall Log
اگه یه کاربر به ۱۰۰ IP مختلف تو یه دقیقه متصل شد، مشکوکه.
ابزارها:
Sysmon + Splunk
ELK Stack
Wazuh
Velociraptor
#ℳℴ𝒷𝒾𝓃
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
Threat Hunting یعنی به جای اینکه منتظر هشدار بشینی، خودت بری دنبال تهدید.
فرقش با SOC معمولی چیه؟
SOC منتظره هشدار بیاد.
Threat Hunter خودش فرضیه میسازه و جستجو میکنه.
فرضیههای رایج:
۱. آیا کسی تو ساعت غیرعادی وارد سیستم شده؟
Event ID 4624
فیلتر: ساعت ۱۲ شب تا ۶ صبح
اگه ورود دیدی، مشکوکه.
۲. آیا کسی از یه IP خارجی وارد شده؟
Event ID 4624 با Logon Type 10 (RDP)
IP هایی که تو لیست Whitelist نیستن.
۳. آیا یه پروسه از مسیر غیرعادی اجرا شده؟
Sysmon Event ID 1
مسیرهایی مثل C:\Users\Public
C:\Windows\Temp
C:\ProgramData
۴. آیا یه پروسه، یه پروسه دیگه رو صدا زده که نباید؟
Word → PowerShell → مشکوک
Excel → cmd.exe → مشکوک
Outlook → wscript.exe → مشکوک
۵. آیا PowerShell رمزنگاری شده اجرا شده؟
Event ID 4104
دنبال -EncodedCommand بگرد.
۶. آیا یه کاربر جدید به گروه ادمین اضافه شده؟
Event ID 4728 (Global Group)
Event ID 4732 (Local Group)
اگه خارج از ساعات کاری بود، مشکوکه.
۷. آیا یه سرویس جدید نصب شده؟
Event ID 7045
مسیر فایل رو چک کن.
اگه تو مسیر temp بود، بدافزاره.
۸. آیا ترافیک به یه دامنه عجیب رفته؟
DNS Log
دامنههایی که تازه ثبت شدن.
دامنههایی که تو لیست سیاه هستن.
دامنههایی با طول غیرعادی.
۹. آیا دادههای زیادی خارج شده؟
Network Log
یه کاربر نرمال، روزی ۱۰۰ مگ میفرسته.
اگه ۵ گیگ فرستاد، داره Exfiltrate میکنه.
۱۰. آیا یه کامپیوتر، اسکن شبکه میکنه؟
Firewall Log
اگه یه کاربر به ۱۰۰ IP مختلف تو یه دقیقه متصل شد، مشکوکه.
ابزارها:
Sysmon + Splunk
ELK Stack
Wazuh
Velociraptor
#ℳℴ𝒷𝒾𝓃
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
❤4
Red Team، شبیهسازی کامل یه حمله واقعی
Red Team چیه؟
فرض کن یه سازمان میخواد بفهمه اگه یه هکر واقعی بیاد، چقدر میتونه نفوذ کنه.
Red Team دقیقاً همون کار رو میکنه.
ولی با مجوز، و با هدف آموزش.
مراحل Red Team:
فاز ۱: شناسایی (Reconnaissance)
جمعآوری اطلاعات از منابع عمومی.
لیست کارمندان.
لیست تکنولوژیها.
لیست دامنهها.
لیست IP ها.
فاز ۲: دسترسی اولیه (Initial Access)
حمله به کاربر با Phishing.
حمله به سرور با اکسپلویت.
حمله به VPN با Credential Stuffing.
هدف: یه نقطه ورود تو شبکه.
فاز ۳: ماندگاری (Persistence)
بکدور نصب کن.
Reg Key اضافه کن.
Scheduled Task بساز.
هدف: اگه کسی فهمید، بازم بتونی برگردی.
فاز ۴: ارتقای دسترسی (Privilege Escalation)
از User عادی به Admin.
از Admin به Domain Admin.
هدف: کنترل کامل شبکه.
فاز ۵: حرکت جانبی (Lateral Movement)
از یه سیستم به سیستم دیگه.
هدف: رسیدن به سیستمهای مهم.
فاز ۶: دسترسی به هدف نهایی (Objective)
دیتابیس مشتریان.
فایلهای محرمانه.
سیستم کنترل صنعتی.
هدف: چیزهایی که مشتری گفته.
فاز ۷: پاکسازی (Cleanup)
حذف بکدورها.
حذف لاگها.
بازگرداندن سیستم به حالت اول.
فاز ۸: گزارش (Reporting)
مهمترین فاز.
چیکار کردی؟
چطور نفوذ کردی؟
چطور میشه جلوش رو گرفت؟
چه آسیبپذیریهایی پیدا کردی؟
فرق Red Team و Pentest:
Pentest: تو یه محدوده مشخص، یه هدف مشخص.
Red Team: بدون محدوده، شبیهسازی کامل یه حمله واقعی.
چرا Red Team مهمه؟
چون سازمانها فکر میکنن امنن.
Red Team ثابت میکنه که نیستن.
و بهترین آموزش برای تیم آبی (Blue Team) هست.
نکته:
Red Team بدون مجوز = جرم سنگین.
همیشه قرارداد کتبی داشته باش.
محدوده رو مشخص کن.
قوانین درگیری (Rules of Engagement) رو تعریف کن.
#ℳℴ𝒷𝒾𝓃
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
Red Team چیه؟
فرض کن یه سازمان میخواد بفهمه اگه یه هکر واقعی بیاد، چقدر میتونه نفوذ کنه.
Red Team دقیقاً همون کار رو میکنه.
ولی با مجوز، و با هدف آموزش.
مراحل Red Team:
فاز ۱: شناسایی (Reconnaissance)
جمعآوری اطلاعات از منابع عمومی.
لیست کارمندان.
لیست تکنولوژیها.
لیست دامنهها.
لیست IP ها.
فاز ۲: دسترسی اولیه (Initial Access)
حمله به کاربر با Phishing.
حمله به سرور با اکسپلویت.
حمله به VPN با Credential Stuffing.
هدف: یه نقطه ورود تو شبکه.
فاز ۳: ماندگاری (Persistence)
بکدور نصب کن.
Reg Key اضافه کن.
Scheduled Task بساز.
هدف: اگه کسی فهمید، بازم بتونی برگردی.
فاز ۴: ارتقای دسترسی (Privilege Escalation)
از User عادی به Admin.
از Admin به Domain Admin.
هدف: کنترل کامل شبکه.
فاز ۵: حرکت جانبی (Lateral Movement)
از یه سیستم به سیستم دیگه.
هدف: رسیدن به سیستمهای مهم.
فاز ۶: دسترسی به هدف نهایی (Objective)
دیتابیس مشتریان.
فایلهای محرمانه.
سیستم کنترل صنعتی.
هدف: چیزهایی که مشتری گفته.
فاز ۷: پاکسازی (Cleanup)
حذف بکدورها.
حذف لاگها.
بازگرداندن سیستم به حالت اول.
فاز ۸: گزارش (Reporting)
مهمترین فاز.
چیکار کردی؟
چطور نفوذ کردی؟
چطور میشه جلوش رو گرفت؟
چه آسیبپذیریهایی پیدا کردی؟
فرق Red Team و Pentest:
Pentest: تو یه محدوده مشخص، یه هدف مشخص.
Red Team: بدون محدوده، شبیهسازی کامل یه حمله واقعی.
چرا Red Team مهمه؟
چون سازمانها فکر میکنن امنن.
Red Team ثابت میکنه که نیستن.
و بهترین آموزش برای تیم آبی (Blue Team) هست.
نکته:
Red Team بدون مجوز = جرم سنگین.
همیشه قرارداد کتبی داشته باش.
محدوده رو مشخص کن.
قوانین درگیری (Rules of Engagement) رو تعریف کن.
#ℳℴ𝒷𝒾𝓃
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
❤5
درود رفقا
یک اسکریپت ماینینگ بعد چندین ماه زحمت با برادران روسی روال کردیم اشتراک سالانش 100دلار
که ماهیی 12الی 18تومن رو میتونین کاسب باشین
فروش به تعداد محدود
بستگی به سرورتون داره سرورتون قوی باشه میتونین چند اسکریپت ران کنین
خریدار بود در خدمتم
@Net_activenull
یک اسکریپت ماینینگ بعد چندین ماه زحمت با برادران روسی روال کردیم اشتراک سالانش 100دلار
که ماهیی 12الی 18تومن رو میتونین کاسب باشین
فروش به تعداد محدود
بستگی به سرورتون داره سرورتون قوی باشه میتونین چند اسکریپت ران کنین
خریدار بود در خدمتم
@Net_activenull
❤3
About 13,000 Discord users' information, including usernames, passwords, and IP addresses📕
Download File: Click
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
Download File: Click
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
mynullspire.github.io
CYBERA — Legal Cybersecurity Store
Defensive products, practical services and free security education.
❤7
💻 ابزار باجافزار Matrix — مجموعهای از ابزارهای باجافزار
ابزار باجافزار Matrix یک مخزن جامع است که شامل فهرستبندی ابزارها و روشهای مورد استفاده توسط گروههای مختلف باجافزار و سازمانهای مرتبط با آن میشود.
— این ابزار اهداف متعددی را دنبال میکند:
1. ارائه لیستی از ابزارها برای شناسایی تهدیدات در محیطهای مختلف؛
2. ارائه راهکارهایی برای واکنش به حوادث امنیتی؛
3. کمک به شناسایی الگوهای رفتاری در بین شاخههای مختلف باجافزار؛
4. ارائه منبعی برای تیمهای متخصص در زمینه امنیت سایبری که تحت رهبری تحلیلگران تهدیدات فعالیت میکنند.
📌 لینک به گیتهاپ
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
ابزار باجافزار Matrix یک مخزن جامع است که شامل فهرستبندی ابزارها و روشهای مورد استفاده توسط گروههای مختلف باجافزار و سازمانهای مرتبط با آن میشود.
— این ابزار اهداف متعددی را دنبال میکند:
1. ارائه لیستی از ابزارها برای شناسایی تهدیدات در محیطهای مختلف؛
2. ارائه راهکارهایی برای واکنش به حوادث امنیتی؛
3. کمک به شناسایی الگوهای رفتاری در بین شاخههای مختلف باجافزار؛
4. ارائه منبعی برای تیمهای متخصص در زمینه امنیت سایبری که تحت رهبری تحلیلگران تهدیدات فعالیت میکنند.
📌 لینک به گیتهاپ
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
mynullspire.github.io
CYBERA — Legal Cybersecurity Store
Defensive products, practical services and free security education.
❤5
⚠️⚠️⚠️
دانلود فایل : کلیک
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
یه بد افزار worm (کرم) برای ویندوز! نمونه دو
دانلود کنید ولی اصلا باز نکنید!!
دانلود فایل : کلیک
#ᴛʏɢᴇʀ_ꜱᴘɪʀᴇ
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
mynullspire.github.io
CYBERA — Legal Cybersecurity Store
Defensive products, practical services and free security education.
❤5
برای ثبت نام پیام بدین
@Net_activeull
@Wendigo_pv
پاینده ایران و ایرانی👑
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
@Net_activeull
@Wendigo_pv
پاینده ایران و ایرانی
Telegram channel: @Nullactive
Nullspire site: https://mynullspire.github.io
Please open Telegram to view this post
VIEW IN TELEGRAM
┏━━━━━━━━━━━━━━━━━━━━━
☢️ ᴠᴇɴᴏx ᴜᴘʟᴏᴀᴅᴇʀ ʙᴏᴛ
┗━━━━━━━━━━━━━━━━━━━━━
┏━━━━━━━━━━━━━━━━━━━━━
💬 ᴅᴇsᴄʀɪᴘᴛɪᴏɴ:
┗━━━━━━━━━━━━━━━━━━━━━
👨💻 ᴏᴡɴᴇʀ:
☢️ ᴠᴇɴᴏx ᴜᴘʟᴏᴀᴅᴇʀ ʙᴏᴛ
┗━━━━━━━━━━━━━━━━━━━━━
┏━━━━━━━━━━━━━━━━━━━━━
💬 ᴅᴇsᴄʀɪᴘᴛɪᴏɴ:
اسکریپت ساخت پس/ورد لیست کامل 🔑
- 19 میلیون پس/ورد رو در ۱۱ ثانیه که شامل ۴ تا ۸ کاراکتر هست رو ساخت در فایل pass.txt ذخیره میشه
- هر 100 هزار تا پسوردی که ساخته میشه تو ترمنیال پرینت میشه
تمامی پسورد های احتمالی از ۴ تا ۸ حرف رو میسازه بدون هیچ نقضی { قابل تغییر }┗━━━━━━━━━━━━━━━━━━━━━
👨💻 ᴏᴡɴᴇʀ:
خالی❤3