Сисадмин В Kernel Panic
31 subscribers
229 photos
25 videos
1 file
106 links
Небольшой канал, злого сисадмина. Личные заметки и решения, мемы, интересные утилиты.
Download Telegram
Nerva - утилита на Go для точного определения сервиса за открытым портом. Не "порт 22", а конкретно: SSH, Redis, Kafka, Kubernetes API и т.д.

Работает за счёт анализа ответов сервиса, баннеров и поведения протокола. На выходе даёт метаданные: тип сервиса, транспорт (TCP/UDP/SCTP), иногда версию и дополнительные детали.
Поддерживает 120+ протоколов: от базовых (HTTP, FTP, PostgreSQL) до телеком и industrial (Diameter, GTP, Modbus, BACnet).

Установка:
go install github.com/praetorian-inc/nerva/cmd/nerva@latest


Примеры:
Определить сервис:
nerva -t example.com:22


JSON-вывод:
nerva -t example.com:22 --json


Связка со сканером:
naabu -host example.com -silent | nerva

Сценарий: сканер находит открытые порты, Nerva определяет, какие сервисы за ними стоят.
Как рекламные SDK сливают всю твою жизнь. Давно хотел собрать этот параноидальный пост 🏥

На скрине обыденность 2026 года, там мы видим интерфейс kepler.gl (мощной опенсорсной тулзы от Uber для гео-анализа). А оранжевые точки, густо засирающие карту Дефолт-сити - это люди. Точнее, логи смартфонов.

Обратите внимание на всплывающую плашку на скрине. Это чистейший дамп от брокеров данных:
🟢 utc_timestamp - точное время вплоть до миллисекунд.
🟢 id_type: aaid - Android Advertising ID. Твой уникальный рекламный идентификатор, который Гугл так заботливо присваивает каждому устройству.
🟢 horizontal_accuracy: 11 - точность до 11 метров.
🟢 ip_address - тут очевидно.

Как эти данные попадают на рынок? Юзверь покупает обычный, нерутованный телефон на стоковом Android или iOS. Ставит бесплатный 😬 фонарик, приложение доставки еды, игры для высокого интеллекта или виджет погоды.

Что характерно, разрабам этих приложух даже не нужно уметь стягивать данные. Они просто вшивают в код сторонние проприетарные модули... типа рекламные SDK (от Яндекса, Гугла, ФБ, Unity и тысяч ноунейм-контор). Эти SDK работают в фоне, запрашивают доступ к геопозиции (ты же сам нажал Разрешить 💩) и нон-стопом шлют координаты на свои сервера, привязывая их к тебе.

Брокеры данных скупают эти логи, склеивают их в датасеты и перепродают кому угодно... маркетологам, аналитикам, а на даркнете - хацкерам и не только. По этим точкам вычисляется, где ты спишь (кластер точек с 23:00 до 07:00), где работаешь и к кому ездишь по пятницам 😗

Если ты ходишь со стоковым, нерутованным девайсом, забитым проприетарным мусором, то фактически ты добровольный участник шоу Трумана.

Про Пуш-уведомления ⌨️... они в Android (и iOS тоже) не работают так, что приложение само сидит и слушает сеть. Вся архитектура завязана на Firebase Cloud Messaging - гугловский прокси. Когда телефон держит один-единственный, вечно открытый TCP-сокет до серверов Гугла. И через него корпорация знает твой реальный IP-адрес 24/7.

Но самый сок - это тихие или data-уведомления. Разраб (доставки пиццы, игра, погода) хочет узнать твои координаты, но приложение висит в фоне или выгружено из памяти. Сервер разраба шлет специальный невидимый пуш в Гугл. Гугл прокидывает его на твой девайс. Система ВНЕЗАПНО будит приложение в фоне, давая ему пару секунд процессорного времени. Приложение дергает GPS-координаты, отправляет пакет данных на трекер-сервер и снова засыпает. На экране смартфона при этом не появляется ВООБЩЕ НИЧЕГО.

