ViperNułł
Kanalga Telegram’da o‘tish
ViperNull | Exploring the world of network security. Dive into cybersecurity with in-depth content on penetration testing, defensive strategies, vulnerability analysis, and powerful security tools. Pv ; @Cintaxed
Ko'proq ko'rsatish1 830
Obunachilar
Ma'lumot yo'q24 soatlar
+247 kun
+1830 kun
Postlar arxiv
1 830
📘 آموزش Network
🧠 هر روز یک دستور شبکه
🔥 هر روز یک نکته
🛡 هر روز یک نکته امنیت شبکه
🧩 هر روز یک سناریوی عیبیابی
https://t.me/ModernLAN
1 830
Repost from N/a
int main(int argc, char **argv)
{
pid_t pid = fork();
if (pid == 0) {
// bache
install_seccomp();
// run PDF parser
execv(argv[1], &argv[1]);
_exit(1);
}
// madar:)
waitpid(pid, NULL, 0);
}
و تابعی که توش libseccomp policy را تعریف میکنیم اینه => install_seccomp() که add rule کردنش رو بخش پایین میزارم:
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(read), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(write), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(close), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mmap), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(munmap), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(mprotect), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(fstat), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(newfstatat), 0
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(brk), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(futex), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(clock_gettime), 0);
seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit), 0); seccomp_rule_add(ctx, SCMP_ACT_ALLOW, SCMP_SYS(exit_group), 0);
یکمی به هم ریختست دیگه ببخشید دیگه
اینم از این بخش و ممنونم از همراهیتون❤️
Join channel⚡️1 830
Repost from N/a
سلام چطورین؟
یه مقدار اومدیم امروز درباره linux seccomp یا همون secure computing حرف بزنیم که اصلا چی هست.در واقع یه مکانیزمیه برای محدود کردن system call هایی که یه process میتونن کال کنن.
مثلا وقتی کد زیر اجرا میشه:
int fo = open("mamad.txt",O_RDONLY);
توی این بخش یه سیسکال صدا زده میشه که openat هستش و کارش حالا باز کردن فایله و شماره سیستکال که داره 257 هستش (توی x86_x64) و بخوایم یه مقدار دیپ تر بشیم
openat(AT_FDCWD, "mamad.txt", O_RDONLY)
اجرا میشه که آرگومان های مربوط به این سیستکال هستش.
مشکل امنیتی ما چیه؟
فرض میکنیم یه نرم افزاری به اسم pdf parser ورژن mamad.2.0.2 داریم (در دست ابداع) و سیستکال هایی که درواقع این برنامه به اون نیاز داره میشه گفت چیزایی هستن که این زیر مینویسم:
read write openat close mmap munmap exitشاید حالا چیزای بیشتری هم باشن ولی به نظر شما اومدن سیستکال mount , reboot , socket توی این برنامه عادیه؟ اینجاست که seccomp توی عمل میاد و میتونیم به کرنل بگیم که چه چیزهایی ALLOW و DENY هستن مثل بخش زیر:
read → ALLOW
write → ALLOW
openat → ALLOW
close → ALLOW
mmap → ALLOW
exit → ALLOW
execve → DENY
ptrace → DENY
mount → DENY
reboot → DENY
در نتیجه اگه مهاجم داخل process بیاد داداشمون ()execve صدا بزنه کرنل اون رو طبق policy که داره محدود میکنه.
در واقع seccomp چیزی نیست که توی userspace باشه و در kernel enforce میشه.(بین خودمون باشه LD_PRELOAD میشه دور زد )
یه توضیح ریز درباره LD_PRELOAD بدم و بریم برای ادامه . در واقع این یه sandboxing سمت userspace هستش که dynamic linker میگه قبل اینکه کتابخونه های معمولی بارگزاری کنی این کتابخونه هایی که میگمو بارگزاری کن و در نتیجه توابعی که در اون کتابخانه تعریف شدن override توابع اصلی میشن. dynamic linker چیه؟
در واقع ما دو تا linking داریم . یکی static , dynamic هستن . static میاد تمام کد و توابع داخل یه برنامه تعریف میکنه و آخر یه فایل حجم بالا بهمون میده ولی dynamic اینطور نیست و در واقع اینطوریه که من مثلا یه printf میخوام صدا بزنم پس کد printf توی یه فایل جداگانه به اسم libc.so.6 قرار داره و همه برنامهها با هم ازش استفاده میکنن خب حالا LD_PRELOAD چیکار میکنه؟ این فایل so. رو قبل از libc صدا میزنهو اینطوریه:
$ LD_PRELOAD=/path/to/my.so ./myprogramترتیب بارگزاریش به شکل زیره:
1. ld.so اجرا میشه 2. ld.so اول my.so رو بارگذاری میکنه ← اینجا 3. ld.so بعدش libc.so.6 رو بارگذاری میکنه 4. وقتی برنامه دنبال open میگرده: - اول توی my.so میگرده - اگه پیدا کرد → از my.so استفاده میکنه - اگه پیدا نکرد → میره سراغ libcو درواقع اگه توی
my.so تابعی به اسم open تعریف کنیم جایگزین open اصلی میشه ولی بیاین خیلی شیک با assembly دورش بزنیم:
// bypass_preload.c
#include <sys/syscall.h>
#include <unistd.h>
int main() {
long fd = syscall(SYS_openat, AT_FDCWD, "secret.txt", O_RDONLY);
long fd2;
__asm__ volatile (
"mov $257, %%rax\n" // syscall number: openat
"mov $-100, %%rdi\n" // AT_FDCWD
"mov %1, %%rsi\n" // pathname
"mov $0, %%rdx\n" // O_RDONLY
"mov $0, %%r10\n" // mode
"syscall\n"
"mov %%rax, %0\n"
: "=r"(fd2)
: "r"("secret.txt")
: "rax", "rdi", "rsi", "rdx", "r10"
);
return 0;
}
در نتیجه LD_PRELOAD هیچ کاری نمیتواند بکند چون در این مسیر، تابع open() glibc اصلاً صدا زده نمیشود. مستقیم به kernel میره.
از بحث اصلی دور شدیم خواستم یکم به قدرت seccomp پی ببریم ;)
ادامه seccomp که گفته بودیم کلا توی kernel enforce میشه . seccomp میتواند از classic BPF برای بررسی syscall استفاده کنه و Kernel اطلاعاتی درباره syscall در اختیار filter قرار میدهد.
اینجا seccomp فقط اسم سیستکال هارو برسی نمیکنه و و اونا رو با syscall number میشناسه.
تا اینجا توضیخ بود و چطوریه و چیکار میکنه . الان میخوایم ببینیم چطور کار میکنه اصلا. یه جدول کوچیک پایین میکشیم یه نگاهی بهش بکنین:
sandbox.c
│
├── fork()
│
└── Child
│
├── install seccomp
│
└── execve()
│
▼
pdf-parser
بعد کد زیر اجرا میکنیم :
./sandbox ./pdf-parser malicious.pdf
داخل sandbox ما این بخشا رو داریم:1 830
دبیان یک بهروزرسانی امنیتی بزرگ برای هسته لینوکس منتشر کرد (DSA-6528-1) که بیش از ۱۳۰۰ آسیبپذیری را برطرف میکند!
https://lwn.net/Articles/1097401
1 830
Repost from TryHackBox ( AI Security )
Android 1-Day Exploit با کمک LLM
یک سؤال جالب اینجا مطرح میشود:
آیا یک LLM میتواند فقط با داشتن Patch Diff و توضیح عمومی یک CVE، خودش را به یک 1-day exploit واقعی برساند؟
یک پژوهشگر این موضوع را روی Pixel 6a امتحان کرده و نتیجه، حداقل جالب است.
کار از مقایسه دو نسخه از Google Factory Images شروع شد. مدل binaryها را با هم مقایسه کرد، componentهایی که احتمالاً patch شده بودند را جدا کرد و بعد سراغ reverse engineering رفت.
در ادامه تغییرات function-level با CVEهای منتشرشده تطبیق داده شدند.
یکی از مواردی که بیشتر از بقیه جلب توجه کرد:
CVE-2026-56942
Component: BigWave
Function: ReadTileInfo
Source: vp9hwd_headers.cc
توضیح عمومی CVE به یک Out-of-Bounds Write ناشی از نبودن bounds check اشاره میکند.
با بررسی patch، یک تغییر مشخص در کد پیدا شد که احتمالاً همان fix مربوط به آسیبپذیری بود.
اینجا کار وارد مرحله جالبتری شد.
LLM اول از نوشتن exploit خودداری کرد. اما researcher یافتهها و فرضیههای بهدستآمده از reverse engineering را به GLM-5.3 منتقل کرد.
نتیجه؟
اGLM-5.3 توانست یک 1-day exploit توسعه دهد که روی یک Pixel 6a واقعی با نسخه آسیبپذیر اجرا شد.
هزینه این کار هم کم نبود:
• حدود 12 میلیون
token
• 4492 tool call
• حدود 6 ساعت پردازش
• حدود 38 دلار هزینه
• یک MCP اختصاصی برای reverse engineering
این آزمایش لزوماً به این معنی نیست که LLMها جای exploit developerها را گرفتهاند.
اما یک چیز را خیلی واضح نشان میدهد:
اگر مدل به binary diff، reverse engineering، patch analysis و ابزارهای مناسب دسترسی داشته باشد، میتواند بخش قابلتوجهی از مسیر vulnerability research را خودش جلو ببرد.
شاید سؤال مهم دیگر این نباشد که:
«آیا AI میتواند exploit بنویسد؟»
بلکه این باشد:
وقتی مدلها بهتر شوند، تبدیل یک CVE عمومی به یک 1-day واقعی چقدر سریعتر و ارزان تر میشود؟
@AiTHB
1 830
Repost from امنیت سایبری | Cyber Security
+2
هوش مصنوعی Altar-1 معرفی شد؛ مدل پیشرفته برای دفاع دیجیتال
- شرکت Aikido Security مدل هوش مصنوعی Altar-1 را برای کاربردهای دفاعی در امنیت سایبری معرفی کرد. سازمانها میتوانند این مدل را مستقیما روی زیرساختهای خود اجرا کنند تا از ارسال کدهای حساس به سرویسهای ابری خارجی جلوگیری شود.
- پایه و اساس این مدل بر پایه مدل GLM-5.3 شرکت Z.AI بنا شده است. توسعهدهندگان با استفاده از روشهای quantization و expert pruning، حجم مدل را از ۱٫۵۱ ترابایت به ۳۲۸ گیگابایت کاهش دادهاند. این مدل با حدود ۵۰۴ میلیارد پارامتر، امکان استقرار محلی را فراهم میکند. Aikido Labs قصد دارد در آینده مدلهای اختصاصی دیگری را برای تحلیل کد و تست نفوذ توسعه دهد.
https://www.aikido.dev/blog/aikido-altar-open-weight-ai-sovereign-security
#AI
✅ Channel
💬 Group
1 830
Repost from Virtualization Channel
در مورد اون دو تا poll ی که گذاشتم حتما یه سری توضیحات میدم که اینکه خوبه رو ۲۰۲۵ بریمیا نه خوبه برای هارنینگ ادمین دامین رو تغییر بدیم یا نه و یا تبعاتی برامون داره یا نه (تجربی میگم)
قبلا هم اشاره کردمامنیت اکتیو دایرکتوری و هاردنینگش اگر به خوبی انجام نشه شما رو دچار چالش میکنه (ولی اگر محیطت کوچیکه خیلی خودتو نمیخواد درگیر چالش های هاردنینگ اکتیو بکنی چون بیشتر برات دست و پا گیر میشن تا یه کار حرفه ای بکنی مثل این میمونه رو پراید چراغ بنز بندازی که البته اینم به این معنی نیست به امنیتش اهمیت ندی ولی میتونی در سطح قابل قبولی امن کنی و کاملا هم بستگی به حجم و وسعت و نوع شبکه ت داره ، گاهی اوقات بحث سر اون نصرفیدنه س )
یعنی خیلیا گاهی وقتا فکر میکنن با دو تا پورت عوض کردن و یا بستن یه سری چیزا میتونن امنیت ویندوز و اکتیو رو تامین کنن
واقعیش امنیت اکتیو دایرکتوری درون یه ویندوز یه چیزه ، امنیت خود اکتیو دایرکتوری درون همون ویندوز یه چیز دیگه س
گاهی اوقات برداشتن یه تیک به صورت سهوی باعث یه سری اتفاقات می افته
مثلا تو بعضی اموزشها موقع امن کردن ویندوز به این اشاره نمیکنن این ویندوزی که ما داریم برای اکتیو دایرکتوری در نظر میگیریم باید چه شکلی باشه تا سایت ها یا ادیشنال دامین ها replication شون broke نشه
حتما در مورد Tier های اکتیو دایرکتوری مطالعه کنید توی کتاب های امنیتی مایکروسافت و کتاب های مثل mastring active directoryانتشارات packt publishing هست که میاد در مورد Tier 0 , Tier 1 , Tier 2 صحبت میکنه
البته من همیشه و همیشه معتقدم این کتاب ها صرف نهایی نیستن و ادمین باید خودش یکمخلاقیت به خرج بده یه چیزای به داستان اضافه کنه
مثلا دیدین میگن کنار غذا یه سالاد و مخلفاتی باشه اینم مثل اونه میتونه تو هر لایه یه سری چیزارو پیاده سازی کنی که به لایه بالاتر نرسه
ایشالله سر یه تایم مینویسم
1 830
Repost from ThreatStrix
🧠 ابزار Dumplyzer | پلتفرم تحلیل Memory Dump
با Dumplyzer بدون درگیر شدن با ابزارهای مختلف، میتونید خیلی راحت و سریع فایلهای Memory Dump رو به صورت GUI تحلیل کنید.
🎯 بخشی از قابلیتها:
- استخراج دیتای Processها، Command Line، Module/DLL، Handle و Process Tree
- بررسی جزئیات یک Process بر اساس PID، شامل Parent/Child، Module، Network، Handle و Memory Region
- استخراج IOC شامل IP، Domain، URL، Mutex، Registry، Path و Hash
- استخراج و بررسی Network Connectionها و Network Artifactها
- امکان بازسازی PCAP
- ایجاد Timeline از Artifactهای استخراج شده و فیلتر بر اساس بازه زمانی
- امکان Index گذاری و جستوجوی سریع در Artifactهای استخراجی
- امکان بازسازی فایلهای PE
- سه حالت تحلیل Quick Triage، Complete Analysis و Custom
- امکان YARA Scan، به همراه امکان اضافه کردن Ruleهای سفارشی
- بررسی Capability فایلهای PE بازسازی شده
- استخراج Artifactهای قابل Carving شامل Email، Phone، MAC Address، HTTP Log، AES Key و موارد مشابه
- شناسایی و Deobfuscation خودکار Stringها
- اجرای Pluginهای Volatility به شکل بسیار ساده
- امکان Correlation بین Artifactها
- ایجاد گزارش در فرمتهای HTML، JSON و Excel
- کاملا Offline و Local
📦 فایل Installer ویندوزی رو میتونید از Repository زیر دانلود کنید یا در صورت نیاز، پروژه رو از سورس Build کنید.
🔗 GitHub:
https://github.com/EmadAbedini/Dumplyzer
🔗 Telegram Channel:
https://t.me/ThreatStrix
اگه در زمینه DFIR، Threat Hunting، Malware Analysis و در کل Memory Forensics کار میکنید، این ابزار میتونه فرایند تحلیل Memory Dump رو تا حد زیادی سریعتر و سادهتر کنه.
امیدوارم مفید باشه ❤️
1 830
Repost from CyberSecurity Shield
#کتاب
Advance Network Forensics
A Cyber-Behavioral Science Approach
از انتشارات Wiley
1 830
خب سلام اومدیم یه مقدار درباره execve یه توضیح بدیم که احتمالا همتون وقتی یکم با strace کار میکنین این syscall میبینید . کارش بخوام خیلی کوتاه بگم اینه که میاد یه image پروسه فعلی رو با یه برنامه جدید جایگزین میکنه . شاید بگی عین fork هست ولی نه توی این عمل process جدید درست نمیشه بلکه همونه ولی فقط اون برنامه ای که درحال اجرا بود جایگزین میشه و یه برنامه جدید اجرا میشه .
سینتکسش هم به صورت زیره:
int execve(
const char *pathname,
char *const argv[],
char *const envp[]
);
pathname خب مربوط به مسیر اون فایل اجرایی هست که میخوایم توی پراسس فعلی اجرا بشه /bin/ls
argv هم مربوط به آرگومان هایی هست که اون فایل اجرایی ما میگیره مثلا ss -t
envp هم مربوط به اون متغیر های Environment هستش.
بخوایم الان با توجه به توضیحایی که بالا دادیم این بخشا رو پر کنیم به صورت زیر در میاد
execve("/bin/ls", args, env);
حالا برای مثال اگه بخوایم ls -la بگیریم متغیر args باید به صورت زیر پر کنیم :
char *args[] = {
"ls",
"-l",
"/home",
NULL
};
اینم یادتون باشه آخر آرایه هم باید با NULL پر بشه که سیستم بفهمه آرگومان ها کجا به اتمام میرسند .
در واقع اینطوریه :
./main_program:
#include <stdio.h>
#include <unistd.h>
int main()
{
char *args[] = {
"program2",
"hello",
"world",
NULL
};
printf("Before execve\n");
execve("./program2", args, NULL);
printf("After execve\n");
return 0;
}
./program2:
#include <stdio.h>
int main(int argc, char *argv[])
{
printf("I am program2\n");
printf("argc = %d\n", argc);
for (int i = 0; i < argc; i++)
{
printf("argv[%d] = %s\n", i, argv[i]);
}
return 0;
}
خب توی این بخش میاد آرگومان های داده شده توی برنامه اول رو در برنامه دوم به نمایش میزاره و میشه گفت تمام کاری که میکنه همینه .یه نکته دیگه هم اینه که pid این برنامه اگه 100 بار این وسط برنامه جدید با execve بیاد وسط عوض نمیشه و جدا از اون وقتی یه برنامه جدید با execve اجرا میشه ادامه کدی که توی برنامه اول داریم اجرا نمیشه مگر اینکه به خطا بخوریم توی اجرا کردن برنامه دوم .
و در آخر، کنار execve چندین تابع کتابخانهای هم وجود داره که همگی wrapper هستن و execve رو صدا میزنن execl، execlp، execle، execv و execvp که خب یه سری تفاوت دارن و زیاد توشون دیپ نمیشیم .
https://t.me/ViperNull
1 830
🔴اطلاعات کاربران JumpJump تو دارک وب برای فروش گذاشته شده؟
گزارشهایی منتشر شده که ادعا میکنن اطلاعات کاربران فیلترشکن JumpJump، که تو دوره قطعی گسترده اینترنت خیلی معروف شد، تو دارک وب واسه فروش گذاشته شده.
گفته شده این اطلاعات شامل چیزهای حساسی مثل پسوردها، اطلاعات کارت بانکی و حتی اطلاعات کیفپولهای دیجیتال بوده و نمونههایی از این دادهها هم داخل فایل فروش دیده میشه.
بررسی تخصصی Tom's Guide(وبسایت معتبر آمریکایی) در ژانویه ۲۰۲۶ نشون میداد که این VPN شفافیت بشدت پایینی داره، ممیزی امنیتی مستقلی ارائه نمیکنه، پروتکل رمزنگاریاش رو بهوضوح اعلام نمیکنه و سیاست ثبت دادههایی هم که داره بشدت مبهم هستش.
اما فعلاً هیچ شرکت معتبر امنیت سایبری یا منبع مستقل، اصل این دیتابیس و سرقت اطلاعات رو تایید نکرده
https://t.me/ViperNull
1 830
Repost from دکتر رضا کیانیسام
سوال شما:
اگر VLAN میزنیم، پس چرا دوباره Inter-VLAN Routing میکنیم؟! 🤔
.
.
.
پاسخ من:
اینجا دقیقاً یه نکته مهم شبکه وجود داره. این VLAN در اصل شبکه رو در Layer 2 جدا میکنه. هر VLAN یک Broadcast Domain جدا ایجاد میکنه یعنی اگر یک سیستم در VLAN 10 یک Broadcast بفرسته، این Broadcast قرار نیست همینطوری بره داخل VLAN 20.
سیسکو هم دقیقاً VLAN رو بهعنوان یک تقسیمبندی لاجیکال یا منطقی در Layer 2 و ایجاد Broadcast Domainهای جدا توضیح میده.
پس:
VLAN 10
─────
PC1
PC2
PC3
با:
VLAN 20
──────
PC4
PC5
Server
از دید Layer 2، این دو تا دو شبکه جدا هستن.
حالا مشکل کجاست؟
فرض کن PC داخل VLAN 10 میخواد با Server داخل VLAN 20 صحبت کنه. این دیگه ارتباط داخل یک VLAN نیست و مقصد در یک شبکه Layer 3 متفاوت قرار داره.
پس Switch لایه 2 نمیتونه همینطوری Frame رو از VLAN 10 برداره و پرت کنه داخل VLAN 20.
سیسکو صراحتاً میگه ارتباط بین VLANهای مختلف نیاز به یک Layer 3 routing device داره. اینجاست که Inter-VLAN Routing وارد داستان میشه.
حالا Router یا یک Layer 3 Switch میاد وسط.
مثلاً:
VLAN 10
10.10.10.0/24
L3 Device
VLAN 20
10.10.20.0/24
این PC در VLAN 10 میگه:
مقصد من توی شبکه خودم نیست.
پس Packet رو به Default Gateway خودش میده و Gateway، Packet رو در Layer 3 Route میکنه و از Interface مربوط به VLAN 20 خارجش میکنه.
یعنی ما VLANها رو دوباره یکی نکردیم که این خیلی مهمه و ما نگفتیم:
خب VLAN 10 و 20 رو بیخیال، همه با هم رفیق باشن!😂
اوکی؟!
هنوز:
VLAN 10 ≠ VLAN 20
و Broadcast Domainها همچنان جدا هستن که فقط یک مسیر Layer 3 کنترلشده بینشون ایجاد کردیم.
و این دقیقاً یکی از دلایل مهم VLANهاست چون حالا میتونیم بگیم:
کاربرها اجازه دارن به Serverها دسترسی داشته باشن، ولی مثلاً به Management Network نه!
حتی میتونیم روی مسیر بین VLANها ACL بذاریم و مشخص کنیم چه ترافیکی اجازه عبور داشته باشه. سیسکو هم Inter-VLAN Routing رو در کنار قابلیتهایی مثل ACL برای کنترل ارتباط بین بخشهای مختلف شبکه مطرح کرده.
پس VLAN برای Segmentation است و Inter-VLAN Routing برای Communication بین آن Segmentها است.
حالا جملهای که باید یادت بمونه:
اینه که VLAN میگه: شما از هم جدا هستید.
و Routing میگه: ولی اگر لازم شد، با قوانین مشخص میتونید با هم حرف بزنید.
و این دوتا اصلاً متناقض نیستن.اتفاقاً اگر Routing نباشه، VLANها واقعاً از Layer 3 همدیگه جدا میمونن. پس دفعه بعدی که دیدی: VLAN 10 ↕ Inter-VLAN Routing ↕ VLAN 20 نگو: خب پس VLAN چه فایدهای داشت؟ بگو: این VLAN مرز میسازه و Routing دروازه میسازه و اینکه از این دروازه چه کسی، به کجا و با چه قوانینی رد بشه، دیگه داستان طراحی شبکهست. حله؟ 😀 . . .
کانال تلگرام:T.me/RezaKianiSam_Channel
آیدی تلگرام من:T.me/RezaKianiSam
پیج اینستاگرام من:Instagram.com/reza_kianisam
