آکادمی آموزش روزبه 📚
3.96K subscribers
4.6K photos
184 videos
1.48K files
6.98K links
🍎آموزش و ترویج علمی فناوری اطلاعات ، امنیت و مدیریت پروژه های مرتبط
🍁 و کمی هم اخلاق و انسانیت

Training of Information Technology, Cyber Security, Project Management, Ethics and Humanitarian

ارتباط با مدیر کانال:
@roozbehadm
Download Telegram
🥇سناریوی امشب : کشف نفوذ آرام با ماندگاری طولانی

✍️روزبه نوروزی

✅️یک سناریوی پیچیده و جذاب برای کشف نفوذ با کمک از Splunk براتون آماده کردم که ترکیبی از تکنیک‌های فرار از شناسایی (Evasion)، حرکت جانبی (Lateral Movement) و دسترسی مداوم (Persistence) است.

🟧یک مهاجم موفق شده است از طریق یک حمله فیشینگ هوشمند و اجرای ماکرو مخرب در Excel، کنترل اولیه را روی یک سیستم کاربر در شبکه به دست بگیرد. سپس با استفاده از Cobalt Strike و تکنیک‌های Living off the Land (LOLBins)، در شبکه حرکت جانبی انجام داده و یک حساب کاربری جعلی در اکتیو دایرکتوری ایجاد می‌کند تا دسترسی دائمی داشته باشد.

🔰جزئیات حمله:

✔️ دریافت شل اولیه:
حمله فیشینگ با ارسال یک فایل Excel حاوی ماکروی مخرب به کاربر.
اجرای ماکرو باعث دانلود و اجرای یک PowerShell reverse shell می‌شود که به یک C2 Server متصل است.
ارتباط به‌صورت Encoded PowerShell ارسال می‌شود تا از SIEM و آنتی‌ویروس فرار کند.

✔️ حرکت جانبی و افزایش دسترسی:
مهاجم از Mimikatz برای استخراج کردنشیال‌های ذخیره‌شده استفاده می‌کند.
از طریق Pass-the-Hash (PtH) به یک سرور داخلی متصل می‌شود.
با استفاده از PsExec یا WMI روی یک سیستم دیگر کد اجرا می‌کند.

استفاده از ابزارهای ذاتی ویندوز (LOLBins) برای فرار از شناسایی:
اجرای کدهای مخرب با MSBuild.exe و CertUtil.exe برای دور زدن ابزارهای امنیتی.
استفاده از Rundll32.exe برای اجرای فایل DLL مخرب بدون ایجاد پروسس جدید مشکوک.

✔️ ماندگاری و دسترسی مداوم:
ایجاد یک حساب جعلی در Active Directory با نامی شبیه به ادمین‌های واقعی.
تنظیم یک Scheduled Task که در هر ریبوت، یک ریکانکت به C2 برقرار می‌کند.
ذخیره Web Shell در IIS روی یک سرور حساس برای دسترسی آینده.



🔮 بررسی کامل و انجام تحلیل در Splunk:

بحث کامل تحلیل و حل مساله را در پست های آینده بخوانید


#من_آموزش_میدهم
#آکادمی_روزبه
❤2🔥2
آکادمی آموزش روزبه 📚
🥇سناریوی امشب : کشف نفوذ آرام با ماندگاری طولانی ✍️روزبه نوروزی ✅️یک سناریوی پیچیده و جذاب برای کشف نفوذ با کمک از Splunk براتون آماده کردم که ترکیبی از تکنیک‌های فرار از شناسایی (Evasion)، حرکت جانبی (Lateral Movement) و دسترسی مداوم (Persistence) است.…
تحلیل سناریوی فوق در Splunk:

۱. کشف ارتباط اولیه (PowerShell Reverse Shell)

جستجوی دستورات مشکوک در لاگ‌های PowerShell که ممکن است ارتباط C2 برقرار کند:

index=windows EventCode=4104 ScriptBlockText="*IEX*(New-Object Net.WebClient).DownloadString*"

یا استفاده از Base64 encoded PowerShell:

index=windows EventCode=4104 ScriptBlockText="*FromBase64String*"

۲. کشف حرکت جانبی (Mimikatz و Pass-the-Hash)

index=windows EventCode=4624 LogonType=9 OR LogonType=3 Account_Name!=”Administrator” Account_Name!=”Service”

Logon Type 9: نشان‌دهنده استفاده از مکانیزم‌های احراز هویت غیرمعمول است.
Logon Type 3: اتصال از راه دور، اما بدون نام کاربری ادمین، که مشکوک است.

