Снова о раскрытии IP-адреса собеседника в Skype

    Подготовил видео демонстрацию возможности раскрытия IP-адреса собеседника через Skype.


    UPD: много вопросов на тему чем отличается данная статья от этой или вот этой.

    Отвечаю:
    1. Там речь шла только о звонке. Я показал, что в определённой ситуации можно раскрыть и без звонка, через чат.
    2. Там была только теория. А здесь видео демонстрация.

    Предыстория



    А началось всё с прочтения вот этой статьи.

    Цитата из статьи:

    «Skype, оказывается, в большинстве случаев напрямую соединяется с собеседником.»

    Но никаких доказательств этого приведено не было. Меня это сильно заинтересовало. И я провёл первые предварительные тестирования.

    После чего обнаружилось, что многие люди не владеют достаточными знаниями относительно этой ситуации, но вовсю готовы хвастать своими сомнительными знаниями. Дальнейшие комментарии на эту тему тому подтверждение. Кто-то считал, что нужно смотреть UDP сокеты (хотя в статье автор использовал программу cports для просмотра TCP соединений). Ещё мнения были, что выяснить IP-адрес собеседника можно только в случае, если у него выделенный IP, а в случае использования NAT это невозможно. Третьи говорили, что можно только адрес супернода выявить, поэтому автор статьи злоумышленника не вычислил и т.д.

    Поэтому я решил внести ясность в ситуацию.



    Итоги тестирований


    Потратив больше времени на тестирования, выяснилось следующее:

    1. В ряде случаев раскрытие адреса собеседника возможно при чате с собеседником (данные передаются ему напрямую по протоколу TCP). Но не всегда. С чем связано — неясно. Однако во всех тестах, когда собеседник находился в том же городе, удавалось обнаружить его IP-адрес таким образом.
    2. Раскрытие адреса собеседника возможно при общении с ним голосом (данные передаются ему напрямую по протоколу UDP). Звонок можно совершить так, чтобы собеседнику вызов не приходил и он ничего не узнал
    3. Использование NAT схемы не меняет. Т.е. можно обнаружить адрес непосредственно того маршрутизатора, который производит НАТирование абонента.
    4. Никакие настройки Skype в настоящий момент не позволяют защититься от этого.

    P.S. В предварительных тестированиях меня постигла неудача из-за 2 факторов:
    1. Мониторился TCP как раз в том случае, когда адрес не раскрывается (абонент территориально был в другом городе).
    2. netstat не показывает установленные соединения для протокола UDP, поскольку в случае использования этого протокола вообще некорректно говорить об установлении соединения (т.к. это протокол без логического установления соединения).

    Ссылки по теме:
    1. I Know Where You are and What You are Sharing: Exploiting P2P Communications to Invade Users' Privacy
    Share post

    Similar posts

    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 76

      +15
      «You don't must see my IP address :)))» — убейте себя.
        +3
        Сколько себя помню, всегда было как минимум не «don't must», а «mustn't».
        Да и правильнее было бы использовать долженствование «shouldn't».
          +18
          Нет, что вы, все правильно написано.
          <h|tler> HOW THE FUCK CAN YOU TELL THAT I'M 13 BY LOOKING AT WHAT I'M WRITEING?????????????????????????????????????????????????????
            +8
            Слово mustn`t переводится как «нельзя», когда запрещаешь кому-то что-то.
            Правильно — You should not be able to see…
            • UFO just landed and posted this here
                0
                Must not — «нельзя», явный запрет на что-то.
                Переводить это как «не должен» неверно. В русском языке «не должен» равносильно «не обязан», тут корректно именно don`t have to.
                • UFO just landed and posted this here
                  • UFO just landed and posted this here
                      +1
                      Про don`t have to я писал без привязки к нашему случаю с адресами.
                      Просто сферический «не обязан» в вакууме.
                  0
                  Да, и обратите внимание на разницу между «should not see» и использованным мной «should not be able to see»
                  • UFO just landed and posted this here
              +1
              Исправил. По ходу, ближе к Новому году мозги у меня плохо соображают уже )
                +8
                В личку не судьба написать? Ставлю минусы очень редко, но это как раз тот случай.
                  –1
                  Правильно использовать should, а не must. Must более грубая форма — обычно используется в вертикальных отношениях (начальника и подчиненного).
                    0
                    Теперь вместе с покупкой пакета для разговоров в скайп, нужно позаботиться о покупке быстрого прокси… (совет для «параноиков»?)
                      0
                      Что значит «быстрый прокси»? Если он общедоступен — будет куча соединений от разных компьютеров, которые о нём знают (сумели найти). В таком случае о быстроте говорить не приходится.
                        0
                        Я не имел ввиду об общедоступных прокси
                    –10
                    You don't must see my IP Adress
                      –10
                      а еще, You don't must see my contact list
                      • UFO just landed and posted this here
                      –7
                      А теперь по делу. Если бы вы выяснили при каких условиях возможно раскрытие адреса при чате с собеседником, то почет вам и уважение, в противном случае эта статья ни о чем.
                        +4
                        1. Я не говорил, что расскажу секрет, о котором никто и никогда не знал. Была неразбериха в умах хабровчан. Поэтому и накатал статейку
                        2. «при каких условиях возможно раскрытие адреса» Оставлю это другим. Почему бы Вам за это не взяться?.. У Вас как раз ни одной статьи не написано.
                          –9
                          Я не увидел в вашей статье демонстрации каких-либо знаний, аналитических навыков или инструментов, которые были бы недоступны даже самому «зеленому» посетителю хабра. Разберется любой — было бы желание, не вижу смысла поощрять чужую лень. А попытку классического «перевод стрелок» оставьте, пожалуйста, при себе, вас это не с лучшей стороны характеризует. Предпочитаю заниматься тем, что у меня, насколько я могу судить, достаточно хорошо получается, а именно писать код.
                            0
                            Не нравится — никто не запрещает сделать лучше.

                            Быть может, Вы считаете, что и комментарии у Вас выходят превосходно? И количество минусов ни о чём не говорит?
                              +3
                              Количество минусов говорит только о большом количестве школоты, находящейся на данной странице. Я полностью согласен с shanker — в статье нет ничего особенного; базовые вещи, доступные любому it-вовлечённому. Соединение при p2p-архитектуре устанавливается напрямую между компьютерами, если между ними возможно прямое cоединение; или через посредника (суперноду). В общих чертах технология описана на вики. Да и дело совсем не в этом! Skype не заявляет функций скрытия ip-адреса — для этого существуют прокси. И настройки никакой не нужно в Skype — есть прокси.

                              Да, а что можно сделать с ip-адресом собеседника? Вы уверены, что ip не динамический? Вы уверены, что компьютер собеседника просто использовался в качестве прокси (например, как часть ботнета или пользователь сознательно проксирует, скажем, tor-траффик)? Вы уверены, что это не супернода? К тому же, любой Skype-клиент может ретранслировать сообщения, чтобы помочь находящимся за брандмауэром клиетам, а повышение до суперноды производится только при отсутствии файрволла, хорошей пропускной и вычислительной способности. Да, Skype может работать только по TCP, если это требуется (UDP забит наглухо).

                              По поводу упомянутой статьи Взлом с продолжением — я считаю, что у автора нет достаточных доказательств, чтобы можно было кого-либо привлечь к ответственности. Если доблестные органы примут решение о наказании кого-либо исходя только из тех данных, которые предлагает автор статьи — стыд им и позор.

                              Советую почитать это, это, можно также покопаться в исходниках от Ефима.
                                –4
                                1. Что можно сделать с IP-адресом — это уже отдельная тема.
                                2. Ага. А ещё у него могут стоять все патчи, скайп стоит у него на линуксе, а линукс на виртуалке, виртуалка в доме, который построил Джек, который на самом деле, находится в параллельной вселенной.
                                3. Вы видео вообще смотрели? Или несколько комментариев на английском превратили всё в чёрный ящик для Вас и ничего не поняли? Конечно я уверен, что это не супернода. Это был мой контролируемый компьютер за НАТом. Адрес его появлялся как раз тогда когда происходила отсылка сообщений. Так что совершенно не важно использовался ли он для ретранлсяции сообщений другим или нет. Попробуйте повторить эксперимент. Может, тогда поймёте суть
                                4. Если Вы говорите о том, чего не было в видео доказывая тем самым, что Вы ничего не поняли — не удивительно, что для Вас нет ничего интересного и всё это базовые вещи (которые Вы от чего-то не осилили)
                                0
                                Количество минусов к комментарию не говорит совершенно ни о чем, хотя бы потому, что никто из минусующих (кроме лично вас, конечно) не соизволил выразить свое несогласие в виде какой бы то ни было внятной критики. Чего не скажешь о вашей статье. Опять же, реакция в стиле «сам дурак» лично вас крайне дискредитирует, потому не вижу смысла продолжать общение. Желаю здравствовать.
                                +1
                                Воспользуюсь официальным ответом мистера Фримена:
                                www.youtube.com/watch?v=Wg4DNA-DMrE
                                +3
                                У меня не было в уме неразберихи. После вашей статьи появилась.
                              +4
                              Была уже статья про это, зачем повторяться? Это не достойно новостной ленты на хабре.
                                +1
                                Отличия вот какие:
                                1. Там речь шла только о звонке. Я показал, что в определённой ситуации можно раскрыть и без звонка, через чат.
                                2. Там была только теория. А здесь видео демонстрация.
                                  0
                                  Там и про чат речь была, просто вы не поняли. Там была только теория чтобы всякие школохакеры не угарали над своими дружками. По сабжу — делал это и раньше, через AnVir Task Manager
                                +7
                                и как потом этот IP-адрес можно использовать:?
                                • UFO just landed and posted this here
                                    +1
                                    А как же классическое «Я вычислю твой IP адрес и тебе хана, жди придурок!!!111»?
                                      0
                                      как вариант: Metasploit autopwn
                                        0
                                        коли есть чем забить канал, можно ему забить канал коннектами, пингами итд, дабы навредить, но это не хорошо :)
                                          0
                                          Ну это так… мелкие пакости.
                                          А вот озвученный Metasploit autopwn — это уже посерьёзней зверёк
                                            0
                                            Единственное препятствие, если человек за natом.
                                              0
                                              Да. Нужно будет просканить порты и понять: маршрутизатор это или клиентский комп
                                                +1
                                                На худой конец — ломанешь провайдера, и на машину к нему уже не обязательно попадать… :)
                                        0
                                        Ок. Но никто не запрещал скайп запускать через прокси. И тогда IP не будет виден. Нет?
                                          0
                                          Это защита от плагиата
                                            0
                                            Публичные прокси медленные. Тогда уж лучше VPN
                                            +6
                                            Обязательно пиарить себя постоянно в правом верхнем углу? Не понимаю, скромнее надо быть.
                                              0
                                              Это защита от плагиата

                                              P.S. Постом выше промахнулся я
                                              –1
                                              А если оба за NAT'ом, думаю без суперноды не обойдется.
                                                0
                                                Вы плохо смотрели видео. Как раз оба за NAT-ом и находятся
                                                +1
                                                Как-то уже давно это знаю. Использовал: sudo netstat -antp | grep -i skype
                                                  0
                                                  Вы не понимаете. Это великий пост, в котором пользователи ОС Windows открыли для себя 'netstat'
                                                    0
                                                    Вы полностью статью прочли? Похоже, что нет.
                                                    В определённой ситуации (звонок абоненту) Ваша команда Вам не поможет. Она покажет только адреса нодов.
                                                      –2
                                                      И что? Ваш пост ничего мне нового не преподнёс. Это я и констатировал. Я специально определял IP с собеседником как при чате так и при звонке. Ничего нового я тут не увидел.
                                                        –4
                                                        А Вы считаете, что статью я писал конкретно для Вас, ломая голову: «чем же Вас удивить-то?» Прям сутками напролёт не спал. И такое разочарование: не оценили. Ужас. Пойду повешусь. Как раз в первом комменте предлагали мне.
                                                          0
                                                          Нет. Просто вы как-то странно и агрессивно оправдываетесь.
                                                    +3
                                                    Что бы очистить экран в командной строке можно воспользоваться очень полезной для этого случая командой: «cls»
                                                      +1
                                                      Спасибо за полезный совет. Буду иметь в виду
                                                      +1
                                                      И что тут такого? Это и так давно также определяется непонятно почему резонанс получило только сейчас?
                                                      • UFO just landed and posted this here
                                                          +2
                                                          А Вы пробовали этой командой воспользоваться для UDP? Или только почитали хелп? Если Вы всё же уверены в своей правоте, выложите скриншот использования этой команды для выдачи UDP-соединений. Получится — поправлю статью и сделаю ссылку на Вас, с официальной благодарностью и признанием собственной некомпетентности
                                                            0
                                                            Простите, но как бы вот:
                                                            UDP — это транспортный протокол для передачи данных в сетях IP без установления соединения.

                                                            Хотел выделить болдом «без установления соединения», но увы…
                                                              +1
                                                              А разве это как-то противоречит моим словам?
                                                                0
                                                                >> 2. netstat не показывает установленные соединения для протокола UDP…
                                                                При чём тут netstat, не показывающий «установленные соединения для протокола UDP», если UDP не предусматривает установления соединения…
                                                                  +1
                                                                  Ну вот поэтому netstat их и не показывает — потому что их нету и быть не может.
                                                                  Это вот hhrhhr двумя постами выше считает иначе
                                                            • UFO just landed and posted this here
                                                                –1
                                                                Вы бы сначала проверили. А то ленитесь, а расплачиваться Вашей репутации.

                                                                Вот Вам мой скриншот в процессе общения по скайпу:



                                                                Ваших скриншотов я не вижу. Вижу только пену у рта
                                                                • UFO just landed and posted this here
                                                                    0
                                                                    Господи, Вам прям всё объяснять нужно, как маленькому ребёнку.

                                                                    На скрине показаны порты, которые открыты процессом. НИКАКИХ ПОДКЛЮЧЕНИЙ ТУТ НЕ ВИДНО. Ровно как и состояние порта (established, time_wait и т.д.) Видно только что порт открыт. Ведётся ли передача данных по этим портам и на какой адрес — не показано. Теперь ясно?
                                                                    • UFO just landed and posted this here
                                                                        0
                                                                        у окулиста давно были?

                                                                        читайте матчасть.

                                                                        Википедия:
                                                                        UDP (англ. User Datagram Protocol — протокол пользовательских дейтаграмм) — это транспортный протокол для передачи данных в сетях IP без установления соединения


                                                                        О какой правильной терминологии Вы говорите?
                                                            +4
                                                            У Skype P2P протокол, чему тут удивляться то?
                                                              +3
                                                              Это не тянет на дыру в безопасности, но напрашивается вывод, что параноикам людям нужно бережнее относиться к своему Skype-ID. Не думаю, что Cкайп берет на себя обязательства скрывать IP собеседника, и это не удивительно для интернет-месседжера.
                                                                0
                                                                Скайп мог бы не показывать IP для людей, не находящихся в их контакт-листе. А соединять напрямую только после успешного добавления собеседника.
                                                                  0
                                                                  Мне кажется, что все дело в протоколе. На сколько я знаю, протокол скайпа устроен таким образом, что в зависимости от сетевых условий (открытых портов, прокси, NAT) соединение и обмен данными с собеседником происходит по разному. Известно, что данные не проходят через сервера скайпа, только авторизация и служебная информация. Кроме того, в большинстве случаев, данные передаются не напрямую собеседнику, а проходят через другие клиенты, находящиеся онлайн, в виде р2р трафика, и при этом не возможно определить, кому и чей трафик передается. Похоже, что в случае, если такой режим работы не доступен (например закрыты некоторые порты), скайп может установить соединение с собеседником напрямую. Либо так, либо скайп не работал бы вообще в этих условиях. Разработчики скайпа очень сильно постарались сделать так, чтобы он работал практически в любых условиях, перестраивая свой протокол под них, что усложняет его блокировку в сетях.
                                                                  Я тоже согласен с вашим вариантом про контакт-лист, но мне кажется, что для этого придется сделать протокол скайпа менее универсальным, а это не на руку разработчикам.
                                                                  +1
                                                                  Да-да, в точности о том же подумал!
                                                                  О скайпе принято говорить как о безопасном способе общения, который «невозможно подслушать».
                                                                  Однако же я нигде не встречал никаких гарантий и обещаний, что он скрывает IP собеседника или ещё каким-либо образом «анонимизирует». Да и «невозможность подслушки» это изначально вроде бы не фича от разработчика, а скорее наблюдение третьих лиц. Я не думаю, что скайп скрывает эти данные. Скорее он просто, скажем так, немногословен насчёт них.
                                                                  Он удобен прежде всего неприхотливостью (поставил — и заработало. Не нужно думать о всевозможных прокси/пробросах портов и прочем). Но рассматривать скайп изначально как надёжную защиту чувствительных данных — имхо, неверно.
                                                                  Вот если бы подобная новость прозвучала относительно сети tor или подобной — это было бы да, шокирующее открытие.
                                                                  0
                                                                  Скажите, есть ли возможность установить чей адрес получен — промежуточной супер-ноды или конечного абонента? Может быть там флаг/признак какой-нибудь дополнительный ставится.
                                                                  Без этой информации все остальное бессмысленно.
                                                                    0
                                                                    Думаю да. Хотя я лично таких экспериментов не проводил

                                                                  Only users with full accounts can post comments. Log in, please.