Настройка сетевых имплантатов на базе дешевых одноплатных компьютеров SBC. Часть 1

Настройка сетевых имплантатов на базе дешевых одноплатных компьютеров SBC. Часть 1

Life-Hack [Жизнь-Взлом]/Хакинг

#Обучение

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

Сетевые имплантаты – это миниатюрные аппараты форм-фактора 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.

Этап 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 root@192.168.0.165

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.

root@192.168.0.165'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.

root@orangepizero:~#

Продолжение следует…

Источник


Report Page