Сейчас уже существует возможность создания различных хакерских устройств на базе одноплатных компьютеров, подключаемых к целевым маршрутизаторам. Это делается без ведома системных администраторов, что впоследствии позволяет злоумышленнику проводить удаленные сетевые атаки из любой точки планеты.

Сетевые имплантаты – это миниатюрные аппараты форм-фактора Raspberry Pi, которые можно незаметно подключить к роутерам, хабам, серверам и другому IT-оборудованию. Аналогично гаджету Hak5’s LAN Turtle, здесь потребуется физическое подсоединение интерфейсов для взаимосвязи с глобальной и локальной сетью, в которой работают другие компьютеры. При этом отпадает необходимость задействования переадресации портов, а также изменения настроек безопасности брандмауэра, так как данное оборудование автоматически синхронизируется с интернетом посредством удаленного доступа (RAT), позволяя хакеру управлять целыми доменами от имени администратора.

Обычно для этих целей используется готовый заводской девайс Lan Turtle, стоимостью 200$, но мы покажем, как можно получить аналогичную функциональность при помощи дешевого одноплатного ПК Raspberry Pi.

Рассматриваемый в данном материале SBC – это Orange Pi Zero, хотя и существует множество его аналогов. Аппарат обладает небольшой вычислительной мощностью с 512 Mb оперативной памяти и процессором Cortex-A7, но этого будет вполне достаточно для проведения атак посредника (MITM), Nmap-сканирования и подбора паролей полным перебором (brute-force) с одновременным созданием точки доступа Wi-Fi, управляемой через удаленное подключение в анонимной сети Tor.

Orange Pi Zero можно купить на Amazon за 19,99$, а также в других онлайн-магазинах таких, как AliExpress, где еще продаются Orange Pi Zero H2, Orange Pi Zero Plus 2 и Orange Pi Zero Plus H5.

Стоит ли использовать Raspberry Pi 3 Model B+?

Данная модель также подойдет для вышеописанных целей, так как Pi 3 Model B+ обладает даже большей мощностью в сравнении с младшим собратом, но мы выбрали Orange Pi Zero по следующим причинам:

  • стоимость этого гаджета практически в 2 раза ниже, чем у Pi 3 Model B+, при похожих характеристиках, поэтому его потеря в случае обнаружения или выхода из строя будет не такой значительной
  • подключение к целевому маршрутизатору будет производиться через Ethernet-порт, который отсутствует у Pi Zero, но зато здесь можно настроить гигабитное сетевое соединение через порт USB 2.0, предварительно купив адаптер Ethernet-USB
  • во время тестирования Orange Pi Zero показывает гораздо большую производительность, по сравнению с Raspberry Pi Zero, превосходя по всем показателям модель Raspberry Pi 2, имеющую больший форм-фактор, при том, что цена этих устройств примерно одинаковая

В итоге получается, что мощности Pi 3 B+ будет слишком много для поставленной задачи, а вероятно, что даже производительности NanoPi NEO, имеющего еще меньший размер, вполне хватит, чтобы проводить подобные атаки.

Подготовка

Чтобы начать работу, нам потребуются следующие компоненты:

  • Orange Pi Zero: можно приобрести на Amazon за 19,99$ или заменить его на Raspberry Pi 2 или более дорогой мини-ПК, если имеется достаточный бюджет, но при этом следует учитывать, что инструкции и команды, представленные в этом материале, могут отличаться для разных моделей SBC
  • Кабель Ethernet: разумно взять небольшой длины около 6 дюймов, иначе длинный провод, подключенный к основному маршрутизатору, сразу вызовет подозрения у администраторов. Кроме того, короткий шнур можно чем-нибудь обернуть, сделав его более незаметным
  • USB-кабель для питания: который тоже должен быть коротким, но его длины должно быть достаточно, чтобы дотянуть до USB-разъема на роутере, а если его нет, то целесообразно поставить дополнительный блок питания, как на большинстве смартфонов
  • Карта MicroSD: для установки операционной системы, в большинстве случаев, нужна объемом не более 8Гб, так как в наших тестах, после установки ОС и всех необходимых инструментов для взлома, осталось приблизительно 7Гб свободного места
  • Считыватель карт памяти: понадобится для переноса ОС на MicroSD, но если такой адаптер уже интегрирован в компьютере, то дополнительно покупать его не надо
  • Корпус SBC: целесообразно взять для хорошей маскировки печатной платы, которая может вызвать подозрения даже у обслуживающего персонала, а еще для большей убедительности можно приклеить какой-нибудь стикер с надписью типа «Do not remove!»

