• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Конкурс Создаём свой сайт в невидимом интернете

ghost

Well-known member
12.05.2016
1 636
3 081
Статья для участия в конкурсе Конкурс 2018 года - авторская статья по любой тематике нашего форума!

Приветствую, друзья!

Давно я не писал статьи для форума...

Уж извините, но год был действительно сложный и насыщенным. Работа над курсом Paranoid и много ещё чего важного.

Что же, попробую хоть в конце года наверстать упущенное.

1.png


Позволю себе процитировать абзац из википедии, так как я нахожу это сейчас как нельзя кстати:

I2P (аббревиатура от англ. invisible internet project, IIP, I2P — проект «Невидимый интернет») — проект, начатый с целью создания анонимной компьютерной сети, работающей поверх сети интернет. Создатели проекта разработали свободное программное обеспечение (ПО), позволяющее реализовать сеть, работающую поверх сети интернет. ПО и сеть были названы «I²P» или «I2P».

Сеть I2P является оверлейной (то есть, работающей поверх другой сети — сети интернет), устойчивой (отключение узла не повлияет на функционирование сети), анонимной (невозможно или сложно определить IP-адрес узла). При передаче данных между узлами сети применяется шифрование.

Для тех, кто совсем не в курсе что это за диковинная сеть такая айтупи, можете прочитать сами на

Ведь на свет клином не сошёлся, а Интернет должен быть и будет свободным, так как изначально задумывался таким!

Собственно, сегодня мы научимся, как и сказано в названии темы, создавать свой сайт в сети i2p.

Потребуется виртуальный сервер, арендованный анонимно за крипту вне Рашки, машина с линукс на борту, свободное время и прямые руки.

Приступаем.

Установим i2p на сервер. Для теста мы использовали VPS на базе Debian.

Подключаемся к серверу по ssh (в идеале будет если вначале вы пропустите трафик через VPN):

Код:
ssh user@ip

где codeby - user, 185.86.149.69 - ip

* В моём примере -p 2282 - изменённый порт ssh. По умолчанию он 22. Если ничего не меняли в настройках, то это вам и не нужно...

Работаем под root (если же вы создали пользователя, соответственно, все команды выполняйте с использованием команды sudo вначале):

Код:
su -

2.png


Для начала установим пакет, который позволит принимать обновления по HTTPS, то есть по зашифрованному каналу:

Код:
apt-get install apt-transport-https

3.png


Добавляем репозитории i2p в систему вводом следующей команды в терминале:

Код:
wget -q -O - https://repo.i2pd.xyz/.help/add_repo | bash -s -

4.png


Если работаете под пользователем, соответственно это будет выглядеть как:

Код:
wget -q -O - https://repo.i2pd.xyz/.help/add_repo | sudo bash -s -

В папке /etc/apt/sources.list.d появился новый файл i2pd.list с содержимым:

Код:
deb https://repo.i2pd.xyz/debian jessie main
deb-src https://repo.i2pd.xyz/debian jessie main

Обновляем список пакетов, чтобы система приняла новые репозитории с пакетами:

Код:
apt-get update

Устанавливаем i2p в систему вводом следующей команды в терминале:

Код:
apt-get install i2pd

Добавляем в конец файла подписок /etc/i2pd/subscriptions.txt следующие строки:

Код:
inr.i2p/export/alive-hosts.txt
stats.i2p/cgi-bin/newhosts.txt
i2p-projekt.i2p/hosts.txt
i2host.i2p/cgi-bin/i2hostetag
no.i2p/export/alive-hosts.txt
rus.i2p/hosts.txt

5.png


Не забываем сохранить файл!

Добавляем в конец файла туннелей /etc/i2pd/tunnels.conf следующие строки:

Код:
[anon-website]
type = http
host = 127.0.0.1
port = 8080
keys = anon-website.dat

6.png


Не забываем сохранить файл!

Создаём папки для будущего сайта:

Код:
mkdir /var/www
mkdir /var/www/codeby

Создаём главную HTML страницу сайта и сохраняем её под именем index.html:

Код:
nano /var/www/codeby/index.html

7.png


* Содержимое можно найти в прикреплённом вложении.

Не забываем сохранить файл!

Создаём PHP страницу ошибки и сохраняем её под именем 404.php, что необходимо если прихожане захотят перейти на несуществующую страницу сайта:

Код:
nano /var/www/codeby/404.php

8.png


* Содержимое можно найти в прикреплённом вложении.

Не забываем сохранить файл!

