From 49754c1bf11b5a5463b10cd516c0eb9bec082ecb Mon Sep 17 00:00:00 2001 From: bol-van Date: Wed, 7 Apr 2021 13:03:25 +0300 Subject: [PATCH] readme: nfqws synack : how to remove DROP INVALID rule for OUTPUT --- docs/readme.eng.txt | 14 +++++++++++--- docs/readme.txt | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/docs/readme.eng.txt b/docs/readme.eng.txt index a98e74c..f5d9eeb 100644 --- a/docs/readme.eng.txt +++ b/docs/readme.eng.txt @@ -255,13 +255,21 @@ Can be useful for ISPs with more than one DPI. SYNACK MODE In geneva docs it's called "TCP turnaround". Attempt to make the DPI believe the roles of client and server are reversed. !!! This mode breaks NAT operation and can be used only from devices with external IP address ! -In linux it's required to remove standard firewall rule dropping INVALID packets, for example : --A FORWARD -m state --state INVALID -j DROP -In openwrt it can be done in /etc/config/firewall : +In linux it's required to remove standard firewall rule dropping INVALID packets in the OUTPUT chain, +for example : -A OUTPUT -m state --state INVALID -j DROP +In openwrt it's possible to disable the rule for both FORWARD and OUTPUT chains in /etc/config/firewall : config zone option name 'wan' ......... option masq_allow_invalid '1' +Unfortunately there's no OUTPUT only switch. It's not desired to remove the rule from the FORWARD chain. +Add the following lines to /etc/firewall.user : + +iptables -D zone_wan_output -m comment --comment '!fw3' -j zone_wan_dest_ACCEPT +ip6tables -D zone_wan_output -m comment --comment '!fw3' -j zone_wan_dest_ACCEPT + +then /etc/init.d/firewall restart + Otherwise raw sending SYN,ACK frame will cause error stopping the further processing. If you realize you don't need the synack mode it's highly suggested to restore drop INVALID rule. diff --git a/docs/readme.txt b/docs/readme.txt index cd62893..f06b350 100644 --- a/docs/readme.txt +++ b/docs/readme.txt @@ -315,13 +315,21 @@ mark нужен, чтобы сгенерированный поддельный ролей клиента и сервера. !!! Поскольку режим нарушает работу NAT, техника может сработать только с устройства с внешним IP адресом. Для реализации атаки в linux обязательно требуется отключить стандартное правило firewall, -дропающие инвалидные пакеты. Например : -A FORWARD -m state --state INVALID -j DROP -В openwrt это делается через опцию в /etc/config/firewall : +дропающее инвалидные пакеты в цепочке OUTPUT. Например : -A OUTPUT -m state --state INVALID -j DROP +В openwrt можно отключить drop INVALID в OUTPUT и FORWARD через опцию в /etc/config/firewall : + config zone option name 'wan' ......... option masq_allow_invalid '1' -В противном случае попытка отослать SYN,ACK сегмент вызовет ошибку и операция будет прервана. + +К сожалению, отключить только в OUTPUT такии образом нельзя. Но можно сделать иначе. Вписать в /etc/firewall.user : + +iptables -D zone_wan_output -m comment --comment '!fw3' -j zone_wan_dest_ACCEPT +ip6tables -D zone_wan_output -m comment --comment '!fw3' -j zone_wan_dest_ACCEPT + +Лучше делать так, потому что отсутствие дропа INVALID в FORWARD может привести к нежелательным утечкам пакетов из LAN. +Если не принять эти меры, отсылка SYN,ACK сегмент вызовет ошибку и операция будет прервана. Остальные режимы тоже не сработают. Если поймете, что вам synack не нужен, обязательно верните правило дропа INVALID. ВИРТУАЛЬНЫЕ МАШИНЫ