Требования к атакуемому маршрутизатору

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

  • Свободный USB-порт: как уже говорилось выше, подключение питания от самого роутера по USB может быть идеальным решением, но в нашем тесте использовался автономный аккумулятор емкостью 3350 mAh, позволивший поддерживать беспрерывную работу Orange Pi Zero в течение 10 часов при средней и большой нагрузке.
  • Доступный порт Ethernet: для проведения атаки потребуется свободный сетевой разъем на маршрутизаторе, но в крупных сетях все RJ-45 бывают заняты, поэтому тут предпочтительней всего будет использовать Orange Pi R1 с двумя связанными Ethernet-интерфейсами, позволяющими несанкционированно подключаться к сетевым устройствам посредническим методом (MITM).
  • Рабочая служба DHCP: этот компонент, работающий практически во всех сетевых инфраструктурах, необходим для автоматического получения IP-адреса для Orange Pi Zero. Однако в учреждениях с высоким уровнем информационной безопасности, таких как, например, банки, могут использоваться сложные статические сетевые конфигурации, которые можно использовать только после прохождения аутентификации, но подобные случаи выходят за рамки нашей публикации, поэтому их мы рассматривать пока не будем.

Этап 1: Загрузите образ диска Orange Pi Armbian

После подбора всех необходимых комплектующих и проверки возможностей подключения к целевому роутеру, можно приступить к созданию хакерского аппарата на базе Orange Pi Zero, загрузив образ Armbian Orange Pi Zero с официального сайта разработчиков, а если у вас установлена ОС Kali Linux, то эту процедуру можно проделать при помощи команды «wget».

~$ wget 'https://dl.armbian.com/orangepizero/Debian_stretch_next.7z'

--2019-04-12 22:04:50--  https://dl.armbian.com/orangepizero/Debian_stretch_next.7z
Resolving dl.armbian.com (dl.armbian.com)... 193.40.101.96
Connecting to dl.armbian.com (dl.armbian.com)|193.40.101.96|:443... connected.
HTTP request sent, awaiting response... 302 Moved Temporarily
Location: https://dl.armbian.com/orangepizero/archive/Armbian_5.75_Orangepizero_Debian_stretch_next_4.19.20.7z [following]
--2019-04-12 22:04:55--  https://dl.armbian.com/orangepizero/archive/Armbian_5.75_Orangepizero_Debian_stretch_next_4.19.20.7z
Reusing existing connection to dl.armbian.com:443.
HTTP request sent, awaiting response... 200 OK
Length: 262124041 (250M) [application/x-7z-compressed]
Saving to: ‘Debian_stretch_next.7z’

Debian_stretch_next.7z           100%[====================================================>] 249.98M   283KB/s    in 16m 26s

2019-04-12 22:21:22 (260 KB/s) - ‘Debian_stretch_next.7z’ saved [262124041/262124041]

При этом файл скачается в формате архива 7z, поэтому для извлечения образа Debian необходимо установить соответствующую программу в случае ее отсутствия путем выполнения команды, описанной ниже:

~$ apt-get install p7zip-full -V

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
   p7zip (16.02+dfsg-6)
Suggested packages:
   p7zip-rar (16.02-3)
The following NEW packages will be installed:
   p7zip (16.02+dfsg-6)
   p7zip-full (16.02+dfsg-6)
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 1,540 kB of archives.
After this operation, 5,780 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Дальше потребуется извлечь образ из архива, сделав следующий запрос:

~$ 7z x Debian_stretch_next.7z

7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,3 CPUs Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz (906EA),ASM,AES-NI)

Scanning the drive for archives:
1 file, 262124041 bytes (250 MiB)

Extracting archive: Debian_stretch_next.7z
--
Path = Debian_stretch_next.7z
Type = 7z
Physical Size = 262124041
Headers Size = 297
Method = LZMA2:25
Solid = +
Blocks = 1

Everything is Ok

Files: 4
Size:       1124093008
Compressed: 262124041

Вслед за этим, стоит просмотреть извлеченные файлы, выполнив «ls», после чего в списке следует обратить внимание на пакет «Armbian_5.75_Orangepizero_Debian_stretch_next_4.19.20.img», который будет использован для инсталляции Debian на microSD-карту, устанавливаемую в Orange Pi Zero.