۳. کشف اجرای ابزارهای LOLBins (مانند MSBuild و CertUtil)

index=windows EventCode=4688 New_Process_Name="*MSBuild.exe" OR New_Process_Name="*CertUtil.exe"

این پردازش‌ها معمولاً در شبکه سازمانی استفاده نمی‌شوند، مگر در شرایط خاص.
۴. کشف ماندگاری (Scheduled Task و Web Shell در IIS)

index=windows EventCode=4698 OR EventCode=4700 Task_Name="*Update*"

بسیاری از مهاجمان برای فرار از شناسایی، نام‌های مشابه آپدیت‌های ویندوز برای Scheduled Task می‌گذارند.

و برای کشف Web Shell در IIS:

index=webserver sourcetype="iis" cs_uri_stem="*.asp" OR cs_uri_stem="*.aspx" cs_method="POST"

درخواست‌های POST غیرعادی به صفحات ASPX ممکن است نشان‌دهنده یک Web Shell باشد.



#من_آموزش_میدهم
#آکادمی_روزبه
👍3🔥1
تکنیک های بدافزارها علیه کشف
👿ضد مهندسی معکوس

✍️روزبه نوروزی

در دنیای امنیت سایبری و تحلیل بدافزار، یکی از مهم‌ترین چالش‌ها برای هکر شناسایی و مقابله با تکنیک‌های دیباگینگ و نقاط توقف (breakpoints) است که برای بررسی و تجزیه و تحلیل برنامه‌های آلوده به کار می‌روند. یکی از تکنیک‌های رایج برای ایجاد نقاط توقف در فرآیند دیباگینگ، استفاده از پرچم ترپ (Trap Flag) در رجیستر EFLAGS است. این پرچم به دیباگرها این امکان را می‌دهد که به‌صورت گام‌به‌گام دستورات برنامه را اجرا کنند و تغییرات حافظه و رجیسترها را بررسی نمایند. با این حال، شناسایی استفاده از پرچم ترپ برای نقاط توقف می‌تواند چالش‌برانگیز باشد، زیرا به‌راحتی نمی‌توان این پرچم را خواند و بررسی کرد.

🤡پرچم ترپ (Trap Flag) چیست؟

این Trap Flag (TF) یک پرچم خاص در رجیستر EFLAGS در معماری پردازنده‌های x86 است که برای فعال کردن Single-Stepping یا گام‌به‌گام اجرا کردن دستورات برنامه به کار می‌رود. هنگامی که دیباگر به‌طور گام به گام یک برنامه را تحلیل می‌کند، این پرچم در رجیستر EFLAGS تنظیم می‌شود تا پس از اجرای هر دستور، پردازنده یک Interrupt 1 (خطای دیباگ) ایجاد کند و کنترل را به دیباگر بازگرداند.

این ویژگی به دیباگر اجازه می‌دهد تا بتواند پس از اجرای هر دستور، وضعیت حافظه و مقادیر رجیسترها را بررسی کرده و تغییرات آن‌ها را نظارت کند. بنابراین، Trap Flag یک ابزار بسیار مفید برای تحلیل و بررسی دقیق عملکرد برنامه‌ها در سطح اسمبلی است.

👻چالش‌های شناسایی Trap Flag:

هرچند استفاده از Trap Flag برای گام به گام اجرا کردن برنامه بسیار مفید است، اما شناسایی و تشخیص آن از بیرون (یعنی توسط خود برنامه یا ابزارهای شناسایی بدافزار) کار دشواری است. دلایل این مشکل عبارتند از:

✔️این EFLAGS به‌طور مستقیم قابل خواندن نیست:
این EFLAGS که شامل Trap Flag می‌باشد، به‌طور مستقیم از طریق دستوراتی مانند mov قابل خواندن نیست. برای خواندن وضعیت این رجیستر باید از دستور pushf استفاده کرد، که وضعیت EFLAGS را در استک ذخیره می‌کند.

✔️پرچم Trap Flag به‌طور خودکار غیرفعال می‌شود:
پس از هر بار برگشت از دیباگر، Trap Flag به‌طور خودکار به حالت False (غیرفعال) تغییر می‌کند. این ویژگی باعث می‌شود که بررسی وضعیت این پرچم برای شناسایی نقاط توقف در برنامه سخت باشد.

👽روش‌های شناسایی رفتار دیباگینگ با استفاده از Trap Flag:

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

