#HTTP_Parameter_Pollution for #Bypass_WAF
یکی از جذابیت های آسیب پذیری HTTP Parameter Pollution این هستش که به واسطه این آسیب پذیری میتوان #WAF هارو دور زد,

اما به چه صورت؟! خب همونطور که در تصویر پست هم مشاهده میکنید آسیب پذیری #HPP امکان این رو به شما میده که پارامتر دارای آسیب پذیر رو Pollution یا آلوده کنه به چه صورت؟ با مقدار دهی متعدد یک پارامتر,

این آسیب پذیری میتواند موجب Parse یک پایلود در EndPoint یک وبسرویس شده و قبل از آن بصورت Split باشه و ارسال بشه. طبیعا #WAF ها یک پایلود Split شده رو نمیتوانند موردی برای خطر پردازش و Block کنند...

https://blog.mert.ninja/twitter-hpp-vulnerability/
@Unk9vvN
#Whitelist_URL Bypassing
در بسیاری از مواقع وبسایت های حساس تا جایی که خدمات سرویس دهی آنها مختل نشود محدودیت و Policy هایی برای وبسرویس خود وضع میکنند,

در چنین شرایط اگر آسیب پذیری هایی مانند #Server_Side_Request_Forgery رخ بده هکر نمیتونه اون رو Pentest و یا پایلود ریزی موفق داشته باشه, چرا که در خصوص مثلا وبسایت هایی که دارای مجوز برای پارس کردن یه Request ,از سمت سرور دارند یک #Whitelist تعریف شده، این یک مکانیزم #SSRF_Protection هستش نه #CSP

در چنین شرایطی هکر میتونه با استفاده از Map کردن و زیر نظر گرفتن عملکرد وبسرویس ها, وبسایت Valid رو شناسایی و بر روی زیر دامنه ها به دنبال آسیب پذیری هایی مانند #Open_Redirect گشته و در صورت پیدایش به واسطه آسیب پذیری دوم یک Redirect به سرور هکر زده و تست آسیب پذیری #SSRF رو بر روی پروتکل های لیست شده، با بایپس محدودیت ها انجام داد, این سناریو رو میتونید در تصویر پست مشاهده کنید,

https://medium.com/@vickieli/bypassing-ssrf-protection-e111ae70727b
@Unk9vvN
#MITRE_ATT&CK #Offline
اگر علاقمند هستید تا تمامی تاکتیک ها و ابزارها و حملات #APT در دنیا همراه با #reference های اون هارو بصورت Offliine در سیستم عامل خود داشته باشید میتونید از دستور زیر استفاده کنید,

وبسایت #MITRE_ATT&CK بصورت آفلاین برای شما از گیتهاب خود دانلود شده و بعد از Configure شدن بر روی وبسرور Python3 بر روی پورت 8000 بالا خواهد آمد مانند تصویر پست:

root@unk9vvn:~# wget https://github.com/mitre-attack/attack-website/archive/website-v1.0.4.tar.gz;tar -xvf website-v1.0.4.tar.gz;rm website-v1.0.4.tar.gz;cd attack-website-website-v1.0.4/;chmod 755 *;apt-get update;apt-get install -y python3 python3-pip python3-venv;python3 -m venv env;source env/bin/activate;pip3 install -r requirements.txt;python3 update-attack.py -c -b;cd output;gnome-terminal --tab -e 'firefox --new-tab http://localhost:8000';python3 -m pelican.server

https://attack.mitre.org
@Unk9vvN
#ArvanCloud #WAF Bypass
به نظر میرسه سرویس ابری #ArvanCloud فایروال مناسبی در خصوص شناسایی پیلودهای حتی ساده مانند آسیب پذیری #Cross_Site_Scripting را هم رصد نداره, البته سرویس ابرآروان پلن های مختلفی در خصوص سرویس دهی خودش داره که امکان داره در پلن های سطح بالا مکانیزم های #Detection بهتری رو در اختیار مشتریان خودش قرار بده, در هر صوت فعلا با ساده ترین #Obfuscation های پایلودهای جاوا اسکریپتی دور زده شده....!

https://github.com/Bo0oM/WAF-bypass-Cheat-Sheet
@Unk9vvN
#Obfuscation with #Charset_Encoding
محقق ایرانی سروش دلیلی در سال ۲۰۱۶ با رو نمایی از تکنیکی که بر پایه استفاده از کاراکتر ست های متعددی هستش توانست بسیاری از #WAF های قدرتمند را دور بزند, که البته روش استفاده از اینکدینگ های کاراکترستی در هر مدل وبسرور متفاوت است,

لیست برخی از این پشتیبانی ها در تصویر پست مشخص هستش, اما نمونه ای هم در خصوص استفاده از اینکدینگ IBM037:

# Original Request:
POST /sample.aspx?id1=something HTTP/1.1
HOST: victim.com
Content-Type: application/x-www-form-urlencoded; charset=utf-8
Content-Length: 41

id2='union all select * from users--


# Obfuscated Request + URL Encoding:
POST /sample.aspx?%89%84%F1=%A2%96%94%85%A3%88%89%95%87 HTTP/1.1
HOST: victim.com
Content-Type: application/x-www-form-urlencoded; charset=ibm037
Content-Length: 115

%89%84%F2=%7D%A4%95%89%96%95%40%81%93%93%40%A2%85%93%85%83%A3%40%5C%40%86%99%96%94%40%A4%A2%85%99%A2%60%60

https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2017/august/request-encoding-to-bypass-web-application-firewalls/
@Unk9vvN
#JScript OBF #HTA Attack
یکی از رایجترین حملات, استفاده از فایل فرمت های Front-End هستش فایل فرمت هایی مانند sct-hta-js-xml و غیره اما یکی از چالش هایی که در تمام این فایل فرمت ها وجود دارد بحث شناسایی پترنی هستش که در خصوص initialize کردن یک #COM_Object برای اجرای پایلودهای پاورشی ایجاد میشود,

از این روی یکی از تکنیک های جالبی که میتوان استفاده کرد این است که ما مقادیر مربوط به مثلا نام #COM_Object هارا بصورت هگزادسیمال تعریف کرده و پروسه Initialize کردن آنرا بر بستر نام هایی انجام دهیم که بوصورت هگزادسیمال درون یک آرایه ریخته شده و سپس براساس موقعیت قرارگیری آنها در آرایه آنهارا فراخوانی کنیم,

این امر میتواند به بحث شناسایی نشدن پایلود کمک کند و البته اگر بیشتر به این موضوع پرداخته شود میتوان پایلود رو به Evasion شدن ۱۰۰٪ نزدیک نمود....

@Unk9vvN
#VBScript #Macro Attack
گاهی وقت ها نیازی نیست که حتما برای بدست آوردن اطلاعات حساس و مورد نیاز اقدام به گرفتن دسترسی Shell یا سطوح بالاتر باشه,

بلکه نیازه که صرفاء یک کلید رجیستری دوباره باز نویسی بشه, در ماکرو تعریف شده در تصویر که البته بصورت مبهم نوشته شده سناریویی طرح ریزی تغییر HomePage نرم افزار Outlook توسط کلید رجیستری تعریف شده هست , که البته این آسیب پذیری پح شده اما سناریو انجام شده نکات جالبی برای ما دارا هستش,

از دیگر نکات جالب میتوان به روش مبهم سازی کلیدها اشاره کرد که با تابع ()Replace مقادیر ما بین کلیدها یعنی Pipe ها از بین رفته و در نهایت کلید اصلی ساخته میشود, البته باید به این موضوع هم اشاره کرد که نوع عملیات انجام شده توسط ماکرو حساسیت کمتری برای دیوایس های Detection ایجاد میکنه که این هم یک امتیاز مثبی هستش...

https://blog.trendmicro.com/trendlabs-security-intelligence/malicious-macro-hijacks-desktop-shortcuts-to-deliver-backdoor/
@Unk9vvN
#Privilege on #Token_Stealing
یکی از روش های رایج ارتقاء سطح دسترسی در ویندوز سرورهایی که سرویس #ActiveDirectory آنها فعال است, این مورد است که هر کاربر #AD میتواند امتیاز Load کردن درایور داشته و اگر این Policy محدود نشده باشد بتوان با استفاده از یک درایور در جدول EPROCESS یکی از پروسس های دارای توکن سطح SYSTEM را Hijack کرده و خط فرمان cmd را با استفاده از آن Token دزدیده شده با سطح Administator بر روی پروسس مجزا ساخته و اجرا نمود,

ما برای اینکار نیاز داریم که یک فایل در خصوص Enable کردن ویژگی SeLoadDriverPrivilege نوشته و اجرا کنیم که در تصویر پست در سمت چپ همین پردازش دیده میشود, و همچنین نیاز به یک درایور آسیب پذیر هستش که مکانیزم #SMEP را غیرفعال نموده و با استفاده از توابع کرنل پروسه دزدیدن Token را انجام دهد, برای اینکار من از یک درایور پابلیک استفاده کردم که لینک گیتهاب اون رو برای شما در انتها خواهم گذاشت,

نتیجه خلاصه وار ما آن است که اگر Policy های هوشیارانه از سمت هکرهای کلاه سفید در ویندوز سرورها اتخاذ نشود میتواند موردی مخرب باشد.

https://github.com/tandasat/ExploitCapcom
@Unk9vvN
#Return_Oriented_Programming (Win)
تکنیک برنامه نویسی بازگشتی که اشاره به پرش های خانه EIP در سیستم عامل های ۳۲ بیتی و RIP در سیستم عامل های ۶۴ بیتی داره, همواره در تکنیک های اکسپلویت نویسی بسیار مورد استفاده قرار میگیره,

از این روی در خصوص هر سیستم عاملی عملیات فراخوانی توابعه سییستمی یا همان OS API میتونه برای ما متفاوت باشه, برای مثال در خصوص سیستم عامل های ویندوزی تابعی که بسیار مورد استفاده قرار میگیره تابع ()VirtualProtect هستش که مامور کنترل سطح مکانیزم های امنیتی یک فایل فرمت رو دارا هستش,

هکر با استفاده از بازخوانی این تابع پروسسی که برنامه آسیب پذیر دارد رو به حالت Disable در میاورد و با اینکار مکانیزم هایی همچون DEP/NX که مامور مانع شدن اجرای کد در حافظه Stack هستش خاموش خواهد شد, از طرفی دیگه با تنظیم کردن حالت امنیتی پروسس در مقدار 0 میشود مکانیزم هایی مانند #ASLR رو هم خاموش کرد, در نتیجه تمام مکانیزم های #Mitigation در این تکنیک دور زده خواهد شد...

https://www.exploit-db.com/exploits/20116
https://users.suse.com/~krahmer/no-nx.pdf
@Unk9vvN
#Iran #Unpatched Vulnerabiliys
بد نیست یکسری اطلاعات آماری در خصوص آسیب پذیری های پچ نشده و یا Misconfiguration ها, داده بشه تا کمی وضعیت کشور را در خصوص امنیت سایبری بهتر بشناسیم,

1,809,339
پورت باز در کشور وجود دارد,

84
دیوایس صنعتی در شبکه اینترنت دیده میشود,

1,848
دیوایس آسیب پذیر به BlueKeep وجود داره

212
پایگاه داده در شبکه دیده میشود

SMB_Authentication
۲۷٪ سرویس های SMB در کشور وضعیت احراز آنها غیرفعال است

518
دیوایس آسیب پذیر به Heartbleed وجود داره

176
دیوایس به آسیب پذیری EternalBlue وجود داره

و اما بالاترین آسیب پذیری دیده شده باگ Apache HTTPD: Weak Digest auth nonce generation هستش که موجب رخداد حملات Replay Attack و دور زدن احراز هویت این وبسرور را خواهد داشت, حالا اهمیت Public کردن تست نفوذ برخی از این آسیب پذیری های گذارش شده بهتر درک خواهد شد,

@Unk9vvN
#Stealing_Instagram
در گزارش شرکت Terndmicro در سال ۲۰۱۹ موردی نظرم رو جلب کرد, آنهم دزدیدن اطلاعات حساب ۷۰,۰۰۰ کاربر شبکه اجتماعی اینستاگرام بود,

روش بکار برده شده همونطور که در تصویر هم مشاهده میکنید پیاده سازی Mail-Phishing در ابعاد وسیع و هوشمند بوده که با یک مهندسی اجتماعی در قالب Verify کردن اکانت به کاربران ارسال میشده که در جریان این Verify اطلاعات حساب در مرحله اول و در صورت داشتن Authentication Two احراز آن و اکسس به اکانت,

اما دو نکته جالب ایمیل قربانیان چگونه Crawl میشده ؟ به گفته این شرکت با فالوو کردن قربانی و Share بودن پل ارتباطی Email از طرف قربانیان, اما نکته دوم اینکه در سالهای اخیر همین سناریو در سبک Spearing در ابراز #AndTroj کد زده شده بود که البته به دلایلی نسخه تکمیل شده در Github بروز نشد.

https://blog.trendmicro.com/trendlabs-security-intelligence/how-a-hacking-group-is-stealing-popular-instagram-profiles/
@Unk9vvN
#RedTeam #Assessments
در خصوص تیم قرمز بارها بصورت نکته ای صحبت کردیم اما در این پست کمی دقیقتر به ماهیت تخصصی این تیم میپردازیم, تیم قرمز از یک لایف استایل اشتراکی بهره میبره که در تمامی شرکت ها یک تعریف کلی داره, که آنهارا ذکر میکنم,

#0x1 Recon
#0x2 Inital Compromise
#0x3 Establish Persistence
#0x4 Escalate Privileges
#0x5 Internal Recon
#0x6 Lateral Movement
#0x7 Data Analysis
#0x8 Exfiltrate and Complete Mission

در خصوص تمامی این مراحل میتوان ساعت ها صحبت کرد اما نکته ای که بسیار مهم است ذکر شود این است که تیم های قرمز دقیقا به سبک تیم های #APTs عمل میکنند و تمام تلاش تیم قرمز بر آن است که تمامی پروسه ۰ تا ۱۰۰ نفوذ را با استفاده از روش های نوین خود پیاده سازی کند, میتوانید عملکرد تیم های #APTs رو با استایل تیم قرمز مقایسه کنید.


https://github.com/Cyb3rWard0g/Invoke-ATTACKAPI/raw/master/examples/ATTACK_Attribution.xlsx
https://github.com/Cyb3rWard0g/Invoke-ATTACKAPI/raw/master/examples/ATTACK_ALL.xlsx
@Unk9vvN
#ICS_Security_Levels
شرکت Dragos در شرح استراتژی امنیتی خود در شبکه و سیستم های صنعتی, پرده از دیوایس های سخت افزاری Detection خود برداشت,

همونطور که در تصویر مشاهده میکنید در قدم اول سنسورهایی در کنار ترافیک های رد و بدل شده میانه دیوایس های PLC و RTU وجود داره که مامور محافظت از پردازش های Physical هستش , در مرحله دوم یکسری Midpoint دیده میشه که در میان ارتباطات شبکه ای PLC ها و مرکز کنترل آنها یعنی SCADA قرار داره , کار این Midpoint شبیه به فایروال های ASA شرکت Cisco هستش, یعنی عمکرد آن محدود به بستن رول ها نمیشه و در امر رصد ترافیک های #Signature شده ی خطرناک و هم عملیات #Set_Patterning رو هم پوشش میده,

اما بعد از مرحله سوم ما پیاده سازی Operations های SOC و لاگر SIEM رو داریم که باقی عملیات کنترل و بررسی حوادث سایبری رو مانیتور خواهد کرد,

https://dragos.com/wp-content/uploads/Dragos_Platform_TCO_Data_Sheet.pdf
@Unk9vvN
#XMLRPC #Wordpress Attacks
در خصوص سرویس #XMLRPC قبلا صحبت ها زیاد کردیم اما جالبه که بدونید در ساختار آرایه های XML بیس تنها احراز هویت نمیتوان انجام داد بلکه حملات DOS و DdoS هم میتوان پیاده سازی کرد به واسطه تکنیک هایی مانند Bilion laughs Attack که به بمب XML معروف هستش, نحوه عملکرد این سبک آسیب پذیری ها به این گونه هستش که ارجای متعدد به متغییر های Invalid صورت میگیره و سرور درگیر پردازش آنها شده و دیگه منابعه سخت افزاری برای خود CMS وجود نخواهد داشت و به همین واسطه عملا از کار می افتد,

چندی پیش از این دست حملات به سایت unk9vvn.com صورت گرفت که با Limitation کردن پالیسی های سرویس XMLRPC خنثی شد, نتیجه آنکه Content های XML بیس میتواند بستر خوبی برای همه نوع حمله باشد از XXE گرفته تا Bilion laughs attack و Bruteforce, این سرویس را کاملا ایمن سازی کنید اگر از CMS محبوب Wordpress استفاده میکنید...

https://gist.githubusercontent.com/filmgirl/db07f49437580e27ae26/raw/7e7d3997fc03ba88376e8c3a791234833351747d/Test
https://en.wikipedia.org/wiki/Billion_laughs_attack
@Unk9vvN
#Double_Free Vulnerability (Whatsapp)
توضیح اجمالی, آسیب پذیری Double Free در برنامه Whatsapp

اول آنکه WhatsApp Gallery در برنامه Whatsapp بطور انحصاری عمل میکنه و نه به واسطه برنامه های گالری خود اندروید, به همین خاطر پارسری در خصوص فایل فرمت Gif طراحی شده که آسیب پذیری در همین پارسر قرار داره, نوع آسیب پذیری Double_Free هستش که به معنیه آزادسازی دوباره یک حافظه هیپ هستش,

هکر با بررسی کتابخانه متوجه میشه که پارسر تحت برقراری سه شرط میتونه سه بار re-allocation انجام بده , و به واسطه همین سه بار re-allocation یک حافظه را رزرو و دو بار بعد آزادش کنه, مشکل این فضیه اینجاس که اگر مقدار re-allocation فایل فرمت در بار اول ۱۰۰ و دوبار بعدی ۰ باشه , اشارگر کرنل در خصوص مدیریت حافظه هیپ در سیستم عامل های لینوکس بیس یعنی ()brk به همون آدرس قبلی که پارسر اشاره کرده بوده اشاره میکنه,

خب همین موضوع موجب کنترل حافظه به دست هکر میشه و طبیعا هم هکر اول مکانیزم های Mitigation رو بایپس و سپس RCE خودش رو انجام میده...

https://github.com/koral--/android-gif-drawable/tree/dev/android-gif-drawable/src/main/c
@Unk9vvN
#Type_Juggling #Vulnerability
آیا در خصوص آسیب پذیری Type Juggling یا دستکاری نوع داده چیزی شنیده اید؟

همونطور که میدونید در PHP بصورت کلی نوع داده ها به سه دسته String و Number که شامل int و float و نوع سوم یعنی Boolean ها که به دو خروجی True و False تاکید داره, آسیب پذیری دستکاری نوع داده اونجایی خودنمایی میکنه که مثلا در Condition ها بجای استفاده از مقایسه یا Comparisons strict (===) از Comparisons loose (==) استفاده میشه,

این بدین معنیه که شرط هایی که برنامه نویسان به واسطه loose طراحی کردند رو با منطقی که در تصویر مقایسه ای loose Comparisons نشون داده شده میشه تغییر داد,برای مثال:

▪️TRUE: "0000" == int(0)
▪️TRUE: "0e12" == int(0)
▪️TRUE: "1abc" == int(1)
▪️TRUE: "0abc" == int(0)
▪️TRUE: "abc" == int(0) // !!

شرط های بالارو اگر بررسی دقیق کنید متوجه میشوید که تناقضی در ارسال پاسخ True در شرط های بالا دیده میشه که توضیح اون رو میسپارم به خودتون...

https://medium.com/swlh/php-type-juggling-vulnerabilities-3e28c4ed5c09
@Unk9vvN
This media is not supported in your browser
VIEW IN TELEGRAM
#SpiderMonkey #Exploitation
ساله پیش بود که یک محقق, از آسیب پذیری کشف شده خودش بر بستر موتور پردازشی #JIT مرورگر فایرفاکس که با نام #SpiderMonkey شناخته میشه پرده برداری کرد که این آسیب پذیری در جریان مسابقات #Blaze_CTF_2018 اکسپلویت شده بود,

About Researcher: Peter_Kosyh

نوع آسیب پذیری رخداده شده out of bounds memory بوده که به موجب اون هکر توانسته از دایره Control Flow پردازنده خارج و به مکان مورد نظر خودش Return انجام بده , که خب همین موضوع باعث پیاده سازی پایلود RCE شده و امکان اینو پیدا میکنه که بر روی سیستم عامل قربانی RCE زده و دسترسی حاصل کنه, جالبه که بدونید هکر مکانیزم #CFG رو هم در سیستم عامل ویندوز ۱۰ با نگارش RS5_64_bit دور زده است,

دنیای سایبری میتونه هر قربانی رو تنها با باز کردن یک لینک قورت بده, حملاتی در این سطح نیازمند کار مطالعاتی بعضا ۱۰ ساله رو هستند، این نکته رو برای عزیزانی ذکر کردم که علوم سایبری را در چند آسیب پذیری وب بیس خلاصه میکنند...

https://doar-e.github.io/blog/2018/11/19/introduction-to-spidermonkey-exploitation/
@Unk9vvN
#Al_Khaser #Debugger #Sandboxe #VM_Detection
در بسیاری از مواقعه باج افزارها یا جاسوس افزارها برای Detect نشدن از تکنیک هایی استفاده میکنند, که البته در جریان پیاده سازی این تکنیک ها از API و Struct هایی در سیستم عامل استفاده میکنند که خب یک تحلیلگر بدافزار میتواند با بررسی استفاده این توابع یا ساختارها, تکنیک های مورد استفاده بدافزارهارا شناسایی کنند,

برای نمونه اگر یک باج افزار از تکنیک INT3 یا BreakPoint سخت افزاری برای Debug نشدن استفاده کند , برنامه Al-Khaser میتواند استفاده از این موارد رو شناسایی و Detect کند, البته دایره کارکرد و رصد این برنامه موارد بسیاریست که من در متن زیر ذکر میکنم براتون,

#AntiAnalysis
#AntiDebug
#AntiDisassm
#AntiDump
#AntiVM
#CodeInjection
#OfficeMacro
#Shared
#TimingAttacks

توجه کنید که برنامه رو میبایست خودتون با Virtual Studio کامپایل کنید.

https://github.com/LordNoteworthy/al-khaser
@Unk9vvN
#Race_Condition on #UAF (msm video driver)
در کلیه محصولات Qualcomm در سیستم عامل های اندروید, یک آسیب پذیری از نوع Race Condition یا شرایط رقابتی وجود داره که البته محل رخداد این آسیب پذیری هم درایور مربوط به تفسیر کننده فایل فرمت های تصویری هستش,

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

در تصویر پست به وضوح ایجاد دو Object از تابع pthread_t مشاهده میشه که در توابع pthread_create رفرنس داده شده تا دو thread ایجاد شده در یک متغییر, که از نوع عددی هستش ریخته میشود, حال دریک حلقه while ۲۰۰ بار با اجرای یک ثانیه ای تابع sleep آغاز میشه که در نهایت با استفاده از تابع pthread_join اجرا میشود,

به این نکته هم دقت کنید که دو Object ایجاد شده در درون دو تابع همسان یعنی pthread_create رفرنس شده که هردو در یک متغییر هستند, دقیقا همین نکته هستش که موجب رخداد RC شده برای رایت مقادیر ناخواسته...

https://issuetracker.google.com/issues/37130852
@Unk9vvN