Базовый анализ основных маркетплейсов с точки зрения безопасности
В этой статье я пробегусь по основным доменам, зеркалам популярных маркетплейсов ПАВ с топа rutor.
Где-то мы заглянем внутрь, где-то нет. Возможно ничего шокирующего мы не найдем, хотя кто знает.
Будут описания по используемым технологиям в каждом конкретном маркетплейсе.
Также приведены в большинстве случаев конкретные команды и утилиты.
Будет проведен беглый анализ безопасности проектов.
1. WEEDCAT
Основной домен - https://weeedcat.com/
Кроме того, он же и единственный. Расположен в клирнете. Это сразу большой минус безусловно.
После захода на сайт, нас встречает капча решив которую отправляется POST запрос на https://weeedcat.com/captcha/check который посылает нечто такое rInp-xK64694a8e214ed=3045&v=2
3045 это решение капчи.
Далее нас перекидывает на ссылку вида https://weeedcat.com/?rcap_solve=1&key=32085123f7c54da2e8bd81abbb5d415c0e75ca80&ts=1684622039
К слову эта ссылка отрабатывает - даже если просто вбить в новый браузер ,как первый заход. Ватзафак!
Пользуйтесь, если лень обходить капчи на этом угар маркетплейсе.UPD: Через день обнаружилась, что она уже не работает, видимо есть определенный срок пока ссылка жива. Но тем не менее, тот факт что ссылка с решением капчи работает для совершенно разных айпи, хотя должна работать единожды уже доставляет.
Чтобы скрыть основной ip сервера сайт пользуется только Cloudflare, что печально.
Из используемых технологий веб-сервер nginx,bootstrap,jquery
Написан на языке PHP
Пробьем dns записи.
Код:
weedcat.com. 86400 IN NS ns1.sedoparking.com.<br>weedcat.com. 86400 IN NS ns2.sedoparking.com.<br>weedcat.com. 3600 IN MX 0 localhost.<br>weedcat.com. 3600 IN TXT "v=spf1 -all"<br>weedcat.com. 300 IN A 64.190.63.111<br>weedcat.com. 86400 IN SOA ns1.sedoparking.com. hostmaster.sedo.de. 2018051601 86400 10800 604800 86400
Основные записи ведут на домены cloudflare, но также находится txt запись на ip, который ведет на сервер с закрытым nginx(openresty)
Просканим этот ip с помощью nmap
Код:
nmap -F 64.190.63.111 -v<br><br>PORT STATE SERVICE<br>25/tcp filtered smtp<br>53/tcp filtered domain<br>80/tcp open http<br>443/tcp open https
Похоже это также от cloudflare.
Старых dns записей в истории не найдено.
Смотрим дальше.
У сайта нет капчи на регистрацию или вход. Подвержен атаке перебором или массовым регистрациям.
Код:
---- Scanning URL: https://weeedcat.com/ ----<br>+ https://weeedcat.com/.well-known/http-opportunistic (CODE:200|SIZE:23)<br>+ https://weeedcat.com/captcha (CODE:200|SIZE:143915)<br>--> Test --> Test ==> DIRECTORY: https://weeedcat.com/protected/<br>==> DIRECTORY: https://weeedcat.com/public/<br>==> DIRECTORY: https://weeedcat.com/vendor/
Обнаружены 3 закрытых директории.
Обнаружил еще один домен. Переходник у weeedcat - shkaf.win
По нему палятся первоначальные dns-записи. Сервера их находятся на njalla. С одной стороны хорошо что не на рег ру лол, с другой стороны известно куда абузу посылать)
Посмотреть вложение 937426
Реальный ip-адрес сервера переходника 185.193.127.112
Находится в финляндии. nginx/1.18.0 (Ubuntu)
Посмотреть вложение 937432
Также на айпи переходника расположен криптовалютный explorer Ping Dashboard. Лол
https://github.com/ping-pub/explorer
http://185.193.127.112/explorer/
Посмотреть вложение 937456
http://185.193.127.112/explorer/favicon.ico
Посмотреть вложение 937458
Вердикт по сервису:
Внутри сайта обнаружено жесточайшее применение js во всех моментов, что является очень неудачным для безопасного маркетплейса.
Основной клирнет и мелкие косяки веб-сайта. А также спалили ip-адрес переходника. Не рекомендую к использованию разумным людям.
2. JINN
https://rutorjinn.online
Первоначально мы заходим на переходник, который кидает нас на вот такой домен https://marketjinn.website
Дата регистрации https сертификата 1 апреля 2023. Ну что ж.
Как мы видим это просто страница html на nginx.
К слову в коде сайта был обнаружен счетчик от яндекс для отслеживания посещений, что не очень хорошо. Думаю не стоит обьяснять, что российский сервис легко может связать ваши сторонние куки, с других сайтов с посещением этого в случае использования основного браузера.
Просканируем домен на популярные файлы и директории с помощью dirbpy
Код:
python3 -m dirbpy -o https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/common.txt -u https://marketjinn.website/<br><br>[2023-05-22 00:10:22,888] [INFO] Generated words: 4720<br>[2023-05-22 00:10:22,903] [INFO] Scanning URL: https://marketjinn.website/<br>[2023-05-22 00:10:42,299] [INFO] Directory => https://marketjinn.website/assets/ (Status code: 403)<br>[2023-05-22 00:10:42,299] [INFO] http://marketjinn.website/assets/ (Status code: 301)<br>[2023-05-22 00:10:57,900] [INFO] https://marketjinn.website/.well-known/http-opportunistic (Status code: 200)<br>[2023-05-22 00:12:03,654] [INFO] https://marketjinn.website/index.html (Status code: 200)<br>[2023-05-22 00:14:13,894] [INFO] Scanning URL: https://marketjinn.website/assets/<br>[2023-05-22 00:15:02,610] [INFO] Directory => https://marketjinn.website/assets/css/ (Status code: 403)<br>[2023-05-22 00:15:02,611] [INFO] http://marketjinn.website/assets/css/ (Status code: 301)<br>[2023-05-22 00:15:16,920] [INFO] Directory => https://marketjinn.website/assets/img/ (Status code: 403)<br>[2023-05-22 00:15:16,921] [INFO] http://marketjinn.website/assets/img/ (Status code: 301)<br>[2023-05-22 00:15:29,081] [INFO] Directory => https://marketjinn.website/assets/fonts/ (Status code: 403)<br>[2023-05-22 00:15:29,081] [INFO] http://marketjinn.website/assets/fonts/ (Status code: 301)<br>[2023-05-22 00:15:33,112] [INFO] Directory => https://marketjinn.website/assets/js/ (Status code: 403)<br>[2023-05-22 00:15:33,112] [INFO] http://marketjinn.website/assets/js/ (Status code: 301)<br>[2023-05-22 00:16:56,283] [INFO] Scanning URL: https://marketjinn.website/assets/css/
Особо интересного ничего нет. Стандартная структура сайта-визитки.
Для информации об ip-адресе можем заюзать запрос на wget http://ipinfo.io/172.67.149.228/json -O -
Код:
"ip": "172.67.149.228",<br> "anycast": true,<br> "city": "San Francisco",<br> "region": "California",<br> "country": "US",<br> "loc": "37.7621,-122.3971",<br> "org": "AS13335 Cloudflare, Inc.",<br> "postal": "94107",<br> "timezone": "America/Los_Angeles",<br> "readme": "https://ipinfo.io/missingauth"
Как мы видим домен прикрыт cloudflare.
Для того чтобы проверить историю dns-записей мы можем обратиться к сайту https://completedns.com/dns-history/
Где мы обнаруживаем, что домен сайта хостится на regway.com !
Хостинг и домен провайдер с оплатой за крипту. Есть большая вероятность, что и сам сервер находится там же.
Теперь перейдем к онион домену http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion/
Из антиддос-защит обнаружена капча со стрелками, такая же как у rutor.
К слову кому интересно это разработка от форума dread https://github.com/h0ay/EndGame-DDOS-protection
Только немного с другими настройками.
Написан на node.js и используется mobx.js для клиентской части.
Отсутствует дополнительная капча на регистрацию и логин.
Выдает конкретные ошибки при неверных запросах на API с указанием конкретных номеров строк и файлов !
Рега или чек юзеров возможна простым запросом.
Код:
torsocks curl 'http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion/api/v1/auth/register' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Referer: http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion/server-status' -H 'Content-Type: application/json' -H 'Authorization: Bearer null' -H 'Origin: http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion' -H 'Connection: keep-alive' -H 'Cookie: dcap=4AD467D897F1B21BE9F3FAB6125185048B1F28823A2D68CDD78C69D0A019CE6BD8759F9A4A4173D0428296E253C4F76B6E6805D1A708AE28FBCFD03297AD53E5' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' --data-raw '{"username":"rkrkrr122121SSjk1k1","password":"rkrkrr122121SSjk1k1","accept":true,"referral":"","deviceId":"5783841482406702"}'<br><br>{"statusCode":409,"timestamp":"2023-05-23 21:14:41","path":"/api/v1/auth/register","status":409,"message":"Пользователь с таким логином уже существует","name":"HttpException","stack":"HttpException: Пользователь с таким логином уже существует\n at createHttpException (/dist/apps/api/main.js:2208:17)\n at UserAuthService.register (/dist/apps/api/main.js:15169:52)\n at processTicksAndRejections (node:internal/process/task_queues:96:5)"}⏎
Вердикт по сервису:
Проект с упором отнюдь не на безопасность своих юзеров.
Сделаем скидку, так как он относительно новый.
Однако пока не рекомендую к использованию.
3. Mega
mega.fo mega.mp mega.gl safeklad.com/mega
Onion-ссылка:
mega555kf7lsmb54yd6etzginolhxxi4ytdoma2rf77ngq55fhfcnyid.onion
Первоначальная капча встречает нас на старте сайта. Далее следует js challenge,который на самом деле ничего не делает кроме, как выставления кукиса и таймаута, и проверки браузера на автоматические решение типа selenium. Можно просто игнорировать его при запросах.
Однако далее идет следующая капча. Изменяющийся svg. Весьма забавно.
Так, как регистрация новых юзеров временно приостановлена, не смог протестировать внутри.
Используется alpine.js
Вердикт по сервису:
Внутренняя структура не была мной изучена. Полноценная оценка невозможна
4. BlackSprut
https://bs.gl/
https://bs2web.at/
https://bs.hn/
LurkChat.com:
https://lurkchat.com/to/bsbot
ЗЕРКАЛА ТОR:
blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion
blacksprut2rprrt3aoigwh7zftiprzqyqynzz2eiimmwmykw7wkpyad.onion
Простая капча при входе. Также далее при логине и регистрации.
Можно обойти первоначальную настройку если после реги сразу пойти на http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/secret
Попадаем на главную. Иногда встречается проверка на бота, которая представляет собой js решение ресурсоемких задач браузером. Видимо,чтобы отмести чистые запросы. Однако она не закодирована и вероятно решаема на клиенте без браузера.
Используется jquery,bootstrap
На сайте используется старые адреса биткоин типа 3
Сервер nginx - http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/storage/products/
Присутствует возможность перебора id юзеров,подставляя цифры
http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/storage/users/182972
Реальный юзер по этому id выдаст результат 403 Forbidden, если его нет 404
Благодаря этому проверил что их первый юзер(возможно админ) имеет id 3
По адресу http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/admin
Находится админка закрытая 403
Вердикт по сервису:
Достаточно адекватный сайт без явных косяков. С минимумом использования js. Хотя, так как они юзают js challenge для постоянных проверок на бота, это не совсем так. Рекомендую обойтись без него.
5. Darkside
https://darkside.fm/
Не обнаружена какая-либо защиты от ддоса.
Касательно основного входа используется следующий запрос. Мы делаем запрос через torsocks на tor версию
Код:
torsocks curl 'http://darkside6fy5vyutp6nf6o6rirkah2o7beithn4tv5ad236zh6d3teqd.onion/api/login' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Referer: http://darkside6fy5vyutp6nf6o6rirkah2o7beithn4tv5ad236zh6d3teqd.onion/search?q='&priceMax=01' -H 'Content-Type: application/json' -H 'Origin: http://darkside6fy5vyutp6nf6o6rirkah2o7beithn4tv5ad236zh6d3teqd.onion' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' --data-raw '{"login":"ssss","password":"sss","captcha":"8985","captchaId":"1arCnRaJL9orH22b3yEV"}'<br><br>{"message":"Капча введена не верно. Давайте еще раз.","err":null,"captcha":"iVBORw0KGgoAAAANSUhEUgAAAKAAAAA4CAMAAABNJAMxAAAAP1BMVEUAAABRTSRFQRjPy6JZVSx3c0qBfVSno3qFgVja1q3Tz6aRjWRIRBs/OxJwbEO7t46Df1ZlYTihnXRxbUSvq4JcvMVCAAAAAXRSTlMAQObYZgAAAiFJREFUeJzsmduy6iAMhol17MELp/r+77rH3UJLDhDSKswa/5taasI3gSRU3U9/RwAAtRlkrXCtIm5YTRLGUO0RYqKqQbxpvlQR8HbDhGy4ahLGt9JqhuHXp4FSStQ9P/561SOEVcLT9VqV702RjaFGU2T3dlxQCGaZb7kKKAWA0zTt+RZbLeM884QbWDZPFITBqaHiz4JxuD3thED9FHgmCbG7OQeQdaL2DMvGjQD3z45L2ic631tC7KhOPcDIHjS+Q8YGFEC0J/Bd2AfdSkgSAA8gVHfiLlzKweXCEXZd51BVZPoDIQGZ2sqXiiCmoXOihADMdQAwa4rbCnDVNwohs7D2EGbtAHVTGpTRiTXFV54cnzlDYeXj8tF/GMcxlQ/pEw1roqVzu7dEbtH+Xx59KoI+iJmJeJacGUS1F208CHx9H2NZdxsxy4YPlYqIcFuzRx9PUHZQkxBBk7s4WT3vsqO4cwXpduWIa0opuhcDAhsiiwGqfFDMrP8mOUBlvIh8z1JKrSVpaUk+Jy3N82klzFlKqSUEUJ7HwKaxFPbTR37ju1uMuExIYFum8LrfTYQUQkxTOjgVuSZ8Q5G5pyioIvtXWYOGwUTopLVkxg7xOTdcr2Zbposcg2Fl5yOEn8A7KP6435LCm0ebeC68qzSL99NPJ6v7jp25uXSdjbDQ7kB7biCCoxHhW1p+oGhZrfNlVPUPPYVq/qHnnPsXAAD///LWBZY0iY3TAAAAAElFTkSuQmCC","captchaId":"gEU099jsC1Af0drheQyo"}
Который возращает сразу код новой капчи в base64 и ее id. Можно написать легко перебор паролей для логинов, каких-либо ограничений по потокам тут нет. Ибо тор и защиты от массовых запросов тоже нет. Капча очень простая визуально.
Внизу статьи приложен примерный код брутфорсера на python.
Также на главной замечено следующее.
Однако на каждом отдельном магазине этот html-код отображается верно. Что говорит в целом о уровне недоработанности маркетплейса.
Вердикт по сервису:
Находится в зачаточном состоянии.
6. TrustMarket
TRUST.RIP
trustmarket.black
trust24.me
trustmcugelzkqbugsu75yu4i2jq5wuk7gip4vvxoeyje6wagapkqzqd.onion
Форум
trustfd2m3wkzki26dppubxmvyzog35tkrlfhgmngvhjuxqpz53caryd.onion
Присутствует простая капча на входе.
Вместо числового id в различных случаях используется длинные хеши. Это плюс
По вводу очень длинного текста в pgp в настройках выводит ошибку. Между тем позволяет вписать туда что угодно.
Заявлена поддержка btc,xmr однако монеро выдает ошибку.
Есть возможность массово спамить заказами, так как для их открытия не нужен баланс, а капчи не предусмотрены.
Их форум написан на движке Flarum и node.js
http://trustfd2m3wkzki26dppubxmvyzog35tkrlfhgmngvhjuxqpz53caryd.onion/api
По прямой ссылке на форум апи выдает много переменных
По ссылке http://trustfd2m3wkzki26dppubxmvyzog35tkrlfhgmngvhjuxqpz53caryd.onion/web.config позволяет скачать конфиг форума
Код:
<?xml version="1.0" encoding="UTF-8"?><br><configuration><br> <system.webServer><br> <defaultDocument><br> <files><br> <clear /><br> <add value="Index.php" /><br> </files><br> </defaultDocument><br> <rewrite><br> <rules><br> <!-- Changed `enabled=` to true in the rule below if you are not using the `public` directory to<br> prevent sensitive resources from being exposed --><br> <rule name="Disallow sensitive directories" enabled="false" stopProcessing="true"><br> <match url="^/(\.git|composer\.(json|lock)|auth\.json|config\.php|flarum|storage|vendor)" ignoreCase="false" /><br> <action type="CustomResponse" url="/" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /><br> </rule><br> <rule name="Handle index.php re-write" stopProcessing="true"><br> <match url="^" ignoreCase="false" /><br> <conditions logicalGrouping="MatchAll"><br> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><br> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /><br> </conditions><br> <action type="Rewrite" url="index.php" appendQueryString="true" /><br> </rule><br> </rules><br> </rewrite><br> </system.webServer><br></configuration>
Вердикт по сервису:
Интересное решение, однако местами не идеальное. Сам сервис гораздо лучше, чем его компаньон-форум.
7. Solaris
solaris.fm
solaris4ib7kzcyxjxind6rjumfg7hcwx5h6kfl7lpwxy7eftxsxkxad.onion
solarise6muu4eaobpmunu4t7y3fam5hzmxxet3glwk363mtk42ptead.onion
solarisjgmooemeq7jwv3qsg3tonomivsdqfzrssjfqbj6pbnyzbrhqd.onion
solarisjir5tbwwe7qqusoed73i2blepuzloy3qrolgjshryaqxgn7ad.onion
Форум:
Forum.Solaris.FM
Forum.Solaris.CAT
Используется OpenResty, nginx сборка с lua
Также jquery,bootstrap
При входе используется весьма интересная собственная капча для всего ресурса.
Прямые зеркала в клирнете это минус.
Внутренняя капча для регистрация. Но на логине почему-то ее нет.
Форум на движке phpbb
На форуме палится версия nginx nginx/1.22.1
Что может пригодится для поисков точных эксплоитов.
На форуме есть прямая ссылка для перебора страниц юзеров
http://sol4rum32yy34pbrhzrrmmyjkfoz...6qd.onion/memberlist.php?mode=viewprofile&u=2
Палятся последние посещения с точностью
Вс май 21, 2023 11:24 am
И прочие минусы готовых движков.
Вердикт по сервису:
Сам сервис неплох. Собственное решение. Однако форум стоило бы взять на менее популярном движке или разработать самостоятельно.
8. Nova
https://nova.wf/
Onion - novaltdvcpcu66ap7f2gg3n3dxhwaiqyqlskpptdcag2waibplodggad.onion
Имеется прямое зеркало в клирнете, что в большинстве случаев не очень. Прикрыт cloudflare, но все же.
Используемый язык vue.js
Вход не закрыт капчей. Регистрация закрыта сторонней капчей от внешнего сервиса.
Внутри сайта была обнаружена get ссылка, которая позволяет собирать логины юзеров.
https://nova.wf/broadcasting/dialogs/search/member?name=test
Учитывая, что логин возможен без капчи дает легчайший способ перебора учеток.
Вердикт по сервису:
На мой взгляд сервис не слишком заботится о безопасности.
Результаты:
В целом выглядит все не слишком ужасно. Однако присутствуют моменты, на которые стоит обратить внимание.
Большинство маркетплейсов создаются с оглядкой на прибыль, а не максимальную безопасность. Сегодня я не нашел критический уязвимостей после беглого пробега по сайтам, завтра кто знает.
Множеству маркетплейсов я бы порекомендовал не так сильно опираться на американский Cloudflare. Возможно он защищает клирнет-домены на базовом уровне в контексте определенного региона. Но если вы будете расширяться до мирового уровня, это выйдет вам боком.
Также советую предусмотреть версию для работы без js. Для тех юзеров, которые хотят большей защиты, да и вам лично рекомендую снизить возможный спектр атак.
На устойчивость к ддос тесты не проводились.
По степени условной безопасности выставил сравнительные баллы от 1 до 10. Но это не рекомендация к использованию конкретного маркетплейса.
weedcat - 3
Jinn - 3
BlackSprut - 7
Darkside - 5
TrustMarket - 6
Solaris - 6
Nova - 5
В этой статье я пробегусь по основным доменам, зеркалам популярных маркетплейсов ПАВ с топа rutor.
Где-то мы заглянем внутрь, где-то нет. Возможно ничего шокирующего мы не найдем, хотя кто знает.
Будут описания по используемым технологиям в каждом конкретном маркетплейсе.
Также приведены в большинстве случаев конкретные команды и утилиты.
Будет проведен беглый анализ безопасности проектов.
1. WEEDCAT
Основной домен - https://weeedcat.com/
Кроме того, он же и единственный. Расположен в клирнете. Это сразу большой минус безусловно.
После захода на сайт, нас встречает капча решив которую отправляется POST запрос на https://weeedcat.com/captcha/check который посылает нечто такое rInp-xK64694a8e214ed=3045&v=2
3045 это решение капчи.
Далее нас перекидывает на ссылку вида https://weeedcat.com/?rcap_solve=1&key=32085123f7c54da2e8bd81abbb5d415c0e75ca80&ts=1684622039
К слову эта ссылка отрабатывает - даже если просто вбить в новый браузер ,как первый заход. Ватзафак!
Пользуйтесь, если лень обходить капчи на этом угар маркетплейсе.UPD: Через день обнаружилась, что она уже не работает, видимо есть определенный срок пока ссылка жива. Но тем не менее, тот факт что ссылка с решением капчи работает для совершенно разных айпи, хотя должна работать единожды уже доставляет.
Чтобы скрыть основной ip сервера сайт пользуется только Cloudflare, что печально.
Из используемых технологий веб-сервер nginx,bootstrap,jquery
Написан на языке PHP
Пробьем dns записи.
Код:
weedcat.com. 86400 IN NS ns1.sedoparking.com.<br>weedcat.com. 86400 IN NS ns2.sedoparking.com.<br>weedcat.com. 3600 IN MX 0 localhost.<br>weedcat.com. 3600 IN TXT "v=spf1 -all"<br>weedcat.com. 300 IN A 64.190.63.111<br>weedcat.com. 86400 IN SOA ns1.sedoparking.com. hostmaster.sedo.de. 2018051601 86400 10800 604800 86400
Основные записи ведут на домены cloudflare, но также находится txt запись на ip, который ведет на сервер с закрытым nginx(openresty)
Просканим этот ip с помощью nmap
Код:
nmap -F 64.190.63.111 -v<br><br>PORT STATE SERVICE<br>25/tcp filtered smtp<br>53/tcp filtered domain<br>80/tcp open http<br>443/tcp open https
Похоже это также от cloudflare.
Старых dns записей в истории не найдено.
Смотрим дальше.
У сайта нет капчи на регистрацию или вход. Подвержен атаке перебором или массовым регистрациям.
Код:
---- Scanning URL: https://weeedcat.com/ ----<br>+ https://weeedcat.com/.well-known/http-opportunistic (CODE:200|SIZE:23)<br>+ https://weeedcat.com/captcha (CODE:200|SIZE:143915)<br>--> Test --> Test ==> DIRECTORY: https://weeedcat.com/protected/<br>==> DIRECTORY: https://weeedcat.com/public/<br>==> DIRECTORY: https://weeedcat.com/vendor/
Обнаружены 3 закрытых директории.
Обнаружил еще один домен. Переходник у weeedcat - shkaf.win
По нему палятся первоначальные dns-записи. Сервера их находятся на njalla. С одной стороны хорошо что не на рег ру лол, с другой стороны известно куда абузу посылать)
Посмотреть вложение 937426
Реальный ip-адрес сервера переходника 185.193.127.112
Находится в финляндии. nginx/1.18.0 (Ubuntu)
Посмотреть вложение 937432
Также на айпи переходника расположен криптовалютный explorer Ping Dashboard. Лол
https://github.com/ping-pub/explorer
http://185.193.127.112/explorer/
Посмотреть вложение 937456
http://185.193.127.112/explorer/favicon.ico
Посмотреть вложение 937458
Вердикт по сервису:
Внутри сайта обнаружено жесточайшее применение js во всех моментов, что является очень неудачным для безопасного маркетплейса.
Основной клирнет и мелкие косяки веб-сайта. А также спалили ip-адрес переходника. Не рекомендую к использованию разумным людям.
2. JINN
https://rutorjinn.online
Первоначально мы заходим на переходник, который кидает нас на вот такой домен https://marketjinn.website
Дата регистрации https сертификата 1 апреля 2023. Ну что ж.
Как мы видим это просто страница html на nginx.
К слову в коде сайта был обнаружен счетчик от яндекс для отслеживания посещений, что не очень хорошо. Думаю не стоит обьяснять, что российский сервис легко может связать ваши сторонние куки, с других сайтов с посещением этого в случае использования основного браузера.
Просканируем домен на популярные файлы и директории с помощью dirbpy
Код:
python3 -m dirbpy -o https://raw.githubusercontent.com/danielmiessler/SecLists/master/Discovery/Web-Content/common.txt -u https://marketjinn.website/<br><br>[2023-05-22 00:10:22,888] [INFO] Generated words: 4720<br>[2023-05-22 00:10:22,903] [INFO] Scanning URL: https://marketjinn.website/<br>[2023-05-22 00:10:42,299] [INFO] Directory => https://marketjinn.website/assets/ (Status code: 403)<br>[2023-05-22 00:10:42,299] [INFO] http://marketjinn.website/assets/ (Status code: 301)<br>[2023-05-22 00:10:57,900] [INFO] https://marketjinn.website/.well-known/http-opportunistic (Status code: 200)<br>[2023-05-22 00:12:03,654] [INFO] https://marketjinn.website/index.html (Status code: 200)<br>[2023-05-22 00:14:13,894] [INFO] Scanning URL: https://marketjinn.website/assets/<br>[2023-05-22 00:15:02,610] [INFO] Directory => https://marketjinn.website/assets/css/ (Status code: 403)<br>[2023-05-22 00:15:02,611] [INFO] http://marketjinn.website/assets/css/ (Status code: 301)<br>[2023-05-22 00:15:16,920] [INFO] Directory => https://marketjinn.website/assets/img/ (Status code: 403)<br>[2023-05-22 00:15:16,921] [INFO] http://marketjinn.website/assets/img/ (Status code: 301)<br>[2023-05-22 00:15:29,081] [INFO] Directory => https://marketjinn.website/assets/fonts/ (Status code: 403)<br>[2023-05-22 00:15:29,081] [INFO] http://marketjinn.website/assets/fonts/ (Status code: 301)<br>[2023-05-22 00:15:33,112] [INFO] Directory => https://marketjinn.website/assets/js/ (Status code: 403)<br>[2023-05-22 00:15:33,112] [INFO] http://marketjinn.website/assets/js/ (Status code: 301)<br>[2023-05-22 00:16:56,283] [INFO] Scanning URL: https://marketjinn.website/assets/css/
Особо интересного ничего нет. Стандартная структура сайта-визитки.
Для информации об ip-адресе можем заюзать запрос на wget http://ipinfo.io/172.67.149.228/json -O -
Код:
"ip": "172.67.149.228",<br> "anycast": true,<br> "city": "San Francisco",<br> "region": "California",<br> "country": "US",<br> "loc": "37.7621,-122.3971",<br> "org": "AS13335 Cloudflare, Inc.",<br> "postal": "94107",<br> "timezone": "America/Los_Angeles",<br> "readme": "https://ipinfo.io/missingauth"
Как мы видим домен прикрыт cloudflare.
Для того чтобы проверить историю dns-записей мы можем обратиться к сайту https://completedns.com/dns-history/
Где мы обнаруживаем, что домен сайта хостится на regway.com !
Хостинг и домен провайдер с оплатой за крипту. Есть большая вероятность, что и сам сервер находится там же.
Теперь перейдем к онион домену http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion/
Из антиддос-защит обнаружена капча со стрелками, такая же как у rutor.
К слову кому интересно это разработка от форума dread https://github.com/h0ay/EndGame-DDOS-protection
Только немного с другими настройками.
Написан на node.js и используется mobx.js для клиентской части.
Отсутствует дополнительная капча на регистрацию и логин.
Выдает конкретные ошибки при неверных запросах на API с указанием конкретных номеров строк и файлов !
Рега или чек юзеров возможна простым запросом.
Код:
torsocks curl 'http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion/api/v1/auth/register' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: application/json, text/plain, */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Referer: http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion/server-status' -H 'Content-Type: application/json' -H 'Authorization: Bearer null' -H 'Origin: http://jinn4youuuhdz63jxa72g3qdryliklmwbtc2nf7krr6gadjmbxs5xfad.onion' -H 'Connection: keep-alive' -H 'Cookie: dcap=4AD467D897F1B21BE9F3FAB6125185048B1F28823A2D68CDD78C69D0A019CE6BD8759F9A4A4173D0428296E253C4F76B6E6805D1A708AE28FBCFD03297AD53E5' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' --data-raw '{"username":"rkrkrr122121SSjk1k1","password":"rkrkrr122121SSjk1k1","accept":true,"referral":"","deviceId":"5783841482406702"}'<br><br>{"statusCode":409,"timestamp":"2023-05-23 21:14:41","path":"/api/v1/auth/register","status":409,"message":"Пользователь с таким логином уже существует","name":"HttpException","stack":"HttpException: Пользователь с таким логином уже существует\n at createHttpException (/dist/apps/api/main.js:2208:17)\n at UserAuthService.register (/dist/apps/api/main.js:15169:52)\n at processTicksAndRejections (node:internal/process/task_queues:96:5)"}⏎
Вердикт по сервису:
Проект с упором отнюдь не на безопасность своих юзеров.
Сделаем скидку, так как он относительно новый.
Однако пока не рекомендую к использованию.
3. Mega
mega.fo mega.mp mega.gl safeklad.com/mega
Onion-ссылка:
mega555kf7lsmb54yd6etzginolhxxi4ytdoma2rf77ngq55fhfcnyid.onion
Первоначальная капча встречает нас на старте сайта. Далее следует js challenge,который на самом деле ничего не делает кроме, как выставления кукиса и таймаута, и проверки браузера на автоматические решение типа selenium. Можно просто игнорировать его при запросах.
Однако далее идет следующая капча. Изменяющийся svg. Весьма забавно.
Так, как регистрация новых юзеров временно приостановлена, не смог протестировать внутри.
Используется alpine.js
Вердикт по сервису:
Внутренняя структура не была мной изучена. Полноценная оценка невозможна
4. BlackSprut
https://bs.gl/
https://bs2web.at/
https://bs.hn/
LurkChat.com:
https://lurkchat.com/to/bsbot
ЗЕРКАЛА ТОR:
blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion
blacksprut2rprrt3aoigwh7zftiprzqyqynzz2eiimmwmykw7wkpyad.onion
Простая капча при входе. Также далее при логине и регистрации.
Можно обойти первоначальную настройку если после реги сразу пойти на http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/secret
Попадаем на главную. Иногда встречается проверка на бота, которая представляет собой js решение ресурсоемких задач браузером. Видимо,чтобы отмести чистые запросы. Однако она не закодирована и вероятно решаема на клиенте без браузера.
Используется jquery,bootstrap
На сайте используется старые адреса биткоин типа 3
Сервер nginx - http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/storage/products/
Присутствует возможность перебора id юзеров,подставляя цифры
http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/storage/users/182972
Реальный юзер по этому id выдаст результат 403 Forbidden, если его нет 404
Благодаря этому проверил что их первый юзер(возможно админ) имеет id 3
По адресу http://blackspruty4w3j4bzyhlk24jr32wbpnfo3oyywn4ckwylo4hkcyy4yd.onion/admin
Находится админка закрытая 403
Вердикт по сервису:
Достаточно адекватный сайт без явных косяков. С минимумом использования js. Хотя, так как они юзают js challenge для постоянных проверок на бота, это не совсем так. Рекомендую обойтись без него.
5. Darkside
https://darkside.fm/
Не обнаружена какая-либо защиты от ддоса.
Касательно основного входа используется следующий запрос. Мы делаем запрос через torsocks на tor версию
Код:
torsocks curl 'http://darkside6fy5vyutp6nf6o6rirkah2o7beithn4tv5ad236zh6d3teqd.onion/api/login' -X POST -H 'User-Agent: Mozilla/5.0 (Windows NT 10.0; rv:102.0) Gecko/20100101 Firefox/102.0' -H 'Accept: */*' -H 'Accept-Language: en-US,en;q=0.5' -H 'Accept-Encoding: gzip, deflate' -H 'Referer: http://darkside6fy5vyutp6nf6o6rirkah2o7beithn4tv5ad236zh6d3teqd.onion/search?q='&priceMax=01' -H 'Content-Type: application/json' -H 'Origin: http://darkside6fy5vyutp6nf6o6rirkah2o7beithn4tv5ad236zh6d3teqd.onion' -H 'Connection: keep-alive' -H 'Sec-Fetch-Dest: empty' -H 'Sec-Fetch-Mode: cors' -H 'Sec-Fetch-Site: same-origin' --data-raw '{"login":"ssss","password":"sss","captcha":"8985","captchaId":"1arCnRaJL9orH22b3yEV"}'<br><br>{"message":"Капча введена не верно. Давайте еще раз.","err":null,"captcha":"iVBORw0KGgoAAAANSUhEUgAAAKAAAAA4CAMAAABNJAMxAAAAP1BMVEUAAABRTSRFQRjPy6JZVSx3c0qBfVSno3qFgVja1q3Tz6aRjWRIRBs/OxJwbEO7t46Df1ZlYTihnXRxbUSvq4JcvMVCAAAAAXRSTlMAQObYZgAAAiFJREFUeJzsmduy6iAMhol17MELp/r+77rH3UJLDhDSKswa/5taasI3gSRU3U9/RwAAtRlkrXCtIm5YTRLGUO0RYqKqQbxpvlQR8HbDhGy4ahLGt9JqhuHXp4FSStQ9P/561SOEVcLT9VqV702RjaFGU2T3dlxQCGaZb7kKKAWA0zTt+RZbLeM884QbWDZPFITBqaHiz4JxuD3thED9FHgmCbG7OQeQdaL2DMvGjQD3z45L2ic631tC7KhOPcDIHjS+Q8YGFEC0J/Bd2AfdSkgSAA8gVHfiLlzKweXCEXZd51BVZPoDIQGZ2sqXiiCmoXOihADMdQAwa4rbCnDVNwohs7D2EGbtAHVTGpTRiTXFV54cnzlDYeXj8tF/GMcxlQ/pEw1roqVzu7dEbtH+Xx59KoI+iJmJeJacGUS1F208CHx9H2NZdxsxy4YPlYqIcFuzRx9PUHZQkxBBk7s4WT3vsqO4cwXpduWIa0opuhcDAhsiiwGqfFDMrP8mOUBlvIh8z1JKrSVpaUk+Jy3N82klzFlKqSUEUJ7HwKaxFPbTR37ju1uMuExIYFum8LrfTYQUQkxTOjgVuSZ8Q5G5pyioIvtXWYOGwUTopLVkxg7xOTdcr2Zbposcg2Fl5yOEn8A7KP6435LCm0ebeC68qzSL99NPJ6v7jp25uXSdjbDQ7kB7biCCoxHhW1p+oGhZrfNlVPUPPYVq/qHnnPsXAAD///LWBZY0iY3TAAAAAElFTkSuQmCC","captchaId":"gEU099jsC1Af0drheQyo"}
Который возращает сразу код новой капчи в base64 и ее id. Можно написать легко перебор паролей для логинов, каких-либо ограничений по потокам тут нет. Ибо тор и защиты от массовых запросов тоже нет. Капча очень простая визуально.
Внизу статьи приложен примерный код брутфорсера на python.
Также на главной замечено следующее.
Однако на каждом отдельном магазине этот html-код отображается верно. Что говорит в целом о уровне недоработанности маркетплейса.
Вердикт по сервису:
Находится в зачаточном состоянии.
6. TrustMarket
TRUST.RIP
trustmarket.black
trust24.me
trustmcugelzkqbugsu75yu4i2jq5wuk7gip4vvxoeyje6wagapkqzqd.onion
Форум
trustfd2m3wkzki26dppubxmvyzog35tkrlfhgmngvhjuxqpz53caryd.onion
Присутствует простая капча на входе.
Вместо числового id в различных случаях используется длинные хеши. Это плюс
По вводу очень длинного текста в pgp в настройках выводит ошибку. Между тем позволяет вписать туда что угодно.
Заявлена поддержка btc,xmr однако монеро выдает ошибку.
Есть возможность массово спамить заказами, так как для их открытия не нужен баланс, а капчи не предусмотрены.
Их форум написан на движке Flarum и node.js
http://trustfd2m3wkzki26dppubxmvyzog35tkrlfhgmngvhjuxqpz53caryd.onion/api
По прямой ссылке на форум апи выдает много переменных
По ссылке http://trustfd2m3wkzki26dppubxmvyzog35tkrlfhgmngvhjuxqpz53caryd.onion/web.config позволяет скачать конфиг форума
Код:
<?xml version="1.0" encoding="UTF-8"?><br><configuration><br> <system.webServer><br> <defaultDocument><br> <files><br> <clear /><br> <add value="Index.php" /><br> </files><br> </defaultDocument><br> <rewrite><br> <rules><br> <!-- Changed `enabled=` to true in the rule below if you are not using the `public` directory to<br> prevent sensitive resources from being exposed --><br> <rule name="Disallow sensitive directories" enabled="false" stopProcessing="true"><br> <match url="^/(\.git|composer\.(json|lock)|auth\.json|config\.php|flarum|storage|vendor)" ignoreCase="false" /><br> <action type="CustomResponse" url="/" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" /><br> </rule><br> <rule name="Handle index.php re-write" stopProcessing="true"><br> <match url="^" ignoreCase="false" /><br> <conditions logicalGrouping="MatchAll"><br> <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /><br> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /><br> </conditions><br> <action type="Rewrite" url="index.php" appendQueryString="true" /><br> </rule><br> </rules><br> </rewrite><br> </system.webServer><br></configuration>
Вердикт по сервису:
Интересное решение, однако местами не идеальное. Сам сервис гораздо лучше, чем его компаньон-форум.
7. Solaris
solaris.fm
solaris4ib7kzcyxjxind6rjumfg7hcwx5h6kfl7lpwxy7eftxsxkxad.onion
solarise6muu4eaobpmunu4t7y3fam5hzmxxet3glwk363mtk42ptead.onion
solarisjgmooemeq7jwv3qsg3tonomivsdqfzrssjfqbj6pbnyzbrhqd.onion
solarisjir5tbwwe7qqusoed73i2blepuzloy3qrolgjshryaqxgn7ad.onion
Форум:
Forum.Solaris.FM
Forum.Solaris.CAT
Используется OpenResty, nginx сборка с lua
Также jquery,bootstrap
При входе используется весьма интересная собственная капча для всего ресурса.
Прямые зеркала в клирнете это минус.
Внутренняя капча для регистрация. Но на логине почему-то ее нет.
Форум на движке phpbb
На форуме палится версия nginx nginx/1.22.1
Что может пригодится для поисков точных эксплоитов.
На форуме есть прямая ссылка для перебора страниц юзеров
http://sol4rum32yy34pbrhzrrmmyjkfoz...6qd.onion/memberlist.php?mode=viewprofile&u=2
Палятся последние посещения с точностью
Вс май 21, 2023 11:24 am
И прочие минусы готовых движков.
Вердикт по сервису:
Сам сервис неплох. Собственное решение. Однако форум стоило бы взять на менее популярном движке или разработать самостоятельно.
8. Nova
https://nova.wf/
Onion - novaltdvcpcu66ap7f2gg3n3dxhwaiqyqlskpptdcag2waibplodggad.onion
Имеется прямое зеркало в клирнете, что в большинстве случаев не очень. Прикрыт cloudflare, но все же.
Используемый язык vue.js
Вход не закрыт капчей. Регистрация закрыта сторонней капчей от внешнего сервиса.
Внутри сайта была обнаружена get ссылка, которая позволяет собирать логины юзеров.
https://nova.wf/broadcasting/dialogs/search/member?name=test
Учитывая, что логин возможен без капчи дает легчайший способ перебора учеток.
Вердикт по сервису:
На мой взгляд сервис не слишком заботится о безопасности.
Результаты:
В целом выглядит все не слишком ужасно. Однако присутствуют моменты, на которые стоит обратить внимание.
Большинство маркетплейсов создаются с оглядкой на прибыль, а не максимальную безопасность. Сегодня я не нашел критический уязвимостей после беглого пробега по сайтам, завтра кто знает.
Множеству маркетплейсов я бы порекомендовал не так сильно опираться на американский Cloudflare. Возможно он защищает клирнет-домены на базовом уровне в контексте определенного региона. Но если вы будете расширяться до мирового уровня, это выйдет вам боком.
Также советую предусмотреть версию для работы без js. Для тех юзеров, которые хотят большей защиты, да и вам лично рекомендую снизить возможный спектр атак.
На устойчивость к ддос тесты не проводились.
По степени условной безопасности выставил сравнительные баллы от 1 до 10. Но это не рекомендация к использованию конкретного маркетплейса.
weedcat - 3
Jinn - 3
BlackSprut - 7
Darkside - 5
TrustMarket - 6
Solaris - 6
Nova - 5