Запускаем i2p и проверяем его статус активности. Значение active (running) говорит что служба работает как часы:

Код:
service i2pd start
service i2pd enable
service i2pd status

9.png


Установим лёгкий и быстрый веб-сервер lighttpd, так как у нас нагрузка на сайт будет мала, да и от решета типа апача или Nginx мы лучше сразу откажемся:

Код:
apt-get install lighttpd

Запустим и сразу выключим lighttpd, чтобы он смог создать файлы конфигурации и настроек:

Код:
service lighttpd start
service lighttpd stop

После того как это произошло, в /etc/lighttpd/lighttpd.conf изменим значения на следующие:

Код:
server.document-root = "/var/www/codeby"
server.error-handler-404 = "/404.php"
server.tag = "Nginx"
server.port = 8080
$HTTP["remoteip"] !~ "127.0.0.1" {
url.access-deny = ( "" )
}
server.dir-listing = "disable"

10.png


Не забываем сохранить файл!

Теперь можно снова запустить lighttpd:

Код:
service lighttpd start

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

Код:
apt-get install php5-cgi

Затем в /etc/php/cgi/php.ini найдём и раскомментируем следующую строку (это значит просто убрать ; вначале строки):

Код:
cgi.fix_pathinfo=1

11.png


Не забываем сохранить файл!

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

Код:
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

12.png


Установим права на папку /var/www/codeby с будущим сайтом, чтобы мамкиным хацкерам было нечем поживиться:

Код:
chown www-data:www-data /var/www/codeby
chmod 775 /var/www/codeby
usermod -a -G www-data codeby

13.png


Перезапустим службы:

Код:
service i2pd restart
service lighttpd restart

14.png


И добавим их в автозагрузку:

Код:
update-rc.d i2pd enable
update-rc.d lighttpd enable

Через следующую команду можно посмотреть что за службы у вас включены в системе в данный момент:

Код:
netstat -tulpan

15.png


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

В папке /var/lib/i2pd/destinations можно найти файл вида ufydaj3de33rvcadop7lh4shsojkufpyo4yceulqm6syaawvyg5a.dat

16.png


Это и будет адрес будущего сайта в сети i2p. Запомните его, так как в конце настроек он нам ещё понадобится.

На стороне сервера всё настроено и работает. Теперь предстоит поработать на стороне клиента.

Установим i2p в систему. Для теста мы использовали дистрибутив Kali Linux.

Добавляем репозитории i2p в систему вводом следующей команды в терминале:

Код:
wget -q -O - https://repo.i2pd.xyz/.help/add_repo | bash -s -

17.png


Проверьте сами. В папке /etc/apt/sources.list.d появился новый файл i2pd.list:

Код:
deb https://repo.i2pd.xyz/kali n/a main
deb-src https://repo.i2pd.xyz/kali n/a main

18.png


Обновляем список пакетов, чтобы система приняла новые репозитории с пакетами:

Код:
apt-get update

Устанавливаем i2p в систему следующей командой в терминале:

Код:
apt-get install i2pd

19.png


Добавляем в конец файла подписок /etc/i2pd/subscriptions.txt следующие строки:

Код:
inr.i2p/export/alive-hosts.txt
stats.i2p/cgi-bin/newhosts.txt
i2p-projekt.i2p/hosts.txt
i2host.i2p/cgi-bin/i2hostetag
no.i2p/export/alive-hosts.txt
rus.i2p/hosts.txt

20.png


Не забываем сохранить файл!

Запускаем i2p и проверяем его статус активности. Значение active (running) говорит что служба работает как часы:

Код:
service i2pd start
service i2pd enable
service i2pd status

21.png


В браузере firefox в меню edit->preferences->advanced connection settings меняем значение на manual proxy configuration.
Выставляем настройки http proxy на 127.0.0.1 и port на 4444. Отмечаем SOCKS v5 и нажимаем Ok, чтобы применить полученные изменения:

22.png


Переходим в браузере по адресу 127.0.0.1:7070 и если попадаем на страницу i2pd webconsole, то это ещё раз говорит нам о том что i2p работает корректно:

23.png


Если попробуете перейти, например, на сайт разработчиков i2p, то вас ждёт разочарование.
В этой сети нет DNS и вместо них используют адресные книги. Поэтому целевой сайт нужно добавить сначала туда:

24.png


25.png


Теперь как видим всё работает. Уведомление на сайте тоже говорит об этом:

26.png


Добавив один раз сайт в адресную книгу, повторять это не потребуется!

