#brk & #sbrk #Memory_Management #System_Calls #Unix
شاید تا به حال در خصوص توابع زبان سی و سی پلاس پلاس که در خصوص رزرو حافظه #Heap استفاده میشوند رو شنیده باشید, اما توابع سیستمی که Data Segment هارو مدیریت میکنند چطور؟

حافظه پویا همواره نیازمند اینه که تغییر سایز بده و اشاره گر های اون آزاد و رزور بشه, به همین منظور میبایست در یک Segment که مختص حافظه #Heap هستش آدرس دهی ها بست و گُسست پیدا کنند, از همین روی تابع ()brk و ()sbrk مامور تعیین آدرس ابتدا و انتهای حافظه Heap رو دارا هستند,

در تصویر پست یک کد سی بیس میبینید که با استفاده از یک حلقه for اقدام به رزرو حافظه #Heap پرداخته و دوباره با یک حلقه for دیگری حافظه رزوی رو آزاد کرده و دوباره اقدام به رزرو حافظه میکنه,

تنیجه در تصویر بعدی بسیار جالبه آدرس های اولین رزرو با دومین رزرو یکی بوده و بازه آدرس Data Segment هم مشخص هستش, ناگفته نمونه که تابع ()brk بصورت پیشفرض با طول آدرس 1000 تایی هر Segment رو میسازه...

https://en.wikipedia.org/wiki/Sbrk
https://man7.org/linux/man-pages/man2/brk.2.html
@Unk9vvN
Media is too big
VIEW IN TELEGRAM
#ANGRYPUPPY #BloodHound Attack Automation in #Cobalt_Strike
همونطور که میدونید یک Tools بسیار محبوب در حوزه استخراج اطلاعات یک #ActiveDirectory فعال وجود داره به اسم #BloodHound که در این دمو توضیح داده میشه که با استفاده از یک Tools دیگه امکان اینو پیدا میکنیم که با اطلاعاتی که BloodHound برای ما استخراج میکنه از کاربران اون DMZ عملیات Pivot زدن به اونهارو راحت تر کرده و به نوعی #Lateral_Movement بین سیستمی انجام دهیم,

اما این Lateral_Movement بر بستر کدامین #COM یا #DCOM_Object ها پیاده سازی میشه؟ همونطور که سازنده محصول #ANGRYPUPPY توضیح داده این ابزار با استفاده از اطلاعاتی که BloodHound در اختیارش قرار میده میتونه بر روی psexec, psexec_psh, wmi, winrm پیلود اجرا کرده و دسترسی سیستم عامل Parent رو برای ما حاصل کنه...

https://github.com/vysecurity/ANGRYPUPPY
https://github.com/BloodHoundAD/BloodHound
@Unk9vvN
#JIT_Engine Exploitation
بعد از تجربه موفق اکسپلویت کردن آسیب پذیری های موتورهای تفسیری زبان JavaScript و VBScript و PHP بر روی مرورگرها و موتور تفسیری ZendEngine مربوط به زبان PHP , آیا میتونیم در آینده شاهد اکسپلویت شدن موتوهای تفسیری #JIT_Base زبان های دیگر هم باشیم؟

آیا دنیا قراره به این سمت هم بره؟ که مثلا از کامپایلرهای Intermediate (CLR) در زبان های NET. و مثلا Dalvik Virtual Machine اندروید کشف آسیب پذیری های مربوط به حافظه بشه ؟

در پروژه کشف آسیب پذیری از توابعی مانند Unserialize در زبان PHP ما شاهد اکسپلویت شدنش بر پایه آسیب پذیری هایی مانند Use_After_Free بودیم,

همینطور اکسپلویت شدن Engine های تفسیری V8 مربوط به زبان VB , پس میشه اینطور برداشت کرد که مفسر های دیگه هم دارای آسیب پذیری های حافظه باشند,

https://github.com/80vul/phpcodz
https://halbecaf.com/2017/05/24/exploiting-a-v8-oob-write/

در آینده منتظر اکسپلویت شدن #DVM با طراحی Bytecode بیس یک اپ اندرویدی apk باشید, همینطور از خانواده NET. ...

@Unk9vvN
#Software Assurance Maturity Model
به تازگی #OWASP از یک پروژه ای با نام #SAMM رو نمایی کرده که استراتژی اندازه گیری وضعیت امنیتی نرم افزارها برای سازمان هارو مشخص میکنه,

این استراتژی بر مبنای یک نقشه راه ترسیم میشه که از مرحله ارزیابی , طراحی , توسعه و استقرار نرم افزار آغاز شده و به آموزش طراحی امن برنامه و شبیه سازی حملات سایبری خواهد رسید,

که در شبیه سازی سایبری پیکربندی هایی در خصوص برهم زدن پارامترهای موفق یک حمله تاکید خواهد نمود و نهایتا بعد از مرحله Secure Coding یک پروسه Review بصورت WhiteBox انجام داده و نهایتا انجام عملیات Penetration Testing پیاده خواهد شد,

در اصل پروژه #SAMM تاکید به پیاده سازی سیاست های استاندارد و اصولی در بحث امن سازی یک نرم افزار متمرکز میشویم...

https://github.com/OWASP/samm
https://owasp.org/www-project-samm/
@Unk9vvN
#Automated Threats WebApps ( Account Aggregation )
اگر به Handbook مجموعه OWASP نگاهی بیندازید بیست و یک مرحله در خصوص الزامات تکنیکی در بحث ساخت شکارجی آسیب پذیری که بصورت اتوماتیک کار میکنند صحبت کرده,

من یک نمونه از این تکنیک هارو در تصویر پست بر پایه یک اسکریپت بش پیاده سازی کردم, که بصورت اتوماتیک Request مربوط به Authentication صفحه Login پلتفرم آزمایشی #DVWA زده و بعد از لاگین شدن مقدار Autorize شده در SESSION رو در فایلی با نام unk9.vvn ذخیره کرده و با استفاده از awk مقدار SESSION برای ماژول متاسپلویت متغیر میشه,

البته توجه داشته باشید که صفحه لاگین DVWA مجهز به مکانیزم Double Submit Cookie (که یک نوع Mitigation در برابر درخواست های جعلی است) هستش, در نتیجه یک Request هم با Curl برای دریافت کد Nonce زده و مقدار اون رو هم برای Request مربوط به Login استفاده خواهیم کرد,

در بحث طراحی محصولات هوشمند برای شکار آسیب پذیری در هر شرایط و پلتفرمی رعایت این بیست و یک نکته تکنیکی بسیار کمک کننده و حیاتیست...

https://owasp.org/www-project-automated-threats-to-web-applications/
@Unk9vvN
#ModSecurity for Debian & Kali ( Apache2 )
یک اسکریپت طراحی شده برای نصب خودکار فایروال اپلیکیشن متن باز Mod Security برای وبسرور Apache2 در سیستم عامل های Debian و Ubuntu...

همچنین بصورت خودکار محیط آزمایشگاهی DVWA هم نصب شده و عملکرد Mod Security رو در برابر پیلود های مختلف از جمله Metasploit تست کرده و در فایل Log مربوط به وبسرور Apache2 به شما به نمایش خواهد گذاشت,

در امر دور زدن این فایروال اپلیکیشن اسکریپت طراحی شده میتونه کمکتون کنه و محیط آزمایشگاهی مربوطه رو کامل مهیا کنه...

# Open Terminal
unk9vvn@avi:~$ wget https://gist.githubusercontent.com/a9v8i/9033fb57fdb7329db9e254c24c228cdb/raw/ace2cd4a101dda476108d00a84c3c92f6367489a/ModSecurity-DEB.sh;sudo ./ModSecurity-DEB.sh


https://gist.github.com/a9v8i/9033fb57fdb7329db9e254c24c228cdb
@Unk9vvN
#SMBGhost Analysis (CVE-2020-0796)
اینبار بر روی الگوریتم Compression نسخه 3.1.1 آسیب پذیری ای بروز داده که از نوع Integer Overflow هستش, این آسیب پذیری بر روی نسخه های 1903 و 1909 ویندوز 10 قابلیت اکسپلویت کردن داره و بصورت unauthenticated عمل میکنه,

آسیب پذیری در درایور srv2.sys قرار داره و اگر به تصویر 1 نگاهی کنید ما در پروتکل دو پارامتر با نام های OriginalCompressedSegmentSize و Offset/Length داریم که گزینه اول برای اعلام طول سگمنت کمپرس شده هستش و دومی اندازه داده های فشرده نشده رو نشان میده, هر دو این پارامترها 32bit بوده و تحت کنترل یک هکر میتونه قرار بگیره,

حالا اگر به تصویر 2 نگاه کنید سمت چپ کد Reverse شده تابع مربوطه رو میبینید که قسمت آسیب پذیر مشخص شده, همونطور که میدونید DataType های از نوع integer که بصورت unsigned هستند بازه مثبت 65,535 بایت داده عددی دریافت میکنند, خب آسیب پذیری اونجایست که تابع SrvNetAllocateBuffer که یک اشاره گر به قسمتی از حافظه هستش مقادیر ورودیش کنترل نشده و موجب ورود داده عددی بالای مقدار تعیین شده ی DataType بوده و موجب سر ریز عددی خواهد شد..

@Unk9vvN
#Net_Framework Compiler (#MSBuild)
استفاده از کامپایلر NET. در خصوص دور زدن EDR ها بسیار کارآمد بوده و همواره استفاده میشه,

استفاده از تابع Unregister در زبان #C این امکان رو میده که با استفاده از پارسرUnregisterAssembly اجرا کرد, این پارسر در خصوص ویژوال استودیو طراحی شده اما میتونه به نفع هکر نقش ایفا کنه,

همونطور که در تصویر میبینید اگر یک سورس کد با تابع نام برده شده ساخته بشه که مامور اجرای یک ماشین حساب هستش, میتونه با استفاده از MSBuild کامپایل شده و DLL خروجی گرفته شده با استفاده از پارسر مربوط به ویژوال استودیو به دست خود کامپایلر صدا و اجرا بشه,