~$ ls -l

-rwxrwx--- 1 root root 1124073472 Feb 10 07:59 Armbian_5.75_Orangepizero_Debian_stretch_next_4.19.20.img
-rwxrwx--- 1 root root        833 Feb 10 07:59 Armbian_5.75_Orangepizero_Debian_stretch_next_4.19.20.img.asc
-rwxrwx--- 1 root root      18579 Feb 10 07:59 armbian.txt
-rwxrwx--- 1 root root  262124041 Apr 13 05:58 Debian_stretch_next.7z
-rwxrwx--- 1 root root        124 Feb 10 07:59 sha256sum.sha

Этап 2: Запишите образ на microSD-карту

Для этого потребуется вставить карту в компьютер с установленной ОС Linux Kali через специальный адаптер microSD-SD, а если такая возможность отсутствует, то придется купить этот адаптер или считыватель карточек, подключаемый по USB. После подсоединения SD-карты требуется сразу посмотреть о ней информацию, создав запрос «dmesg».

~$ dmesg

[   31.283694] usb 2-1: new SuperSpeed Gen 1 USB device number 2 using xhci_hcd
[   31.340852] usb 2-1: New USB device found, idVendor=0bda, idProduct=0306, bcdDevice= 1.17
[   31.340859] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   31.340864] usb 2-1: Product: USB3.0 Card Reader
[   31.340868] usb 2-1: Manufacturer: Realtek
[   31.340872] usb 2-1: SerialNumber:
[   31.426677] usb-storage 2-1:1.0: USB Mass Storage device detected
[   31.429196] scsi host3: usb-storage 2-1:1.0
[   31.429381] usbcore: registered new interface driver usb-storage
[   31.441631] usbcore: registered new interface driver uas
[   32.450075] scsi 3:0:0:0: Direct-Access     Generic- USB3.0 CRW   -SD 1.00 PQ: 0 ANSI: 6
[   32.458690] scsi 3:0:0:1: Direct-Access     Generic- USB3.0 CRW   -SD 1.00 PQ: 0 ANSI: 6
[   32.459431] sd 3:0:0:0: Attached scsi generic sg2 type 0
[   32.459991] sd 3:0:0:1: Attached scsi generic sg3 type 0
[   32.468754] sd 3:0:0:0: [sdb] 31116288 512-byte logical blocks: (15.9 GB/14.8 GiB)
[   32.471278] sd 3:0:0:0: [sdb] Write Protect is off
[   32.471279] sd 3:0:0:0: [sdb] Mode Sense: 2f 00 00 00
[   32.473801] sd 3:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[   32.477495] sd 3:0:0:1: [sdc] Attached SCSI removable disk
[   32.526834]  sdb: sdb1 sdb2
[   32.536433] sd 3:0:0:0: [sdb] Attached SCSI removable disk

Теперь следует обратить внимание на букву, присвоенную диску, которая в нашем случае «sdb2», а нужно это будет для выполнения команды «dd» с целью копирования файла образа «.img». Таким образом, останется заменить значение «X» на нужное в записи «sdX», после чего начнется процесс копирования, занимающий около двух минут.

~$ dd if=/path/to/Armbian_5.75_Orangepizero_Debian_stretch_next_4.19.20.img of=/dev/sdX bs=512k status=progress

1119354880 bytes (1.1 GB, 1.0 GiB) copied, 53 s, 21.1 MB/s
2144+0 records in
2144+0 records out
1124073472 bytes (1.1 GB, 1.0 GiB) copied, 97.1421 s, 11.6 MB/s

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

Читать также:  Что делать, если вы потеряли iPhone: полная инструкция


Этап 3: Подсоедините Orange Pi Zero к маршрутизатору

Далее берем созданную карту и устанавливаем ее в наш мини-компьютер, который пока что не готов к синхронизации с маршрутизатором из-за отсутствия первоначальных настроек. Вследствие этого, сначала потребуется подключить Pi Zero к вашему роутеру через Ethernet-порт и подождать около пяти минут, чтобы SBC корректно загрузился и определился в сети.

Этап 4: Определение IP-адреса Pi Zero

На данном этапе узнать IP-адрес нашего микро-ПК достаточно затруднительно из-за отсутствия нормального интерфейса и других инструментов для взаимодействия, поэтому будет разумно использовать тот же самый компьютер с ОС Linux Kali, подключенный к одному роутеру с SBC.

Здесь надо ввести команду «nmap» с дополнительными ключами «-T4» и «-sn» чтобы начать сканирование всей сети в поисках активных узлов.

~$ nmap -T4 -sn 192.168.1.1/24

Starting Nmap 7.70 ( https://nmap.org ) at 2019-04-13 06:30 UTC
Nmap scan report for 192.168.0.165
Host is up (0.00063s latency).
MAC Address: XX:XX:XX:XX:XX:XX (Unknown)
Nmap scan report for 192.168.0.1
Host is up.
Nmap done: 256 IP addresses (2 hosts up) scanned in 4.75 seconds

Как видно, было обнаружено устройство по адресу 192.168.0.165, а чтобы его теперь инициализировать, как Pi Zero, следует подключиться к нему по SSH-протоколу при помощи приведенной ниже команды.

Этап 5: Соединение через SSH

Стандартный пароль в новой оболочке SSH имеет значение «1234», но его обязательно нужно сменить, а также создать новый профиль после первого входа в систему.

~$ ssh -p 22 [email protected]

The authenticity of host '192.168.0.165 (192.168.0.165)' can't be established.
ECDSA key fingerprint is SHA256:PE6127Kvx+twOLWK90mJDUQSUggH5ujh3h8liuLCR7w.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.0.165' (ECDSA) to the list of known hosts.

[email protected]'s password:
You are required to change your password immediately (root enforced)
  ___                               ____  _   _____
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_) |__  /___ _ __ ___
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | |   / // _ \ '__/ _ \
| |_| | | | (_| | | | | (_| |  __/ |  __/| |  / /|  __/ | | (_) |
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_| /____\___|_|  \___/
                       |___/

Welcome to ARMBIAN 5.75 stable Debian GNU/Linux 9 (stretch) 4.19.20-sunxi
System load:   0.08 0.09 0.07   Up time:       7 min
Memory usage:  12 % of 493MB    IP:            192.168.0.165
CPU temp:      43°C
Usage of /:    6% of 15G

New to Armbian? Check the documentation first: https://docs.armbian.com
Changing password for root.
(current) UNIX password:
Enter new UNIX password:
Retype new UNIX password:

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

Creating a new user account. Press <Ctrl-C> to abort

Please provide a username (eg. your forename): orangepi
Trying to add user orangepi
Adding user `orangepi' ...
Adding new group `orangepi' (1000) ...
Adding new user `orangepi' (1000) with group `orangepi' ...
Creating home directory `/home/orangepi' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:

passwd: password updated successfully
Changing the user information for orangepi
Enter the new value, or press ENTER for the default
    Full Name []:
    Room Number []:
    Work Phone []:
    Home Phone []:
    Other []:
Is the information correct? [Y/n] y

Dear orangepi, your account orangepi has been created and is sudo enabled.
Please use this account for your daily work from now on.

[email protected]:~#

Этап 6: Обновление Pi Zero

Дальше понадобится обновить программное обеспечение, выполнив команду, как описано ниже, после чего обычно переустанавливаются несколько устаревших пакетов. Во время данной процедуры связь с Pi Zero по SSH может прерываться, приводя к зависанию SBC, а происходит это вследствие загрузки модулей openssh-server и wpasupplicant.

Читать также:  Все про Wanna Cry

В процессе обновления нельзя принудительно выключать мини-ПК, который должен сам автоматически переподключиться, а если этого не произошло, то стоит нажать комбинацию клавиш «Ctrl+C» для выхода из терминала, после чего потребуется снова запустить команду apt-get для проверки безошибочной инсталляции.

[email protected]:~# apt-get update && apt-get dist-upgrade

Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
   base-files (9.9+deb9u7 => 9.9+deb9u8)
   dirmngr (2.1.18-8~deb9u3 => 2.1.18-8~deb9u4)
   gnupg (2.1.18-8~deb9u3 => 2.1.18-8~deb9u4)
   gnupg-agent (2.1.18-8~deb9u3 => 2.1.18-8~deb9u4)
   gnupg2 (2.1.18-8~deb9u3 => 2.1.18-8~deb9u4)
   gpgv (2.1.18-8~deb9u3 => 2.1.18-8~deb9u4)
   libc-bin (2.24-11+deb9u3 => 2.24-11+deb9u4)
   libc-dev-bin (2.24-11+deb9u3 => 2.24-11+deb9u4)
   libc-l10n (2.24-11+deb9u3 => 2.24-11+deb9u4)
   libc6 (2.24-11+deb9u3 => 2.24-11+deb9u4)
   libc6-dev (2.24-11+deb9u3 => 2.24-11+deb9u4)
   libnss-myhostname (232-25+deb9u8 => 232-25+deb9u11)
   libntfs-3g871 (1:2016.2.22AR.1+dfsg-1 => 1:2016.2.22AR.1+dfsg-1+deb9u1)
   libpam-systemd (232-25+deb9u8 => 232-25+deb9u11)
   libssl1.0.2 (1.0.2q-1~deb9u1 => 1.0.2r-1~deb9u1)
   libsystemd0 (232-25+deb9u8 => 232-25+deb9u11)
   libudev1 (232-25+deb9u8 => 232-25+deb9u11)
   libxapian30 (1.4.3-2+deb9u2 => 1.4.3-2+deb9u3)
   locales (2.24-11+deb9u3 => 2.24-11+deb9u4)
   multiarch-support (2.24-11+deb9u3 => 2.24-11+deb9u4)
   ntfs-3g (1:2016.2.22AR.1+dfsg-1 => 1:2016.2.22AR.1+dfsg-1+deb9u1)
   openssh-client (1:7.4p1-10+deb9u4 => 1:7.4p1-10+deb9u6)
   openssh-server (1:7.4p1-10+deb9u4 => 1:7.4p1-10+deb9u6)
   openssh-sftp-server (1:7.4p1-10+deb9u4 => 1:7.4p1-10+deb9u6)
   systemd (232-25+deb9u8 => 232-25+deb9u11)
   systemd-sysv (232-25+deb9u8 => 232-25+deb9u11)
   tzdata (2018i-0+deb9u1 => 2019a-0+deb9u1)
   udev (232-25+deb9u8 => 232-25+deb9u11)
   wget (1.18-5+deb9u2 => 1.18-5+deb9u3)
   wpasupplicant (2:2.4-1+deb9u2 => 2:2.4-1+deb9u3)
30 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 22.1 MB of archives.
After this operation, 24.6 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Теперь останется корректно выключить Pi Zero, дождавшись его самостоятельной остановки в течение нескольких минут, а затем нужно еще раз выключить и включить питание по USB-порту и наладить связь по SSH-протоколу для тестирования работоспособности аппарата.

[email protected]:~# shutdown now

Этап 7: Настройка удаленного управления для Orange Pi Zero

Далее необходимо наладить удаленный доступ к SBC из любой точки планеты, для чего можно использовать разнообразные сервисы, среди которых OpenVPN и Ngrok, но мы считаем, что более интересно будет настроить VPN через анонимную сеть Tor и добавить возможность синхронизации по Wi-Fi.

Первый метод работы через Tor позволит удаленно управлять Pi Zero из любого места, а подключение по Wi-Fi дает возможность злоумышленнику подключаться по беспроводной сети в пределах радиуса ее действия, составляющего не более 200 метров при условии прямой видимости.

При этом оба соединения могут быть настроены одновременно, не конфликтуя друг с другом, где Tor будет применяться в качестве основного коннекта, а Wi-Fi понадобится для возможности синхронизации в случае отказа работы Pi Zero из-за отключения DHCP на целевом маршрутизаторе или по другим причинам.

Способ 1: Установка Tor

Сначала необходимо добавить программные модули из репозитория Tor Project в свой список APT, выполнив команду «echo».

[email protected]:~# echo -e "deb https://deb.torproject.org/torproject.org $(lsb_release -sc) main \ndeb-src https://deb.torproject.org/torproje
ct.org $(lsb_release -sc) main" > /etc/apt/sources.list.d/tor.list

Дальше требуется загрузить электронный ключ Tor Project, а затем импортировать его в свой набор APT.

[email protected]:~# wget -O- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | sudo apt-key add -

--2019-04-13 07:32:06--  https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc
Resolving deb.torproject.org (deb.torproject.org)... 95.216.163.36
Connecting to deb.torproject.org (deb.torproject.org)|95.216.163.36|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 19665 (19K) [text/plain]
Saving to: ‘STDOUT’

-                                 100%[===================================>]  19.20K  52.4KB/s    in 0.4s

2019-04-13 07:32:21 (52.4 KB/s) - written to stdout [19665/19665]

OK

После оповещения об удачном завершении операции сообщением «OK» надо обновить APT, используя команду «apt-get», как показано ниже.

[email protected]:~# apt-get update

Ign:1 http://cdn-fastly.deb.debian.org/debian stretch InRelease
Hit:2 http://security-cdn.debian.org stretch/updates InRelease
Hit:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease
Hit:4 http://cdn-fastly.deb.debian.org/debian stretch-backports InRelease
Hit:5 http://cdn-fastly.deb.debian.org/debian stretch Release
Get:7 https://deb.torproject.org/torproject.org stretch InRelease [4,965 B]
Get:8 https://deb.torproject.org/torproject.org stretch/main Sources [1,253 B]
Get:9 https://deb.torproject.org/torproject.org stretch/main armhf Packages [3,482 B]
Fetched 9,700 B in 40s (241 B/s)
Reading package lists... Done

Теперь начинается установка Tor посредством выполнения следующей команды.

[email protected]:~# apt-get install tor deb.torproject.org-keyring torsocks

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
   deb.torproject.org-keyring (2018.08.06)
   libevent-2.0-5 (2.0.21-stable-3)
   libzstd1 (1.1.2-1)
   tor (0.3.5.8-1~d90.stretch+1)
   torsocks (2.2.0-1+deb9u1)
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,082 kB of archives.
After this operation, 4,845 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Tor запустится автоматически, но его потребуется временно остановить, сделав следующий запрос.

[email protected]:~# systemctl stop tor

Далее добавляем компоненты «HiddenServiceDir» и «HiddenServicePort» в файл конфигурации Tor при помощи описанной ниже команды «echo».

[email protected]:~# echo -e "HiddenServiceDir /var/lib/tor/orangepi/\nHiddenServicePort 22 127.0.0.1:22" >> /etc/tor/torrc

Затем проверяем успешное выполнение команд с помощью «tail».

[email protected]:~# tail /etc/tor/torrc

HiddenServiceDir /var/lib/tor/orangepi/
HiddenServicePort 22 127.0.0.1:22

Вслед за этим перезапускаем процесс Tor посредством команды «systemctl»

[email protected]:~# systemctl restart tor

На следующем шаге переходим к генерации нового приватного адреса (onion-address) , создав запрос «cat», как указано на следующей картинке.

[email protected]:~# cat /var/lib/tor/orangepi/hostname

kclikhrwriz4cpxli4paiyzoft7lviv2z6jxd7uyoxesrpxpsve2feqd.onion

Для настройки автозапуска процесса Tor после каждого включения Orange Pi Zero необходимо применить «systemctl».

[email protected]:~# systemctl enable tor

Synchronizing state of tor.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable tor

Помимо этого, на компьютере с ОС Kali требуется поставить tor и torsocks.

~$ apt-get update && apt-get install torsocks

Get:1 https://kali.download/kali kali-rolling InRelease [30.5 kB]
Get:2 https://kali.download/kali kali-rolling/main amd64 Packages [17.1 MB]
Fetched 17.1 MB in 49s (350 kB/s)
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
tor is already the newest version (0.3.5.8-1).
torsocks is already the newest version (2.3.0-2).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

На этом этапе все настройки завершены, а соединиться с Pi Zero, подключенному к другому маршрутизатору, можно при помощи команды «ssh» и анонимного адреса.

~$ torsocks ssh -p 22 [email protected]ion

Способ 2: Настройка Wi-Fi

В наших тестах функционирование точки доступа Wi-Fi через Orange Pi Zero оказалось ненадежным из-за отказа работы службы DHCP, поэтому потребовалось делать статические IP-адреса, но даже в этом случае связь по SSH периодически внезапно обрывалась.

Кроме того, на подсоединенном гаджете к этой точке Wi-Fi не будет доступа к Интернету в связи с ограниченными возможностями самого Pi Zero. Вместе с тем, отказываться от возможности ненадежного подключения по Wi-Fi не стоит, так как в случае отказа работы через Tor такой вид синхронизации останется единственной альтернативой у злоумышленника.

Помимо этого, в качестве точки доступа можно использовать компьютер с Kali Linux, к которому придется организовать доступ для подключения Pi Zero по беспроводной сети, что в принципе должно обеспечить более надежную работу, но такой эксперимент выходит за рамки нашего материала, поэтому мы рекомендуем вам провести его самостоятельно.

Для начала создания точки Wi-Fi из нашего SBC понадобится установить дополнительные компоненты «dnsmasq».

[email protected]:~# apt-get install dnsmasq dnsmasq-base

Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  dnsmasq-base
Recommended packages:
  dns-root-data
The following NEW packages will be installed:
  dnsmasq dnsmasq-base
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 409 kB of archives.
After this operation, 817 kB of additional disk space will be used.
Do you want to continue? [Y/n]

Обычно используется общий беспроводной канал «wlan0», но чтобы убедиться в этом стоит воспользоваться командой «ip».

[email protected]:~# ip addr

4: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff

Теперь имя соединения «wlan0» необходимо вписывать при выполнении команд через инструментарий Nmcli, предназначенный для полного администрирования сетевых подключений, а также для контроля состояния сетевых устройств. Этот же инструмент мы будем использовать для создания точки Wi-Fi через Pi Zero, для чего потребуется вводить описанные ниже команды путем простого копирования без всяких изменений.

[email protected]:~# nmcli con add type wifi ifname wlan0 con-name Hotspot autoconnect yes ssid OrangePi

Connection 'Hotspot' (ae7c3d23-b5f3-424c-8a43-41bf6161978f) successfully added.

Создаем базовый файл конфигурации Wi-Fi.

[email protected]:~# nmcli con modify Hotspot 802-11-wireless.mode ap 802-11-wireless.band bg ipv4.method shared

 

Читать также:  FAQ по Безопасности

Делаем смену типа безопасности на WPA-PSK

[email protected]:~# nmcli con modify Hotspot wifi-sec.key-mgmt wpa-psk

Устанавливаем безопасный пароль, но в нашем случае это просто «orangepi».

[email protected]:~# nmcli con modify Hotspot wifi-sec.psk "orangepi"

Сбрасываем Wi-Fi соединение сначала отключив его.

[email protected]:~# nmcli con down Hotspot

Connection 'Hotspot' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)

А затем снова активируем его.

[email protected]:~# nmcli con up Hotspot

Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)

Дальше снова выполняем «ip addr», чтобы убедиться в получении IP-адреса

[email protected]:~# ip addr

4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 10.42.0.1/24 brd 10.42.0.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link
       valid_lft forever preferred_lft forever

Здесь стоит отметить, что IP-адреса будут выдаваться из пула 10.42.0.1/24, поэтому подключаемым гаджетам следует назначать адреса 10.42.0.2, 10.42.0.3 и 10.42.0.4.

Теперь точка доступа должна быть видна на других беспроводных устройствах, но тут важно помнить, что IP-адреса для них должны быть настроены вручную. Пользователи оборудования с ОС Android смогут воспользоваться приложениями UserLand и Tmux для коммуникации с Pi Zero, а инструкции для работы с Kali Linux будут даны немного ниже.

Вариант 1: Связь с Android-устройствами

Для начала на смартфоне выбираем точку доступа «OrangePi» и вводим заданный пароль «orangepi».

Вслед за этим открываем раздел «Advanced options» — «IP settings», где изменяем тип адреса на статический и вписываем данные вручную: IP – 10.42.0.2, основной шлюз – 10.42.0.1, длина префикса – 24, DNS – 10.42.0.1, а поле альтернативного DNS-сервера можно оставить пустым. Теперь остается нажать кнопку «Connect», после чего через несколько секунд на телефоне должно появиться сообщение «Connect, no internet», что означает удачное подключение без доступа к Интернету.

 

В конце запускаем Timux или UserLand и подключаемся к Pi Zero по SSH-протоколу, выполнив следующий запрос.

~$ ssh -p 22 [email protected]

Данный метод подойдет для возможности временного удаленного администрирования Pi Zero на случай сбоев работы в сети Tor.

Вариант 2: Беспроводная связь через Kali Linux.

Данную операционную систему также можно настроить для создания Wi-Fi коннекта с Pi Zero, используя статические IP-адреса. Первым делом следует открыть раздел «Network Connections». В нашей статье все будет показано на примере XFCE4, но пользователи GNOME тоже смогут воспользоваться этим руководством. Затем нажимаем «Add a new connection».

После этого выбираем тип подключения «Wi-Fi» и нажимаем «Create…».

Устанавливаем SSID в соответствии с названием точки Pi Zero, а в нашем случае это «OrangePi», и выбираем интерфейс «wlan0», через который будет осуществляться автоматический коннект в радиусе действия нашей точки Wi-Fi.

Открываем вкладку «Wi-Fi Security» и меняем тип безопасности на «WPA & WPA2 Personal», где также требуется ввести пароль «orangepi».

Переходим во вкладку «IPv4 Settings», где устанавливаем в разделе «Method» значение «Manual» и нажимаем кнопку «Add», а после вводим значения: Address – 10.42.0.2, Netmask – 24, Gateway – 10.42.0.1, DNS servers – 10.42.0.1.

После подтверждения настроек кнопкой «Save» система Kali автоматически подключится к Pi Zero, в чем можно удостовериться, выполнив команду «ip addr».

~$ ip addr

4: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether XX:XX:XX:XX:XX:XX brd ff:ff:ff:ff:ff:ff promiscuity 0 minmtu 256 maxmtu 2304 numtxqueues 4 numrxqueues 1 gso_max_size 65536 gso_max_segs 65535
    inet 10.42.0.2/24 brd 10.42.0.255 scope global noprefixroute wlan0
       valid_lft forever preferred_lft forever
    inet6 xxxx::xxxx:xxxx:xxxx:xxxx/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

Теперь остается соединиться с нашим SBC по SSH-протоколу.

~$ ssh -p 22 [email protected]

The authenticity of host '10.42.0.1 (10.42.0.1)' can't be established.
ECDSA key fingerprint is SHA256:PE6127Kvx+twOLWK90mJDUQSUggH5ujh3h8liuLCR7w.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '10.42.0.1' (ECDSA) to the list of known hosts.
[email protected]'s password:
  ___                               ____  _   _____
 / _ \ _ __ __ _ _ __   __ _  ___  |  _ \(_) |__  /___ _ __ ___
| | | | '__/ _` | '_ \ / _` |/ _ \ | |_) | |   / // _ \ '__/ _ \
| |_| | | | (_| | | | | (_| |  __/ |  __/| |  / /|  __/ | | (_) |
 \___/|_|  \__,_|_| |_|\__, |\___| |_|   |_| /____\___|_|  \___/
                       |___/

Welcome to ARMBIAN 5.75 stable Debian GNU/Linux 9 (stretch) 4.19.20-sunxi
System load:   0.20 0.05 0.02   Up time:       54 min
Memory usage:  14 % of 493MB    IP:            192.168.0.165 10.42.0.1
CPU temp:      48°C
Usage of /:    7% of 15G

Last login: Sat Apr 13 16:13:13 2019 from 127.0.0.1

[email protected]:~#

Этап 8: Установка хакерского программного обеспечения

На данной стадии Pi Zero полностью готов к работе с возможностью удаленного администрирования несколькими способами для развертывания на нем хакерских программ, а также аппарат уже можно подключать к целевому маршрутизатору для его взлома.

Однако самое необходимое ПО лучше установить заранее и вообще разумно минимизировать объем данных, проходящих через хакерский SBC. Это связано с тем, что например, выполнение команды «apt-get» может вызвать сильное замедление работы всей атакуемой сети, что будет выглядеть очень подозрительно.

Самые важные программные инструменты хакера – это «screen», позволяющий сделать соединение по SSH более стабильным, «git», используемый для установки хакерского ПО с GitHub и «nmap», применяемый для сканирования всех узлов сети.

Тем временем, старые версии sqlmap, nikto, medusa и mitmproxy тоже хорошо справляются со своими задачами, но таких программ не настолько много, как думают пользователи Kali Linux, и к тому же их придется устанавливать через «git».

[email protected]:~# apt-get install screen git nmap

Reading package lists... Done
Building dependency tree
Reading state information... Done
git is already the newest version (1:2.11.0-3+deb9u4).
screen is already the newest version (4.5.0-6).
The following additional packages will be installed:
  libblas-common libblas3 libgfortran3 liblinear3 liblua5.3-0 libpcap0.8
Suggested packages:
  liblinear-tools liblinear-dev
Recommended packages:
  ndiff
The following NEW packages will be installed:
  libblas-common libblas3 libgfortran3 liblinear3 liblua5.3-0 libpcap0.8 nmap
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 5,648 kB of archives.
After this operation, 24.0 MB of additional disk space will be used.
Do you want to continue? [Y/n]

На этом настройка Orange Pi Zero для сетевых атак завершена.

Спасибо, надеемся информация из этого материала оказалась полезной!

Отказ от ответственности: Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.
Показать больше в Обучение

Проверьте также

Как изменить (скрыть) свой IP-адрес

Содержание:Что такое IP-адрес?Четыре способа спрятать IP-адрес1. Бесплатные и платные VPN2…