محققای Hudson Rock ، یه گزارشی منتشر کردن و احتمال دادن که هک اسنپ فود ، از طریق داده های جمع آوری شده توسط یه بدافزار بنام Stealc انجام شده. در این پست نگاهی به این گزارش و آنالیز بدافزار Stealc انداختیم.
شرکت اسرائیلی Hudson Rock که در زمینه Cybercrime intelligence فعالیت داره، اعتبارنامه های هک شده توسط بازیگران تهدید رو رصد میکنه و اونا در یه پلتفرم بنام Cavalier قرار میده تا متخصصین امنیتی بتونن از اکانتهای هک شده کارمندان و کاربران و … ، مطلع بشن و اقدامات لازم رو انجام بدن. این ابزار براساس فناوریهای فارنزیکی و دانش عملیاتی در واحد 8200 ارتش اسرائیل توسعه داده شده. قبلا از این محققا پستی با عنوان “هکری که خودش هک کرد و فروخت ! ” رو منتشر کرده بودیم.
20 دسامبر/29 آذر یه بازیگر تهدید بنام irleaks ادعا کرد که به 160,000,000 رکورد از 23 شرکت بیمه در ایران دسترسی داره و اونارو برای فروش در یکی از سایتهای فروش داده ، قرار داد.
داده های استخراج شده حاوی : نام، نام خانوادگی، تاریخ تولد، نام پدر، شماره تلفن/موبایل، شماره شناسنامه، کد ملی و … بودن.
محققای Hudson Rock ، احتمال میدن که داده ها معتبر هستن و از طرفی این نکته رو خاطر نشان کردن که حمله به این تعداد شرکت بیمه و استخراج داده ها، کار سختیه.
در 30 دسامبر/9 دی ، این بازیگر تهدید، ادعای جدیدی مطرح و اعلام کرد که تونسته به اسنپ فود نفوذ کنه و 3 ترابایت داده از این شرکت استخراج کنه که حاوی موارد زیر هستن :
- اطلاعات بیش از ۲۰ میلیون کاربر شامل: نام کاربری، پسورد، ایمیل، نام و نام خانوادگی، شماره موبایل، تاریخ تولد و …
- اطلاعات بیش از ۵۱ میلیون آدرس کاربر شامل: موقعیت GPS، آدرس کامل، شماره تلفن و …
- اطلاعات بیش از ۱۸۰ میلیون دستگاه همراه شامل: نوع و مدل دستگاه، پلتفرم، توکن، فروشگاه نصب برنامه و …
- اطلاعات بیش از ۳۶۰ میلیون سفارش شامل: آیپی سفارش دهنده، آدرس دریافتی، تلفن دریافتی، شهر، مدت زمان دریافت، نام و نام خانوادگی، مشخصات فروشگاه یا رستوران، قیمت، محصول و …
- اطلاعات بیش از ۳۵ هزار پیک شامل: نام، نام خانوادگی، شماره تماس، کد ملی، شهر و …
- اطلاعات بیش از ۶۰۰ هزار پرداخت سفارش شامل: نام کامل صاحب کارت، نام کامل مشتری، شماره تماس، شماره کارت، نام بانک و …
- اطلاعات بیش از ۱۶۰ میلیون سفر انجام شده توسط پیک شامل: نام کامل مبدا و مقصد، آدرس مبدا و مقصد، تلفن مبدا و مقصد، موقعیت جغرافیایی مبدا و مقصد، تاریخ و …
- اطلاعات بیش از ۲۴۰ هزار Vendor شامل: نام کامل، آدرس، تلفن، ایمیل، موقعیت مکانی GPS، نام مدیریت مجموعه و …
- اطلاعات بیش از ۸۸۰ میلیون سفارش محصول
اسنپ فود بعد از این ادعا، بیانیه ای داد و اعلام کرد که در حال بررسی این حمله هستش.
اگرچه منبع نشت مشخص نیست، اما محققای Hudson Rock ، یکی از سیستم های کارمندان اسنپ فود رو شناسایی کردن که به بدافزار StealC آلوده بوده.
آلوده شدن این کارمند به این بدافزار، منجر به دسترسی هکرها به برخی از اطلاعات این شرکت شده و ممکنه بردار اولیه برای این حمله بوده باشه. برخی از این اطلاعات شامل اعتبارنامه های ورود به سرور Confluence ، سرور Jira و … بوده.
یعنی کل کاری که هکر کرده این بوده که این اطلاعات رو بدست آورده/خریده، و باهاشون لاگین کرده و رسیده به دیتابیس و تمام.
بدافزار StealC :
این بدافزار که از دسته ی بدافزارهای infostealer هستش ، برای اولین بار در 9 ژانویه 2023 /19 دی 1401 ، در فروم های هکری روسی ، توسط کاربری بنام Plymouth بعنوان Malware-as-a-Service تبلیغ شد.
این بدافزار براساس بدافزارهای معروف این دسته : Vidar, Raccoon, Mars و Redline توسعه داده شده.
Stealc در زبان C توسعه داده شده و از توابع WinAPI استفاده میکنه. داده ها رو میتونه از مرورگرها ، کیف های پول ارزهای دیجتال که بصورت افزونه یا برنامه ارائه میشن ، پیامرسانها (تلگرام) ، برنامه های ایمیل (Outlook) و … بدزده. یه قابلیتی که برای جمع آوری داده ها نسبت به رقبا داره اینه که میشه موارد جمع آوری رو سفارشی کرد، یعنی مهاجم میتونه به بدافزار بگه که فقط داده های مرورگر رو بدزده.
علاوه بر جمع آوری داده ها، ویژگی جمع آوری فایل رو هم در اختیار مشتری قرار میده تا مشتری براساس قوانینی که براش تعریف کرده، فایلهای دلخواه رو بدزده. مثلا تعریف کنه که همه ی فایلهایی که پسوند jpg دارن رو برام بدزد.
پنل مدیریتی که در اختیار توزیع کننده هستش ، امکانات زیر داره :
- تنظیم پیکربندی بدافزار
- امکان نمایش، فیلتر، تجزیه ، جستجو ، مرتب سازی و آنالیز داده های سرقت شده رو میده.
- امکان دانلود داده های سرقتی از چندین روش
توسعه دهنده بدافزار ، برای اینکه بتونه نظر بقیه رو جلب کنه ، این بدافزار رو برای تست در اختیار کاربران قرار میداد و از اونا بازخورد محصول رو میگرفت.
این بدافزار همچنان در حال بروزرسانی و توسعه هستش و آخرین نسخه ی اون، اول دسامبر منتشر شده.
آنالیز فنی :
اوایل فوریه ، محققای Sekoia ، یسری infostealer جدید شناسایی کردن که نوع ارتباطشون با سرور C2 شبیه به Vidar و Raccoon بوده. با آنالیزی که انجام دادن متوجه شدن که اینا بدافزار Stealc هستن.
در ادامه تحقیشون نمونه های زیادی از این بدافزار رو مشاهده و تونستن 40 سرور C2 از این بدافزار رو شناسایی کنن که نشون دهنده استفاده گسترده مجرمین سایبری از این بدافزار هستش. بنابراین یه تحلیلی هم از این بدافزار داشتن که در ادامه این پست ، بررسیش کردیم. گزارش برای 20 فوریه هستش.
محققای Sekoia ، این بدافزار رو مهندسی معکوس کردن و تونستن جزییاتی از اون رو کشف و گزارش کنن.
بعد از اجرا، تمام رشته هایی که با RC4 و Base64 رمز و انکد شدن رو از حالت مبهم در میاره. بعدش میاد تاریخ سیستم رو با تاریخ رشته های هاردکد شده مبهم مقایسه میکنه. اگه اجرا بعد از این رشته های مبهم شده باشه، اجرا متوقف میشه. این کار توسط توسعه دهنده انجام شده تا اگه لایسنس بدافزار تموم شده باشه، متوقف بشه.
بعدش میاد Machine Name رو با HAL9TH و نام کاربری رو با JohnDoe مقایسه میکنه که توسط Microsoft Defender استفاده میشه. این کار برای شناسایی سندباکس و محیط مجازی انجام میشه.
بدافزار بصورت داینامیک ، توابع مختلف WinAPI رو از طریق LoadLibrary و GetProcAddress لوود میکنه و یه ارتباط اولیه با سرور C2 برقرار میکنه. مراحل ارتباط بصورت زیر هستش :
1- در ابتدا HWID (Hardware Identifier) و build name رو از طریق درخواست POST و بصورت name=”hwid”, name=”build” ارسال میکنه. سرور یه پاسخ بصورت Base64 ارسال میکنه :
1 2 |
d325580bb149e327a7c8338ec6c9ac7227e7c319411261441d8d3097b2a2d6e5fef3ce48|isdone|docia.docx| 1|1|0|1|1|1|1|1| |
2- بدافزار دستور browsers رو به C2 میفرسته تا نحوه ی جمع آوری داده ها از مرورگرها رو بگیره. این کار توسط یه درخواست POST و بصورت (name=”token”, name=”message” (browsers)) ارسال میشه. سرور دوباره بصورت Base64 جواب میده، مثلا اینجوری :
1 |
Google Chrome|\Google\Chrome\User Data|chrome|Google Chrome Canary|\Google\Chrome SxS\User Data|chrome|Chromium|\Chromium\User Data|chrome|Amigo|\Amigo\User Data|chrome|Torch|\Torch\User Data|chrome|Vivaldi|\Vivaldi\User Data|chrome|Comodo Dragon|\Comodo\Dragon\User Data|chrome|EpicPrivacyBrowser|\Epic Privacy Browser\User Data|chrome|CocCoc|\CocCoc\Browser\User Data|chrome|Brave|\BraveSoftware\Brave-Browser\User Data|chrome|Cent Browser|\CentBrowser\User Data|chrome|7Star|\7Star\7Star\User Data|chrome|Chedot Browser|\Chedot\User Data|chrome|Microsoft Edge|\Microsoft\Edge\User Data|chrome|360 Browser|\360Browser\Browser\User Data|chrome|QQBrowser|\Tencent\QQBrowser\User Data|chrome|CryptoTab|\CryptoTab Browser\User Data|chrome|Opera Stable|\Opera Software|opera|Opera GX Stable|\Opera Software|opera|Mozilla Firefox|\Mozilla\Firefox\Profiles|firefox|Pale Moon|\Moonchild Productions\Pale Moon\Profiles|firefox|Opera Crypto Stable|\Opera Software|opera|Thunderbird|\Thunderbird\Profiles|firefox| |
3- به همون صورت، دستور plugins رو به C2 ارسال میکنه تا نحوه ی جمع آوری داده ها از افزونه های مرورگرها رو دریافت کنه. این دستور بصورت درخواست Post و در قالب (name=”token”, name=”message” (plugins)) ارسال میشه. سرور بصورت Base64 جواب میده ، مثلا بصورت زیر :
1 2 3 4 5 |
MetaMask|djclckkglechooblngghdinmeemkbgci|1|0|0|MetaMask|ejbalbakoplchlghecdalmeeeajnimhm|1|0|0| MetaMask|nkbihfbeogaeaoehlefnkodbefgpgknn|1|0|0|TronLink|ibnejdfjmmkpcnlpebklmnkoeoihofec|1|0|0| Binance Wallet|fhbohimaelbohpjbbldcngcnapndodjp|1|0|0|Yoroi|ffnbelfdoeiohenkjibnmadjiehjhajb|1|0|0| Coinbase Wallet extension|hnfanknocfeofbddgcijnmhnfnkdnaad|1|0|1|Guarda| hpglfhgfnhbgpjdenjgmdgoeiappafln|1|0|0|(redacted) |
4- بدافزار یسری اطلاعات از سیستم آلوده با درخواست Post و در قالب (name=”token”, name=”file_name”, name=”file”) جمع آوری میکنه. اسم فایل system_info.txt هستش و شامل اطلاعات شبکه ای ، سیستمی ، کاربران، برنامه های نصب شده و لیست پروسس ها هستش.
5- بعدش 7 تا DLL شخص ثالث قانونی رو از سرور C2 با استفاده از درخواست GET دانلود میکنه ، از این DLLها برای استخراج داده های مرورگرها استفاده میکنه .
sqlite3.dll
freebl3.dll
mozglue.dll
msvcp40.dll
nss3.dll
softokn3.dll
vcruntime140.dll
6- بدافزار فایلها رو یکی یکی ، با استفاده از درخواست POST و در قالب (name=”token”, name=”file_name”, name=”file”) استخراج میکنه. این فایلها مطابق پیکربندی دریافتی هستش. مثلا اگه قربانی از فایرفاکس استفاده کنه ، این پیکربندی بصورت زیر میتونه باشه :
history\Mozilla Firefox_*.default-release.txt
autofill\Mozilla Firefox_*.default-release.txt
cookies\Mozilla Firefox_*.default-release.txt
7- بدافزار دستور wallets رو به C2 ارسال میکنه تا نحوه ی جمع آوری اطلاعات مرتبط با کیف پول دریافت کنه. این دستور بصورت POST و در قالب name=”token”, name=”message” (wallets) ارسال میشه. سرور بصورت base64 پاسخ میده که میتونه بصورت زیر باشه :
1 |
Bitcoin Core|\Bitcoin\wallets\|wallet.dat|1|Bitcoin Core Old|\Bitcoin\|*wallet*.dat|0|Dogecoin|\Dogecoin\|*wallet*.dat|0|Raven Core|\Raven\|*wallet*.dat|0|Daedalus Mainnet|\Daedalus Mainnet\wallets\|she*.sqlite|0|Blockstream Green|\Blockstream\Green\wallets\|*.*|1|Wasabi Wallet|\WalletWasabi\Client\Wallets\|*.json|0|Ethereum|\Ethereum\|keystore|0|Electrum|\Electrum\wallets\|*.*|0|(redacted) |
8- بدافزار دستور files رو به C2 ارسال میکنه تا نحوه ی استخراج فایلها رو دریافت کنه. این دستور بصورت درخواست POST و در قالب (name=”token”, name=”message” (files)) ارسال میشه. سرور بصورت base64 پاسخ میده که میتونه بصورت زیر باشه :
1 |
DESKTOP|%DESKTOP%\|*.txt|15|1|0|Doki|%DOCUMENTS%\|*.txt|15|1|0| |
9- داده های جمع آوری شده، مشابه مرحله 6 استخراج میشن. با پیکربندی قبلی ، فایل files\DESKTOP\SwitchSearch.txt جمع آوری و استخراج میشه.
10- در نهایت بدافزار یسری داده مانند فایل و کلیدهای حساس رجیستری مرتبط با، اطلاعات حساس Discord ، Telegram ، Tox ، Outlook و Steam رو جمع آوری میکنه و به همون روشی که قبلا گفته شد، به C2 ارسال میکنه.
11- بعد از اینکه همه ی پیکربندی ها رو دریافت و داده ها رو جمع آوری و ارسال کرد، بدافزار یه پیام بصورت درخواست POST و در قالب (name=”token”, name=”message” (done)) به C2 ارسال میکنه.
در نهایت اینکه، بدافزار خودش و فایلهای DLL دانلود شده رو از طریق دستور زیر ، پاک میکنه :
1 |
cmd.exe /c timeout /t 5 & del /f /q "$STEALERPATH" & del "C:\ProgramData\*.dll" & exit |
تشخیص :
برای اینکه بدافزار رو در محیطتون شناسایی کنید، یسری YARA Rule اینجا تعریف شده.
سرورهای C2 رو میشه از طریق پاسخ های پیش فرض HTML و HTTP رهگیری کرد. اغلب سرورهای C2 در پاسخ HTTP 200 میدن و یه صفحه ی HTML از نوع 404 Forbidden سرور Apache ، با کد HTML زیر روی پورت 80 دارن :
1 2 3 4 5 6 7 8 |
HTTP/1.1 200 OK Date: <REDACTED> Server: Apache/2.4.41 (Ubuntu) Vary: Accept-Encoding Content-Length: 145 Content-Type: text/html; charset=UTF-8 <html> <head><title>404 Forbidden</title></head> <body> <center><h1>404 Forbidden</h1></center> <hr><center>apache</center> </body> </html> |
برای اینکه مشخص کنیم ، این صفحه مرتبط با C2 بدافزار Stealc هست، چون ممکنه خوده سرور آپاچی باشه ، برخی URLهایی که مرتبط با سرور Stealc هستن ، مانند /modules/ و /index.php/ رو میشه روشون بررسی کرد.
منابع :