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
#XXE #OOB #AdvancedTechnique #BugBounty #Tip
یکی از آسیب پذیری های مورد علاقم که قبلا هم گفتم XXE.
یکی از تکنیک هایی که در XXE داریم تکنیک های OOB هست. اما این تکنیک به چه درد میخوره؟ وقتی شما XXE رو اکسپلویت میکنید ممکنه خروجی به شما نشون داده نشه یا فرضا ;xxe& که نوشتید رو مستقیم به خودتون نشون میده به جای پاسخ. اما آیا این صددرصد امن شده؟ در این حالت از تکنیک های OOB استفاده میکنیم و به جایی اینکه خروجی رو مستقیما ببینیم با ارسال پاسخ ها به سمت سرور مهاجم خروجی رو مشاهده میکنیم. کل ایده OOB در XXE برای همین هست که وقتی خروجی دیده نمیشه شما پاسخ هارو به سمت سرور مهاجم ارسال کنید و مشاهده کنید.
تو مقاله زیر از PortSwigger میتونید بیشتر مطالعه کنید:

https://portswigger.net/web-security/xxe/blind
@securation
This media is not supported in your browser
VIEW IN TELEGRAM
آسیب‌پذیری جدید پروتکل RDP با نام BlueGate که میتواند منجر به DoS و RCE گردد.

لینک اسکنر و DoS در گیتهاب:
https://github.com/ollypwn/BlueGate

لینک Exploit-DB:
https://www.exploit-db.com/exploits/47964

@securation
#BugBounty #HTTP #tip #token #leak
تو این مقاله راجب referrer header در پکت http توضیح داده میشه و اینکه چطوری طرف تونسته با استفاده از این هدر بفهمه که توکن بازیابی رمز عبور نشت (leak) داشته.
کل ماجرا اینه که توکن بازیابی رمز عبور که در URL قرار داشته در هدر referrer قرار میگرفته و وقتی کاربر رو هر لینکی اگر کلیک میکرده، توکن هم به اون لینک جدید ارسال میشده.

https://medium.com/@shahjerry33/password-reset-token-leak-via-referrer-2e622500c2c
@securation
یکی از قابلیت های HTML5 قابلیتی با نام CDM یا Cross Domain Messaging هست که به شما اجازه میده یکسری از دیتاها رو بین دامین های مختلف انتقال بدید
تو عکس همراه با این پست یه توضیح کوتاه و نحوه کد زدنش هست.
اما بحث اصلی چیه؟ ۲ تا آسیب پذیری مختلف میتونه همراه با این قابلیت بوجود بیاد.
۱)وقتی شما دارید یک postMessage انجام میدید اگر مقدار دامینی که قراره بهش دیتا ارسال بشه رو برابر با * بزارید میتونه باعث لو رفتن داده های حساس بشه و اتکر داده های کاربر رو بخونه.
۲) و اما دومین مورد اینه که اگر هنگام دریافت دیتا هر دیتایی رو برنامه نویس قبول کنه و به اصطلاح Sanitize انجام نده میتونه باعث XSS بشه.
اگر علاقه‌مند هستید میتونید تو لینک زیر هم بیشتر راجبش بخونید.

https://www.gracefulsecurity.com/html5-cross-domain-messaging-postmessage-vulnerabilities
@securation
#csrf #csrfToken #tip #BugBounty #Bypass

یکی از راهکار های جلوگیری از حملات CSRF استفاده از CSRF Token هست. اما پیاده سازی درست CSRF Token خودش چالشی جالب داره که عدم پیاده سازی صحیحش میتونه منجر به بایپس اون بشه.
در عکس ۴ مورد از مشکلاتی که ممکنه در پیاده سازیش بوجود بیاد نوشته شده که خلاصه به صورت فارسیش میشه این:

1) اگر توکن کاربر دوم برای کاربر اول معتبر باشه
2) اگر مقدار CSRF Token خالی ارسال بشه
3) یه مقدار با طول ثابتی که CSRF Token داره به صورت رندوم با مقداری دیگه جایگزین بشه
4) اگر CSRF Token برای تمامی کاربران یکسان باشه

و البته مورد دیگری که در عکس نیست و به عنوان مورد اضافی بخوام بگم داشتن Entropy پایین میتونه منجر به حدس CSRF Token بشه و راحت اکسپلویت شه. Entropy رو میتونید با Sequencer در Burp Suite به راحتی Analyze کنید. هر چی مقدار Entropy کمتر باشه، مقدار توکن قابلیت حدس بالاتری داره.
@securation
نسخه جدید Burp suite یعنی 2020 دیشب ریلیز شد. صفحه دانلود و تغییرات 👇
برخی تغییرات:
رنگی شدن سینتکس مختص به هر زبان
شماره گذاری خطوط
اضافه شدن رنگ سینتکس های js و json و css
بهتر شدن UI برنامه
برخی باگ های برنامه هم رفع شدن

https://portswigger.net/burp/releases/professional-community-2020-1
@securation
یکی از مفاهیم مهم در حوزه‌ی وب، CORS هست. در کل دو نوع درخواست CORS داریم که به نام های Simple Requests و Pre-flight Requests مشهور هستند.
به طور خلاصه به درخواست هایی که به صورت عادی و با رعایت White List از پیش تعیین شده ارسال میشه Simple Requests گفته میشه و اگر قوانین مربوطه رعایت نشه یک درخواست Pre-Flight توسط مرورگر ارسال میشه و سپس درخواست اصلی صورت میگیره.
مقاله زیر رو پیشنهاد میکنم بخونید:
https://dev.to/effingkay/cors-preflighted-requests--options-method-3024

@securation
یه ویدیو از STOK که چند تا ابزار و دستور از BASH معرفی میکنه که میتونه برای باگ هانتر ها و ردتیم ها خیلی مفید باشه. همچنین ترفند های VIM که میزنه بی نظیره.
لیستی از دستورات و ابزار های مورد استفاده:
- assetfinder (subdomain enumeration)
- httprobe (alive subdomains and hosts enumeration)
- tee
- meg
- ...

https://www.youtube.com/watch?v=l8iXMgk2nnY
@securation
RedTeam-Checklist.pdf
35 KB
#RedTeam #Checklist
یک چک لیست برای Red Team ها که در سه گام کلی Planning, Execution و Culmination با زیر شاخه‌های ذی‌ربط ارائه گردیده است که می‌تواند برای افراد فعال و علاقه‌مند به حوزه RedTeam خیلی مفید واقع شود.
@securation
#HBH #HTTP #Headers
یکی از آسیب‌پذیری های خیلی خفنی که باهاش حال کردم و سال ۲۰۱۹ کشف شد آسیب‌پذیری Abusing HBH Request Headers بود. مقاله‌ی زیر یه توضیح کامل ازش هست اما به طور خلاصه آسیب‌پذیری مذکور برای اینه که شما بتونید Header های پکت HTTP رو با استفاده از اضافه کردن نام هدر به مقدار Connection تو پکت HTTP، حذف کنید.
حتما مقاله‌ی زیر رو برای توضیحات بیشتر بخونید خیلی قشنگه.

https://nathandavison.com/blog/abusing-http-hop-by-hop-request-headers
@securation
#python #secure_coding #coding #code
اگر با کتابخونه subprocess در پایتون کار کرده باشید حتما قطعه کد مقابل رو دیدید:
import subprocess
print(subprocess.call('echo $HOME', shell=True))


از لحاظ امنیتی این کد مشکل داره؟
جواب: بله!
اما چرا؟ وقتی شما مقدار shell رو برابر با True قرار بدید subprocess شِل رو در اختیار میگیره و به Shell میگه دستور رو اجرا کن (subshell). در واقع یعنی تمامی متغیر های محیطی (Variables) و تمامی ویژگی‌های شل، قبل از اجرای دستور echo $HOME، پردازش میشوند.
یه مثال برای اینکه خودتون به چشم ببینید خروجی رو میتونید اجرا کنید:
>>> import subprocess
>>> subprocess.call('echo $HOME')
Traceback (most recent call last):
...
OSError: [Errno 2] No such file or directory
>>>
>>> subprocess.call('echo $HOME', shell=True)
/user/invoxes

@securation
#tip #osint #metadata
یکی از نکات حائز اهمیت اینه وقتی دارید جمع‌آوری اطلاعات یا OSINT انجام میدید به اشتباه Metadata هارو حذف نکنید.
عکسی که مشاهده میکنید دانلود یک فایل یکسان با wget و firefox هست که در یک روز دانلود شده. فایلی که با wget گرفته شده تاریخ آپلود اون فایل روی سرور یا تاریخ ساخت فایل بوده (بستگی به این داره سرور متادیتا فایل رو دستکاری کرده باشه یا خیر) و فایل دانلود شده با firefox، تاریخ دانلود توسط کاربر یعنی امروز زده شده.
@securation
#iframe #injection #openredirect
صددرصد تا حالا با آسیب‌پذیری Iframe Injection آشنا شدید، اما به جز فیشینگ و بارگزاری صرفا یک صفحه‌ی دیگه چه کار دیگه ای میشه انجام داد؟ Open Redirect.
کافیه یک فایل html ایجاد کنید و قطعه کد جاوااسکریپتی مانند زیر در آن نوشته و ذخیره کنید: (فرضا poc.html)
<body>
<noscript>
top.window.location = "https://attacker.site";
</noscript>
</body>
حالا کافیه تو iframe وب‌سایت قربانی آدرس فایلتون رو تزریق کنید مانند:
<iframe src="http://attackingserver.site/poc.html">
حالا با باز نمودن وب‌سایت آسیب‌پذیر، کاربر به سمت https://attacker.site که در اسکریپت poc.html نوشته شده بود، انتقال می‌یابد.
نکته: دقت داشته باشید هنگام هاستینگ poc.html مقدار X-Frame-Options در وب‌سرور شما (مهاجم) تنظیم نشده باشد. تو عکس بالا من به صورت موقت هدر X-Frame-Options رو به X-Frame-Optio تغییر نام دادم. علت اینکار اجازه‌ی ساخت iframe از سایت شما توسط وب‌سایت آسیب‌پذیر می‌باشد.
@securation
15-redis-post-exploitation.pdf
1.2 MB
یک اسلاید خیلی خوب جهت Post Exploitation در Redis. البته از اونجایی که امنیت خیلی از پایگاه داده‌های Redis در محیط‌های عملیاتی به خوبی پیاده سازی شده و حتی Authentication ندارند، میشه گفت اسلاید بیشتر Exploitation هست تا Post-Exploitation.
تو اسلاید از معماری و تحلیل پروتکل گفته شده تا RCE.
پیشنهاد میکنم یک نگاهی بهش بندازید.
همچنین دو تا ابزار در گیتهاب که برای RCE در Redis هست که احتمالا بدردتون خواهد خورد.

https://github.com/n0b0dyCN/redis-rogue-server
https://github.com/Ridter/redis-rce
@securation
#IoT #Analyzer #C #SourceCodeAnalysis #Automation
یکی از نکات مهم در هنگام تست نفوذ و آنالیز، صرفه جویی در وقت هست.
یکی از ابزار‌های خوب و قدرتمند جهت کشف آسیب‌پذیری های مرتبط با BOF و Integer Overflow و ... ابزار flawfinder می‌باشد که با تحلیل کد این کار رو به سادگی برای ما انجام میده. اما با کمی دانش بش اسکریپتینگ میشه این فرآیند رو برای تمامی فایل‌های سی به صورت خودکار انجام داد.
این ابزار میتونه برای تحلیل کد های سی در نرم‌افزار‌ها و سورس Firmware های IoT خیلی کاربردی باشه. همچنین این ابزار پشتیبانی کامل از CWE رو داره.
اسکریپت:
find . -regex ".*\.c$" | while read c_file; do echo "\n############$c_file############";flawfinder $c_file | egrep -i "\(port\)|\(buffer\)|\(shell\)|\(integer\)|Hits = "; done

لینک گیتهاب:
https://github.com/david-a-wheeler/flawfinder
نصب:
https://github.com/david-a-wheeler/flawfinder/blob/master/INSTALL.md

@securation
تو یه گروهی بودم که یکی از دوستان از این تبلیغات‌های ناگهانی که تلگرام‌های غیررسمی میفرستن رو فرستاد با شعار دور زدن فیلترینگ. منم دیدم فرصت خوبیه تا یه نگاهی بندازم ببینم اپلیکیشن چیکار میکنه. عکسی که فرستادم رو مشاهده کنید.
سمت راست تلگرام رسمیه و سمت چپ تلگرام غیر رسمی که ایشون داشت.
چند تا چیز جالب داشت این برنامه که با هم ببینیم.
یکی اینکه تمامی فایل های تلگرام اصلی داخل تلگرام غیر رسمی هم وجود داشت یعنی طرف اومده فقط جاسوس افزارش رو اضافه کرده به فایل های تلگرام اصلی و تمام دسترسی هارو از برنامه اصلی گرفته و به پکیج خودش که تو ترمینال سمت راست یه نمونش که grep کردم تو diff مشخصه اضافه کرده. 😉
سمت چپ یه سری کد نوشته طرف که میاد چک میکنه ببینه اون برنامه ها رو گوشی نصبه یا نه!!! خیلی وقت نذاشتم ببینم چرا همچین کاری میکنه ولی مسلما دلیل خوبی نمیتونه داشته باشه :)
تو لیست سمت چپ سابلایم هم مشخصه همه چی که چه فایل هایی جدید اضافه شده.
این تلگرام غیر رسمی هم که فرستاده صرفا داره از سایفون استفاده میکنه برای دور زدن فیلترینگ 😂
@securation
Security Analysis
تو یه گروهی بودم که یکی از دوستان از این تبلیغات‌های ناگهانی که تلگرام‌های غیررسمی میفرستن رو فرستاد با شعار دور زدن فیلترینگ. منم دیدم فرصت خوبیه تا یه نگاهی بندازم ببینم اپلیکیشن چیکار میکنه. عکسی که فرستادم رو مشاهده کنید. سمت راست تلگرام رسمیه و سمت چپ…
لیست دستورات و کار‌های انجام شده:
دیکامپایل کردن APK:
- Jadx (jadx app.apk -o ~/Desktop/jadx-out)
مقایسه فایل Manifest با تلگرام اصلی:
- diff resources/AndroidManifest.xml ../jadx-out/resources/AndroidManifest.xml
پیدا کردن آیپی های موجود در برنامه:
- grep -HnroE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"
پیدا کردن URL های موجود در برنامه:
- grep -riE "http://|https://|ahr0"
لیست کردن سورس های جدید اضافه شده به برنامه و بررسی دستی آنها.

@securation