Личное спасение не запрещено:
🔴 Перекат на AOSP-прошивки (GrapheneOS, LineageOS) без GApps. Взамен ставится MicroG - опенсорсный аналог сервисов Гугла. Он умеет принимать пуши, но ты можешь жестко отрезать модулям доступ к геолокации и на лету подменять идентификаторы.
🔴 Рут-права это база. Без рута ты не хозяин своего железа. Только с ним можно поставить нормальный фаервол на базе iptables и жестко отрезать лишние доступы.
🔴 Если рут получить нельзя, то частично могут спасти например NetGuard, TrackerControl, etc. Они поднимают локальный loopback-VPN на самом телефоне и режут коннекты к трекерам и аналитике на уровне доменов.
🔴 Если нужны Банки, Яндекс.Еда или Самокаты, то разумно юзать Shelter или Insular. Эти опенсорсные утилиты юзают встроенный в Android рабочий профиль. Ты ставишь весь проприетарный мусор туда, а когда еда приехала, то просто нажимаешь одну кнопку (или автозаморозка), и весь рабочий профиль замораживается. Приложения физически не могут работать в фоне и тянуть GPS.
🔴 DNS-контроль и никаких гугловских 8.8.8.8. Только NextDNS, AdGuard DNS или собственный Pi-hole завернутый через тоннель до дома. В них должны быть включены жесткие личные блеклисты против телеметрии и трекеров.
🔴 Базовый гигиенический минимум для домохозяек - сброс AAID.
🔴 Для хардкорщиков есть модули типа AppOps или XPrivacyLua. Они скармливают приложениям фейковые GPS-координаты и пустые MAC-адреса. Пусть брокеры анализируют твое перемещение по дну Марианской впадины 😂

Если тебе лень всё это настраивать - улыбайся, ты прямо сейчас светишься оранжевой точкой на чьем-то дашборде 😬

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Nerdlog - быстрый TUI-просмотрщик логов, рассчитанный на работу с несколькими хостами. Вдохновлён Graylog и Kibana, но без избыточных функций. Требует минимальной настройки.

Оптимизирован для одновременного сбора логов с нескольких удалённых машин, их фильтрации по времени и шаблонам, а также построения интерактивной временной гистограммы для быстрого анализа.

Основное применение - просмотр системных логов (/var/log/messages, /var/log/syslog или через journalctl) с одного или нескольких хостов. Эффективно работает даже с большими файлами, включая объёмы от 1 ГБ.

Поддерживает и другие форматы логов, но изначально внедрялся для конкретной задачи: бэкенд веб-сервиса работал как systemd-службы на множестве Linux-хостов, генерируя большой поток логов.

Github
А у вас все списки белые!

Типичный 🙂 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Во FreeBSD закрыта критическая уязвимость CVE-2026-4747 в ядре (модуль kgssapi.ko).

Через специально сформированные NFS-пакеты возможен RCE на уровне kernel. Эксплойт уже в открытом доступе и запускает /bin/sh от root. Уязвимость нашёл сотрудник Anthropic с помощью Claude, а исследователи из Calif потом скормили модели только официальный отчёт, и за 4 часа ИИ самостоятельно написал полностью рабочий эксплоит.

Продолжая эксперимент, та же модель нашла две новые 0-day в редакторах.
Vim (CVE-2026-34714): ошибка в обработке modeline (включён по умолчанию). Опция tabpanel не имела флага P_MLE, что позволяло обойти sandbox через autocmd_add() и событие SafeStateAgain. Исправлено в Vim 9.2.0272.
Пример эксплойт-строки:
/* vim: set showtabpanel=2 tabpanel=%{%autocmd_add([{'event'\:'SafeStateAgain','pattern'\:'*','cmd'\:'!id>/tmp/calif-vim-rce-poc','once'\:1}])%}: */

Emacs: при открытии файла рядом с .git/ автоматически запускаются git ls-files и git status. Если в .git/config задать core.fsmonitor на команду атакующего RCE. Разработчики Emacs отказались фиксить, заявив, что это проблема Git.
This message is not supported in your version of Telegram. Please install censorship.patch
Arch:
$ pacman -Syu censorship.patch

Debian/Ubuntu:
$ apt update && apt install censorship.patch

RHEL/Fedora:
$ dnf install censorship.patch

NixOS:
$ nix-env -iA nixpkgs.censorship.patch
💊 Столлман был прав.

Вся эта возня с легальным шпионажем банков и маркетплейсов за твоим VPN вскрывает глубокий экзистенциальный факап. Давайте смотреть правде в глаза... ты отвалил ~100к деревянных за кусок стекла и кремния, но по факту ты на нем даже не root. Твой девайс тебе не принадлежит. Это просто арендованный корпоративный зонд, где проприетарная ОС разрешает любой коммерческой приложухе парсить твои системные API, читать состояние сетевых интерфейсов и сливать телеметрию на сторону. В этой архитектуре пользователь - просто бесправная кормовая база для любой бигдаты 👦

Мы окончательно оказались внутри матрицы, где закрытый проприетарный код решает, можно ли тебе зайти в интернет или пора сдать твой IP. Истинный контроль возвращается только через разлоченный бутлоадер, кастомные прошивки, выпиленные Гугло-сервисы и тотальный FOSS на всех уровнях, а если совсем невмоготу - песочницы.

Красная или синяя таблетка? 👾

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
This media is not supported in your browser
VIEW IN TELEGRAM
О, Священный Омниссия,
Освяти эти стойки и сети,
Да очистится код от скверны ошибок,
Да будет сигнал чист, и пинг стабилен.

Я изгоняю ересь packet loss и кривых маршрутов,
Да будет BGP стабилен, а keepalive несломлен,
Да не коснётся машина демона бага,
И ни один пакет не уйдёт во тьму.

Благослови этот механизм,
Ибо в нём искра Твоей воли,
Благослови диски и RAID,
Да не падут ноды и не придёт kernel panic.

Отвергаю нестабильные конфиги и падения ядра,
Пусть системы поднимутся без сбоя,
И службы служат во имя Твоё,
Мониторинг да не ослепнет, алерты да не умолкнут.

Сервис поднят.
Логи чисты.
Аптайм вечен.

Во имя машины.
Во имя сети.
Во имя Омниссии.
🔥2
Witr показывает, откуда берётся процесс и зачем запущен, связывая его с источником и контекстом. Это упрощает диагностику, устраняя необходимость ручного поиска через утилиты.

Возможности:
- Показывает причину появления процесса.
- Работает с именем процесса, PID и портами.
- Выдаёт структурированный вывод.
- Не требует настройки и безопасен.

GitHub
Процессная подстановка: вывод команд как файлы

Bash использует процессную подставку для работы с выводом команд как с файлами без создания временных файлов. Это полезно для diff, paste, comm.

Сравнение директорий:
diff <(ls dir1) <(ls dir2)


Объединение столбцов:
paste <(ps -e -o pid) <(ps -e -o comm)


Сравнение обработанных дампов:
diff <(grep \"error\" log1.txt | sort) <(grep \"error\" log2.txt | sort)


Обратная подстановка >(...) для передачи вывода:
echo \"лог\" > >(grep \"ошибка\" >> errors.log)


Механизм работает в bash, zsh, экономя место и время.
😂 Разраб Nekogram признался во встроенном бэкдоре и послал юзеров нахер.

Наливайте себе чаю с попкорном 😬. Драма вокруг альтернативных клиентов ТГ пробила очередное дно... если кто юзал Nekogram ради анимешных иконок, кастомных папок и отсутствия рекламы, у меня для тебя плохие новости.

Реверс-инженеры расковыряли скомпилированный апкашник Nekogram и обнаружили там прекрасное... в обфусцированном коде (в файле Extra.java) нашлась потрясающая функция logPhoneNumbers().

При каждом логине скрипт циклом пробегается по всем твоим подключенным аккаунтам (до 8 штук), выдергивает currentUser.id и currentUser.phone, пакует их в массив и скрытно отправляет инлайн-запрос боту nekonotificationbot. Всё происходит абсолютно прозрачно для юзера, никаких следов в истории чатов. Твой номер улетает куда-то и зачем-то.

Реверсеры оперативно набросали PoC в виде модуля для LSPosed. Модуль тупо перехватывал обращения к боту внутри клиента и перенаправлял их на подконтрольный стенд. Результат в терминале (смотри первый скрин) говорит сам за себя... клиент исправно стучит на базу, отправляя ID и номер телефона при каждом входе в аккаунт.

Далее происходит эпичный копиум от разрабов... когда им принесли декомпилированные исходники и и задали вопросы (Issue #336), они просто... закрыли обсуждение 😂. А затем в чатике случился примерный диалог:
Правда ли это?

Да, номера отправлялись боту. Некоторые просят объяснений, но какие вам нужны объяснения? Всё именно так, как выглядит. 🤷‍♂️

...ни один номер нигде не был сохранен и никому не передавался, хотя людям в это трудно поверить.


Охотно верим 🙂

Эта история как наглядное пособие того, почему опенсорс вообще ни хрена не гарантирует, если ты качаешь бинарник из стора. В репозитории Nekogram файл Extra.java был чистым шаблоном, а вот при сборке релиза руками разраба туда аккуратно подкидывался вредоносный код.

Лучше конечно компилить исходники у себя на локалхосте и побайтово сверить хэш с тем приложением, что собрал разраб ⌨️... но сколько людей так делают 👎

Кстати, яблочникам тоже не стоит расслабляться... популярный iOS-форк Swiftgram занимается тем же самым, только через WebApp и скрытого бота, связывая все ваши твинки в единую базу.

Типичный 🥸 Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM