Во время подготовки образа со всключенным snmpd в данный роутер, обнаружил, что httpd-сервис этого роутера даже в GPL-коде вставлен бинарником, никаких сырцов не дадено. Поиск в интернетах ничего не дал.
Дальше стал искать, как включаются правила для iptables, для чего грепнул rootfs на предмет упоминания iptables. Очень удивился, когда в /etc упоминания оного были только о сбросе, зато в httpd встретилось упоминание. Посмотрел внутрь httpd и обнаружил все правила для запуска iptables. В бинарнике! Никак не понять мне скрытого смысла. Зачем помещать текстовые данные в текстовом виде внутрь бинарника? Причина только одна - спрятать бэкдоры и прочие вещи, о которых пользователю лучше не знать. Вот кусок вывода strings httpd:
iptables -F FORWARD_FILTER iptables -F FORWARD_PARENTCTRL iptables -I FORWARD_FILTER 1 -j FORWARD_ACCESSCTRL sh /tmp/wr841n/parent.sh iptables -I FORWARD_FILTER 1 -i %s -p udp --dport 53 -j FORWARD_PARENTCTRL iptables -I FORWARD_FILTER 2 -i %s -p tcp --dport 80 -j FORWARD_PARENTCTRL iptables -I FORWARD_FILTER 3 -i %s -p tcp ! --dport 80 -j DROP iptables -I FORWARD_FILTER 4 -i %s -p udp ! --dport 53 -j DROP iptables -I FORWARD_FILTER -m mark --mark %s -j FORWARD_ACCESSCTRL iptables -I FORWARD_FILTER 1 -i %s -m mac --mac-source %s -j RETURN iptables -A FORWARD_PARENTCTRL -i %s -j DROP iptables -A FORWARD_ACCESSCTRL -i %s
Упоминание "/tmp/wr841n/parent.sh" наводит на мысль о том, что бинарный httpd особо извращенным способом читает данные из бинарного (!) пользовательского конфига, закидывает их во внешний шелл-скрипт, а потом запускает на исполнение. Считаю, что задумка хранить конфиг в бинарном виде - прекрасна, так же, как и хранение больших текстовых блоков внутри бинарника - даже если какой-то гад доберется до данного изврата, переизвратить не сможет!
Что же скрывает от нас TP-Link? Может быть он перехватывает данные, которые наши iPhone шлют в АНБ и шлет копию этих данных в китайские спецслужбы?
Комментариев нет:
Отправить комментарий