✔️ بررسی استک با استفاده از دستور pushf:
همانطور که اشاره شد، تنها راه دسترسی به وضعیت EFLAGS استفاده از دستور pushf است که وضعیت EFLAGS را در استک ذخیره می‌کند. بدافزار می‌تواند به‌طور پیوسته وضعیت استک را بررسی کرده و در صورتی که تغییرات غیرمنتظره‌ای در آن مشاهده شود، به وجود یک دیباگر مشکوک شود.

✔️ تحلیل زمان‌بندی دستورات:
اجرای گام به گام دستورات توسط دیباگر باعث تغییرات در زمان‌بندی اجرای دستورات می‌شود. این زمان‌بندی ممکن است برای برنامه قابل شناسایی باشد. به‌عنوان مثال، اگر برنامه بین هر دستور وقفه‌های کوچکی داشته باشد (که ناشی از فعال بودن Trap Flag است)، این تفاوت‌ها می‌توانند به‌عنوان علائم رفتاری دیباگر شناسایی شوند.



🟣کتاب Evasive malware را با هم در نوروز در کانال می‌خوانیم

#من_آموزش_میدهم
#من_آموزش_میدهم
❤3
تصویر مربوط به پست قبل : پرچم ها
ترپ فلگ TP
👍3
#تجربه
پایش تجهیزات شبکه
کشف نفوذ هایی که ندیده ایم

✍️روزبه نوروزی

یکی از مواردی که در SOC هایی که مواجه میشم میبینم کم توجهی به لاگ های تجهیزات شبکه ای است.

🔴این لاگها معمولا مشکلات زیر را دارند:

- اصلا جمع نمی‌شوند
- میزان Granularity لازم را ندارند
- تمام و کمال پارس نمیشوند
- رولهای کشفی مناسب برای آنها در SIEM نوشته نشده است
- به میزان مناسب در پریود زمانی نگهداری نمی‌شوند
- توجه چندانی به آلرت های آنها وجود ندارد


⚠️این مسائل میتواند مسبب نفوذ های پیچیده و ماندگاری در شبکه های ما باشد. مخصوصا در شبکه هایی که به سمت نرم افزار محور شدن رفته اند یا شبکه هایی که ادمین آنها در مورد فریم ور دقت کافی ندارد

یک گرا بدهم😈 : گزارش این حمله گروه هکری روسی Grizzly Steppe رو بخونید تا به اهمیت موضوع پی ببرید


پی نوشت :راه اندازی سرور AAA یکی از ضروریات برای تجهیزات شبکه است.

#آکادمی_روزبه
#من_آموزش_میدهم

https://cloud.google.com/blog/topics/threat-intelligence/synful-knock-acis
❤2👏2
تکنیک‌های ضد مهندسی معکوس
فاصله زمانی

✍️روزبه نوروزی

در مهندسی معکوس و تحلیل بدافزار ما از اجرای single-stepping یا به تعبیری اجرای خط به خط برای رفتار شناسی قطعه کد مشکوک استفاده می‌کنیم.
هکر دنبال آن است که این حرکت ما را شناسایی کند تا بتواند خود را از این آنالیز برهاند.
یک راهکار استفاده از تکنیک‌های زمان‌بندی برای شناسایی "single-stepping" در فرآیند دیباگ یا مهندسی معکوس است. در این روش، زمان دقیق (با دقت میلی‌ثانیه) از لحظه شروع سیستم تا اجرای دستور خاصی اندازه‌گیری می‌شود. دستور rdtsc در معماری x86 برای این منظور استفاده می‌شود، که زمان سیستمی را در دو رجیستر EDX و EAX ذخیره می‌کند.

در فرآیند شبیه‌سازی دیباگ یا مهندسی معکوس (reverse engineering)، وقتی یک متخصص امنیت در حال اجرای کد است، ممکن است از تکنیک‌هایی مانند "single-stepping" استفاده کند. این به معنای اجرای کد خط به خط و بررسی هر دستور است. اما این کار باعث تأخیرهای زمانی می‌شود، چون در این فرآیند، پردازش کد به صورت تدریجی انجام می‌شود. اگر بتوان زمان دقیق قبل و بعد از اجرای یک دستور را محاسبه کرد، تأخیر ناشی از این فرآیند به وضوح قابل مشاهده خواهد بود.

