Forwarded from Типичный Сисадмин
Случилось прекрасное. Главная цифровая помойка планеты, форум BreachForums, где обычно торгуют нашими с вами базами данных, сама оказалась в роли потерпевшей. В паблик выложили свежий дамп, содержащий данные 325 000 пользователей этой площадки. В утечке полный набор для деанонимизации... никнеймы, email-адреса, хеши паролей (тут хотя бы Argon2, а не MD5
Особого внимания заслуживает причина провала. Текущий администратор форума (под ником N/A) выступил с объяснением, за которое в приличной компании увольняют одним днём. Оказывается, дамп утек еще в августе 2025 года во время миграции движка. Админы просто временно оставили таблицу пользователей в незащищенной папке на веб-сервере.
Слив оформил персонаж под ником James, выложив манифест и базу на домене ShinyHunters. Для сообщества безопасников это настоящий подарок... перекрестный анализ этих данных позволит связать виртуальные ники с реальными людьми, которые годами портили жизнь. Получается, если даже параноики с даркнет-форумов не могут нормально настроить права доступа при бэкапе, то безопасность это действительно миф
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
😁4
Как выяснить, какие файлы недавно изменялись в системе?
Периодически возникает задача понять, что именно было затронуто - после апдейта, крэша или подозрительных действий.
Показать все файлы, которые были изменены или созданы за последние 10 минут:
Проверить, что трогали в каталоге конфигураций за последние сутки:
Определить, какие исполняемые файлы обновлялись недавно:
Флаг /111 означает поиск файлов, у которых выставлен хотя бы один бит исполнения.
Посмотреть, какие конфигурационные файлы редактировались последними с точным временем:
Для локального разбора файловых логов:
Метод применим только к файловым логам - журналы journald сюда не входят.
Для анализа системного журнала:
Полезно при разборе последствий обновлений, вторжений или ручной диагностики системных сервисов.
#learn
Периодически возникает задача понять, что именно было затронуто - после апдейта, крэша или подозрительных действий.
Показать все файлы, которые были изменены или созданы за последние 10 минут:
find /data -xdev \( -path /kernel -o -path /hardware -o -path /runtime -o -path /devices \) -prune -o \
-type f -mmin -10 -print 2>/dev/null
Проверить, что трогали в каталоге конфигураций за последние сутки:
find /config -type f -mtime -1
Определить, какие исполняемые файлы обновлялись недавно:
find /apps -type f -perm /111 -mtime -1
Флаг /111 означает поиск файлов, у которых выставлен хотя бы один бит исполнения.
Посмотреть, какие конфигурационные файлы редактировались последними с точным временем:
find /config -type f -printf '%T@ %p\n' 2>/dev/null | sort -nr | head
Для локального разбора файловых логов:
ls -lt /logs | head
Метод применим только к файловым логам - журналы journald сюда не входят.
Для анализа системного журнала:
journalctl --since "10 min ago"
Полезно при разборе последствий обновлений, вторжений или ручной диагностики системных сервисов.
#learn
👍2
Forwarded from Типичный Сисадмин
This media is not supported in your browser
VIEW IN TELEGRAM
В далеком 1974 году один энтузиаст купил себе легендарный Altair 8800 (на базе Intel 8080) в виде набора сделай сам. Отдал он за это удовольствие $439, что по тем временам было серьезной суммой. Но, как это часто бывает, мануал оказался сложным, а паяльник слишком горячим. Владелец допустил ошибки при сборке, ПК не запустился, и он отложил его до выходных
Выходные, как водится, немного затянулись... на 52 года. И вот, в 2026 году, баг наконец-то фиксанули. Заменили высохший блок питания, нашли те самые косяки в пайке полувековой давности, и оно ожило. Далее только хардкор... ввод команд щелканьем тумблеров на передней панели и вывод информации через мигающие красные светодиоды.
Чтобы отпраздновать закрытие тикета, на нем сыграли в игру (Kill the Bit), написанную в 1975г. Геймплей - чистый киберспорт 70х, тут только ты, тумблер и тайминг, чтобы физически потушить бегущий по регистрам бит
Уровень прокрастинации, к которому я стремлюсь.
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
😱3
Forwarded from Типичный Сисадмин
Тут cлучилась классическая драма на стыке гигантов и вендоров. Cloudflare, особо никого не предупреждая, решил сменить удостоверяющий центр для своих DoH-эндпоинтов (
1.1.1.1). Они переехали с DigiCert на SSL.comКазалось бы, рутина, но есть нюанс. Выяснилось, что в дефолтном хранилище корневых сертификатов MikroTik RouterOS (начиная с версий 7.19 и выше) доверия к
SSL.com нет. Вообще. Как результат, у тысяч людей по всему миру DoH-соединения отвалились с ошибкой SSL: no trusted CA certificate found Теперь, чтобы оживить DoH на Микротах, нужно вручную скормить ему корневой сертификат.
Временно отключаем проверку серта и ставим резерв:
ip dns set verify-doh-cert=no servers=1.1.1.1
Тянем сертификат с сайта
SSL.com:/tool fetch url="https://ssl.com/repo/certs/SSLcomRootCertificationAuthorityECC.pem"
/certificate import file-name=SSLcomRootCertificationAuthorityECC.pem
Возвращаем всё как было, но уже с рабочим трастом:
ip dns set verify-doh-cert=yes servers=""
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Как диагностировать процесс, который занимает слишком много ресурсов ЦП, памяти или I/O в Linux
Если сервер начинает тормозить, а причина неочевидна, на помощь приходят стандартные инструменты диагностики.
vmstat
Показывает общую картину состояния системы:
- количество процессов
- использование памяти
- swap
- загрузку CPU
Подходит для быстрого понимания, в каком месте возникает проблема.
iostat
Инструмент для анализа дисковой подсистемы:
- загрузка CPU
- задержки
- операции чтения и записи по устройствам
Полезен при подозрениях на проблемы с дисками или I/O.
netstat
Статистика сетевого стека:
- TCP / UDP / IP / ICMP
- активные соединения
- состояние портов
Помогает выявить сетевые узкие места.
lsof
Список открытых файлов в системе:
- файлы
- сокеты
- устройства
Незаменим, если процесс удерживает ресурс или файл.
pidstat
Детальная статистика по процессам:
- использование CPU
- память
- I/O
- контекстные переключения
Идеален для анализа конкретного процесса по PID.
#learn
Если сервер начинает тормозить, а причина неочевидна, на помощь приходят стандартные инструменты диагностики.
vmstat
Показывает общую картину состояния системы:
- количество процессов
- использование памяти
- swap
- загрузку CPU
Подходит для быстрого понимания, в каком месте возникает проблема.
iostat
Инструмент для анализа дисковой подсистемы:
- загрузка CPU
- задержки
- операции чтения и записи по устройствам
Полезен при подозрениях на проблемы с дисками или I/O.
netstat
Статистика сетевого стека:
- TCP / UDP / IP / ICMP
- активные соединения
- состояние портов
Помогает выявить сетевые узкие места.
lsof
Список открытых файлов в системе:
- файлы
- сокеты
- устройства
Незаменим, если процесс удерживает ресурс или файл.
pidstat
Детальная статистика по процессам:
- использование CPU
- память
- I/O
- контекстные переключения
Идеален для анализа конкретного процесса по PID.
#learn
Forwarded from Типичный Сисадмин
Казалось бы, в 2026 году порт 23 должен быть закрыт не просто фаерволом, а залит бетоном. Но если в вашей инфре (или на старых железках) крутится GNU InetUtils telnetd, у меня для вас плохие новости.
В демоне нашли критическую уязвимость (CVSS 9.8), которая позволяет получить root-доступ, просто грамотно попросив. Дыра жила в коде 11 лет (с 2015 года), и никто её не замечал.
Демон
telnetd принимает от клиента переменную окружения USER и, не особо задумываясь, передает её как аргумент утилите /bin/login. А что будет, если хацкер передаст значение -f root? Системный компонент видит флаг принудительного входа, который исторически использовался для доверенных сессий, и решает, что этот пользователь уже аутентифицирован и впускает под рутом ИБшные компании уже фиксируют, что с IP-адресов Китая, США и Нидерландов начали активно сканить интернет в поисках мамонтов с открытым телнетом.
Если вы используете Telnet в 2026 году... то, во-первых, зачем?
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
lnav - инструмент для просмотра логов.
Что умеет:
Слияние всех логов в один поток
Не нужно прыгать между файлами и сверять таймстемпы. Запустил lnav ./ и все логи из текущей директории сразу перед тобой, аккуратно отсортированные по времени.
Чтение сжатых логов
gzip и другие форматы lnav читает без проблем. Очень удобно, когда старые логи лежат в архиве.
Поиск ошибок и быстрый переход между ними
lnav сам распознаёт ошибки (!) и позволяет перемещаться между ними одной кнопкой
Фильтрация логов, включая RegExp
Хочешь видеть только 4xx ошибки nginx?
filter-in "4\d\d"
Если нужен ещё фильтр , просто добавляешь такой же. Удалить или временно выключить фильтр? Нажал TAB - и управляешь ими прямо в интерфейсе.
Автоматическая раскраска логов
Вместо однотонного текста - разные части строк и символы подсвечены, чтобы быстро отделять важное от мусора. Аналог эффекта "Матрицы", но для логов.
#utility
Что умеет:
Слияние всех логов в один поток
Не нужно прыгать между файлами и сверять таймстемпы. Запустил lnav ./ и все логи из текущей директории сразу перед тобой, аккуратно отсортированные по времени.
Чтение сжатых логов
gzip и другие форматы lnav читает без проблем. Очень удобно, когда старые логи лежат в архиве.
Поиск ошибок и быстрый переход между ними
lnav сам распознаёт ошибки (!) и позволяет перемещаться между ними одной кнопкой
e. Нажал и сразу на следующей ошибке.Фильтрация логов, включая RegExp
Хочешь видеть только 4xx ошибки nginx?
filter-in "4\d\d"
Если нужен ещё фильтр , просто добавляешь такой же. Удалить или временно выключить фильтр? Нажал TAB - и управляешь ими прямо в интерфейсе.
Автоматическая раскраска логов
Вместо однотонного текста - разные части строк и символы подсвечены, чтобы быстро отделять важное от мусора. Аналог эффекта "Матрицы", но для логов.
#utility
Forwarded from Типичный Сисадмин
Иногда я чувствую себя не сисадмином, а кем-то, кто проводит социальный эксперимент. Я намеренно урезаю пул DHCP до 4 адресов, запускаю в сеть 30 голодных хостов и наливаю себе кофе.
Я наблюдаю за моделью крушения цивилизации. Сначала идёт фаза паники, хосты начинают кричать широковещательным штормом. Это крик новорожденных в мире, где ресурсов на всех не хватит. Выживает не самый умный и не самый мощный. Выживает тот, у кого быстрее сетевой стек, кто агрессивнее спамит запросами
Четверо счастливчиков получают заветный IP. Теперь они новая элита, они мой сетевой золотой миллиард
Остальные 26 маргиналов сваливаются в цифровое гетто
169.254.x.x. Они получают бесполезные APIPA-адреса. Они вроде бы существуют, лампочки мигают, но они отрезаны от большого мира. Они могут общаться только друг с другом в своей локальной безысходности, не имея возможности выйти за пределы своего болота Но самое забавное в этой трагедии то, о чем не знают ни те, ни другие. В моей сети есть
Мои нужные домашние устройства, которым я прописал IP вручную. Они не участвуют в этой крысиной беготне. Им плевать на суету с DHCP, они не участвуют в крысиных бегах за ресурс и с презрением наблюдают за возней динамических плебеев. Они выше правил, потому что их право на существование прописано в конфиге - в самой структуре мироздания сети.
Они просто молча наблюдают с высоты своих статичных IP, как динамическая биомасса внизу рвет друг другу глотки за право получить доступ к шлюзу на следующие 60 минут.
... но перед лицом обесточивания все пакеты равны. И тьма примет их всех.
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Типичный Сисадмин
Media is too big
VIEW IN TELEGRAM
На FOSDEM 2026 разработчики NetBSD
Инженеры пошли путем радикального минимализма. Они выкинули всю шелуху вроде GRUB и BIOS, заставив гипервизор грузить ядро напрямую, без лишних прелюдий и инициализации виртуального железа. Но этого показалось мало. Оказалось, что даже эмуляция обычного Serial-порта слишком медленная, потому что печать каждого символа вызывает VM Exit. Поэтому они выпилили эмуляцию серийника и внедрили нативный драйвер viocon (VirtIO Console). Теперь консоль работает напрямую через память, не дергая гипервизор по пустякам
Второй уровень оптимизации... отказ от сканирования шины PCI. Вместо того чтобы ядро при загрузке опрашивало устройства, они передают адреса VirtIO-устройств (диск, сеть, консоль) жестко через MMIO прямо в командной строке ядра. Драйверам не нужно ничего искать, они сразу знают адреса в памяти. А чтобы не ждать инициализации сети и DHCP (это же целые секунды!), они использовали механизм QEMU fw_cfg. Это интерфейс, который обычно используется для передачи конфигов в BIOS, но здесь через него пробрасывают файлы и скрипты прямо в память гостя. В демо они показали, как с хоста через обычный сокет отправляют команды внутрь микро-VM, и она отвечает мгновенно, работая по сути как обычный процесс, но с полной изоляцией ядра.
Еще они запилили сборку этих микро-образов через обычный Dockerfile. Вы пишете FROM base, добавляете пакеты через pkgin, и на выходе получаете загрузочный образ, который стартует за 10 мс. Глядя на это, хочется стереть все эти тяжелые кубернетесы и вернуться к инженерным истокам... без лишних слоев абстракции, на чистом ассемблере и Си
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Шпаргалка по горячим клавишам в терминале.
Может кому-то полезно будет. Хотя многие и меняют дефолтные хоткеи.
#learn
Ctrl + A - переход в начало строкиCtrl + E - переход в конец строкиCtrl + U - удаление от курсора до начала строкиCtrl + K - удаление от курсора до конца строкиCtrl + W - удаление слова перед курсоромCtrl + L - очистка экрана терминалаCtrl + C - принудительная остановка текущего процесса или командыCtrl + D - завершение сессии ввода, выход из оболочкиCtrl + Z - приостановка текущего процесса с возможностью дальнейшего продолженияCtrl + R - поиск по истории выполненных командСтрелка вверх - переход к предыдущей команде из историиСтрелка вниз - переход к следующей команде из истории!! - повтор последней выполненной команды!n - повтор команды с номером n из историиTab - автодополнение команд, файлов и каталоговCtrl + Shift + C - копирование выделенного текстаCtrl + Shift + V - вставка текста из буфера обменаCtrl + Shift + N - открытие нового окна терминалаCtrl + Shift + T - открытие новой вкладки в терминалеCtrl + Tab - переключение между вкладками терминалаМожет кому-то полезно будет. Хотя многие и меняют дефолтные хоткеи.
#learn
Forwarded from Типичный Сисадмин
Разраб Notepad++ официально подтвердил что инфраструктура обновлений многим любимого редактора была захвачена китайскими государственными хакерами
Инцидент длился с июня по декабрь 2025 года. Полгода сервер обновлений находился под контролем хацкеров, которые использовали его для точечных атак.
Атакующие ломанули хостинг проекта и перехватили управление механизмом апдейтов. Поскольку старый модуль обновления WinGUp проверял целостность файлов, мягко говоря, творчески (и использовал самоподписанные сертификаты), хакерам удавалось подсовывать определенным пользователям модифицированные бинарники вместо легального патча. И уже есть инфа, что есть организации, где именно процесс
notepad++.exe стал точкой входа для дальнейшего ручного взлома сети З.Ы. Если у вас версии ниже 8.8.9, то обновляйтесь вручную. В версии 8.8.9 наконец-то прикрутили жесткую проверку подписей. А если вы когда-то ставили корневой самоподписанный сертификат Notepad++, то удалите его из хранилища доверенных.
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Как запустить процесс в Linux с подменой библиотеки без root (через namespace)
Иногда нужно проверить поведение программы или вмешаться в её работу, не меняя систему и без прав root. Типичные задачи - перехват вызовов open(), подмена getenv(), тестирование своей версии библиотеки.
Обычно для этого используют LD_PRELOAD, но это костыль с кучей ограничений. Более аккуратный вариант - mount namespace и unshare.
Суть подхода простая:
- создаём отдельный mount namespace
- подменяем каталог с библиотеками только внутри него
- запускаем процесс, который ничего не подозревает
Пример:
Что здесь происходит:
- unshare -m создаёт отдельный mount namespace
- mount --bind подменяет /lib только внутри этого namespace
- LD_LIBRARY_PATH указывает загрузчику брать библиотеки из подменённого каталога
- остальная система при этом не затрагивается
В результате процесс думает, что работает с обычными библиотеками, но фактически использует вашу кастомную реализацию. Можно подменять libc, libssl и любые другие зависимости без root и без изменения системных файлов.
Полезно для отладки, реверса, тестов и экспериментов, где LD_PRELOAD уже не справляется.
#learn
Иногда нужно проверить поведение программы или вмешаться в её работу, не меняя систему и без прав root. Типичные задачи - перехват вызовов open(), подмена getenv(), тестирование своей версии библиотеки.
Обычно для этого используют LD_PRELOAD, но это костыль с кучей ограничений. Более аккуратный вариант - mount namespace и unshare.
Суть подхода простая:
- создаём отдельный mount namespace
- подменяем каталог с библиотеками только внутри него
- запускаем процесс, который ничего не подозревает
Пример:
# Подмена библиотеки без root с помощью mount namespace
mkdir -p /tmp/nsroot/lib
# Кладём свою библиотеку
cp ./hook_lib.so /tmp/nsroot/lib/
# Запускаем процесс в новом namespace с подменённым LD_LIBRARY_PATH
unshare -m -- bash -c '
mount --bind /tmp/nsroot/lib /lib &&
LD_LIBRARY_PATH=/lib ./target_app
'
Что здесь происходит:
- unshare -m создаёт отдельный mount namespace
- mount --bind подменяет /lib только внутри этого namespace
- LD_LIBRARY_PATH указывает загрузчику брать библиотеки из подменённого каталога
- остальная система при этом не затрагивается
В результате процесс думает, что работает с обычными библиотеками, но фактически использует вашу кастомную реализацию. Можно подменять libc, libssl и любые другие зависимости без root и без изменения системных файлов.
Полезно для отладки, реверса, тестов и экспериментов, где LD_PRELOAD уже не справляется.
#learn
Forwarded from Типичный Сисадмин
Федеральная служба по техническому и экспортному контролю внезапно выкатила рекомендации по безопасной настройке виртуальной инфраструктуры на базе VMware. Тот факт, что на дворе 2026 год, а Broadcom (владелец VMware) ушел из России в марте 2022, уже никого не смущает
Документ, кстати, толковый. Никакой воды, а только суровый харднинг. Ниже вычленил ключевые требования, которые теперь станут обязательными для КИИ:
/var/log/shell.log и /var/log/auth.log на предмет выполнения команд типа sudo ./encryptor (на чек шифровальщиков).execInstalledOnly и Secure Boot через TPM. Если VIB-пакет не подписан сертификатом VMware, то он не должен запуститься. Это реально мощная защита от малвари, которая пытается пролезть в гипервизор esxcli system ssh set --enabled=false). Если очень надо, то только по ключам и с тайм-аутом сессии.А на вкусное - самый смешной пункт с требованием осуществлять регулярные обновления ПО. Как именно обновлять ESXi, который нельзя скачать без VPN и действующего контракта, ФСТЭК тактично умалчивает... Видимо, подразумевается метод Parallel Import & Torrent Edition
В общем, если у вас в контуре до сих пор крутится Сфера... ой, простите
esxcli, чтобы закрыть периметр.Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM