#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
#Mini_Sn1per
همونطور که میدونید ابزار Sn1per یک ابزار اتوماتیک در خصوص جمع آوری اطلاعات و تست برخی آسیب پذیری هاست, اما نکته بد این ابزار آنجایست که نسخه اصلی و کارآمد آن بصورت Private License هستش و متخصصین ایرانی امکان خرید مستقیم این محصول رو ندارند, به همین منظور ما یک مینی Sn1per نوشتیم که میتونه کارآمدی خوبی رو براتون به ارمغان بیاره,

root@unk9vvn:~# TARGET=(WEBSITE)
root@unk9vvn:~# whois $TARGET;host -t txt $TARGET;host -t ns $TARGET;host -t a $TARGET;host -t mx $TARGET;host -a $TARGET;whatweb $TARGET;wafw00f $TARGET;lbd $TARGET;uniscan -u $TARGET -qweds;nikto -url $TARGET -evasion 1;golismero scan $TARGET;skipfish -o report $TARGET;dmitry -w -i $TARGET -n -s -e -p -f -b;amap -bqv $TARGET 80;hping3 --scan 1-6200 -S $TARGET;snmpcheck -t $TARGET -c public;fierce -dns $TARGET;nbtscan $TARGET-255;urlcrazy -p $TARGET;dnsenum $TARGET;dnsmap $TARGET;dnsrecon -t std -d $TARGET;dnsrecon -d $TARGET;enum4linux -a $TARGET;scanless -a -s -t $TARGET;xprobe2 -v $TARGET

@Unk9vvN
#PHP_Shell #Obfuscation
یکی از راه حل های همیشگی این مسائل مبهم سازی #Shell هستش, یکی از راه های بسیار جالب مبهم سازی بر بستر زبان #PHP استفاده از پیوست کاراکتری هستش که البته بصورت مستیم نباید انجام بشه, قبل از توضیح کامل دو نکته را به یاد داشته باشید مقدار [] معادل Array میباشد میتوید با دستور زیر خودتان تست کنید,

root@unk9vvn:~# php -r "echo ''.[];"
PHP Notice: Array to string conversion in Command line code on line 1
Arrayroot@unk9vvn:~#

نکته دوم, در تصویر پست به این گونه عمل شده که اول رشته Array را درون متغییرهای پویا ریخته و سپس مقدار 0 رو با استفاده از تکنیک '@'=='!' که چون شرط صحیح درخواهد آمد بدست آوردیم, در مراحل بعدی شروع به پیمایش کاراکتر اول Array که خانه 0 هستش کردیم که معادل حرف A هستش این پیمایش به قدری انجام میشود که به کاراکتر مورد نظر ما برسد, و بدین ترتیب همانطور که در انتهای کد میبینید رشته ()ASSERT و [_]POST_$ را ساخته تا از ویژگی تابع ()ASSERT به عنوان شل استفاده کنیم.

https://gist.github.com/unk9vvn/4d6da81db718e0c9dc65f202480da9f1
@Unk9vvN
#Json_RCE on #NC_Shell
در برخی آسیب پذیری هایی که بر بستر application/json گاها دیده شده که پارامترهایی در خصوص خط فرمان هم تعریف شده که خب اگر درست فیلتر نشده باشه آسیب پذیری RCE رخ خواهد داد, اما نکته جذاب این پست کجاست؟ آنجا که ما با استفاده از این سبک RCE ها نشان میدیم که چگونه میشود دسترسی NC را حتی در سرورهایی که بسیار محدود شدن حاصل کرد,

قدم اول دریافت BackConnect پایتونی است که من در تصویر پست آدرش رو مشخص کردم دوم تعریف java.lang.Runtime در فایلی به نام r.vm که در Request تعریف شده, قراره از روی پورت 2121 خوانده بشه, و به واسطه خواندن exec فعال برای خواندن پارامتر آسیب پذیر command میشه,که دستور bash از روی TCP فایل back.py را از پورت Ngrok دانلود و در ادامه به اجرا در میاره, اسکریپت back.py به ما دسترسی bin/sh/ رو به پورت دوم NC ما ارسال خواهد کرد که روی 4444 قرار داره, اما یک نکته پارامتر _template مقدار r.vm مارو دریافت و cache میکته, نکته بعدی برای لیست کردن سرویس FTP آز کتابخونه pyftpdlib که استفاده شده, نکته آخر بجای wget از خود TCP برای دریافت فایل back.py استفاده شده...

@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
#Fodhelper for #UAC_Bypass
در سیستم عامل ویندوز ۱۰ امکان داره مکانیزم UACجلوی پیاده سازی برخی کارهای شمارو در فریمورک Metasploit بگیره, که مثلا شما قادر به انجام Migrate Process نباشید, که یکی از رایج ترین روش ها برای باز کردن Privilege سطح ادمین برای Thread دسترسی هستش,

برای دور زدن مکانیزم UAC همیشه راه هایی در سطح اینترنت ارائه میشه, که %90 اونها با استفاده از فعال کردن یک Service در خود سیستم عامل هستش که سطح دسترسی Administator رو از سیستم میگیره, خب اینبار این سرویس ما فایلی با نام fodhelper هستش که به گفته محقق مربوطه دارای سطح ادمین در مواقعی هستش که کاربر فعال ادمین هستش و مکانیزم UAC هم فعاله, اینجا محقق اشاره داره که این سرویس در آنالیزی که روی عملکردش شده با استفاده از ابزار ProcMon متوجه ReqQuery هایی شده که با Value که در تصویر میبینید زده, منظورم قسمت Open\command هستش,خب همین مورد بسیار مناسب برای اشاره به خط فرمان سیستمی یعنی

System32\cmd.exe

هستش که سرویس ما اون رو با سطح ادمین یاز خواهد کرد.


