1. Наш канал codeby в telegram. Пишем об информационной безопасности, методах защиты информации, о программировании. Не пропускай новости с кодебай, будь в тренде ! Подробнее ...

    Скрыть объявление

Как создать свой onion-сайт в сети TOR с помощью Kali Linux

Тема в разделе "Этичный хакинг и тестирование на проникновение", создана пользователем ghost, 12 май 2016.

Метки:
  1. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    Создадим свой onion-сайт в сети TOR, расположенный на вашей Kali Linux, а не каком нибудь хостинге. Только доступен он будет, когда вы его запустите. Если хотим сгенерировать красивый адрес для сайта, то переходим к первому пункту, а если нет, то сразу ко второму.
    Как создать свой onion-сайт в сети TOR с помощью Kali Linux
    1. Нам понадобится СТАРАЯ версия Kali Linux! Я использовал 1.0.6
    На новых не заработало. Можно найти в архивах. Нарезаем на болванку/делаем live-usb. Прогружаемся в систему. Подключаемся к сети. Далее в ход пойдет Shallot.
    Shallot позволяет создавать настроенные адреса .onion для скрытых сервисов Tor. Часть адреса может быть произвольной. Установка:
    Загрузим Shallot с github

    wget https://github.com/katmagic/Shallot/archive/master.zip

    Распакуем

    unzip master.zip

    Перейдем в директорию

    cd Shallot-master

    Далее

    ./configure

    make

    И запускаем для примера

    Код:
    ./shallot ^penis
    ------------------------------------------------------------------
    Found matching domain after 30493976 tries: penistfobso4wxhr.onion
    ------------------------------------------------------------------
    -----BEGIN RSA PRIVATE KEY-----
    MIICXgIBAAKBgQC+dO6h1GjQD0Hqn2LLBX0kIA9px/CtxV5yxMCjbk773igLvXDu
    v7N9Kr1FYB+yKuSWL/aCZttLqiqUA4L3cxI5Dgtk3bRKkmZre9qfH9xU9v+RSr5P
    BQmtp0AMi2wLiZxGggkoqcdIhKC4WWoD1xks0H//f7D+G+rdh4IMOHj7kQIEAPC0
    RQKBgAwEVw9kxxu/SIugn3dDXJ2tq8V/uGNMBm02MnhckgvIS6S9wfB60mjy3FG/
    SUPCWE/f5pUx8fNb3aPnIg2C5FlSE8hAfzdVBIP5F3S2KacSeCL+DPgCpcM8Tkfh
    s5AaqHe5Z+cb2pLE/1VXQpnnSQhLuSQFresIMCxnaBjOizzJAkEA4laycqQo2Guu
    eGkppcdNDRnlI4+bCslp2C4ZOuv8/DaLsQ/UE+RMrhdmJi48bcGBafcQlfewdyvL
    FpF6cpzjtQJBANdqdFilmRwCi1Ij4Q3dBubjjo5+WzxeZ0A6M6g5HDPFZBuHoXtI
    LNbSz5ilriQQ8fhKZi1HpwVWhNNLyIB3me0CQCdn1d98SwNP+gIfyvYT5ufxoBfH
    ElngrkQr4rYhsbCmSorxfen9gxI1hQVy4DsbTfttzSwJmOZ5P/CBG+HPFjUCQQCB
    gWh+P0wOCUDfkRDXdVd1Tb/7nbPbk8r+VlVgnz7fMNPYzjVkq2DTsRvk8uWTdMwQ
    bTDrrSiO0Wv5zxmMocT9AkEAkLfNSgZafRVmipGo9Fn78ZqedvZAqfYkwXgoIfrB
    MEq+FK1D3nyY9QDukbe6uR7k8gTfqTtqiHwIQ5JX7u6v7w==
    -----END RSA PRIVATE KEY-----
    
    Замените "член" именем, которое хотите. Стоит помнить, что чем больше символов вы введете, тем тольше времени уйдет на генерацию. Оптимально не более 6. Полученный вывод сохраните в текстовый файл и пока сохраните на внешний носитель.

    2. Лучше всего, если ваша Kali будет на зашифрованном диске.Об этом подробно написано на форуме.
    Плюсы очевидны. Ладно. Вы в системе. В терминале вводим по порядку:

    apt-get install tor
    apt-get install lighttpd


    далее стартуем tor и lighttpd:

    service tor start
    service lighttpd start


    чтобы они создали конфигурации. В /etc/tor/torrc раскомментируем и приведем к такому виду строки:

    HiddenServiceDir /var/lib/tor/hidden_service/
    HiddenServicePort 80 127.0.0.1:8080


    и в самом низу добавим это:

    ExcludeNodes {ru}, {ua}, {be}

    Устранит подключения вашего Tor к *** нодам. Сохраним и выйдем.

    В /var/lib/tor/hidden_service есть два файла hostname и private_key
    В первом имя вашего onion сайта, а во втором - уникальный приватный ключ. Если вы выполняли пункт 1, то у вас должен остаться полученный вывод в текстовом файле. Вот из него то и подставьте значения в эти два файла. Если перешли сразу ко второму пункту, то оставьте так. Для примера в hostname впишите penistfobso4wxhr.onion а в private_key:

    Код:
    -----BEGIN RSA PRIVATE KEY-----
    MIICXgIBAAKBgQC+dO6h1GjQD0Hqn2LLBX0kIA9px/CtxV5yxMCjbk773igLvXDu
    v7N9Kr1FYB+yKuSWL/aCZttLqiqUA4L3cxI5Dgtk3bRKkmZre9qfH9xU9v+RSr5P
    BQmtp0AMi2wLiZxGggkoqcdIhKC4WWoD1xks0H//f7D+G+rdh4IMOHj7kQIEAPC0
    RQKBgAwEVw9kxxu/SIugn3dDXJ2tq8V/uGNMBm02MnhckgvIS6S9wfB60mjy3FG/
    SUPCWE/f5pUx8fNb3aPnIg2C5FlSE8hAfzdVBIP5F3S2KacSeCL+DPgCpcM8Tkfh
    s5AaqHe5Z+cb2pLE/1VXQpnnSQhLuSQFresIMCxnaBjOizzJAkEA4laycqQo2Guu
    eGkppcdNDRnlI4+bCslp2C4ZOuv8/DaLsQ/UE+RMrhdmJi48bcGBafcQlfewdyvL
    FpF6cpzjtQJBANdqdFilmRwCi1Ij4Q3dBubjjo5+WzxeZ0A6M6g5HDPFZBuHoXtI
    LNbSz5ilriQQ8fhKZi1HpwVWhNNLyIB3me0CQCdn1d98SwNP+gIfyvYT5ufxoBfH
    ElngrkQr4rYhsbCmSorxfen9gxI1hQVy4DsbTfttzSwJmOZ5P/CBG+HPFjUCQQCB
    gWh+P0wOCUDfkRDXdVd1Tb/7nbPbk8r+VlVgnz7fMNPYzjVkq2DTsRvk8uWTdMwQ
    bTDrrSiO0Wv5zxmMocT9AkEAkLfNSgZafRVmipGo9Fn78ZqedvZAqfYkwXgoIfrB
    MEq+FK1D3nyY9QDukbe6uR7k8gTfqTtqiHwIQ5JX7u6v7w==
    -----END RSA PRIVATE KEY-----
    В /etc/lighttpd/lighttpd.conf изменим значения:

    server.document-root = "/var/www/onion"
    server.error-handler-404 = "/404.php"
    server.tag = "Ваше значение"
    server.port = 8080
    $HTTP["remoteip"] !~ "127.0.0.1" {
    url.access-deny = ( "" )
    }
    server.dir-listing = "disable"


    3. Современные веб-технологии предусматривают широкое использование "движков", для поддержки которых требуются PHP и MySQL, поэтому самое время добавить их к нашему серверу. Сначала установим PHP:

    apt-get install php7.0-cgi

    Затем в /etc/php/7.0/cgi/php.ini найдем и раскомментируем следующую строку:

    cgi.fix_pathinfo = 1

    Теперь включим поддержку PHP в lighttpd:

    lighttpd-enable-mod fastcgi
    lighttpd-enable-mod fastcgi-php


    4. Следующим шагом установим сервер баз данных MySQL и модуль PHP для работы с ним (Можете пропустить, если сайт будет без БД):

    apt-get install mysql-server php7.0-mysql

    По умолчанию MySQL сервер использует кодировку latin1, в то время как большинство современных движков работают в UTF-8. Поэтому откроем /etc/mysql/my.cnf и добавим в секции [client] и [mysqld] следующие строки:

    [client]
    default-character-set=utf8

    [mysqld]
    character_set_server=utf8
    collation_server=utf8_unicode_ci


    Об управлении БД в mysql я рассказывать не буду. Это отдельная тема, которую нет смысла тут упоминать.

    5. В /var/www/ создаем папку onion (не забудьте установить права 777). Ваш сайт разместим в ней. Создадаем проверочную HTML страницу и сохраняем ее под именем index.html :

    Код:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Тестовая страница</title>
    </head>
    <body>
    <h2>Site Local </h2>
    <h3> Тестовая страница.</h3>
    <p> Веб-сервер работает и настроен правильно. </p>
    </body>
    Создадаем PHP страницу ошибки и сохраняем ее под именем 404.php :

    Код:
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>404</title>
    </head>
    <body>
    <h2>Site Local </h2>
    <h3> Ошибка 404.</h3>
    <p> Страница не найдена. </p>
    </body>
    Перезапустим службы:

    service tor restart
    service lighttpd restart
    service mysql restart


    6. В tor-браузере переходим на ВАШ сгенерированный onion адрес, например penistfobso4wxhr.onion и видим результат!
    Желательно добавить в /root/***/tor-browser_en-US/Browser/TorBrowser/Data/Tor/torrc в самый низ строку ExcludeNodes {ru}, {ua}, {be}
    Теперь, чтобы запустить сайт, достаточно вводить в терминале:

    service tor start
    service lighttpd start
    service mysql start


    Установим tor-arm - удобную утилиту для управления и контроля трафика Tor :

    apt-get install arm

    Запускается просто. В терминале ввести arm и следить за трафиком.

    P. S. От себя замечу, что можно использовать тяжелые движки для сайта, но я бы порекомендовал opensource:

    flatpress - блог без БД

    lechat - чат с БД

    fluxbb - форум с БД

    Можно найти в интернете в открытом виде на том же github

    Все это можно реализовать на Raspberry Pi, тогда сайт будет всегда доступен.

    Спасибо за внимание.
     

    Вложения:

    #1 ghost, 12 май 2016
    Последнее редактирование: 20 окт 2016
    cutoff, WebWare Team, alexey webware и 3 другим нравится это.
  2. Вадим

    Вадим Active Member

    Репутация:
    0
    Регистрация:
    11 май 2016
    Сообщения:
    27
    Симпатии:
    13
    Хорошая статья.
     
    3 пользователям это понравилось.
  3. Вадим

    Вадим Active Member

    Репутация:
    0
    Регистрация:
    11 май 2016
    Сообщения:
    27
    Симпатии:
    13
  4. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    С помощью Shallot теперь есть! :) Да и Apache ведь для других дел в Kali нужнее. Лучше Lighttpd использовать...

    И кстати. Совсем забыл. Если вам нужно разрешить скачивать с вашего сайта файлы, то нужно:

    1. В /var/www/onion создаем какую нибудь папку, к примеру downloads и в нее ложим необходимые файлы.

    2. Изменяем права на чтение и скачивание на папку /var/www/onion/downloads и все вложенные в нее файлы.
    (Щелкаем правой кнопкой мыши на ней и выбираем свойства/права. А далее:
    Владелец - debian-tor, доступ - создание и удаление файлов
    Группа - debian-tor, доступ - доступ к файлам
    Остальные - доступ к файлам
    Изменить права на вложенные файлы
    После добавления новых файлов каждый раз повторяем операцию. Но можно все проделать проще и через терминал.)

    3. В /etc/lighttpd/lighttpd.conf изменим значение:

    server.dir-listing = "disable"

    на

    server.dir-listing = "enable"

    PROFIT!
     
    #4 ghost, 14 май 2016
    Последнее редактирование модератором: 14 май 2016
  5. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    Если у вас статические html-файлы с сайтом (идеальный вариант для безопасности) и не очень много ресурсов, то можно просто запустить однострочник на Python, который будет отдавать пользователю контент. А не использовать Lighttpd. Для этого перейдите в каталог с html-файлами и запустите следующую команду:

    Код:
    $ cd /var/www/site1
    $ python -m SimpleHTTPServer 80
    Можно параллельно запустить несколько сайтов, поменяв лишь каталог назначения и порт. Например:

    Код:
    $ cd /var/www/site2
    $ python -m SimpleHTTPServer 81
    Порт естественно смените на другой, например 8123.

    Как отдать файл через Tor?
    Если в /var/www/site1 создать папку, например new и положить в нее какой нибудь файл, то посетитель вашего сайта перейдя по адресу вашсайт.onion/new сможет скачать этот файл.

    Вопрос для знающих. Как в этом однострочнике сменить дефолтную error404 страницу?
     
  6. d7uk4r3v

    d7uk4r3v Kali Linux
    Премиум

    Репутация:
    0
    Регистрация:
    22 апр 2016
    Сообщения:
    44
    Симпатии:
    9
    Очень впечатлило, так как весьма полезно, благодарю ТС за статью!!!
     
    ghost нравится это.
  7. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    Пожалуйста. Конечно полезно. Даже передать какой то файл если нужно анонимно. Все настраивается за пару минут... Вот только если хотите красивый домен, то прийдется использовать Shallot и подождать. Время генерации .onion адреса на 1.5Ghz процессоре:

    символы/время генерации (приблизительно)
    1. быстрее 1 секунды
    2. быстрее 1 секунды
    3. быстрее 1 секунды
    4. 2 секунды
    5. 1 минута
    6. 30 минут
    7. 1 день
    8. 25 дней
    9. 2.5 года
    10. 40 лет
    11. 640 лет
    12. 10 тысяч лет
    13. 160 тысяч лет
    14. 2.6 миллионов лет

    Вот только греется по страшному! Как при бруте хорошем... :D
     
  8. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    С выходом PHP7 команды:
    Код:
    apt-get install php5-cgi
    
    apt-get install php5-mysql
    больше неактуальны. Смена 5 на 7 не работает!
    Кто найдет решение отпишитесь...
     
  9. acorn

    acorn PHP Developer

    Репутация:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    585
    Симпатии:
    3
    http://askubuntu.com/questions/705880/how-to-install-php-7
     
    ghost нравится это.
  10. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    #10 ghost, 20 окт 2016
    Последнее редактирование: 20 окт 2016
  11. acorn

    acorn PHP Developer

    Репутация:
    0
    Регистрация:
    29 авг 2004
    Сообщения:
    585
    Симпатии:
    3
    Не за что, но в будущем лучше вопрос про php задавать в php разделе - форум большой и "чужие" разделы обычно никто не просматривает :)
     
    WebWare Team и ghost нравится это.
  12. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    Хорошо
     
  13. ghost

    ghost penetration testing
    Grey Team

    Репутация:
    18
    Регистрация:
    12 май 2016
    Сообщения:
    685
    Симпатии:
    1.048
    Кстати, кто знает почему в новой Kali отказывается запускаться Shallot? А только в версии 1.0.6
    Какие зависимости нужны?
    В Blackarch все работает...
     
  14. DSCH

    DSCH Member

    Репутация:
    0
    Регистрация:
    7 дек 2016
    Сообщения:
    16
    Симпатии:
    1
    arch uje v verxu
     
Загрузка...

Поделиться этой страницей