با استفاده از دستور rdtsc، تفاوت زمانی بین دو نقطه (قبل و بعد از اجرای یک دستور) محاسبه می‌شود. اگر تأخیری در اجرای دستور مشاهده شود، این به احتمال زیاد نشان‌دهنده این است که یک دیباگر در حال "single-stepping" در کد است و این تکنیک می‌تواند برای شناسایی و مقابله با مهندسی معکوس استفاده شود.

دستور rdtsc (Read Time-Stamp Counter) یک دستور در معماری x86 است که برای خواندن شمارنده زمان‌سنج (Timestamp Counter) استفاده می‌شود. این شمارنده یک شمارنده 64 بیتی است که از زمان بوت شدن سیستم شروع به افزایش می‌کند و به صورت پیوسته از آن زمان افزایش می‌یابد. هدف اصلی این دستور دسترسی به این شمارنده است که برای اندازه‌گیری زمان و انجام محاسبات زمانی دقیق (با دقت بسیار بالا) کاربرد دارد.


پی نوشت:
زمانی که دستور rdtsc اجرا می‌شود، مقدار شمارنده زمان‌سنج سیستم (که زمان از شروع سیستم تا آن لحظه را نشان می‌دهد) در دو رجیستر EDX و EAX ذخیره می‌شود. EAX نیمی از شمارنده (کم‌تر از 32 بیت) و EDX نیمه دیگر را نگه می‌دارد



کتاب Evasive Malware را در نوروز در کانال تلگرام آکادمی روزبه دنبال کنید.

#من_آموزش_میدهم
#آکادمی_روزبه
👍4
آکادمی آموزش روزبه 📚
به دور از تمام مقدمات و تعاریف اولیه ؛ زیرو تراست رو ببینیم و انواع ش رو #آکادمی_روزبه https://www.ibm.com/think/insights/the-evolution-of-zero-trust-and-the-frameworks-that-guide-it
مدل های زیرو تراست

این مدل ها بر اساس اصول و چارچوب‌های مختلفی طراحی شده‌اند. این مدل‌ها به سازمان‌ها کمک می‌کنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدل‌ها و چارچوب‌های معروف Zero Trust :
۱. چارچوب NIST Zero Trust Architecture (ZTA)

این چارچوب توسط موسسه ملی فناوری و استانداردهای ایالات متحده (NIST) توسعه یافته و یکی از معتبرترین مدل‌های Zero Trust است.
اصول کلیدی:

هرگز اعتماد نکن، همیشه تأیید کن: هیچ کاربر، دستگاه یا شبکه‌ای به طور پیش‌فرض قابل اعتماد نیست.

دسترسی حداقلی: کاربران فقط به منابعی دسترسی دارند که برای انجام وظایفشان ضروری است.

تقسیم شبکه به بخش‌های کوچک (Micro-Segmentation): شبکه به بخش‌های کوچک تقسیم می‌شود تا در صورت حمله، آسیب محدود شود.

احراز هویت و مجوز مداوم: دسترسی کاربران و دستگاه‌ها به طور مداوم بررسی می‌شود.

اجزای اصلی:

سیاست‌های امنیتی (Policy Engine): تصمیم‌گیری درباره‌ی دسترسی‌ها.

اجرای سیاست‌ها (Policy Administrator): اعمال سیاست‌ها.

تأیید هویت (Authentication): احراز هویت کاربران و دستگاه‌ها.

۲. چارچوب CISA Zero Trust Maturity Model

این چارچوب توسط آژانس امنیت سایبری و زیرساخت ایالات متحده (CISA) ارائه شده و به سازمان‌ها کمک می‌کند تا سطح بلوغ Zero Trust خود را ارزیابی و بهبود دهند.
سطوح بلوغ:

سنتی (Traditional): سازمان‌ها از مدل‌های امنیتی قدیمی استفاده می‌کنند.

اولیه (Initial): شروع پیاده‌سازی Zero Trust با تغییرات کوچک.

پیشرفته (Advanced): استفاده از ابزارها و فناوری‌های پیشرفته برای Zero Trust.

بهینه (Optimal): دستیابی به یک مدل Zero Trust کاملاً یکپارچه و خودکار.

حوزه‌های کلیدی:

هویت (Identity): مدیریت هویت کاربران و دستگاه‌ها.

دستگاه‌ها (Devices): امنیت و نظارت بر دستگاه‌های متصل به شبکه.

شبکه (Network): تقسیم شبکه و کنترل ترافیک.

برنامه‌ها و داده‌ها (Applications & Data): محافظت از برنامه‌ها و داده‌ها.

۳. مدل Forrester Zero Trust