https://github.com/winscripting/UAC-bypass/blob/master/FodhelperBypass.ps1
@Unk9vvN
#Recon_Internal
گاهی اوقات نیاز هستش که بصورت مستقیم با Syntax خط فرمان ویندوز اطلاعات مورد نیاز خودمون رو از سیستم عامل استخراج کنیم , این امور معمولا با استفاده از Post Exploitation های فریمورک هایی مانند Metasploit صورت میگیره, اما چون در بسیاری از مواقع این PostEXP ها Signature شدند و به محض استفاده Access لو خواهد رفت , هکر ترجیه میده که از Query های خودش استفاده کنه برای استخراج اطلاعات یا Recon کردن سیستم عامل, مثال:

C:\Users\unk9vvn>whoami & hostname & ipconfig /all & net user /domain 2>&1 & net group /domain 2>&1 & net group "domain admins" /domain 2>&1 & net group "Exchange Trusted Subsystem" /domain 2>&1 & net accounts /domain 2>&1 & net user 2>&1 & net localgroup administrators 2>&1 & netstat -an 2>&1 & tasklist 2>&1 & sc query 2>&1 & systeminfo 2>&1 & reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Default" 2>&1

@Unk9vvN
This media is not supported in your browser
VIEW IN TELEGRAM
#InterPlanetary #CnC
استفاده از پروتکل #IPFS که بر بستر وب کار کرده و امکان به اشتراک گذاری هرگونه فایل و فرمتی را به کاربران خود میدهد, بستر مناسبی برای سوءاستفاده در خصوص طراحی CnC هاییست کمتر در معرض #Detect و شناسایی شدن هستند,

خاصیت p2p بودن این پروتکل این امکان رو برای هر شخصی داده که بتواند از بستر سیستم عامل خود اقدام به استفاده و تبادل اطلاعات با هر شخص دیگری بر بستر اینترنت کند,برای اولین بار سوءاستفاده از این پروتکل در سال 2018 بود به منظور استفاده در صفحات فشینیگ ,اما در سالهای اخیر موارد بیشتر گزارش شده چرا که هکرها از #IPFS به جای استفاده از وبسایت های آزاد در خصوص اشتراک گذاری فایل های متنی و غیره مانند PasteBin میتوان از #IPFS استفاده کرد,

# Open terminal
root@unk9vvn:~# wget https://dist.ipfs.io/go-ipfs/v0.4.23/go-ipfs_v0.4.23_linux-amd64.tar.gz;tar -zxvf go-ipfs_v0.4.23_linux-amd64.tar.gz;cd go-ipfs/;./install.sh;cd ;mkdir files;cd files;echo 'Get-Process' > test.ps1;cd ;ipfs init;ipfs daemon

# Open new tab
root@unk9vvn:~# cd files;ipfs add test.ps1

https://ipfs.io
@Unk9vvN
#LFI2RCE on #Metasploit
تا به حال با آسیب پذیری #Local_File_Inclusion رو به رو شده اید؟ یکی از چالش های این آسیب پذیری این است که فقط میتواند فایل های یک سرور را با آن خواند,

البته ما در پست های کانال های خصوصی چندین روش در خصوص گرفتن دسترسی با استفاده از کد سمت سرور به فایل های لاگ سرور قربانی و با صدا و دادن پارامتر به آن تشریح کرده ایم, اما آن روش ها منوط به شرط هاییست,

در این میان استفاده از اکسپلویت #php_include فریمورک #Metasploit میتونه با تمامی آن شرایط ها پایلود ریزی خودش رو انجام بده مانند تصویر پست,

https://www.offensive-security.com/metasploit-unleashed/php-meterpreter/
@Unk9vvN
#Kernel_Land #Privilege #Shellcode (Win7)
یکی از روش های ایجاد یک پروسس با سطح دسترسی SYSTEM در سیستم عامل ویندوز ۷ اینه که با استفاده از explore کردن KPRC یا Kernel Processor Control بیایم و ProcbData رو که موقعیتش در ntdll!_KPCR+0x120 هست رو پیمایش کنیم و در موقعیت ProcbData+0x004 مقدار CurrentThread رو بدست بیاریم,

mov eax, [fs:eax + 0x124]

در مرحله بعد از ساختار _KTHREAD مقدار ApcState که در موقعیت +0x040 قرار داره رو هم بدست آورده و explore کنیم, در جریان explore کردن _KAPC_STATE در موقعیت +0x010 ما مقدار کرنل پروسس رو میتونیم در EAX برای ۳۲ بیت و RAX در ۶۴ بیت ذخیره کنیم,

mov eax, [eax + 0x50]

در مرحله بعد میبایست UniqueProcessId مربوط به پروسسی که میخوایم ارتقاء بدیم رو با استفاده از تابع PsGetCurrentProcess بدست بیاریم, در نهایت هم از ساختمان EPROCESS میبایست موقعتی که توکن ها در آنها لحاظ میشوند رو بدست آورده و با استفاده از Flink که مربوط به اشاره گر پروسس قبل و بعد است رو بکار گرفته و یک توکن سیستمی رو پیدا و با توکن CurrentThread خودمون جا به جا کنیم...

@Unk9vvN
This media is not supported in your browser
VIEW IN TELEGRAM
#PatchGuard Mitigation
در این دمو نشان داده میشه که چطور روتکیت هایی که با استفاده از باز تعریف ساختارهایی مانند EPROCESS اقدام به مخفی کردن یک پروسس مخرب میکنند شناخته و جلوی آنها گرفته میشود,

مقاله ای در این رابطه...

https://i.blackhat.com/us-18/Thu-August-9/us-18-Desimone-Kernel-Mode-Threats-and-Practical-Defenses.pdf


@Unk9vvN