زمانی که در یک سیستم عامل سورس کد خامی ساخته میشه حساسیتی برای Detection ها نخواهد داشت اما زمانی که همان سورس کد کامپایل و اجرا میشه میتونه موجب رخداد یک دسترسی بشه,

هکر میتونه Stage های بعدی خودش رو به این صورت اجرا کنه و Stage های ابتدایی خودش رو صرفاً یک Echo قرار بده بدین ترتیب رفتار شناسی حمله بسیار دشوار خواهد شد...

https://t.me/Unk9vvN/1126
@Unk9vvN
Media is too big
VIEW IN TELEGRAM
#Machine_Learning #Cyberwar
ایلان ماسک زمانی گفته بود: (حرف های من یادتان باشد؛ هوش مصنوعی از بمب های اتمی بسیار خطرناک تر است), با دیدن فیلم فوق به عمق عقیده ایلان ماسک پی خواهید برد.

پیشرفت هوش مصنوعی و تکنیک های بهره برداری از Dataset ها میتواند در ابعاد نظامی و در خصوص ربات های سرباز نیز استفاده شود و در صورت موفقیت هوش مصنوعی در این عرصه، جنگ آیندگان میتواند جنگ ربات ها باشد.

@Unk9vvN
#Privilege on #Exchange API Call
سرور های Exchange همونطور که میدونید از سرویس SOAP که یک سرویس XML پایه هستش برای ارتباط با دیوایس های دیگه استفاده میکنه, مدیریت کردن این سرویس در امر امن سازی سرور بسیار مهم و حیاتی میتونه باشه,

برای مثال کاربران دامنه Active Directory بصورت پیش فرض از سطح دسترسی بالا استفاده میکنند, ئ اگر ارتباط با API بر بستر پروتکل TLS نباشه میشه حملاتی مانند Relay Attack پیاده کرد, و با استفاده از یک Refresher مقادیر Authentication ویندوز که NTLM نام داره رو بدست آورد,

مشکل در API سرور Exchange از آنجایی شروع شد که هکر با استفاده از PushSubscription میتونه درخواست Modify و بالا بردن سطح دسترسی یک کاربر بر روی دامنه AD رو داشته باشه, یعنی ارتباط مستقیم با DCsync یا Domain Controller Sync داشته باشه,

کافیه ارتباط با API گرفته و بعد از دریافت ارتباط کاربر سطح بالا با NTLM Relayx هکر, هکر دامنه مدنظر خودش رو با hash ادمین Modify کرده و تغییر خودش رو بر روی ِDomain Controller اعمال میکنه, جزئیات بیشتر این حمله رو اینجا بخونید.

Tools
@Unk9vvN
#RMI Protocol #Deserialization Vulnerability
شاید اسم پروتکل Java RMI به گوشتون نخورده باشه اما جالبه که بدونید برای مدیریت RMX یا Remote Management Extentions به کار میره و تعاملات داده ای رو میتونه بر عهده بگیره, از جمله مدیریت و مانیتورینگ برنامه ها,و کلاس MBean برای طراحی قوانین این تکنولوژی

اینکار از طرفی خوبی هایی رو به همراه داره از جمله بالا رفتن سرعت Transfer اطلاعات, اما از طرفی هم میتونه موجب خطر آفرینی باشه, در طول سالها آسیب پذیری های متعددی از این سرویس کشف شده اما اخیرا فضای تحقیقاتی محققین به سمت کشف آسیب پذیری های Deserialization بر مبنای این پروتکل رو در پیش گرفتند,

برای مثال در تصویر پست سمت چپ یک فراخوانی wrapper مخصوص jndi رو در jmx مشاهده میکنید که هکر با استفاده از این,به نوعی پیلود تونسته مکانیزم احراز هویت رو دور بزنه البته این پیش تر به این دلیل بوده که الگوریتم تصدیق احراز در کلاس های JMXConnector رو داشته که اینجا موجب ساخت یک پیلود Serialize به دست payloadObject که یک آبجکت از کلاس ysoserial هستش رو به همراه داشته و در نهایت Initialize میشه برای ارسال به پروتکل RMI.

@Unk9vvN
#Android Penetration Testing
در سالهای اخیر ابزارهای خوبی در خصوص تست آسیب پذیری های منتسب به یک برنامه اندرویدی طراحی شده است,

و تست اپلکیشن های اندرویدی از اهمیت زیادی برخوردار است, برای مثال در وبسرور های Customize طراحی شده میتوان API های آسیب پذیر را پیدا و به واسطه اپلکیشن اندرویدی یک سرویس دهنده آنلاین را مورد حمله و اخذ دسترسی به وبسرور مربوطه را حاصل نمود,

همچنین آسیب پذیری های دیگری که در طول سالهای اخیر Publish شده و میتواند در تمامی اپلکیشن های اندرویدی وجود داشته باشد, از این روی میتوانید نقشه ای از حملات و آسیب پذیری های Release شده برای این سیستم عامل را در تصویر پست مشاهده نمایید...

@Unk9vvN