این مدل توسط شرکت تحقیقاتی Forrester توسعه یافته و یکی از اولین مدل‌های Zero Trust است.
اصول اصلی:

داده‌ها محور هستند: تمرکز اصلی بر محافظت از داده‌ها است.

دسترسی مبتنی بر نیاز: کاربران فقط به منابعی دسترسی دارند که برای کارشان ضروری است.

تقسیم شبکه: شبکه به بخش‌های کوچک تقسیم می‌شود تا امنیت افزایش یابد.

اجزای کلیدی:

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

امنیت دستگاه‌ها: نظارت بر دستگاه‌های متصل به شبکه.

امنیت کاربران: احراز هویت چندعاملی (MFA) و مدیریت هویت.

۴. مدل Google BeyondCorp

این مدل توسط گوگل توسعه یافته و بر اساس اصول Zero Trust است. BeyondCorp دسترسی به برنامه‌ها و داده‌ها را بر اساس هویت کاربر و دستگاه تنظیم می‌کند، نه بر اساس مکان شبکه.
ویژگی‌های کلیدی:

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

تأیید هویت مداوم: دسترسی کاربران به طور مداوم بررسی می‌شود.

امنیت برنامه‌ها: برنامه‌ها به جای شبکه، محور امنیت هستند.

۵. مدل Microsoft Zero Trust

این مدل توسط مایکروسافت ارائه شده و بر سه اصل اصلی استوار است:
اصول اصلی:

تأیید هویت صریح (Verify Explicitly): همیشه هویت کاربران و دستگاه‌ها را تأیید کنید.

دسترسی حداقلی (Least Privilege Access): کاربران فقط به منابع ضروری دسترسی دارند.

فرض نقض (Assume Breach): همیشه فرض کنید که شبکه شما نقض شده است و بر این اساس اقدامات امنیتی انجام دهید.


۶. مدل Gartner Zero Trust Network Access (ZTNA)

این مدل توسط گارتنر ارائه شده و بر دسترسی امن به برنامه‌ها و خدمات متمرکز است.
ویژگی‌های کلیدی:

دسترسی مبتنی بر هویت: دسترسی کاربران بر اساس هویت آن‌ها تنظیم می‌شود.

عدم اعتماد به شبکه: شبکه به طور پیش‌فرض قابل اعتماد نیست.

امنیت برنامه‌ها: برنامه‌ها به جای شبکه، محور امنیت هستند.

جمع‌بندی

مدل‌های Zero Trust با وجود تفاوت‌های جزئی، همگی بر اعتماد صفر، دسترسی حداقلی و تأیید هویت مداوم تأکید دارند. انتخاب مدل مناسب به نیازها و زیرساخت‌های سازمان شما بستگی دارد.


#آکادمی_روزبه
👏6👍2
آکادمی آموزش روزبه 📚
مدل های زیرو تراست این مدل ها بر اساس اصول و چارچوب‌های مختلفی طراحی شده‌اند. این مدل‌ها به سازمان‌ها کمک می‌کنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدل‌ها و چارچوب‌های معروف Zero Trust : ۱. چارچوب NIST Zero Trust Architecture…
توصیه‌هایی برای پیاده‌سازی Zero Trust در کدنویسی

مدل امنیتی Zero Trust (عدم اعتماد پیش‌فرض) بر این اصل استوار است که هیچ کاربر، دستگاه، یا فرآیندی نباید به‌صورت پیش‌فرض قابل‌اعتماد باشد. در نتیجه، هنگام توسعه نرم‌افزار و کدنویسی، باید مکانیزم‌هایی در نظر گرفته شود که حداقل سطح دسترسی، اعتبارسنجی مستمر، و کنترل دقیق دسترسی‌ها را اعمال کند.
📍 1️⃣ اصل حداقل دسترسی (Least Privilege)

🔹 هیچ کاربر یا پردازه‌ای نباید بیش از سطح دسترسی موردنیاز داشته باشد.
🔹 از Principle of Least Privilege (PoLP) پیروی کنید.

✅ در پایگاه داده:

GRANT SELECT, INSERT ON customers TO user_app;
REVOKE DELETE, UPDATE ON customers FROM user_app;

❌ غلط: دادن دسترسی کامل به همه کاربران

GRANT ALL PRIVILEGES ON customers TO user_app;

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

sudo -u limited_user command

❌ غلط: اجرای دستورات با کاربر root بدون نیاز
📍 2️⃣ اعتبارسنجی و احراز هویت قوی (Strong Authentication & Authorization)

