Фонд свободного ПО сообщил (http://www.fsf.org/blogs/community/gnu-hackers-discover-haci...) о выявлении активности, связанной с проведением совместной операции спецслужб США, Канады, Великобритании, Австралии и Новой Зеландии по созданию полной базы всех серверов сети.
Операция проводится под именем HACIENDA и упоминается в ряде документов, раскрытых Эдвардом Сноуденом. Целью операции является проведение полного сканирования портов всех серверов в 27 странах и создание базы данных, отражающей такие параметры каждого сервера, как используемая операционная система и открытые сетевые порты. Используя данную базу спецслужбы смогут определить потенциально уязвимые системы для получения контроля над ними в случае проведения спецопераций. В процессе работы HACIEND применяются перехваченные гражданские компьютеры, которые используются для получения вычислительных ресурсов или скрытия следов.
В ответ на выявление подобной активности, группа разработчиков свободного фреймворка для построения безопасных P2P-сетей GNUnet (http://www.opennet.me/opennews/art.shtml?num=38726), разработала технологию скрытия предоставляемых сетевых сервисов, которая получила имя TCP Stealth (https://gnunet.org/kirsch2014knock). Рабочий прототип с реализацией TCP Stealth для клиентских и серверных соединений подготовлен (https://gnunet.org/knock) форме патча для ядра Linux (включается в приложении через опцию сетевого сокета) и библиотеки libknockify, позволяющей обеспечить поддержку TCP Stealth в любом клиентском или серверном приложении без его пересборки (libknockify через LD_PRELOAD подменяет системные вызовы для установки соединения).
Метод TCP Stealth (https://gnunet.org/sites/default/files/ma_kirsch_2014_0.pdf) относится к категории "port knoсking", т.е. подразумевает открытие заданного сетевого порта только после прохождения скрытой аутентификации. В отличие от классических методов подобной аутентификации, таких как последовательное обращение к набору портов или отправка специально оформленного пакета, в TCP Stealth предлагается подменять традиционный случайный номер последовательности TCP (TCP SQN) на специально сгенерированный маркер, который аутентифицирует запрос клиента.
Подобный подход позволяет организовать работу и при обращении через NAT, так как большинство реализаций NAT не меняют TCP SQN. Кроме того, для усиления стойкости ключа аутентификации от подбора, кроме 32-разрядного значения TCP SQN опционально часть ключа может передаваться в первых нескольких байтах в поле с данными. В будущем TCP Stealth планируется интегрировать в GNUnet и организовать возможность запуска пиров в стелс-режиме, позволяющем скрыть для внешних наблюдателей факт запуска узла GNUnet. Ожидается, что интерес к обеспечению поддержки представленной техники также могут проявить такие проекты как Tor и OpenSSH.<div style="margin-left:auto;margin-right:auto;text-align:center;">
<video controls="controls" width="500px">
<source src="//audio-video.gnu.org/video/GHM14-en-Julian_Kirsch-Knocking_down_the_HACIENDA.webm">
</video>
</div>
URL: http://www.fsf.org/blogs/community/gnu-hackers-discover-haci...
Новость: http://www.opennet.me/opennews/art.shtml?num=40429
Разжуйте пожалуйста.
Т.е. получается, что приконнектиться к какому-то порту возможно лишь после отсылки на какой-то другой порт специального пакета и получения ключа?
Так?
Насколько я понял - нет, клиент стукается напрямую к серверу, только в одном из полей TCP-заголовка должно быть не абы что, а только то, что должно быть.
Технология Port Knocking осуществляет последовательность попыток подключения к закрытым портам. Даже не смотря на то, что все порты закрыты, вы можете отследить все попытки подключения в лог-файлах файрвола. Сервер, чаще всего, никак не отвечает на эти подключения, но он считывает и обрабатывает их. Но если же серия подключений была заранее обозначена пользователем, то выполнится определенное действие.
Т.е. я в заголовок пакета пишу какой-то идентификатор, потом коннекчусь в 46, 38, 12 портам (которые мне не отвечают) и после этого могу с этим же идентификатором коннектится к 80му и он мне уже ответит. Так?
Да.
Здесь не классический Port Knocking, а что-то близкое к нему. Ни на какие дополнительные порты стучать не надо. Подключаешься напрямую к нужному, но в поле номера пакета, где в первом пакете соединения обычно стоит случайное число, ставишь сгенерированный на основе твоего адреса и секретного ключа код авторизации.
> Здесь не классический Port Knocking, а что-то близкое к нему.Вариант single packet authorization.
Это одна из технологий, позволяющая тебе секьюрно заходить на свой сервачок. Вроде бы скрывает сам факт существования твоего сервера в сети, что довольно интересно.ПС:
1) Сноуден уже больше года не приделах, но все еще его инфа считается актуальной. Спецслужбы могли ускорить проект и уже завершить сканирование, а он тут про старые планы вещает.
2) Использование перехваченных пользовательских машин? Легальный ботнет?
3) gnunet надо поковырять. Что-то про него не писали раньше (или давно) Все про торы всякие и i2p.
> 1) Сноуден уже больше года не приделах, но все еще его инфа
> считается актуальной. Спецслужбы могли ускорить проект и уже завершить сканирование, а
> он тут про старые планы вещает.
> 2) Использование перехваченных пользовательских машин? Легальный ботнет?:-) Но вот прошёл год...
> 3) gnunet надо поковырять. Что-то про него не писали раньше (или давно)При том что его автор - специалист своего дела.
это как тайные стуки в дверь если три длинных вда коротких и один звонок, то всё ок. если нет, то никого нет дома.
...без таких людей жизнь была бы скучна... (c)
А как клиенты будут подключаться к серверу, у которого 80 порт отвечает только после подобных манипуляций с портами?
> А как клиенты будут подключаться к серверу, у которого 80 порт отвечает
> только после подобных манипуляций с портами?Это не для публичных сервисов. На 80 порт могут коннектиться кто угодно, а на 22 - только админ, у которого на ноуте/рабстанции линух с поддержкой этой фичи. Всем остальным сервер просто не ответит, как будто на 22 порту ничего не слушает.
Лично я не буду ставить ради закрытия и так безопасного ssh (который на другом порту и с прочими заморочками) всякие экспериментальные руткитоподобные либы, которые перехватывают вызовы ядра. Вот Линус посмотрит патчи хотябы ))
Ты так говоришь, как будто пришел суровый мужик с пистолетом, наставил пистолет на тебя и недвусмысленно потребовал использовать его патч.
> Это не для публичных сервисов. На 80 порт могут коннектиться кто угодно,Ну ты же понимаешь что роутеры по пути не обязаны быть дружественными. А половина из них может запросто отзеркалить траффик или выжимку кому-то еще.
а не проще ли будет закрыть входящие icmp?
deny icmp from any to any in icmptypes 8
allow icmp from any to any out icmptypes 8
allow icmp from any to any in icmptypes 0
> а не проще ли будет закрыть входящие icmp?
> deny icmp from any to any in icmptypes 8
> allow icmp from any to any out icmptypes 8
> allow icmp from any to any in icmptypes 0Мда.. как всё печально..
Для начала почитай для чего нужен icmp и о его полезностях в глобальной сети..
ты наверное умней, чем авторы книг по FreeBSD. данный пример есть почти в каждой книге по IPFW. а может ты чукча не читатель, а чукча писатель. я вижу ты даже не понимаешь, что означает данные цепочки правил.
Копировать правила для фаервола из книг, не задумываясь что они делают - просто атас.
ты про меня "не задумываеца"? к твоему сведенью, в книгах эти цепочки правил подробно описаны. ты наверное книги не читаешь, советую хоть иногда читать
Чувак, не позорься.
> Чувак, не позорься.Так давно же сказали: "глядит в книгу, видит фигу".
Книжки читаешь! Это здорово! Токма когда читаешь, получше вникай в смысл темы или вопроса.
> ты наверное книги не читаешьВы, наверное, не в курсе, что про таких умников с книгами наперевес думают грамотные и вменяемые сетевики: http://security.stackexchange.com/questions/22711/is-it-a-ba...
Как уже порекомендовали -- не позорьтесь. Если вдруг дойдёт, могу грохнуть ветку от #6 по доброте душевной.
> Как уже порекомендовали -- не позорьтесь. Если вдруг дойдёт, могу грохнуть
> ветку от #6 по доброте душевной.Посмотри ещё раз на #6 в свете --
0 - Echo Reply (ping response)
8 - Echo Request (ping request)Там не закрытие "всего-всего icmp", а всего-навсего закрытие вх._пингов_.
Да, конечно, оно никакого отношения [к "не проще ли"] к inband one packet pre-auth не имеет. Но не имеет оно никакого отношения и к "поломеке всего-всего интернета" [к "что профессионалы думают"].
> Копировать правила для фаервола из книг, не задумываясь что они делают -
> просто атас.Стандартный бсдшник. Nobrainer в чистом виде.
> Стандартный бсдшник. Nobrainer в чистом виде.Наоборот. Какой-то нестандартный. Наверное, линуксоид.
> Наоборот. Какой-то нестандартный.Да как же нестандартный? Хорошо вписывается в общую картину всяких тигаров, изенов и нагуалов у которых гонора много а знаний мало.
> Наверное, линуксоид.
В линуксе не пользуются ipfw. А так все хорошо, прекрасная маркиза.
> Копировать правила для фаервола из книг, не задумываясь что они делают -
> просто атас.Так много где делают, на самом деле. Не только в случае фаерволлов. Делают, не зная, что вообще, собственно, делают.
> Делают, не зная, что вообще, собственно, делают.Перепись дрессированных обезьян на опеннете :).
>> Делают, не зная, что вообще, собственно, делают.
> Перепись дрессированных обезьян на опеннете :).таки да, и не только эта ветка. читаю и наслаждаюсь. даже отвечать никому не хочется: они идеально прекрасны в своей незамутнённости.
> таки да, и не только эта ветка. читаю и наслаждаюсь. даже отвечать
> никому не хочется: они идеально прекрасны в своей незамутнённости.Не в обиду фрибсдшниками, я по дефолту навешиваю на фрибсдшников лэйбл "тyпой но агрессивный ламак" а снимаю его (или часть) только если индивид делом докажет обратное. С вероятностью в 90% я не ошибусь. Из адекватных бздeльников я вообще так сходу могу пару знакомых опеночников припомнить. Эти по крайней мере признают что их система неидеальна, как и любая иная, и у них хватает ума не лезть на рожон с глупым но наглым видом. Эти если лезут в рубку - то уж могут приложить технически валидной аргументацией без явных продолбов.
bsd-шники-то тут при чём? они себе спокойно пилят и/или используют свою систему. а агрессивное ламерьё в это время орёт. причём со стороны пингвинуса такого ламерья сильно больше — просто в силу того, что пользователей пингвинуса больше.
> bsd-шники-то тут при чём? они себе спокойно пилят и/или используют свою систему.Да кто как. Вон Kibab какой-нибудь с пеной у рта доказывал как рулит бзда и ее лицензия. И даже дрова писал для SATA какого-то экзотичного процика... сидя в гей-оси на десктопе. Ну то-есть еще один этакий ReactOS, где даже разработчики порой не хотят грызть кактус который сами же и выращивают.
> а агрессивное ламерьё в это время орёт.
ЧСХ, других в их комьюнити почти и не осталось, вероятно из-за отсутствия логичных и рациональных причин выбирать такую систему. Говорю же - упомянутая развеска лэйбла работает с вероятностью процентов 90.
> причём со стороны пингвинуса такого ламерья сильно больше
Это так, и я имею неудовольствие констатировать наличие нескольких реально тyпых индивидов юзающих линь на опеннете. НО соотношение SNR в целом как-то лучше. Наверное связано с тем что если толпа народа пользуется системой - повыпендриваешься голубыми кровями только на той почве что "осилил поставить!!!111" - никого уже не впечатляет особо. И, соответственно, наиболее агрессивное но глупое ламерье идет "осиливать" бзды.
> — просто в силу того, что пользователей пингвинуса больше.
Несомненно, но вопрос о SNR...
Статистику в студию!
> Статистику в студию!Так мы как раз в студии. Поклацать по профайлам - много ума не надо. А метрики вы уж сами собирайте и анализируйте, если они вам нужны.
> Да кто как. Вон Kibab какой-нибудь с пеной у рта доказывалОн как раз вменяемый и дело делает. Пользуясь случаем, также передаю привет Чеусову. :)
Всегда так делаю.
> ты наверное умней, чем авторы книг по FreeBSD. данный пример есть почти
> в каждой книге по IPFW. а может ты чукча не читатель,
> а чукча писатель. я вижу ты даже не понимаешь, что означает
> данные цепочки правил.Книги устаревают еще до поступления на прилавок. Угрозы развиваются стремительно, и эти правила уже не актуальны, если говорить об угрозе из этой новости.
А почему Вы думаете, что автор поста не может быть умней авторов книги по FreeBSD
Как поможет запрет ICMP если при переборе всех ip-адресов диапаозонов будет производиться попытка подключения к портам по протоколу TCP (в начале по самым распространенным, затем по всем)?
курим матчасть стека протоколов tcp/ip
> курим матчасть стека протоколов tcp/ipИ узнаем что TCP - отдельный протокол и icmp ему никуда не вперся. Поэтому если некто простым перебором адресов придет на TCP порт - а ему какое дело до участи icmp на вашей машине вообще???
> курим матчасть стека протоколов tcp/ipПредлагаю тебе покурить самому и еще прочитать как устанавливается соединение по TCP/IP и увидеть, что ICMP не используется никак.
>> курим матчасть стека протоколов tcp/ip
> Предлагаю тебе покурить самому и еще прочитать как устанавливается соединение по TCP/IP
> и увидеть, что ICMP не используется никак.Да, это так. Но есть ньюанс ;)
> Да, это так. Но есть ньюанс ;)Нюанс в том, что сканировать все порты всех айпишников в интернетах силенок не хватит, но если задействовать все вин машины...
> Нюанс в том, что сканировать все порты всех айпишников в интернетах силенок
> не хватит, но если задействовать все вин машины...Zmap-у это расскажите, который за считанные часы перебирает на гигабитном канале весь интернет.
> а не проще ли будет закрыть входящие icmp?Не мешает сканированию TCP, вообще-то, гражданин кулсисоп.
> а не проще ли будет закрыть входящие icmp?
> deny icmp from any to any in icmptypes 8
> allow icmp from any to any out icmptypes 8
> allow icmp from any to any in icmptypes 0Типа этого
nmap -Pn -PS22-25,80,113,1050 -oG logs/scan.gnmap -n xxx.xxx.xxx.xxx/20
> а не проще ли будет закрыть входящие icmp?
> deny icmp from any to any in icmptypes 8
> allow icmp from any to any out icmptypes 8
> allow icmp from any to any in icmptypes 0это такой вброс???
> У тебя достаточно было бы закрыть исходящие ICMP, если бы целевую ОСь
> определяли по отсылаемым целевым ядром ICMP сообщениям,Да что вы к этому ICMP привязались, о бсдшные ламерюги? В новости про icmp вообще ни звука.
> Да что вы к этому ICMP привязались, о бсдшные ламерюги? В новости
> про icmp вообще ни звука.Смотри, линуксовый специоламерист. Техника определeния ОСи на удалённом хосте
может включать анализ ICMP сообщений от хоста. В новости говорилось про определение
ОСи, и вышеобруганный человек предположил, что для запрета анализа можно рубить
обмен ICMP сообщениями. Что до последних, то при взаимодействии по TCP/IP, ICMP
в linux может врубится вот так, На уровне обработчиков IP уровня:
if (skb->pkt_type != PACKET_HOST)
return -EINVAL;
if (rt->rt_type == RTN_UNICAST) {
if (!opt->is_strictroute)
return 0;
icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl(16<<24));
return -EINVAL;
}
if (rt->rt_type != RTN_LOCAL)
return -EINVAL;for (srrptr = optptr[2], srrspace = optptr[1]; srrptr <= srrspace; srrptr += 4) {
if (srrptr + 3 > srrspace) {
icmp_send(skb, ICMP_PARAMETERPROB, 0, htonl((opt->srr+2)<<24));
return -EINVAL;
.....................................................................IP_INC_STATS_BH(net, IPSTATS_MIB_INDELIVERS);
} else {
if (!raw) {
if (xfrm4_policy_check(NULL, XFRM_POLICY_IN, skb)) {
IP_INC_STATS_BH(net, IPSTATS_MIB_INUNKNOWNPROTOS);
icmp_send(skb, ICMP_DEST_UNREACH,
ICMP_PROT_UNREACH, 0);
}
kfree_skb(skb);
..........................................................................log_martians = IN_DEV_LOG_MARTIANS(in_dev);
rcu_read_unlock();
net = dev_net(rt->dst.dev);
peer = inet_getpeer_v4(net->ipv4.peers, ip_hdr(skb)->saddr, 1);
if (!peer) {
icmp_send(skb, ICMP_REDIRECT, ICMP_REDIR_HOST,
rt_nexthop(rt, ip_hdr(skb)->daddr));
return;
}
..........................................................................
if (qp->user == IP_DEFRAG_AF_PACKET ||
((qp->user >= IP_DEFRAG_CONNTRACK_IN) &&
(qp->user <= __IP_DEFRAG_CONNTRACK_IN_END) &&
(skb_rtable(head)->rt_type != RTN_LOCAL)))
goto out_rcu_unlock;
/* Send an ICMP "Fragment Reassembly Timeout" message. */
icmp_send(head, ICMP_TIME_EXCEEDED, ICMP_EXC_FRAGTIME, 0);
out_rcu_unlock:
>[оверквотинг удален]
>
>
> goto out_rcu_unlock;
>
> /* Send an ICMP "Fragment Reassembly
> Timeout" message. */
>
> icmp_send(head, ICMP_TIME_EXCEEDED, ICMP_EXC_FRAGTIME, 0);
> out_rcu_unlock:
>
Тут большая часть кода вообще не к месту, а то, что более-менее к месту - отключается через sysctl, и даже файрволл трогать не надо. И вообще будет действовать в "сильно некоторых" случаях.
> Тут большая часть кода вообще не к месту, а то, что более-менее
> к месту - отключается через sysctl, и даже файрволл трогать не
> надо. И вообще будет действовать в "сильно некоторых" случаях.Его привёл как пример того, как ICMP может включаться при TCP/IP
взаимодествиях. Его не надо отключать через sysctl, достаточно
формировать корректные заголовки, что в некоторых техниках
определения удалённой ОС, заведомо не производится. И, наконец, про sysctl,
скажите, как таким образом отключить, например, тот icmp_send, что в ip_local_deliver_finish,
ну так, чтоб при некорректном значении поля protocol в IP заголовке, icmp_send
не срабатывал?
> Его привёл как пример того, как ICMP может включаться при TCP/IP
> взаимодествиях.ICMP может включаться при сетевых взаимодействиях. Но как раз из-за всяких удодов которые думают что удавить его это круто - на него всерьез давно уже никто не рассчитывает.
> формировать корректные заголовки, что в некоторых техниках
> определения удалённой ОС, заведомо не производится.Ключевое слово - в НЕКОТОРЫХ. Плох тот сканер который эксклюзивно закладывается на протокол который в 50% случаев элементарно не работает.
> ну так, чтоб при некорректном значении поля protocol в IP заголовке, icmp_send
> не срабатывал?"Как мне сломать логику сетевых протоколов?". Пойти в дворники и не портить сети, запуская свои кривые лапки в протоколы без понимания нафига они вот такие, бэть. Кулсисопам не приходило в голову что если пакеты отсылаются - на это были некие причины? Для красоты пакеты никто не рассылает.
А что до маскировки - вы или уж в случае TCP как-то отвечаете на SYN пакет и тогда легитимный клиент может конектиться дальше. Но тогда и сканер увидит порт. Или уж дропаете SYN пакеты, молча в тряпочку, но тогда и легитимные клиенты ткнувшись в это увидят глухой таймаут. Возможны варианты типа сабжа, но они катят только для непубличных сервисов. А детектирование операционки можно делать по туевой хуче критериев. А хоть тем же параметрам TCP/IP типа sequence numbers и прочим интимным особенностям.
> Смотри, линуксовый специоламерист. Техника определeния ОСи на удалённом хосте
> может включать анализ ICMP сообщений от хоста.Может, но это далеко не единственный метод. А у половины кулсисопов к тому же на страничке сервака, извините, недвусмысленная картинка "powered by freebsd" висит. А что у сарая нет стены - Зоркий Глаз, старательно затыкающий ICMP, обычно замечает далеко не сразу ;].
Не говоря о том что от детектирования сервиса на порту указанные команды не спасут.
> в linux может врубится вот так, На уровне обработчиков IP уровня:
Круто. А теперь посмотри на то как работает какой-нибудь zmap, вообще наполовину кладущий на стандартную ядерную механику (в целях оптимизации пакеты кроятся и разруливаются самой софтиной). Чтобы понять насколько все это бла-бла может быть иррелевантно для работы сканеров.
я вот никак не пойму, почему никто не обсудил данные 3 строчки файрвола:
>deny icmp from any to any in icmptypes 8
>allow icmp from any to any out icmptypes 8
>allow icmp from any to any in icmptypes 0смысл их в том, что они запрещают пинговать меня(8й флаг протокола ICMP), для удаленной машины моя отключена, а я могу пинговать
> смысл их в том, что они запрещают пинговать меня(8й флаг протокола ICMP),
> для удаленной машины моя отключена, а я могу пинговатьНу все, после этого ты крутой бсдшный хакир, не меньше. Правда, сканеры типа zmap вообще класть хотели на возможность тебя пинговать, они порты сканируют рассылая SYN, на который ты или уж ответишь, или уж не сможешь клиентов обслуживать.
называться хакером мне совершенно не льстит. это детям нравится, чтобы повыпендриваться
как ты ненавязчиво поставил себя выше огромного количества людей в MIT. действительно, дети какие-то, не то, что серьёзный ты. ну и что, что ты дурак? зато серьёзный.
он у мамы дурачок
> я вот никак не пойму, почему никто не обсудил данные 3 строчки файрвола:Это потому, что Вы научились читать с бумажки "2*2 = 4", а люди интересуются, в какой системе счисления работаем. Но ламерьё вместо того, чтоб заткнуться и пойти в читалку, продолжает выпендриваться -- агрессию пришлось почистить.
Учитесь слушать других, ощущение собственной крутости ещё никому на пользу не пошло, насколько могу судить.
Почему бы просто не создать какой ни будь сервис или демон на отдельно стоящем сервере в компании, и перенаправлять туда всё что не касается сканируемых серверов компании, а этот сервис/демон пусть отвечает как нам надо на все запросы/сканы спец.служб.Напрмиер:
Сканируют 80-ый порт, которого нет на сервере, но спецслужбам идёт ответ что там установлен ISS какой ни будь старой версии.
Сканируют 445 на сервере, идёт ответ что там винда XP с сервис паком 1
И т.д. по всем более менее важным портам.Таким образом засрать базу данных этих самых спец.служб так, что они потом не разберутся, где и у кого реально есть уязвимости.
А то как-то усложняют себе жизнь этим TCP Stealth ..
Это называется Honeypot.
http://ru.wikipedia.org/wiki/Honeypot
это не совсем ханипот. Цель ханипота - разместить заведомо уязвимую версию ПО и максимально залогировать действия злоумышленника на сервере, а тут предлагают подмену стандартного баннера. Допустим у нас на 21 порту будет баннер телнета, а на самом деле будет ссш. В принципе, баннеры для многих сервисов скрываются/подменяются либо через обычные конфиги, либо через замену строк до сборки пакета.
Вот удобной подмены баннеров действительно нехватает. Пересобирать ссш и обновлять вручную влом.
И держать для этого какую-то другую систему не обязательно. Только ресурсы зря будут тратиться на ответы всяким ботам.
Тут предлагают некий deceiverd, который будет принимать соединения на всех интересных портах и выдавать на них интересные баннеры (возможно, даже произвольно выбранные из пула), но сам при этом никаких сервисов предоставлять не будет. Или будет предоставлять минимальные, типа отдачи пустого index.html, открытия и мгновенного закрытия соединения по telnet, и т.д.
> Тут предлагают некий deceiverd, который будет принимать соединения на всех интересных портах
> и выдавать на них интересные баннеры (возможно, даже произвольно выбранные из
> пула), но сам при этом никаких сервисов предоставлять не будет. Или
> будет предоставлять минимальные, типа отдачи пустого index.html, открытия и мгновенного
> закрытия соединения по telnet, и т.д.Ачо, tcpwrappers уже отменили? И в портах нету? И в ебилдах?
Ну покажи инсталляцию tcpwrappers на любом произвольном сервере, которая делает ровно это.
Смотрим на ripe.net диапазоны спецслужб и блочим их. Есть же геоайпи, так нужно спецслцужбыайпи сделать :)
Слишком просто. Думаете, вы умнее спецслужб, и те не подумали про диапазоны?В новости даже написано:
> В процессе работы HACIEND применяются перехваченные гражданские компьютеры, которые используются для получения вычислительных ресурсов или скрытия следов.
> Слишком просто. Думаете, вы умнее спецслужб, и те не подумали про диапазоны?
> В новости даже написано:
>> В процессе работы HACIEND применяются перехваченные гражданские компьютеры, которые используются для получения вычислительных ресурсов или скрытия следов.Добавлю ключевые слова для поиска: landmark, orb, olympia, hacienda.
>> В процессе работы HACIEND применяются перехваченные гражданские компьютеры,
>> которыеиспользуются для получения вычислительных ресурсов или скрытия следов.Ну то-есть чуваки внаглую отбабахали (или отжали) ботнет, промышляют сканами, а поскольку у них крыша - то как бы даже все шито-крыто :). Что там следующее? Ждем когда они начнут на заказ ддосы производить? :)
> Что там следующее? Ждем когда они начнут на заказ ддосы производить?если ты думаешь, что нет…
> если ты думаешь, что нет…Так я и спрашиваю - когда уже начнут тарифы в открытую вывешивать ;).
>> если ты думаешь, что нет…
> Так я и спрашиваю - когда уже начнут тарифы в открытую вывешиватьэто невыгодно: снижает возможность дифферинцирования цен. ну, в плане: «а почему Васе за десять долларов, а мне за триста?!»
> это невыгодно: снижает возможность дифферинцирования цен. ну, в плане: «а почему Васе
> за десять долларов, а мне за триста?!»Хм, действительно :).
> Что там следующее? Ждем когда они начнут на заказ ддосы производить? :)Штукснет уже дождались.
Политика агронома из анекдота "нехай этот суслик подавится"? Уверяю вас это порочная практика, особенно если для этой "дыры" есть хоть один хост в сети, который будет доверять на каком-то уровне.
> Почему бы просто не создать какой ни будь сервис или демон на
> отдельно стоящем сервере в компании, и перенаправлять туда всёПоздравляю, вы только что изобрели DMZ :).
а если бы использовали TCP_MD5SIG, можно было бы добиться аналогичного результата без необходимости патчить йадро
Чукча не читатель, чукча песатель?https://gnunet.org/sites/default/files/tcp_stealth_3.16_1.diff
+#ifdef CONFIG_TCP_STEALTH
+u32 tcp_stealth_sequence_number(struct sock *sk, __be32 *daddr,
+ u32 daddr_size, __be16 dport)
+{
+ struct tcp_sock *tp = tcp_sk(sk);
+ struct tcp_md5sig_key *md5;
+
+ __u32 sec[MD5_MESSAGE_BYTES / sizeof(__u32)];
+ __u32 i;
+ __u32 tsval = 0;
+
+ __be32 iv[MD5_DIGEST_WORDS] = { 0 };
+ __be32 isn;
+
+ memcpy(iv, (const __u8 *)daddr,
+ (daddr_size > sizeof(iv)) ? sizeof(iv) : daddr_size);
+
+#ifdef CONFIG_TCP_MD5SIG
+ md5 = tp->af_specific->md5_lookup(sk, sk);
+#else
+ md5 = NULL;
+#endif
...
То есть никто не заметил, что посаны массив iv[] - обнуляют, а на sec[] - забили ...
+ __u32 sec[MD5_MESSAGE_BYTES / sizeof(__u32)];
+ __be32 iv[MD5_DIGEST_WORDS] = { 0 };... а меж тем после его заполнения ...
for (i = 0; i < MD5_DIGEST_WORDS; i++)
iv[i] = le32_to_cpu(iv[i]);
for (i = 0; i < MD5_MESSAGE_BYTES / sizeof(__le32); i++)
sec[i] = le32_to_cpu(((__le32 *)tp->stealth.secret)[i]);
... и работы функции
md5_transform(iv, sec);
Ну а это любимое занятие всех чайников (либо косящих под чайников) - добавить
свою супер-криптохрень после известных алгоритмов, и обязательно с XOR.
md5_transform() им мало, он верят в свою чистую карму и чувствуют что постигли Харикришну :)
isn = cpu_to_be32(iv[0]) ^ cpu_to_be32(iv[1]) ^
cpu_to_be32(iv[2]) ^ cpu_to_be32(iv[3]);if (tp->stealth.mode & TCP_STEALTH_MODE_INTEGRITY)
be32_isn_to_be16_ih(isn) =
cpu_to_be16(tp->stealth.integrity_hash);return be32_to_cpu(isn);
}
массив sec[] остаётся в памяти, с некриптованным кодом tp->stealth.secret[]
...Ну децкий сад - посаны упорно верят в XOR.
((__be16 *)iv)[6] ^= dport;
И эта, массив iv[MD5_DIGEST_WORDS] (см. выше) состоит из 4 элементов!!!
Где они 7-ой накопали???? Вроде от преобразования BIG-ENDIAN<->LITTLE-ENDIAN
размеры массива не изменяются :)#define MD5_DIGEST_WORDS 4
http://lxr.free-electrons.com/source/include/linux/cryptohas...
---
Вся функция - иммитация бурной деятельности, тупа заменяется на:
u32 tcp_stealth_sequence_number(void) {return be32_to_cpu(get_random_int());
}
Какой-то троян от АНБ, ну в жопу...
На секундочку, в 2014 году любой овощ может запустить zmap на серваке с гигабитным каналом и через менее чем сутки получить исчерпывающий список машин с интересовавшим портом. Лобовым перебором IPv4. Целиком.
Портов 65535, если что. 65535 суток - это как бы дофига.
> Портов 65535, если что. 65535 суток - это как бы дофига.А нелюбой овощ может запустить 65535 zmap-ов на 65535 машинах.
>> Портов 65535, если что. 65535 суток - это как бы дофига.
> А нелюбой овощ может запустить 65535 zmap-ов на 65535 машинах.В новости написано же - ботнеты АНБ юзает.
> Портов 65535, если что. 65535 суток - это как бы дофига.Во первых там несколько часов. Во вторых, можно взять скажем тысячу компьютеров. Несколько часов * 65 - через менее чем месяц у вас будет исчерпывающий скан интернета.
Впрочем, в основном интересуют стандартные сервера на стандартных портах. Разбираться что там за нестандартный кастом на энном порту - много времени надо.
Спецслужбы выявляют как раз уязвимый, годами непропатченный софт. А не любителей собирать ядро с новомодными фичами для безопасности.
данный софт расчитан на любителей поистерить на тему "мы все под колпаком", спецслужбы тут вообще никоим боком
> В процессе работы HACIEND применяются перехваченные гражданские компьютеры, которые используются для получения вычислительных ресурсов или скрытия следов.Т.е. спецслужбы занимаются кибер-терроризмом?
>> В процессе работы HACIEND применяются перехваченные гражданские компьютеры, которые используются для получения вычислительных ресурсов или скрытия следов.
> Т.е. спецслужбы занимаются кибер-терроризмом?Неожиданно, правда?
Смешней всего, когда похекают именно твой комп и именно тебе дадут по голове за то, что ты не делал.
Уже давным-давно.
> Т.е. спецслужбы занимаются кибер-терроризмом?для тебя это новость?
> Т.е. спецслужбы занимаются кибер-терроризмом?Как известно, хуже террористов только борцы с терроризмом...
> Как известно, хуже террористов только борцы с терроризмом...угу. «для борьбы с терроризмом годятся *любые* методы!»
SQN 32 бита, коллизий не боятся?
В передаваемом хэше учитывается IP, порт отправителя и timestamp, поэтому коллизии очень легко отметаются.
про port knocking (стук в порты) здесь http://www.ibm.com/developerworks/ru/library/au-sshlocks/ind... достаточно подробно
-A INPUT -p tcp -m tcp -j TARPIT ?
> -A INPUT -p tcp -m tcp -j TARPIT ?Своим тоже?
> Своим тоже?Ну, прикинь как прикольно. Идешь на сервак по ssh. А там - обана, tarpit. Не рой другому яму! :)))
а не проще держать порты закрытыми на системе. если сервак публичный ничего не попишешь, но если он внутренний то в чем проблема. определил список имеющих разрешение на подключение и все. а за публиным следить особо просто. чтоб дыры вовремя патчить и все. на крайняк выставить ответный скан на незаконных подключенцев))) если возникнут проблемы с законом из-за них выдать логи спецам пусть смотрят кто накуролесил через ваш сервак. в мандриве была такая фишка открывать ответный скан на запрещенные подключения.
как хорошо, что тебе доверяют только кофе разносить.
Причем походу - только холодный :)
так я и не хвастаюсь что админ или программер. я чисто любопытный линуксоид так сказать. нет если будет интересно могу конечно и в коде покопаться, но я не профи . поэтому и не лезу ссоветами. просто предложил. кстати была тут программка похожая, которая позволяла подключаться похожим образом. типа постучался в порт особым образом и соединение есть. вот только не помню название. я например дома просто закрываю все порты в системе для подключения из вне и остается только доступ в сеть изнутри. но прекрасно понимаю что это не подходит для публичных серверов.
> поэтому и не лезу ссоветами.
> просто предложил.эти два предложения противоречат друг другу.
скажи, хирургу ты тоже будешь «просто предлагать», как лучше операции делать? нет? а зачем ты тогда лезешь со своими «предложениями» в другие области, где точно так же ничего не понимаешь?
я говорил что совсем ничего не понимаю? понимаю, но не считаю свое мнение окончательным. я ведь хоть не профи админ или программист, но все же далеко не рядовой пользователь. не стоит ставить свою точку зрения окончательной.
> я говорил что совсем ничего не понимаю?ты это написал. прямо в #48. яснее некуда.
> а не проще держать порты закрытыми на системе.Не проще, когда требуется разрешить противоречие вида "сервис должен быть доступен своим, но сервис должен быть недоступен чужим" или "сервис должен быть доступен своим, но их IP-адреса заранее неизвестны". Вариантов решения последней задачи знаю два -- VPN и port knocking.
Когда не знаете точно, но что-либо удивило -- лучше не писать много текста, а кратенько спросить; в данном случае достаточно было первого предложения с вопросительным знаком в конце, чтоб даже от хмурого arisu получить скорее ответ, чем наезд. :)
Мне кажется это очень изящный способ выстрелить себе в ногу, результатом которого будет то, что вы сами не сможете подключиться на свой сервер, который находиться в другом часовом поясе например.
Не вижу ничего страшного в том, чтобы открыто светить свой ssh-порт хоть на 22, хоть на 22222 порту.
Кроме того, порты задумывались как штука, к которой смогут подключиться все кто захочет, а для всех остальных есть всякие ВПН, ключи и сертификаты.
> Не вижу ничего страшного в том, чтобы открыто светить свой ssh-порт хоть
> на 22, хоть на 22222 порту.Кроме того что на него прется легион ботов которые неиллюзорно грузят машину при многопоточных сканах и загаживают логи.
> Кроме того, порты задумывались как штука, к которой смогут подключиться все кто захочет,
И зачем мне "все кто захочет" на интерфейсе управления МОИМ сервером, например?
>И зачем мне "все кто захочет" на интерфейсе управления МОИМ сервером, например?фу, эгоист :D
> фу, эгоист :DНе будь эгоистом - расшарь свой сервак. Просим, просим :)
Идея годная, посмотрим на реализацию.
pavlinux выше уже посмотрел.
Реализация вроде правильная, всё по феншую, по API.
Но поверхностный просмотр кода оставляет впечатление, что написано по заказу,
либо посаны для себя бэкдор оставили (либо просто чайники и этого не видят). :)
Павлин, ну смени ты уже ник на д'Артаньян.
Ребята мне очень страшно помогите!!!!!