Переход на свой сайт осуществляется вводом в адресную строку файла, который мы находили раньше в /var/lib/i2pd/destinations, но .dat заменяем на .b32.i2p:

Код:
ufydaj3de33rvcadop7lh4shsojkufpyo4yceulqm6syaawvyg5a.b32.i2p

27.png


Ссылка на сайт ufydaj3de33rvcadop7lh4shsojkufpyo4yceulqm6syaawvyg5a.b32.i2p выглядит очень нечитабельно.
Поэтому её можно сократить до удобочитаемого codeby.i2p и зарегистрировать в каталоге, представленном на скрине ниже:

28.png


Из i2p можно свободно выходить в обычную сеть. Использовать почту, торренты, IRC, а для параноиков - HTTPS и SSL. Однако есть пара нюансов.

Для выхода в интернет в i2p используется несколько общих шлюзов, преимущественно в Германии. Поэтому со скоростью в направлении i2p ↔ интернет немного плохо (до 5 Мбит/с). К тому же некоторые шлюзы находятся в черных списках, поэтому не все ресурсы через них можно посмотреть.

Cookies работают только при сёрфинге i2p → интернет. При попытке доступа интернет → i2p (например, через шлюз) печеньки режутся и авторизация на сайтах не проходит. Для исправления этой проблемы в firefox в меню edit->preferences->advanced connection settings меняем всё назад на use system proxy settings.

29.png


В заключении тормозим демон i2p на хосте:

Код:
service i2pd stop

30.png


Теперь все аноны, параноики, и лично Вы можете спать спокойно: наконец-то создана сеть, где никто никого и никогда не найдёт.
Однако даже I2P не гарантирует АБСОЛЮТНОЙ защиты. JavaScript, а ранее ещё и Java, Silverlight и Flash никто не отменял.
Поэтому настройте браузер должным образом...

P.S. Так же запилил видео по теме в качестве бонуса, которое поможет увидеть весь процесс наглядно. Не судите строго.


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

Поздравляю Всех с наступающим Новым годом!

31.gif


Успехов, достатка, здоровья, стабильного аптайма и новых знаний, обязательно подкреплённых практическими навыками.
 

Вложения

Отлично! i2p вместо ТОРов замыленных. ! за i2p свое будушее, так как ТОР все больше становится гламурным трендом, i2p не всем знакомо, не всем понятно, уже на старте идет хоть какой то отсев от "просто ротозеев". Годная тема!
 
Последнее редактирование:
  • Нравится
Реакции: pr0phet, ghost и alexej
Хорошая статья. Если честно, даже никогда не запускал I2P. Как правильно заметили выше, тор уже везде, а об этом протоколе особо никто и не знает.
п.с. прочитал о i2p статьи: вроде достаточно надежный, если не выходить в клирнет из него.
 
  • Нравится
Реакции: ghost
Это вторая реализация i2p, так называемая "purple i2p" и написана на C++
Первая же реализация была гораздо раньше, написана на Java и раз в 5-20 медленнее.
Хорошая статья. Если честно, даже никогда не запускал I2P. Как правильно заметили выше, тор уже везде, а об этом протоколе особо никто и не знает.
п.с. прочитал о i2p статьи: вроде достаточно надежный, если не выходить в клирнет из него.
Действительно надёжная сеть. Даже если в ней останется 3 пользователя, она всё равно будет работать.
Но если совсем интернет пропал - поднимайте свою сеть. И вам поможет Project Byzantium
 
  • Нравится
Реакции: turb0suslik и alexej
Спасибо, а нет возможности написать про грамотную установку сайта в Тор сети? С защитой от утечек IP сервера, скана портов и т.д.?
 
Спасибо, а нет возможности написать про грамотную установку сайта в Тор сети? С защитой от утечек IP сервера, скана портов и т.д.?
Воспользуйтесь поиском по моим темам. Ранее я рассматривал этот вопрос.
 
То что нужно "Молодец".
То что нужно в наше время. Давно искал такой годный мануал.

Также вкратце про I2P можете посмотреть это.
 
Кстати много размышлял на счет форума в i2p но незнаю стоит или нет. Может проще блог CTF поднять.
И зарегатся в социальных сетях Анонусов в i2p . У них там есть очень годные соц сети с приватной инфой. которую тут точно в общедоступном фиг найдешь. !!! Сделаю как приглашу кто захочет !!!!
 
  • Нравится
Реакции: GTYU и Stai
Ребят ,может кто продолжить статью с подробной установкой движка ,бд и т.д Что бы все это запускалось с запуском машины.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab