Просмотр полной версии : Атака Man-In-The-Middle на PokerStars (перехват ssl трафика покерного клиента)
justcoolgeo
02.06.2015, 17:28
Привет форумчане!
Прочел блог на хабре http://habrahabr.ru/post/213397/
Хочу сделать ssl (tcp) proxy для перехвата трафика, но загвоздка в следующем, клиент PokerStars коннектится на сервак 77.87.178.74:26002, на этом серваке отключен ping!!!
Вопрос к знатокам:
1. как мне узнать его dns имя?
2. или как-нибудь можно замутить атаку MitM ssl(tcp) без dns имени?
Заранее спасибо!!!
Mister_Bert0ni
02.06.2015, 19:41
Если я не ошибаюсь то MITM актуальна в одном сегменте сети...Если все было так просто то все бы были богачами))
BabaDook
02.06.2015, 20:53
неее. mitm не только арп спуф, речь наверное может идти о том как попасть в сессию
1. у этого сервера может и не быть днс имени, т.е. ситуация, когда идет обращение на покер стар, сервак к которому обращаются является просто балансировщиком нагрузки и он редеректит на другие фронты, которые уже и обрабатывают запросы.А так, сервис whois вам в помощь...по ip вытаскиваете всю информацию.
2. про проксю посередине или MITM. уже частично я объяснял тонкость вот тут
http:/threads/425286/#post-3853231
если нужно что-то про митм подробнее, спрашивайте.
И про не которые заблуждения, прокся не обязательно должна быть в одной локале с жертвой (в одной подсети), но так проще конечно.
Дружище BabaDook (https://antichat.live/members/263150/), и все-таки согласись, что арп спуфинг, это не митм как таковой А просто разновидность и даже скорее способ достижения man-in-the-middle Ваше мнение , сэр?
M_script
03.06.2015, 10:32
Можно использовать ProxyCap и Fiddler/Charles. Но клиент может не использовать http(s), а работать по своему собственному протоколу. Также может использоваться Certificate Pinning для защиты от подмены сертификата и перехвата трафа, в этом случае придется патчить клиент.
А будет ли в этом смысл? Маловероятно, что сервер слепо доверяет данным клиента.
Для начала хорошо бы wireshark/tcpdump'ом снять трафик, попробовать его проанализировать и от это уже отталкиваться для организации 'mitm'.
justcoolgeo
03.06.2015, 12:05
↑ (https://antichat.live/posts/3854975/)
1. у этого сервера может и не быть днс имени, т.е. ситуация, когда идет обращение на покер стар, сервак к которому обращаются является просто балансировщиком нагрузки и он редеректит на другие фронты, которые уже и обрабатывают запросы.А так, сервис whois вам в помощь...по ip вытаскиваете всю информацию.
2. про проксю посередине или MITM. уже частично я объяснял тонкость вот тут
http:/threads/425286/#post-3853231
если нужно что-то про митм подробнее, спрашивайте.
И про не которые заблуждения, прокся не обязательно должна быть в одной локале с жертвой (в одной подсети), но так проще конечно.
Дружище
BabaDook (https://antichat.live/members/263150/)
, и все-таки согласись, что арп спуфинг, это не митм как таковой
А просто разновидность и даже скорее способ достижения man-in-the-middle
Ваше мнение , сэр?
Уважаемый frank, на счет dns имени - у любой тачки хоть у сервера, хоть у обычного АРМ есть имя!
Просто стоит защита, например, я работаю в организации у которой есть корпоративная сеть между 55-ти организациями, так вот
когда проходили переаттестацию по степени защищенности нам настроили VipNet Coordinator HW 1000 так, чтобы web-сервер из локальной сети не пинговался!
Ведь ping - это просто посылается сообщение hello на сервак на определённый порт, на которое сервак в свою очередь здоровается и
в итоге замеряется скорость обмена...
А сервер PokerStars не культурный - не здоровается в ответ
↑ (https://antichat.live/posts/3855027/)
А будет ли в этом смысл? Маловероятно, что сервер слепо доверяет данным клиента.
Для начала хорошо бы wireshark/tcpdump'ом снять трафик, попробовать его проанализировать и от это уже отталкиваться для организации 'mitm'.
Это да...или понять хотя бы, а реально завернуть трафик жертвы на себя (ну так, отбросим остальные тех аспекты. как SSL, отличные от HTTP(s) протоколы, дампинг SSL, Certificate Pinning). А в целом все эти достаточно давно существующие ресурсы типа pokerstar очень хорошо закрыты.
justcoolgeo
03.06.2015, 12:11
↑ (https://antichat.live/posts/3855027/)
А будет ли в этом смысл? Маловероятно, что сервер слепо доверяет данным клиента.
Для начала хорошо бы wireshark/tcpdump'ом снять трафик, попробовать его проанализировать и от это уже отталкиваться для организации 'mitm'.
Уважаемый ZodiaX, можете подробнее описать какую информацию я могу получить wireshark/tcpdump'ом?
У меня есть Kali linux и wireshark, если я не ошибаюсь, я использовал для хака соседской вафельки
↑ (https://antichat.live/posts/3855030/)
Уважаемый frank, на счет dns имени - у любой тачки хоть у сервера, хоть у обычного АРМ есть имя!
Просто стоит защита, например, я работаю в организации у которой есть корпоративная сеть между 55-ти организациями, так вот
когда проходили переаттестацию по степени защищенности нам настроили VipNet Coordinator HW 1000 так, чтобы web-сервер из локальной сети не пинговался!
Ведь ping - это просто посылается сообщение hello на сервак на определённый порт, на которое сервак в свою очередь здоровается и
в итоге замеряется скорость обмена...
А сервер PokerStars не культурный - не здоровается в ответ
Имя машины в сети и публичное днс имя это разные вещи. А HW1000 просто у вас скорее всего стоит сетевым интерфейсом в режиме 3 или выше, Эти режимы блокируют icmp запросы, если не создавать правила исключения. По факту это просто аттестованый на требования фсб и фстэк фаервол с функцией маршрутизации и шифрования(если используется режим полутунель) Я знаю что такое випнетовский координатор, работал с ними Я вообще очень хорошо знаю линейку по и железа випнет и не только випнета ну а раз между 55-ти организациями и випнет, не ПФР часом ли или РЖД ?
Ааааа точно... у вас тоже решался когда то вопрос випнет или континет и вроде даже как, для защиты ваших веб ресурсов, ну по крайне мере в ряде регионов, WAF Imperva закупалась... хотя инфа может быть устаревшая
justcoolgeo
03.06.2015, 12:28
Скажите, а без dns имени перехват ssl трафика методом "человек посередине" не получится?
Ведь исходя из этой статья http://habrahabr.ru/post/213397/ нужно сделать алиас в файле hosts на dns имя, а потом его использовать в сертификате... (http://habrahabr.ru/post/213397/)
↑ (https://antichat.live/posts/3855043/)
Скажите, а без dns имени перехват ssl трафика методом "человек посередине" не получится?
Ведь исходя из этой статья
http://habrahabr.ru/post/213397/ нужно сделать алиас в файле hosts на dns имя, а потом его использовать в сертификате... (http://habrahabr.ru/post/213397/)
Можно и в этой статье пошагово человек описал как . Только он приводил пример все-таки своей машины, к которой он имеет доступ и может на ней проводить любые настройки фактически.
↑ (https://antichat.live/posts/3855033/)
Уважаемый ZodiaX, можете подробнее описать какую информацию я могу получить wireshark/tcpdump'ом?
У меня есть Kali linux и wireshark, если я не ошибаюсь, я использовал для хака соседской вафельки
Вы получите дамп трафика из которого уже приблизительно будет видно, используется ли ssl/tls или что-то другое.
Без dns для перенаправления трафика можно попробовать использовать netsh/iptables.
ps: все АПКШ СЗИ отечественного производства редкое УГ
зато STERRa умеет на L2 работать наконец то ... Хотя вроде как инфотекс тоже год назад анонсировал это Но в целом согласен! Настраивается порой не тревиально, работает пока не трогаешь и не дышишь в ту сторону.
justcoolgeo
03.06.2015, 12:50
↑ (https://antichat.live/posts/3855045/)
Можно и в этой статье пошагово человек описал как
. Только он приводил пример все-таки своей машины, к которой он имеет доступ и может на ней проводить любые настройки фактически.
Ладно, допустим я перенаправил трафик с клиента PokerStars на localhost (127.0.0.1)
А что мне тогда в сертификате указывать, какой домен?
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
//Создаём серверный сертификат
↑ (https://antichat.live/posts/3855059/)
Ладно, допустим я перенаправил трафик с клиента PokerStars на localhost (127.0.0.1)
А что мне тогда в сертификате указывать, какой домен?
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
//Создаём серверный сертификат
можно...это просто будет означать что сертификат распространяется на любые доменные имена 4 уровня для данного домена playdata.co.uk
Но, корневик который с генерируете, MyCA должен быть в доверенном корневом на машине, иначе браузер будет блокировать.
UPD сразу не обратил внимание, у вас второй строкой экспорт в машину стоит
↑ (https://antichat.live/posts/3855054/)
зато STERRa умеет на L2 работать
наконец то
... Хотя вроде как инфотекс тоже год назад анонсировал это
Но в целом согласен! Настраивается порой не тревиально, работает пока не трогаешь и не дышишь в ту сторону.
ничего не говори про С-Терру... с этими железками я года три "развлекался"
если не учитывать утечку памяти в корневом процессе, ежемесячные перезагрузки и потерю пакетов на длинных каналах (что для UDP/ipsec критично) в остальном нормальные железки
А, забыл еще процедуру обновления с разворотом вм и загрузкой по сети..
Попробуйте перехватить поля сертификата в сессии, сразу будет понятно какой серт генерить.
BabaDook
03.06.2015, 13:25
Интересная конечно тема. Всё никак руки не доходили до инъекции сертификата
↑ (https://antichat.live/posts/3855074/)
Скажите, а каким образом перехватить поля сертификата в сессии?
И какой сессии?
Можете подробней рассказать?
Ну zodiaX выше писал сделать tcpdump запроса к серверу, а потом тем же шарком посмотреть.. вы клиента трафик хотите попробовать перехватить? или все-таки через браузерное подключение?
UPD хотя... можно и не заморачиваться. Если рассматривать классическую цепочку user->proxy->server. То мы можем любой SSL серт испоьзовать между user->proxy вне зависимости какой он идет реально, с этим реальным будет работать прокси, мы собираем расшифрованный трафик на прокси в обе стороны. Ну это конечно если работаем через браузер. а не через клиента. у которого могут быт вшиты настройки проверки валидности сертификата.
justcoolgeo
03.06.2015, 13:56
↑ (https://antichat.live/posts/3855082/)
Ну zodiaX выше писал сделать tcpdump запроса к серверу, а потом тем же шарком посмотреть.. вы клиента трафик хотите попробовать перехватить? или все-таки через браузерное подключение?
UPD хотя... можно и не заморачиваться. Если рассматривать классическую цепочку user->proxy->server. То мы можем любой SSL серт испоьзовать между user->proxy вне зависимости какой он идет реально, с этим реальным будет работать прокси, мы собираем расшифрованный трафик на прокси в обе стороны. Ну это конечно если работаем через браузер. а не через клиента. у которого могут быт вшиты настройки проверки валидности сертификата.
Клиент PokerStars работает через tcp.
И конечно могут быть вшиты настройки проверки валидности сертификата.
Тогда прийдется декомпилировать клиента, искать функции которые используют API для работы с SSL или с сертификатами, и перехватывать их...
Конечно это будет немного геморно
BabaDook
03.06.2015, 14:28
↑ (https://antichat.live/posts/3855102/)
Клиент PokerStars работает через tcp.
И конечно могут быть вшиты настройки проверки валидности сертификата.
Тогда прийдется декомпилировать клиента, искать функции которые используют API для работы с SSL или с сертификатами, и перехватывать их...
Конечно это будет немного геморно
То что вы задумали не очень то и легко. Можно узнать ваш план осуществление. Допустим я жертва, ваши действия?!
↑ (https://antichat.live/posts/3855114/)
То что вы задумали не очень то и легко. Можно узнать ваш план осуществление. Допустим я жертва, ваши действия?!
В помощь justcoolgeo в ответе тебе, сложно когда задача с анализим чужого трафика... а так, если поснифить от себя это опыт в настройке, развертывании на своем стенде, перехвате и анализе трафика, возможно даже и реверс Короче скилы себе прокачать тоже норм задачка
↑ (https://antichat.live/posts/3855114/)
То что вы задумали не очень то и легко. Можно узнать ваш план осуществление. Допустим я жертва, ваши действия?!
Не совсем так, жертва в данном случае клиент PokerStar установленный у себя же
Цель я так понимаю разобраться какие параметры он передает на сервер и попытаться ими манипулировать.
BabaDook
03.06.2015, 14:46
↑ (https://antichat.live/posts/3855115/)
В помощь justcoolgeo в ответе тебе, сложно когда задача с анализим чужого трафика... а так, если поснифить от себя это опыт в настройке, развертывании на своем стенде, перехвате и анализе трафика, возможно даже и реверс
Короче скилы себе прокачать тоже норм задачка
↑ (https://antichat.live/posts/3855121/)
Не совсем так, жертва в данном случае клиент PokerStar установленный у себя же
Цель я так понимаю разобраться какие параметры он передает на сервер и попытаться ими манипулировать.
В научных целях самое то. Поддерживаю такую идею. Или мир изменился, или я что-то перестал его понимать. Всё, начинаю спать по ночам со следующей недели
↑ (https://antichat.live/posts/3855123/)
В научных целях самое то. Поддерживаю такую идею. Или мир изменился, или я что-то перестал его понимать. Всё, начинаю спать по ночам со следующей недели
Или коспирация
justcoolgeo
04.06.2015, 17:56
↑ (https://antichat.live/posts/3855115/)
В помощь justcoolgeo в ответе тебе, сложно когда задача с анализим чужого трафика... а так, если поснифить от себя это опыт в настройке, развертывании на своем стенде, перехвате и анализе трафика, возможно даже и реверс
Короче скилы себе прокачать тоже норм задачка
Уважаемый frank, просто проснифить трафик в данном случае не поможет т.к. трафик зашифрован (SSL)
↑ (https://antichat.live/posts/3855540/)
Уважаемый frank, просто проснифить трафик в данном случае не поможет т.к. трафик зашифрован (SSL)
Там что, двусторонний SSL? Сильно сомневаюсь. А значит есть открытый трафик в виде обмена hello пакетами и первичного сертификата от сервера, вот его поля и серт вы можете изучить.
Дальше уже идет шифрованный трафик...
justcoolgeo
04.06.2015, 18:13
↑ (https://antichat.live/posts/3855114/)
То что вы задумали не очень то и легко. Можно узнать ваш план осуществление. Допустим я жертва, ваши действия?!
Уважаемый BabaDook, план таков:
Если проверки сертификата в клиенте pokerStars нет - то можно перехватить трафик и парсить его налету.
Если защита всё же есть, то прийдется заняться реверс-инженеренгом (крэкингом).
Нужно будет декомпилировать клиент pokerStars, найти функцию(и) которые осуществляют эту проверку (защиту).
Потом или пропатчить клиента OllyDbg-ром или написать библиотеку (dll) с перехватом и модификацией этой(х) функции(й),
которую нужно будет заинжектить в процесс клиента pokerStars.
Чтобы использовать OllyDbg - нужно очень хорошо знать assembler (я его практически не знаю )
Перехват функций с инжектом dll - нужно знать C++, и пользоваться декомпилятором ida hex rays, где hex rays - это почти удачная попытка преобразования
кода Assembler в C++
ida hex rays мне более понятна и мне с ней проще так что я буду не патчить клиента, а перехватывать и модифицировать функции...
↑ (https://antichat.live/posts/3855548/)
Уважаемый BabaDook, план таков:
Если проверки сертификата в клиенте pokerStars нет - то можно перехватить трафик и парсить его налету.
Если защита всё же есть, то прийдется заняться реверс-инженеренгом (крэкингом).
Нужно будет декомпилировать клиент pokerStars, найти функцию(и) которые осуществляют эту проверку (защиту).
Потом или пропатчить клиента OllyDbg-ром или написать библиотеку (dll) с перехватом и модификацией этой(х) функции(й),
которую нужно будет заинжектить в процесс клиента pokerStars.
Чтобы использовать OllyDbg - нужно очень хорошо знать assembler (я его практически не знаю
)
Перехват функций с инжектом dll - нужно знать C++, и пользоваться декомпилятором ida hex rays, где hex rays - это почти удачная попытка преобразования
кода Assembler в C++
ida hex rays мне более понятна и мне с ней проще так что я буду не патчить клиента, а перехватывать и модифицировать функции...
А можно подробнее про послденее предложение, я просто в реверсе совсем не силен, так, на уровне примитива. Т.е., я правильно понимаю что в клиента внедряется некая функция, на не котором этапе обработки кода, отдает функции и код в программу, модифицирует на лету и возвращает в клиента уже где-то на другом этапе обработки?
BabaDook
04.06.2015, 22:35
↑ (https://antichat.live/posts/3855548/)
Уважаемый BabaDook, план таков:
Если проверки сертификата в клиенте pokerStars нет - то можно перехватить трафик и парсить его налету.
Если защита всё же есть, то прийдется заняться реверс-инженеренгом (крэкингом).
Нужно будет декомпилировать клиент pokerStars, найти функцию(и) которые осуществляют эту проверку (защиту).
Потом или пропатчить клиента OllyDbg-ром или написать библиотеку (dll) с перехватом и модификацией этой(х) функции(й),
которую нужно будет заинжектить в процесс клиента pokerStars.
Чтобы использовать OllyDbg - нужно очень хорошо знать assembler (я его практически не знаю
)
Перехват функций с инжектом dll - нужно знать C++, и пользоваться декомпилятором ida hex rays, где hex rays - это почти удачная попытка преобразования
кода Assembler в C++
ida hex rays мне более понятна и мне с ней проще так что я буду не патчить клиента, а перехватывать и модифицировать функции...
Ясно
justcoolgeo
05.06.2015, 12:28
↑ (https://antichat.live/posts/3855627/)
А можно подробнее про послденее предложение, я просто в реверсе совсем не силен, так, на уровне примитива. Т.е., я правильно понимаю что в клиента внедряется некая функция, на не котором этапе обработки кода, отдает функции и код в программу, модифицирует на лету и возвращает в клиента уже где-то на другом этапе обработки?
Уважаемый frank, вы немного не так поняли
1. сначала декомпилируем приложение, находим нужную нам функцию и узнаем её адрес
2. в библиотеке (dll) пишем перехват функции и модификацию данных
например:
в программе есть функция "пить чай" с входными параметрами "тип чая (зелёный, чёрный)" и "кол-во сахара (в чайных ложках)"
эта функция имеет следующий вид - ПитьЧай(чай, сахар) с адресом 0x0000001
делаем прототип функции "пить чай"
эта функция имеет следующий вид - ПрототипПитьЧай(чай, сахар)
делаем перехват функции - я использую метод сплайсинга (https://ru.wikipedia.org/wiki/Перехват_(программирование ) (https://ru.wikipedia.org/wiki/%D0%9F%D0%B5%D1%80%D0%B5%D1%85%D0%B2%D0%B0%D1%82_% 28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC %D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%2 9))
суть в том, что когда идёт вызов оригинальной функции ПитьЧай по адресу 0x0000001 то запускается наш прототип ПрототипПитьЧай и получает входные параметры, которые передаются в оригинальную функцию
в функции ПрототипПитьЧай мы изменяем входные параметры и модифицированные данные передаем в оригинальную функцию ПитьЧай
это выглядит примерно так:
//допустим что "чай" - чёрный, а "сахар" - 2 ложки
функция ПрототипПитьЧай(чай, сахар){
//меняем параметры
чай = кофе
сахар = 100500
//передаем модифицированные параметры
ПитьЧай(чай, сахар)
}
или так
//допустим что "чай" - чёрный, а "сахар" - 2 ложки
функция ПрототипПитьЧай(чай, сахар){
//передаем модифицированные параметры
ПитьЧай(кофе, 100500)
}
Спасибо. действительно понял не так, почему и заинтересовался Спасибо за разъяснение.
Не знаю что это за PockerStar, но могу предложить возможный вариант. Иногда бывает так, что в клиент встроен браузер, например, для просмотра профиля чужого игрока. Если такая схема возможна, есть вектор MITM JS. Вы заставляете браузер выполнить JS скрипт, с ВК например, даже если SSL не сбрасывается, схема катит на отлично.
↑ (https://antichat.live/posts/3855797/)
Не знаю что это за PockerStar, но могу предложить возможный вариант. Иногда бывает так, что в клиент встроен браузер, например, для просмотра профиля чужого игрока. Если такая схема возможна, есть вектор MITM JS. Вы заставляете браузер выполнить JS скрипт, с ВК например, даже если SSL не сбрасывается, схема катит на отлично.
Я правильно понимаю, вы имеете ввиду вот такую схему?
http://i.stack.imgur.com/xkwhU.png
justcoolgeo
05.06.2015, 13:57
↑ (https://antichat.live/posts/3855797/)
Не знаю что это за PockerStar, но могу предложить возможный вариант. Иногда бывает так, что в клиент встроен браузер, например, для просмотра профиля чужого игрока. Если такая схема возможна, есть вектор MITM JS. Вы заставляете браузер выполнить JS скрипт, с ВК например, даже если SSL не сбрасывается, схема катит на отлично.
PokerStars - это покерный клиент (http://www.pokerstars.info/)
Он использует SSL (TCP)
↑ (https://antichat.live/posts/3855801/)
Я правильно понимаю, вы имеете ввиду вот такую схему?
http://i.stack.imgur.com/xkwhU.png
Типа да.. Оно. Я MITM'ом никогда не увлекался, но видел пару раз как такую вещь проворачивают.
PokerStars - сложно будет, а вот https://nitrogensports.eu/ думаю проще, тут тоже есть покер только играют на BTC.
M_script
19.04.2016, 03:21
↑ (https://antichat.live/posts/3975323/)
PokerStars - сложно будет, а вот
https://nitrogensports.eu/
думаю проще
Посмотри на даты. ТС давно уже PokerStars сломал и разбогател, ему твои мелочи не интересны.
↑ (https://antichat.live/posts/3975325/)
Посмотри на даты. ТС давно уже PokerStars сломал и разбогател, ему твои мелочи не интересны.
Тема еще не закрыта. А на счет того, что PokerStars взломали не слышал да и к тому же в этой теме не довели идею до конца.
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot