Содержание статьи
ПРЕДЫСТОРИЯ
Небольшая предыстория вопроса: слухи о раскрытии IP-адресов пользователей Skype появились летом 2011 года, когда хакер Ефим Бушманов из Сыктывкара осуществил обратный инжиниринг старого протокола Skype (версий 1.x/3.x/4.x), запустил блог skype-open-source.blogspot.com и выложил бинарник деобфусцированного клиента.
Дальше — больше. 25 марта 2012 года вышла деобфусцированная версия клиента 5.5, которая могла полноценно работать в действующей сети Skype, — и началась настоящая веселуха. Благодаря расшифровке протокола стало понятно, где смотреть IP-адрес при установке прямого соединения с пользователем, например, во время звонка. В апреле и вовсе появился взломанный SkypeKit — серверная версия Skype, которая показывала IP-адреса любых пользователей. Чуть позже выяснилось, что даже в клиентской деобфусцированной версии 5.5, а именно в отладочных логах программы, можно посмотреть IP-адрес любого пользователя, если запросить его vCard (информация о контакте). При этом даже необязательно добавлять его в контакты, то есть IP-адрес отображается незаметно для жертвы.
ЗАЧЕМ ЭТО НУЖНО
Зачем узнавать IP-адрес пользователя? Во-первых, из чистого любопытства. Интересно, в каком городе и стране живет человек, каким провайдером пользуется. Во-вторых, это нужно для проверки личности человека, который вышел с вами на контакт: тот ли он, за кого себя выдает. Наконец, эта процедура позволяет проверить самого себя, то есть не запущен ли где-то на стороннем компьютере инстанс Skype с таким же именем пользователя. В отладочных логах будут указаны все IP-адреса, по которым работает клиент. Если кто не понял: протокол Skype устроен таким образом, что вы можете запустить инстансы клиента на нескольких компьютерах и все текстовые сообщения будут поступать одновременно во все инстансы. Хотя и говорят, что Microsoft переделывает архитектуру Skype для массовой прослушки пользователей, но пока это лишь домыслы. На сегодняшний день самый реальный способ прослушивать пользователя — узнать его пароль и запустить у себя дополнительный инстанс клиента под его учетной записью.
КАК ИСПОЛЬЗОВАТЬ
IP-адреса пользователей указаны в отладочных логах (developer.skype.com/SkypeGarage/LogFile), но в обычной версии клиента Skype эти логи зашифрованы. Поэтому нужно сделать две вещи:
- Включить запись логов. В реестре Windows добавляем ключ в разделе [HKEY_CURRENT_USER\Software\Skype\Phone\UI\General]:
"Logging" ="SkypeDebug2003"
После этого log-файлы типа debug-YearMonthDate-time.log создаются в папке Skype.
- Запустить деобфусцированный клиент Skype 5.5 или 5.9 (thepiratebay.se/torrent/7238404), в котором отладочные логи записываются в расшифрованном виде.
Когда все готово, нужно сделать так, чтобы запись о нужном контакте попала в отладочный лог. Для этого достаточно выбрать в меню функцию «Добавить контакт» — и указать нужный ник. Затем можно закрыть клиент и идти изучать текстовый лог (см. листинг). Нужно найти поле PresenceManager с ником пользователя.
В расшифрованных логах отображаются реальный IP-адрес (с ключом -r) и локальный IP-адрес сетевой карты (-l) юзера. Внутренний адрес нужен Skype, потому что он в некоторых случаях использует передачу трафика по локальной сети.
Интересно, что информация об IP-адресе доступна, даже если пользователь находится в офлайне. Как показывает опыт, IP-адрес пользователя хранится несколько дней. Если он ушел в офлайн на более длительное время, IP-адрес исчезает из сети.
skype55_patched.exe
MD5 7381deed3e9937ef2206f6bec1023c47
SHA-1 1831e6631b95e93173d899a256769c02c
c31eb06
ED2K e243c24c67faf733f39828ddfc4a50f8
skype59_patched.exe
MD5 1233d32e9cb54684cfa7ce093033e3a1
SHA-1 69d50a22019842be494f5c857dd40fa5b7
f2dcdb
ED2K 16c9617a0e1c0236ecca39dd35f7f4a0
Лог Skype (фрагмент):
00:26:34.406 T#3604 Router:
_д“Ѕ 0xe9b65734c94911d5-
s-s213.165.179.165:40006-
r86.57.149.147:25801-l192.168.0.80:25801
2 2 0 1 _0
00:26:34.406 T#3604 PresenceManager:
_᥺ olechka02321 0xe9b65734c94911d5-
s-s213.165.179.165:40006-
r86.57.149.147:25801-l192.168.0.80:25801
_80000003
00:26:34.406 T#3604 PresenceManager:
_аїі olechka02321 e9b65734 c94911d5 0 1
initial ping_
Как видишь, мы без особых усилий вытянули IP-адрес собеседника из деобфусцированных логов. Но будь осторожен с этой техникой — Skype банит аккаунты, которые очень часто запрашивают vCard.