• Заводим GNU/Linux на ARM-плате с нуля (на примере Kali и iMX.6)

    • Tutorial
    tl;dr: собираю образ Kali Linux для ARM-компьютера, в программе debootstrap, linux и u-boot.



    Если вы покупали какой-нибудь не очень популярный одноплатник, то могли столкнуться с отсутствием для него образа любимого дистрибутива. Приблизительно то же самое случилось с планируемым Flipper One. Kali Linux под IMX6 просто нету (я готовлю), поэтому собирать приходится самостоятельно.
    Читать дальше →
  • Возможности для массового деанона в Telegram



      tl;dr: исследую возможности для сопоставления аккаунтов с номерами телефонов в российском сегменте Телеграма.

      В мире много людей, которые хотят получить возможность сдеанонить произвольного пользователя. Это могут быть капиталисты не гнушающиеся спама, спецслужбы, мошенники и просто сталкеры. Социальные сервисы пытаются лавировать между желанием привлечь как можно большую аудиторию через импорт контактов и лимитами на доступ к подобной информации. Лавируют по-разному, одни позиционируют себя максимально социальными, другие же больше ценят прайваси. Вторые становятся объектами нападок со стороны сторонников максимальной приватности.

      По умолчанию в Telegram, как и в менее приватных мессенджерах, можно добыть аккаунт пользователя, зная его номер. При этом, владелец номера может ограничить эту возможность только для взаимных контактов, для этого есть специальная опция. По умолчанию она выключена, а значит у нас есть полный Telegram беспечных и сознательно публичных ребят. Функция появилась, кажется, из-за слива базы пользователей. Я решил разобраться, во сколько обойдётся создание аналогичной базы, и смогу ли я создать такую.

      Я ограничил интересы только российскими пользователями. База номерных диапазонов, как оказалось, публикуется Россвязью, что дополнительно упростило мне задачу, избавив от необходимости скрейпить сайты с подобной информацией. Всего операторам на седьмое сентября раздали почти шестьсот миллионов номеров, а точнее, ровно 598035003.
      Читать дальше →
    • Упаковка приложения в F-Droid



        tl;dr: упаковываю и отправляю приложение без троянов для управления своими лампами в F-Droid без каких-либо знаний в разработке для Android.

        У меня есть политическая позиция, я сторонник СПО во многом согласен со Столлманом. Как это часто бывает, такая позиция дополняется лёгкой паранойей. Я стараюсь избавляться от проприетарных приложений, особенно, если они работают через сторонние сервера.

        А ещё у меня есть «умные» лампы Xiaomi Yeelight, которые контролируются приложением, работающим через сервера Xiaomi. Но в нём есть возможность включить в лампе API, работающее внутри локалки. Чтобы чувствовать себя спокойней, я пошёл искать приложение в Github и Gitlab и теперь намереваюсь продвинуть его в F-Droid, чтобы поддержать наше параноидальное сообщество.
        Читать дальше →
        • +44
        • 4,5k
        • 4
      • Ядерный шелл поверх ICMP



          TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

          Осторожно! Опытные программисты на C рискуют разрыдаться кровавыми слезами! Я могу ошибаться даже в терминологии, но любая критика приветствуется. Пост рассчитан на тех, кто имеет самое приблизительное представление о программировании на C и хочет заглянуть во внутренности Linux.

          В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.
          Читать дальше →
        • VPN в домашнюю локалку



            TL;DR: я устанавливаю Wireguard на VPS, подключаюсь к нему с домашнего роутера на OpenWRT, и получаю доступ к домашней подсети с телефона.

            Если вы держите на домашнем сервере личную инфраструктуру или у вас дома множество девайсов управляемых по IP, то вы наверняка хотите иметь к ним доступ с работы, из автобуса, поезда и метрo. Чаще всего для аналогичных задач приобретается IP у провайдера, после чего порты каждого сервиса пробрасываются наружу.

            Вместо этого я настроил VPN с доступом в домашнюю локалку. Плюсы такого решения:

            • Прозрачность: чувствую себя как дома при любых обстоятельствах.
            • Простота: настроил и забыл, не надо думать о пробросе каждого порта.
            • Цена: у меня уже есть VPS, для таких задач современный VPN почти бесплатен по ресурсам.
            • Безопасность: ничего не торчит наружу, можно оставить MongoDB без пароля и никто не утащит данные.

            Как всегда, есть и минусы. Во-первых, вам придётся настраивать каждый клиент по отдельности, в том числе, на стороне сервера. Может быть неудобно при наличии большого числа устройств, с которых хочется иметь доступ к сервисам. Во-вторых, у вас на работе может оказаться совпадающая по диапазону локалка — придётся разрешать эту проблему.
            Читать дальше →