#Threat_Hunting #BLUESPAWN
در سالهای اخیر فعالیت های زیادی در خصوص رهگیری و شکار حملات سطح پیشرفته یا #APT انجام شده که پاشنه آشیل تمامی آنها رفتارشناسی حمله هستش که به اختصار به آن #TTPs گفته میشه،

یکی از روش هایی که تیم های آبی برای نا کارآمد کردن تکنیک ها و تاکتیک های مورد استفاده قرار گرفته شده ای تیم های APT این هستش که آن تکنیک مستند شده و الگو رفتاری اون بر مبنای حالا اگر COM Object یا بر مبنای Memory ، شناسایی و اصطلاحا شکار بشه،

در این خصوص ابزار هایی طراحی میشه که این TTP ها را بواسطه مستندات MITRE ATT&CK دریافت کرده و مخازن لاگ و پروسس های فعال و وضعیت پیکربندی سیستم عامل ، اسکن کرده و وضعیت سیستم عامل رو به شما اعلام خواهد کرد،

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

در تصویر اول پالایش اتفاق افتاده در تصویر دوم ایرادات پیکربندی که وجود داره رو Audit کرده...

https://github.com/ION28/BLUESPAWN
@Unk9vvN
#Hardening for Defense #BruteForce Attack (#Wordpress)
گاهی اوقات مسیری که مهاجمان برای حمله به یک وبسایت میروند قابل پیش بینی است برای کسانی که خودشان فعالین حوزه امنیت تهاجمی هستند،

از این روی روش هایی برای سخت کردن حملات رایجی مانند Brute Force میتواند اتخاذ شود، جدای از بحث پایین آوردن Permission نقاط ارتباطی ماشین به ماشین یعنی xmlrpc.php و قرار دادن مثلا Recaptcha گوگل بر روی فرم ها و صفحات ورود،

موردی که میتواند بسیار موثر باشد این است که شما نام کاربری اصلی و لقب حساب های سطح دسترسی ادمین رو تغییر داده و چیزی به دور از نامی که میتوان براحتی حدس زد قرار دهید، در عین حال RSS مربوط به مقالات خودتون رو هم یا محدود یا اشتباه درج نمایید،

اقدامات بالا نتیجه اسکن ابزارهایی مانند WPScan آن چیزی میشود که شما میخواهید و مهاجمان احساس میکنند نام کاربری ادمین شما را استخراج کرده اند، از طرفی به WAF خود اعلام میکنید که هرکسی به محض استفاده از نام کاربری مثلا admin که در تصویر دوم مشاهده میکنید، آنرا مسدود کند.

@Unk9vvN
#Microsoft #Exchange #Vulnerabilites
اخیرا یک ارائه ای از محققی با نام Orange Tsai در کنفرانس Blackhat 2021 منتشر شده که آسیب پذیری ProxyLogon و Proxyshell و ProxyOracle رو معرفی میکنه

از اونجا که سرویس دهنده Exchange در سازمان های دولتی بسیار زیاد استفاده میشه این آسیب پذیری ها میتونن مهم باشن، در تصویر 0 ساختمان ارتباط FrontEnd با BackEnd این سرویس دهنده دیده میشه که یک ماژول درونی به نام HTTP Proxy Module مامور انتقال درخواست ها به BackEnd سرویس هستش

در تصویر 1 فرایند تکامل سرویس ها را میبینید که در نسخه های 2016/2019 ماژولی با نام Client Access Service اضافه شده که در تصویر 2 فرایند ارتباط این CAS با BackEnd مشخصه، و نشون میده که Request ها قراره HTTP Proxy بشه به BackEnd

در تصویر ۳ فرایند این Proxying درخواست هارو مشاهده میکنید که خب از Header و Cookie ها کپی گرفته میشه و در قسمت Proxy Section فرایند Authenticate و Authotize درخواست اتفاق می افته

در تصویر 4 آسیب پذیری SSRF رو میبینیم که بر روی یکی از هدر های تنظیم شده CAS وجود داره و همین موجب اولین قدم رخداد حمله خواهد بود.

@Unk9vvN
#Social_Engineering #Iranian #APTs
تا الان صحبت از تکنیک های فنی تیم های ایرانی در حملات APT زیاد مطرح کردیم، اما راجب بخش اول این حملات یعنی مهندسی اجتماعی این حملات خیلی نپرداختیم.

در تصویر دوم اشاره شده که ایران دوبار حمله به برخی ارگان های اسرائیل کرده که شناسایی هم شده،

در تصویر سوم اشاره شده که اول قربانی که یک کارمند بوده در سازمان هدف، شناسایی شده و دپارتمان مربوطه مورد توجه قرار گرفته (شناسایی میدانی شده) و به همین منظور یک وبسایت Phishing برای دپارتمان این کارمند ساخته شده است.

اما تصویر ابزارهایی که استفاده شده هم دیده میشه که چون مهندسی اجتماعی مبتنی بر فایل فرمت Excel هستش و یک Macro مبهم سازی درش درج شده، به محض اجرای فایل اولین Stage حمله راه اندازی خواهد شد،

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

Reference
@Unk9vvN
#Cyber #Threat #Intelligence
ساختار صحیح اطلاعات تهدیدات همواره مولفه های زیاده داره, از مدیریت آسیب پذیری ها و پیکربندی صحیح سرویس ها تحت نظر خواهد بود تا پایگاه لاگ ها و سرویس های تصدیق کننده داده ها,

در نتیجه اگر پازل صحیح مکانیزم های دفاعی کامل نباشه همواره میتونه موجب ضعف در شناسایی و جمع آوری تهدیدات در لحظه و گذشته بشه, از این روی استراتژی های خدمات های دفاعی همواره می بایست با بالاترین نگرش های علمی پیاده سازی بشه و از خلأ های جاری جلوگیری کنه,

یکی از خلا‌ٔ های همواره موجود , نبود تیم های سطح بالای قرمز هستش, که بصورت فعال با بالاترین استاندارها بتونه عملکرد های بخش های دیگه رو به چالش بکشه, این امر در تقویت همبستگی مرکز کنترل امنیت بسیار مؤثر خواهد بود...


https://www.crowdstrike.com/epp-101/threat-intelligence/
https://www.dni.gov/files/ODNI/documents/National_Intelligence_Strategy_2019.pdf
https://www.nsa.gov/portals/75/documents/what-we-do/cybersecurity/professional-resources/ctr-nsa-css-technical-cyber-threat-framework.pdf
@Unk9vvN
#Office #Macro #Malware #APTs
بسیاری از حملات سطح پیشرفته رخداده مبتنی بر Macro هایی بوده است که بصورت یک Dropper یا به عنوان یک Downloader عمل کرده و Stage های مختلف یک بد افزار رو به سیستم قربانی انتقال داده است،

اما در سالهای اخیر از پتانسیل زبان VBA به جهت دستکاری یک Process یا تزریق یک Shellcode و یا خاموش کردن مکانیزم های شناسایی کننده استفاده شده، برای مثال در این پست یک نمونه از دستکاری سطح سیستم عامل رو شاهد هستیم که میتواند مکانیزم AMSI که یک مکانیزم AV هستش رو دور زده و کد مخرب خود رو بصورت مستقیم به اجرا در بیاره!

اما جدای از این سبک استفاده از توابع سیستم عامل ویندوز، روش های دیگری در بحث مبهم سازی استفاده میشه که میتونه بواسطه ActiveX Object ها پلن بعدی حمله رو بصورت ناشناس به اجرا در بیاره،

به هر روی استفاده از Macro های خانواده Office فرصت خوبیه که سناریو های مهندسی اجتماعی قوی ای رو پیاده و عملیات تیم قرمز رو با موفقیت به سر انجام رسوند...

@Unk9vvN
#Use_After_Free #Linux
در تصویر یک مثال ساده از نحوه رخداد این آسیب پذیری رو به نمایش گذاشتیم و همونطور که مشخصه بواسطه یک struct با نام UAFME یک تابع درونش بصورت void تعریف شده که از نوع اشاره گر هستش اما در ادامه دو تابع دیگه رو داریم با نام های ()good و ()bad که یک تابع ()print درون هر کدوم تعریف شده و یک string رو قراره چاپ بکنه

اما در تابع اصلی یعنی ()main میبینیم که همون اول کار از ساختمان UAFME یک شیُ ساخته میشه که بصورت اشاره گر بوده و حافظه رو بواسطه تابع ()malloc رزرو کرده با اندازه ساختمان UAFME

اما در ادامه شیُ مربوطه یعنی malloc1* اشاره داره به تابع درون ساختمان یعنی vulnfunc که مقدار تابع good بهش پاس داده شده، در ادامه تابع ()vulnfunc فراخوانی میشه، اینجا با این تابع که در حافظه Heap هستش تماس برقرار میشه

این شیُ بواسطه تابع ()free آزاد شده است، اما در ادامه متغییر دومی که بصورت اشاره گر با نام malloc2* تعریف شده که مقدار 0 رو داره و در ادامه تابع bad بهش پاس داده شده، اینجا چون اندازه اشاره گر مربوطه به اندازه متغییر malloc2 هستش، به همون قسمت قبل در حافظه ارجاع داده شده.

@Unk9vvN
#Java #Insecure_Deserialization
آسیب پذیری Deserialize نا امن، یکی از اون آسیب پذیری های خطرناکی هستش که مهاجم رو مستقیما میتونه تا مرحله RCE یا اجرای کد ببره.

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

برای مثال، حملات Deserialization مبتنی بر XML از طریق کتابخانه هایی مانند XStream و XmlDecoder امکان پذیره. از طرف دیگر، یک لیست سفید کاملاً کنترل شده می تواند آسیب پذیری کد را محدود کند، اما از وجود ابزارهای به اصطلاح Bypass هم نمیشود غافل شد، که میشه با طراحی Gadget مربوطه چنین اقدامات حفاظتی رو دور زد.

@Unk9vvN