Алексей
балин меня тут юзверя разрывают не во время
Maxim
Алексей
прям вот только сел и начали
Алексей
да да проверю
Maxim
могу и я проверить) просто как сам кнокинг реализовать то?
Алексей
у меня уж и лаба собрана проваерять
Алексей
это и есть порт кнокинг
Innokentiy
так чем вариант с 12 правилами не устраивает?
Vladimir
Кнокинг через nmap
Innokentiy
(13 с акцептом)
Innokentiy
Vladimir
Алексей
проверить ндао сначала
Innokentiy
срабатывать правила должны в обратном порядке
Алексей
щас я разберусь с гневным бухом
Vladimir
for x in 111 222 333; do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address; done
Vladimir
Вот так только 6 разных комбинаций
Innokentiy
Vladimir
И каждый раз вы должны получить доступ допустим к SSH
Vladimir
Можно было бы на bash набросать скрипт конечно, но чет в лом :D
Алексей
прикол в том что нужно решить листами
Vladimir
Там все решено листами
Maxim
работает)
Vladimir
Нет молодой человек :)
Vladimir
Это не проверка
Maxim
Maxim
а что есть проверка?
Maxim
стучать последовательно?
Vladimir
Погодите
Vladimir
У вас linux же ?
Maxim
под рукой и винда есть
Maxim
nmap-ом нужно?
Vladimir
Да секундочку
Maxim
тут вики говорит что можно и через браузер стукнуть)
Vladimir
portssh =
host =
for x in 111 222 333 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
sleep $sec
for x in 111 333 222 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address;
sleep $sec
for x in 222 111 333 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address;
sleep $sec
for x in 222 333 111 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address;
sleep $sec
for x in 333 111 222 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address;
sleep $sec
for x in 333 222 111 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address;
Vladimir
Конечно можно
Vladimir
Вот скрипт для всех вариантов
Vladimir
Переменная portssh это для теста SSH
Vladimir
host = ip микротика
Алексей
чуваки вас понесло
Vladimir
и нужна еще sec = это то сколько у вас живет таблица которая добавляет в список
Vladimir
Сделать ее минимальной и если вы получите 6 раз sshport/tcp open unknown то тогда можно считать тест пройден
Maxim
Чёт не понял. Что это за скрипт?
Алексей
ничего не пройден
Maxim
bash?
Алексей
задачи-то другие
Vladimir
Который постучит во все варианта портов
Vladimir
и проверит открыт ли для вас ssh port
Vladimir
Потом подождет сколько нужено секунд и дождется что вам удалили из всех листов и дальше будет следующая комбинация :)
Vladimir
Ну и так 6 раз ) Ну это прям что бы точно знать :D
Алексей
есть только винбокс к слову и парень который долже нподключиться по ссш, но чтобы подключиться по ссш он должен попасть в белый лист, но чтобы туда попасть нужно постучать на адрес микротика в три порта зарангее известных в любой последовательности
Kirilka
Kirilka
Нормально так кто-то шифруется под MikroTik в Ростовской Меге
Алексей
он должен подключаться по ссш только после простукивания всех трех портов
Vladimir
Ну вот
Vladimir
Что бы проверить что все правила работают правильно не руками я кинул скрипт
Vladimir
со всеми комбинациями, который через nmap будет стучать в нужные последовательности
Vladimir
#/bin/bash
portssh =
host =
sec =
for x in 111 222 333 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
sleep $sec
for x in 111 333 222 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
sleep $sec
for x in 222 111 333 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
sleep $sec
for x in 222 333 111 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
sleep $sec
for x in 333 111 222 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
sleep $sec
for x in 333 222 111 do nmap -Pn —host_timeout 201 —max-retries 0 -p $x router_ip_address && ssh -p$portssh $host && grep $port
Vladimir
Вот полный вариант
Maxim
Vladimir
Кстати переменную $port надо заменить на $portssh, ошибочка (
Maxim
max@mail:~$ ./test_port_knock.sh
./test_port_knock.sh: line 7: syntax error near unexpected token `&&'
Vladimir
хм, секундочку
Maxim
for x in 111 222 333; do nmap -Pn —host_timeout 201 —max-retries 0 -p $x $host; done && ssh -p $portssh $host && grep $portssh
sleep $sec
Vladimir
Да я переделываю
Vladimir
#/bin/bash
portssh=22
host=172.16.0.20
sec=2
for x in 111 222 333; do nmap -Pn —host_timeout 2 —max-retries 0 -p $x $host > /dev/null 2>&1; done
nmap -p$portssh $host | grep $portssh
sleep $sec
for x in 111 333 222; do nmap -Pn —host_timeout 2 —max-retries 0 -p $x $host > /dev/null 2>&1; done
nmap -p$portssh $host | grep $portssh
sleep $sec
for x in 222 111 333; do nmap -Pn —host_timeout 2 —max-retries 0 -p $x $host > /dev/null 2>&1; done
nmap -p$portssh $host | grep $portssh
sleep $sec
for x in 222 333 111; do nmap -Pn —host_timeout 2 —max-retries 0 -p $x $host > /dev/null 2>&1; done
nmap -p$portssh $host | grep $portssh
sleep $sec
for x in 333 222 111; do nmap -Pn —host_timeout 2 —max-retries 0 -p $x $host > /dev/null 2>&1; done
nmap -p$portssh $host | grep $portssh
sleep $sec
for x in 333 111 222; do nmap -Pn —host_timeout 2 —max-retries 0 -p $x $host > /dev/null 2>&1; done
nmap -p$portssh $host | grep $portssh
Vladimir
Вот полностью рабочий ариант, только переменную sec поставте больше времени жизни таблицы
Vladimir
Если стоит на таблицу минута, советую поставить sec=90
Vladimir
На всякий случай
Vladimir
Если все правильно и sec установлен больше жизни таблицы ответ будет такой
Vladimir
~$ /home/vm/testsc.sh
22/tcp open ssh
22/tcp open ssh
22/tcp open ssh
22/tcp open ssh
22/tcp open ssh
22/tcp open ssh
Maxim
ок, тестирую
Maxim
нашёл одну опечатку, уже поправил
Vladimir
Просто если со временем ошибиться то может просто сработать по старому правилу
Vladimir
хм,у меня отработал такой скрипт
Maxim