1. Куча / Говнокод #28111

    +1

    1. 1
    Ёбаный openconnect

    openconnect -- это свободная реализация протоколоа CISCO AnyConnect VPN.

    В первом комменте опишу проблему.

    Запостил: vistefan, 06 Апреля 2022

    Комментарии (64) RSS

    • Первый коммент будет о возмущении, чего проблемы нет.
      Ответить
    • У меня в контроллерах никаких «openconnect» нет.
      Ответить
    • Вот мой ip route
      default via 192.168.0.1 dev enp2s0 proto static metric 100
      172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
      172.20.0.0/16 dev br-b253a783b656 proto kernel scope link src 172.20.0.1
      192.168.0.0/24 dev enp2s0 proto kernel scope link src 192.168.0.19 metric 100
      Вот во что он превращается при включении openconnect vpn
      default via 192.168.0.1 dev enp2s0 proto static metric 100
      10.0.0.0/8 dev vpn0 proto kernel scope link src 10.100.15.133 metric 50
      10.6.0.0/16 dev vpn0 proto static scope link metric 50
      10.17.0.0/21 dev vpn0 proto static scope link metric 50
      10.17.8.0/24 dev vpn0 proto static scope link metric 50
      # ... и т.д. однотипные пробросы внутренних адресов на интерфейс vpn0
      10.17.66.0/24 dev vpn0 proto static scope link metric 50
      10.17.128.0/17 dev vpn0 proto static scope link metric 50
      10.34.0.185 dev vpn0 proto static scope link metric 50
      10.100.0.0/16 dev vpn0 proto static scope link metric 50
      109.236.68.249 (лол) via 192.168.0.1 dev enp2s0 proto static metric 50
      172.16.34.0/24 dev vpn0 proto static scope link metric 50
      172.17.0.0/21 dev vpn0 proto static scope link metric 50
      172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown
      172.18.150.0/24 dev vpn0 proto static scope link metric 50
      172.20.0.0/16 dev br-b253a783b656 proto kernel scope link src 172.20.0.1
      192.168.0.0/24 dev enp2s0 proto kernel scope link src 192.168.0.19 metric 100
      192.168.0.1 dev enp2s0 proto static scope link metric 50
      192.168.10.0/24 dev vpn0 proto static scope link metric 50
      192.168.55.0/24 dev vpn0 proto static scope link metric 50
      Ответить
      • Что мы тут видим? Что впн вроде как не переопределяет default, то есть по идее запросы к адресам вне сети впн должны идти по моему обычному интерфейсу enp2s0 без всяких там випиэнов. Так и есть. Вот только при включении впн, сеть начинает работать как гавно собачье. Каждая страница грузится 2-3 года.
        Ответить
        • При этом вот трасерут до утки с впн
          > time traceroute duckduckgo.com
          traceroute to duckduckgo.com (40.114.177.156), 30 hops max, 60 byte packets
           1  _gateway (192.168.0.1)  0.250 ms  0.602 ms  0.580 ms
           2  178-159-48-93.tvhost.ru (178.159.48.93)  2.913 ms  2.892 ms  2.870 ms
           3  10.10.48.1 (10.10.48.1)  11.020 ms  11.407 ms  11.788 ms
           4  178-159-48-52.tvhost.ru (178.159.48.52)  2.778 ms  2.755 ms  3.142 ms
           5  tver-ds-cr2.ae1-739.rascom.as20764.net (80.64.102.233)  1.891 ms  1.969 ms  1.948 ms
           6  msk-m9-cr3.ae111-127.rascom.as20764.net (80.64.96.204)  4.337 ms spb-ivc-cr2.ae222-104.rascom.as20764.net (80.64.96.194)  6.908 ms msk-m9-cr2.be111-128.rascom.as20764.net (80.64.96.216)  19.327 ms
           7  * * *
           8  rascom.sto-96cbe-1a.ntwk.msn.net (207.46.219.78)  21.228 ms  19.241 ms  21.012 ms
           9  ae26-0.ear01.sto30.ntwk.msn.net (104.44.43.158)  21.388 ms  21.357 ms  19.453 ms
          10  * be-23-0.ibr02.sto30.ntwk.msn.net (104.44.22.152)  42.149 ms be-22-0.ibr01.sto30.ntwk.msn.net (104.44.22.150)  41.716 ms
          11  be-7-0.ibr02.mma01.ntwk.msn.net (104.44.19.223)  42.515 ms be-7-0.ibr01.mma01.ntwk.msn.net (104.44.18.185)  39.939 ms  39.513 ms
          12  be-10-0.ibr01.ham30.ntwk.msn.net (104.44.29.211)  42.856 ms be-9-0.ibr02.ham30.ntwk.msn.net (104.44.29.209)  40.282 ms  42.402 ms
          13  be-1-0.ibr01.ham30.ntwk.msn.net (104.44.7.119)  154.212 ms  40.214 ms  39.825 ms
          14  be-12-0.ibr05.ams06.ntwk.msn.net (104.44.30.71)  42.185 ms * *
          15  ae142-0.icr04.ams06.ntwk.msn.net (104.44.21.186)  42.798 ms ae192-0.icr07.ams06.ntwk.msn.net (104.44.32.103)  41.381 ms  41.718 ms
          16  * * *
          17  * * *
          18  * * *
          19  * * *
          20  * * *
          21  * * *
          22  * * *
          23  * * *
          24  * * *
          25  * * *
          26  * * *
          27  * * *
          28  * * *
          29  * * *
          30  * * *
          traceroute duckduckgo.com  0,00s user 0,02s system 0% cpu 2:51,91 total
          Ответить
          • показатели примерно такие же как и без, но по time видно что это всё выводилось почти три минуты. По строчке реально. Без впн такого нет. А в маршруте нет никаких впн и прокси, всё штатно. Я чего-то не понимаю, или это говняная реализация протокола? Процессор при запросах не грузит, на чем просадка понять не могу.
            Ответить
        • > Каждая страница грузится 2-3 года

          И большой у тебя размер выборки по этим значениям?
          Ответить
          • Я загрузил четыре страницы и решил написать на форум "говнокод"
            Ответить
            • Грузить начал году в 12, получается?
              Ответить
              • Нет, в 2015. Некоторые страницы грузились параллельно с использованием технологии "многопоточность".
                Ответить
    • AnyConnect PWN позволял хранить секреты, защищенные шифром Виженера.
      Ответить
    • ip xfrm policy покажи
      Ответить
    • /etc/resolv.conf покажи
      Ответить
      • во, в этом кажись и дело. каких-то сраных днсов добавляет.
        Ответить
        • ну то есть ты теперь на каждый сайт сначала шлеш DNS запрос по ВПНу

          А есть же локальный кеширующий DNS на прыщах, почему бы тебе его не поставить?

          dnsmasq, unbound, вот это всё

          systemd-resolved, прости госоподи
          Ответить
          • Добавлять ко всему "d" — это чисто фишка Гарри Поттеринга?
            Ответить
          • Да мне бы достаточно заблеклистить это говно которое он мне вписал туда. Курю ман resolvconf.conf, пока не работает.
            Ответить
            • охблядь
              я про такое и не знад
              resolvconf manages resolv.conf(5) files from multiple sources, such as
              DHCP and VPN clients

              В линуксах как всегда 100500 способов сделать одно и тоже
              Ну юзали бы уже себе NetworkManager свой
              Ответить
              • мне networkManager и срёт туда этими адресами
                запускать випиэн через терминал я не хочу, а гуй видимо не достаточно развитый чтобы дать возможность это подтюнить. Галочки которые по идее должны запретить ему это делать я все проставил. Поэтому пытаюсь поебаться с блэклистом
                Ответить
                • а resolvconf это фреймворк нетворк менеджера?

                  блядь
                  а еще нетплан есть
                  Ответить
                  • Говно какое-то. Вероятно это неиспользуемое старьё. Пытался заблеклистить конкретные адреса, оказалось что нетворкменеджер пишет в резолв.конф мимо этого механизма с resolvconf.conf, поэтому только применять вручную resolvconf -u да и то он хуй пойми откуда собирается, значит надо в нетворк менеджер копать
                    Ответить
                    • покажи `head /etc/resolv.conf`
                      там может быть насрано сверху типа
                      # тут был [имя_тулы]
                      Ответить
                      • Там как раз и написано что генератед бай нетворкманагер

                        разобрался, надо добавить
                        [ipv4]
                        ignore-auto-dns=true

                        в конфиг подключения, и больше гуём это подключение не трогать, иначе распидоарсит.
                        Ответить
                  • ты еще не пытался настроить у себя локально сетку таким образом, чтобы у тебя был локальный днс, но для того, что он не знает, он использовал бы днс из конфигурации dhcp

                    приходится делать ебучую связку из systemd-resolved, dnsmasq и чего-то еще
                    Ответить
                    • а что, поттеринг с его собиранием всех настроек в одном месте и удобной конфигурацией и здесь обосрался?
                      Ответить
                      • У меня в контроллерах нет никакого Поттеринга.
                        Ответить
                      • дык задача пизданутая, я бы ее скриптом решил, ей богу
                        Ответить
                      • это не проблема поттеринга, это проблема что gethostbyname-инфраструктура не умеет в иерархию днс-серверов. тут задача что если тебе один из серваков дал not found - ты идешь в следующий. с точки зрения инфраструктуры not found - это не ошибка, а корректный ответ, после которого не надо спрашивать следующий сервер.
                        Ответить
                        • Клиент не обязан пиродолица, клиент даже в рекурсивные запросы не умеет
                          Это задача DNS сервера
                          Ответить
                          • но в результате я клиент и я пердолюсь с дикими схемами, потому что из всего зоопарка только dnsmasq в такое умеет (нет, может еще bind, но эти два элемента взаимозаменяемы). чтобы словить локальные ресурсы, про которые знает только dns, раздаваемый через dhcp, приходится из dnsmasq прыгать на systemd-resolved.
                            Ответить
                            • Ты не понял мой коммент)

                              Смотри: "gethostbyname-инфраструктура" это клиент DNS.
                              Он всегда общается с сервером так:

                              Q: www.petuh.ru, тип записи A
                              A: 1.2.3.4

                              Всё. Ему совершенно не важно, откуда сервер берет эту информацию. Это может быть авторитетный ответ сервера, ответ из кеша, запрос к апстриму или рекурсивный запрос (когда сервер сначала идет в корневые сервера, затем в зону ru, итд).

                              Клиенту это всё похуй.

                              Так что твою задачу ТОЧНО не должен решать gethostbyname.
                              Её должен решать DNS сервер. Возможно, сконфигурированный твоими скриптами
                              Ответить
      • this
        Ответить
    • mtu понизь
      Ответить
    • по колёсам постучи
      Ответить
    • https://media.geeksforgeeks.org/wp-content/uploads/20190804192023/body-bgcolr.png
      Ответить
    • $num = unlink("/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/adminlog.txt");
      if ($num == 0) {
      print "Removing '/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/adminlog.txt'\n";
      print "$num file(s) removed! $!\n";
      }
      # Delete Destination File: /www/docs/nrd/ucn/cgi-bin/forum/discus_admin/webtags.conf
      undef $!;
      $num = unlink("/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/webtags.conf");
      if ($num == 0) {
      print "Removing '/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/webtags.conf'\n";
      print "$num file(s) removed! $!\n";
      }
      # Delete Destination File: /www/docs/nrd/ucn/cgi-bin/forum/discus_admin/language.conf
      undef $!;
      $num = unlink("/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/language.conf");
      if ($num == 0) {
      print "Removing '/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/language.conf'\n";
      print "$num file(s) removed! $!\n";
      }
      # Delete Destination File: /www/docs/nrd/ucn/cgi-bin/forum/discus_admin/addmessage-public.conf
      undef $!;
      $num = unlink("/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/addmessage-public.conf");
      if ($num == 0) {
      print "Removing '/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/addmessage-public.conf'\n";
      print "$num file(s) removed! $!\n";
      }
      # Delete Destination File: /www/docs/nrd/ucn/cgi-bin/forum/discus_admin/addmessage-private.conf
      undef $!;
      $num = unlink("/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/addmessage-private.conf");
      if ($num == 0) {
      print "Removing '/www/docs/nrd/ucn/cgi-bin/forum/discus_admin/addmessage-private.conf'\n";
      print "$num file(s) removed! $!\n";
      }
      Ответить
      • Perl is one of the great languages, and that's reason enough. The main innovation was the array, hash, regexp system, which provide minimal representations of textual manipulation algorithms. The value of code is brevity, and Perl provides the shortest possible code for this stuff.
        Ответить
      • Унеси это говно нахуй.
        Ответить
    • Comparing Go vs. C in embedded applications
      https://stackoverflow.blog/2022/04/04/comparing-go-vs-c-in-embedded-applications/

      блядь как такие люди вообще существуют?
      Ответить
    • Просто напомню, что хуйло предельно ясно отпозиционировался еще 8.1 лет на зад.

      https://www.youtube.com/watch?v=PoQXvPsBBn8
      Ответить
    • Попробуйте перезагрузить компьютер.
      Ответить
    • > протоколоа CISCO AnyConnect VPN

      Ой. Так нужно начинать с того что это циска — говнище ебанейшее.
      Там по протоколу на машину с сервака скачивается троянский бинарь, который "сканит" тачку, и делает любые действия.
      И емнип, клиент ещё нужно под рутом запускать. Соответственно анальный тюбик тоже будет иметь рутовые права.

      The CSD ('Cisco Secure Desktop') mechanism is a security scanner for the Cisco AnyConnect VPNs, in the same vein as Juniper's Host Checker (tncc.jar) and GlobalProtect's HIP.
      Background

      The 'Cisco Secure Desktop' is a bit of a misnomer — it works by downloading a trojan binary from the server and running it on your client machine to perform some kind of 'verification' and post its approval back to the server. This seems anything but secure to me, especially given their history of trivially-exploitable bugs.

      It's also fairly easy to subvert, by running your own modified binary instead of the one you download from the server. Or by running their binary but poking at it with gdb.

      We support this idiocy, but because of the security concerns the trojan will be executed only if a userid is specified on the command line using the --csd-user= option, or the --csd-wrapper= option is used to handle the script in a 'safe' manner.

      This support currently only works when the server has a Linux binary installed, and only when that Linux binary runs on the client machine.
      Ответить
    • В рашке прохудилось. Снова.

      https://cybernews.com/cyber-war/anonymous-leaked-700-gb-of-russian-government-data/
      Ответить
    • Украинец Виталий Семенец смог отследить перемещение подразделений российского войска через свои AirPods, которые украл у него дома российский оккупант. Об этом он 15 апреля рассказал в Instagram, также подробности опубликовало издание The Times.

      Российский солдат, занимаясь мародерством в доме Семенца, украл его беспроводные наушники AirPods, когда оккупационные подразделения РФ были в Гостомеле Киевской области. Они отступили, но благодаря технологии на устройствах Apple украинец может отслеживать, где находятся его наушники.

      Технология Find My на устройствах Apple позволяет найти на карте местоположение потерянного устройства, если оно находится вблизи смартфонов с Bluetooth или подключено к Wi-Fi.

      Когда в этом месяце российские войска отступили из Киева, Семенец отследил устройства, когда они пересекали границу с Беларусью и в конечном итоге оказались возле города Гомеля.

      В дальнейшем украинец проследил, что 9 апреля в 22.10 (по киевскому времени) наушники были в селе Кукуевское Белгородской области России.
      Ответить

    Добавить комментарий