![]() |
Привет форумчане!
Прочел блог на хабре http://habrahabr.ru/post/213397/ Хочу сделать ssl (tcp) proxy для перехвата трафика, но загвоздка в следующем, клиент PokerStars коннектится на сервак 77.87.178.74:26002, на этом серваке отключен ping!!! Вопрос к знатокам: 1. как мне узнать его dns имя? 2. или как-нибудь можно замутить атаку MitM ssl(tcp) без dns имени? Заранее спасибо!!! |
Если я не ошибаюсь то MITM актуальна в одном сегменте сети...Если все было так просто то все бы были богачами))
|
неее. mitm не только арп спуф, речь наверное может идти о том как попасть в сессию
|
1. у этого сервера может и не быть днс имени, т.е. ситуация, когда идет обращение на покер стар, сервак к которому обращаются является просто балансировщиком нагрузки и он редеректит на другие фронты, которые уже и обрабатывают запросы.А так, сервис whois вам в помощь...по ip вытаскиваете всю информацию.
2. про проксю посередине или MITM. уже частично я объяснял тонкость вот тут PHP код:
И про не которые заблуждения, прокся не обязательно должна быть в одной локале с жертвой (в одной подсети), но так проще конечно. Дружище BabaDook, и все-таки согласись, что арп спуфинг, это не митм как таковой А просто разновидность и даже скорее способ достижения man-in-the-middle Ваше мнение , сэр? |
Можно использовать ProxyCap и Fiddler/Charles. Но клиент может не использовать http(s), а работать по своему собственному протоколу. Также может использоваться Certificate Pinning для защиты от подмены сертификата и перехвата трафа, в этом случае придется патчить клиент.
|
А будет ли в этом смысл? Маловероятно, что сервер слепо доверяет данным клиента.
Для начала хорошо бы wireshark/tcpdump'ом снять трафик, попробовать его проанализировать и от это уже отталкиваться для организации 'mitm'. |
Цитата:
Просто стоит защита, например, я работаю в организации у которой есть корпоративная сеть между 55-ти организациями, так вот когда проходили переаттестацию по степени защищенности нам настроили VipNet Coordinator HW 1000 так, чтобы web-сервер из локальной сети не пинговался! Ведь ping - это просто посылается сообщение hello на сервак на определённый порт, на которое сервак в свою очередь здоровается и в итоге замеряется скорость обмена... А сервер PokerStars не культурный - не здоровается в ответ |
Цитата:
|
Цитата:
У меня есть Kali linux и wireshark, если я не ошибаюсь, я использовал для хака соседской вафельки |
Цитата:
|
Ааааа точно... у вас тоже решался когда то вопрос випнет или континет и вроде даже как, для защиты ваших веб ресурсов, ну по крайне мере в ряде регионов, WAF Imperva закупалась... хотя инфа может быть устаревшая
|
Скажите, а без dns имени перехват ssl трафика методом "человек посередине" не получится?
Ведь исходя из этой статья http://habrahabr.ru/post/213397/ нужно сделать алиас в файле hosts на dns имя, а потом его использовать в сертификате... |
Цитата:
|
Цитата:
Без dns для перенаправления трафика можно попробовать использовать netsh/iptables. ps: все АПКШ СЗИ отечественного производства редкое УГ |
зато STERRa умеет на L2 работать наконец то ... Хотя вроде как инфотекс тоже год назад анонсировал это Но в целом согласен! Настраивается порой не тревиально, работает пока не трогаешь и не дышишь в ту сторону.
|
Цитата:
А что мне тогда в сертификате указывать, какой домен? CN=*.playdata.co.uk - это можно заменить на *.* ? например: makecert -n CN=MyCA -cy authority -a sha1 -sv “MyCA.pvk” -r “MyCA.cer” //Создаём сертификат ЦА certmgr -add -all -c “MyCA.cer” -s -r LocalMachine Root //Добавляем в довереные коневые центры сертификаты makecert -n CN=*.playdata.co.uk -ic MyCA.cer -iv MyCA.pvk -a sha1 -sky exchange -pe -sr currentuser -ss my SslServer.cer //Создаём серверный сертификат |
Цитата:
Но, корневик который с генерируете, MyCA должен быть в доверенном корневом на машине, иначе браузер будет блокировать. UPD сразу не обратил внимание, у вас второй строкой экспорт в машину стоит |
Цитата:
если не учитывать утечку памяти в корневом процессе, ежемесячные перезагрузки и потерю пакетов на длинных каналах (что для UDP/ipsec критично) в остальном нормальные железки А, забыл еще процедуру обновления с разворотом вм и загрузкой по сети.. Попробуйте перехватить поля сертификата в сессии, сразу будет понятно какой серт генерить. |
Интересная конечно тема. Всё никак руки не доходили до инъекции сертификата
|
Цитата:
UPD хотя... можно и не заморачиваться. Если рассматривать классическую цепочку user->proxy->server. То мы можем любой SSL серт испоьзовать между user->proxy вне зависимости какой он идет реально, с этим реальным будет работать прокси, мы собираем расшифрованный трафик на прокси в обе стороны. Ну это конечно если работаем через браузер. а не через клиента. у которого могут быт вшиты настройки проверки валидности сертификата. |
Цитата:
И конечно могут быть вшиты настройки проверки валидности сертификата. Тогда прийдется декомпилировать клиента, искать функции которые используют API для работы с SSL или с сертификатами, и перехватывать их... Конечно это будет немного геморно |
Цитата:
|
Цитата:
|
Цитата:
Цель я так понимаю разобраться какие параметры он передает на сервер и попытаться ими манипулировать. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Дальше уже идет шифрованный трафик... |
Цитата:
Если проверки сертификата в клиенте pokerStars нет - то можно перехватить трафик и парсить его налету. Если защита всё же есть, то прийдется заняться реверс-инженеренгом (крэкингом). Нужно будет декомпилировать клиент pokerStars, найти функцию(и) которые осуществляют эту проверку (защиту). Потом или пропатчить клиента OllyDbg-ром или написать библиотеку (dll) с перехватом и модификацией этой(х) функции(й), которую нужно будет заинжектить в процесс клиента pokerStars. Чтобы использовать OllyDbg - нужно очень хорошо знать assembler (я его практически не знаю ) Перехват функций с инжектом dll - нужно знать C++, и пользоваться декомпилятором ida hex rays, где hex rays - это почти удачная попытка преобразования кода Assembler в C++ ida hex rays мне более понятна и мне с ней проще так что я буду не патчить клиента, а перехватывать и модифицировать функции... |
Цитата:
|
Цитата:
|
Цитата:
1. сначала декомпилируем приложение, находим нужную нам функцию и узнаем её адрес 2. в библиотеке (dll) пишем перехват функции и модификацию данных например: в программе есть функция "пить чай" с входными параметрами "тип чая (зелёный, чёрный)" и "кол-во сахара (в чайных ложках)" эта функция имеет следующий вид - ПитьЧай(чай, сахар) с адресом 0x0000001 делаем прототип функции "пить чай" эта функция имеет следующий вид - ПрототипПитьЧай(чай, сахар) делаем перехват функции - я использую метод сплайсинга (https://ru.wikipedia.org/wiki/Перехват_(программирование )) суть в том, что когда идёт вызов оригинальной функции ПитьЧай по адресу 0x0000001 то запускается наш прототип ПрототипПитьЧай и получает входные параметры, которые передаются в оригинальную функцию в функции ПрототипПитьЧай мы изменяем входные параметры и модифицированные данные передаем в оригинальную функцию ПитьЧай это выглядит примерно так: //допустим что "чай" - чёрный, а "сахар" - 2 ложки функция ПрототипПитьЧай(чай, сахар){ //меняем параметры чай = кофе сахар = 100500 //передаем модифицированные параметры ПитьЧай(чай, сахар) } или так //допустим что "чай" - чёрный, а "сахар" - 2 ложки функция ПрототипПитьЧай(чай, сахар){ //передаем модифицированные параметры ПитьЧай(кофе, 100500) } |
Спасибо. действительно понял не так, почему и заинтересовался Спасибо за разъяснение.
|
Не знаю что это за PockerStar, но могу предложить возможный вариант. Иногда бывает так, что в клиент встроен браузер, например, для просмотра профиля чужого игрока. Если такая схема возможна, есть вектор MITM JS. Вы заставляете браузер выполнить JS скрипт, с ВК например, даже если SSL не сбрасывается, схема катит на отлично.
|
Цитата:
http://i.stack.imgur.com/xkwhU.png |
Цитата:
Он использует SSL (TCP) |
Цитата:
|
PokerStars - сложно будет, а вот https://nitrogensports.eu/ думаю проще, тут тоже есть покер только играют на BTC.
|
Цитата:
|
Цитата:
|
| Время: 09:33 |