Всем привет.
Упоминая про OpenWRT я зацепил пакет MiniPwner, который легко устaнавливается в ОС. Такой набор инструментов позволяет реализовать многие из популярных сетевых атак. Так можно воспользоваться Nmap для сканирования сети, tcpdump для перехвата трафика, ну а наличие Python позволит реализовать огромное количество различных сценариев.
Выполним следующие действия:
mount /dev/sda2 /mnt/sda2
Далее пропишем выполнение по расписанию следующее команды
cat /tmp/dhcp.leases >> /mnt/sda2/all_leases
Файл all_leases будет иметь следующий формат:
Узнаем больше.
Теперь перейдем ко второй задаче. Алгоритм довольно простой. Файл логов помимо прочего содержит IP адреса, полученные клиентами. Будем в цикле обходить /tmp/dhcp.leases и сканировать все узлы, которые добавились с момента последнего сканирования.
#!/usr/bin/python
import os
import time
Command = "cat /tmp/dhcp.leases"
os.system(Command)
time.sleep(120)
j=0
while True:
f = open('/tmp/dhcp.leases')
i=0
print j
for line in f:
i=i+1
if i>j:
txt = line.split(' ')
print txt[2]
Command = "echo "+txt[2]+" >> /opt/result"
print Command
os.system(Command)
Command = "nmap -sV -T4 -PN "+txt[2]+" >> result"
print Command
os.system(Command)
j=i
Файл result будет содержать отчет о сканировании.
Процесс сканирования одной точки может занять до нескольких десятков минут, в течении которых и точка доступа и приемник должны друг друга видеть, поэтому рекомендуется настраивать nmap на наиболее быстрые режимы работы. И не забываем прописать выполнение скриптов в авто-запуск ОС.
Успехов.
Упоминая про OpenWRT я зацепил пакет MiniPwner, который легко устaнавливается в ОС. Такой набор инструментов позволяет реализовать многие из популярных сетевых атак. Так можно воспользоваться Nmap для сканирования сети, tcpdump для перехвата трафика, ну а наличие Python позволит реализовать огромное количество различных сценариев.
Типовой сценарий использования MiniPwner обычно следующий: поднимается временная точка WiFi-доступа с броским ESSID, например, “Halyava Vsem” и временно зависает на территории. Территори чего? Да чего угодно - парка, супермаркета, чужого офиса. А пока карантин, то попробуйте это провернуть дома. Уверен, что в любом многоквартирном доме вы получите результат.)
Итак, что же мы хотим получить за результат?
В результате мы получим имена и МАС-адреса подключившихся устройств пользователей. Не лишним будет просканировать эти устройства, постараться узнать версии ОС и прикладного ПО, открытые порты.
Для реализаци задуманного нам потребуется только SSH. Логинимся по SSH. Нам необходимо во-первых сохранять имена и МАС адреса всех, кто к нам подключился и затем сканировать эти узлы с помощью nmap.
Собираем имена.
Первую задачу будем решать с помощью файла логов DHCP, который находится в /tmp/dhcp.leases. Самый простой путь, это периодически копировать его содержимое на нашу флешку (раздел /opt). Да, результирующий файл будет содержать повторы и можно заморочиться и написать скрипт для их удаления, но если вы также ленивы, как и я, то для фильтрации уникальных записей проще будет воспользоваться функционалом Excel.
Выполним следующие действия:
mount /dev/sda2 /mnt/sda2
Далее пропишем выполнение по расписанию следующее команды
cat /tmp/dhcp.leases >> /mnt/sda2/all_leases
Файл all_leases будет иметь следующий формат:
Узнаем больше.
Теперь перейдем ко второй задаче. Алгоритм довольно простой. Файл логов помимо прочего содержит IP адреса, полученные клиентами. Будем в цикле обходить /tmp/dhcp.leases и сканировать все узлы, которые добавились с момента последнего сканирования.
#!/usr/bin/python
import os
import time
Command = "cat /tmp/dhcp.leases"
os.system(Command)
time.sleep(120)
j=0
while True:
f = open('/tmp/dhcp.leases')
i=0
print j
for line in f:
i=i+1
if i>j:
txt = line.split(' ')
print txt[2]
Command = "echo "+txt[2]+" >> /opt/result"
print Command
os.system(Command)
Command = "nmap -sV -T4 -PN "+txt[2]+" >> result"
print Command
os.system(Command)
j=i
Файл result будет содержать отчет о сканировании.
Процесс сканирования одной точки может занять до нескольких десятков минут, в течении которых и точка доступа и приемник должны друг друга видеть, поэтому рекомендуется настраивать nmap на наиболее быстрые режимы работы. И не забываем прописать выполнение скриптов в авто-запуск ОС.
Успехов.
#!/bin/sh
ReplyDelete# Name: setup.sh
# Purpose: Install the MiniPwner overlay to OpenWrt
# By: Michael Vieau
# Date: 12.12.14
# Modified 12.12.
# Rev Level 0.1
# ----------------------------------------------
clear
# Vars
# ------
FDIR="files"
# Setup MiniPwner Dir
tar -xf minipwner.tar -C /
# Setup minimodes
mv -f $FDIR/minimodes /etc/init.d/minimodes
chmod +x /etc/init.d/minimodes
ln -s /etc/init.d/minimodes /etc/rc.d/S99minimodes
chmod +x /etc/rc.d/S99minimodes
# Move files as needed
mv -f $FDIR/minimodes.html /www/minimodes.html
chmod +x /www/minimodes.html
mv -f $FDIR/firewall /etc/config/firewall
chmod 644 /etc/config/firewall
mv -f $FDIR/banner /etc/banner
chmod 644 /etc/banner
# Clean up
rm -f minipwner.tar
rm -rf $FDIR
rm -f setup.sh
echo "The MiniPwner Overlay 2.0.0 has been applied."
echo "Reboot your device for everything to take effect."
echo "---------------------------------------------------"