🔹 همه درخواست‌ها را احراز هویت کنید.
🔹 از MFA (احراز هویت چندعاملی) برای کاربران حساس استفاده کنید.

✅ در APIها:

from flask import request, jsonify
from werkzeug.security import check_password_hash

def authenticate_user(username, password):
user = get_user_from_db(username)
if user and check_password_hash(user.password, password):
return generate_jwt(user)
return jsonify({"error": "Unauthorized"}), 401

❌ غلط: استفاده از Hardcoded Passwords

if username == "admin" and password == "password123":

✅ استفاده از OAuth2 یا JWT برای APIها:

@app.route("/secure-data", methods=["GET"])
@jwt_required()
def secure_data():
return jsonify({"message": "Access granted!"})

📍 3️⃣ بررسی و کنترل ورودی‌ها (Input Validation & Sanitization)

🔹 همیشه ورودی‌های کاربر را بررسی کنید تا از حملات SQL Injection، XSS و Command Injection جلوگیری شود.
🔹 از لیست سفید (Whitelist) به‌جای لیست سیاه (Blacklist) استفاده کنید.

✅ فیلتر کردن ورودی‌ها:

import re

def validate_username(username):
if re.match("^[a-zA-Z0-9_]{3,20}$", username):
return True
return False

❌ غلط: استفاده از ورودی خام در کوئری SQL

query = f"SELECT * FROM users WHERE username = '{user_input}'"

✅ درست: استفاده از Prepared Statements

cursor.execute("SELECT * FROM users WHERE username = ?", (user_input,))

📍 4️⃣ محدودسازی ارتباطات داخلی (Micro-Segmentation & Network Restrictions)

🔹 هیچ سیستمی نباید بتواند آزادانه با همه بخش‌های شبکه ارتباط بگیرد.
🔹 از Firewalls، VLANs و ACLs برای محدودسازی ارتباطات بین سرویس‌ها استفاده کنید.

✅ در Docker (Network Isolation):

services:
app:
networks:
- internal_net
db:
networks:
- internal_net

networks:
internal_net:
driver: bridge

❌ غلط: قرار دادن پایگاه داده در شبکه عمومی و قابل‌دسترسی از همه جا
📍 5️⃣ رمزنگاری داده‌ها در حین انتقال و ذخیره‌سازی (Encryption & Secure Storage)

🔹 همیشه داده‌های حساس را رمزنگاری کنید.
🔹 از TLS برای انتقال داده و AES برای ذخیره‌سازی اطلاعات مهم استفاده کنید.

✅ در REST API:

app.run(ssl_context=("cert.pem", "key.pem"))

✅ در پایگاه داده:

CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash TEXT NOT NULL
);

❌ غلط: ذخیره پسوردهای خام در دیتابیس

CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255),
password TEXT
);

✅ درست: هش کردن رمزهای عبور

from werkzeug.security import generate_password_hash
hashed_password = generate_password_hash("mypassword")

📍 6️⃣ مانیتورینگ و لاگ‌گیری مداوم (Continuous Monitoring & Logging)

🔹 همه‌ی رویدادهای امنیتی باید لاگ شوند، اما اطلاعات حساس را نباید در لاگ‌ها ذخیره کرد.
🔹 از SIEM برای تحلیل لاگ‌ها استفاده کنید.

✅ در Python:

import logging

logging.basicConfig(filename="app.log", level=logging.INFO)
logging.info("User login attempt: %s", username)

❌ غلط: لاگ کردن پسوردها و اطلاعات حساس

logging.info("User: %s, Password: %s", username, password)

✅ در SIEM (مثل Splunk یا ELK):

index=security_logs source=auth.log "failed login attempt"

📍 7️⃣ اجرای تست‌های امنیتی (Security Testing & Code Review)

#آکادمی _روزبه
ادامه در پست بعد
👍4❤1
آکادمی آموزش روزبه 📚
مدل های زیرو تراست این مدل ها بر اساس اصول و چارچوب‌های مختلفی طراحی شده‌اند. این مدل‌ها به سازمان‌ها کمک می‌کنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدل‌ها و چارچوب‌های معروف Zero Trust : ۱. چارچوب NIST Zero Trust Architecture…
🔹 همیشه کد خود را از نظر امنیتی بررسی کنید.
🔹 از ابزارهایی مانند OWASP ZAP، Burp Suite، SAST و DAST برای اسکن امنیتی استفاده کنید.

✅ در CI/CD:

jobs:
security_scan:
runs-on: ubuntu-latest
steps:
- name: Run Snyk Security Scan
run: snyk test

✅ استفاده از Dependency Scanning برای شناسایی آسیب‌پذیری‌ها:

pip install bandit && bandit -r my_project/

🎯 نتیجه‌گیری

🔹زیرو تراست Zero Trust در کدنویسی یعنی عدم اعتماد به هرچیزی و تأیید دائمی همه‌ی درخواست‌ها.
🔹 با اعتبارسنجی ورودی‌ها، احراز هویت قوی، رمزنگاری، حداقل دسترسی، نظارت مداوم و تست امنیتی می‌توان ریسک حملات را کاهش داد.
🔹 اجرای Zero Trust در معماری نرم‌افزار باعث افزایش امنیت سیستم و جلوگیری از حملات سایبری می‌شود.

✅ در نهایت، هدف این است که هیچ کد یا کاربری بدون بررسی اجازه دسترسی نداشته باشد.


#آکادمی_روزبه
👍5
کسی که می‌خواهد روزی پرواز بیاموزد باید نخست ایستادن و دویدن و جهش و بالارفتن و پایکوبی را به تمرین بگذارد، پرواز را با پرواز نتوان آموخت.

👤فردریش نیچه

درس خواندن ؛ ارتقای شغلی و بقول صالح علا دوست داشتن خورد خورد است و در لحظه نیست. پله ها یکی پس از دیگری می‌رسند و سیب ها بموقع

#موفقیت #مطالعه #شغل
👍9🔥2
Bug Bounty Course.pdf
3.1 MB
تزریق دستور در سیستم عامل

#آکادمی_روزبه
❤3👍1
پیش درآمد و آماده سازی برای خوانش کتاب Evasive Malware در گروه کتاب نوروز شروع شده است
میتوانید به جمع دوستان در لینک زیر بپیوندید

پیش درآمد فعلا شامل :
مروری کلی بر تحلیل بدافزار بصورت مقدماتی
نگاه به زبان اسمبلی

https://t.me/+iv8QJhCC4W4xZjJk
❤5👍1
آشنایی با ابزار

✍️روزبه نوروزی

ابزار Monocle یک LLM متن‌باز برای تحلیل دودویی (Binary Analysis) و جستجوی باینری است. این ابزار طراحی شده تا به پژوهشگران امنیت، تحلیلگران بدافزار، و توسعه‌دهندگان مهندسی معکوس کمک کند تا کدهای باینری را به شکل بهینه‌تری تحلیل کنند.

✳️ویژگی‌های کلیدی Monocle:

✔️جستجوی کد باینری: امکان یافتن توابع مشابه یا کدهای مخرب در باینری‌های مختلف.
✔️تحلیل مبتنی بر LLM: استفاده از مدل‌های زبان بزرگ برای درک بهتر ساختار باینری.
✔️ متن‌باز بودن: قابلیت سفارشی‌سازی و توسعه برای نیازهای خاص.
✔️توسعه‌یافته برای امنیت سایبری: کمک به تحلیل تهدیدات، مهندسی معکوس، و تشخیص بدافزارها.

✳️کاربردها:

⬅️شناسایی توابع مشترک در باینری‌های ناشناس
⬅️تحلیل بدافزار و کشف تکنیک‌های مخفی شده در کدهای باینری
⬅️کمک به مهندسی معکوس و پژوهش‌های امنیتی

✳️معماری و نحوه کار Monocle

ابزار Monocle از چندین مؤلفه کلیدی تشکیل شده است که در کنار هم برای تحلیل کدهای باینری کار می‌کنند:
1. تبدیل باینری به نمایش مناسب (Feature Extraction)

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

Disassembly:
تبدیل کد باینری به اسمبلی برای بررسی ساختار دستورالعمل‌ها.
Control Flow Graph (CFG):
استخراج گراف جریان کنترل برای نمایش ارتباط بین توابع و بلوک‌های کد.
Data Flow Analysis:
بررسی نحوه جابه‌جایی داده‌ها در برنامه.

2. مدل‌سازی و پردازش داده‌ها با استفاده از LLM

پس از استخراج ویژگی‌ها، Monocle از یک مدل زبان بزرگ (LLM) برای تحلیل و پردازش این داده‌ها استفاده می‌کند. این مدل معمولاً روی مجموعه داده‌های عظیمی از کدهای اسمبلی و باینری آموزش دیده است تا بتواند الگوهای پیچیده را درک کند. برخی از تکنیک‌های یادگیری ماشینی که ممکن است در Monocle به کار گرفته شوند:

Embedding-based Similarity:
تبدیل کدها به بردارهای عددی برای یافتن شباهت بین آن‌ها.
Sequence-to-Sequence Learning:
استفاده از مدل‌های زبانی برای ترجمه و درک ساختار اسمبلی.
Graph Neural Networks (GNN):
بهره‌گیری از گراف برای تحلیل ارتباط بین بخش‌های مختلف کد.

3. جستجو و مقایسه کدها (Binary Code Search)

ابزار Monocle این امکان را می‌دهد که بتوان کدهای باینری را جستجو کرد و شباهت آن‌ها را با نمونه‌های قبلی مقایسه کرد. این ویژگی برای شناسایی مجدد توابع شناخته‌شده یا کشف نمونه‌های مشابه در بدافزارها بسیار مفید است.

روش‌های جستجو شامل:

Exact Match:
پیدا کردن توابع و قطعه‌کدهایی که دقیقاً مشابه یک نمونه خاص هستند.
Fuzzy Matching:
یافتن کدهایی که ساختار مشابه دارند ولی ممکن است کمی تغییر یافته باشند.
Semantic Search:
جستجوی مبتنی بر معنا، که حتی اگر کدها تغییر جزئی کرده باشند، همچنان بتواند شباهت را تشخیص دهد.

4. کاربرد در تحلیل بدافزار و مهندسی معکوس

یکی از مهم‌ترین کاربردهای Monocle در تحلیل بدافزار است، زیرا:

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

#آکادمی_روزبه

✳️لینک دانلود و نصب
https://github.com/arphanetx/Monocle
🔥2👏1
نکته #موقت

⛔️ اگر برخی ها دست از بی اخلاقی ها بردارند و کار خود رو بکنند خیلی خوب می‌شود اونوقت ....

↪️موضوع من نیستم یک بی اخلاقی علیه دوستی دیدم.

==≈============


فعلا بشینیم هانی پات همراه با LLM نصب کنیم

#آکادمی_روزبه

https://dispatch.thorcollective.com/p/exploring-splunk-deceive
❤4
تمرین دست گرمی برای گروه تلگرامی Evasive Malware

🔮اعضای گروه این لینک حتما امشب بخونن

خلاصه

گروه تهدید پیشرفته‌ی Earth Preta (همچنین شناخته‌شده به‌عنوان APT37 یا Mustang Panda) اخیراً تکنیک‌ها و ابزارهای جدیدی را برای دور زدن مکانیزم‌های شناسایی امنیتی به کار گرفته است. این گروه با ترکیب اجزای قانونی و مخرب، به‌طور مؤثر سیستم‌های هدف را آلوده می‌کند.

تکنیک‌ها و ابزارهای مورد استفاده:

استفاده از ابزارهای قانونی برای تزریق کد مخرب:
ابزار MAVInject.exe: این ابزار قانونی مایکروسافت برای تزریق کد به فرآیندهای در حال اجرا استفاده می‌شود. Earth Preta از MAVInject.exe برای تزریق payloadهای مخرب به فرآیندهای قانونی مانند waitfor.exe بهره می‌برد، به‌ویژه زمانی که نرم‌افزار آنتی‌ویروس ESET شناسایی شود.


بهره‌گیری از ابزارهای ساخت بسته‌های نصب:
ابزار Setup Factory: این ابزار قانونی برای ایجاد بسته‌های نصب نرم‌افزار استفاده می‌شود. Earth Preta از Setup Factory برای ایجاد بسته‌های نصب حاوی اجزای مخرب بهره می‌برد تا از شناسایی توسط نرم‌افزارهای امنیتی جلوگیری کند.


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


تشخیص و واکنش به نرم‌افزارهای امنیتی:
شناسایی آنتی‌ویروس ESET: در صورتی که Earth Preta حضور آنتی‌ویروس ESET را تشخیص دهد، payload مخرب خود را به فرآیند waitfor.exe تزریق می‌کند تا از شناسایی جلوگیری کند.


این رویکردها نشان‌دهنده‌ی توانایی Earth Preta در ترکیب اجزای قانونی و مخرب برای دور زدن مکانیزم‌های امنیتی و حفظ پایداری در سیستم‌های آلوده است.

#آکادمی_روزبه


https://www.trendmicro.com/en_us/research/25/b/earth-preta-mixes-legitimate-and-malicious-components-to-sidestep-detection.html
👍2❤1