Forwarded from Типичный Сисадмин
В западных интернетах на полном серьезе обсуждают, что 2025 год стал годом Linux на десктопе, потому что Windows стала слишком дорогой и переходит на подписки. Нам, конечно, не то пальто читать про дороговизну софта, который активируется одной командой в PowerShell (спасибо KMSAuto и MAS
Проблема современной Windows у нас не в том, что ее нельзя напрямую купить (кому надо - тот купит на торрентах), а в том, что она превратилась в разжиревшего шпиона. 41 уязвимость нулевого дня за год это цветочки. Ягодки это Microsoft Recall и Copilot, которые невозможно нормально выпилить. Раньше мы боролись с телеметрией правкой реестра, а теперь ОС буквально скринит твой рабочий стол и отправляет данные для анализа в облако, к которому даже доступа официального нет. Плюс искусственное устаревание железа... Windows 11 плюет в лицо владельцам вполне бодрых процессоров 3-5 летней давности, которые в текущих экономических реалиях менять никто не собирается.
В итоге мы пришли к парадоксальной ситуации. В корпоративном секторе нас пересаживают на Astra и RedOS (Debian/RHEL с нюансами), а дома люди потихоньку уходят на Linux. Windows превращается в терминал для показа рекламы и сбора данных, и даже народная лицензия
Даже пиратская Windows становится невыносимой
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
💯3
Краткая памятка по tcpdump.
Снятие трафика конкретного сервиса (порт 443)
Фиксируется только нужное соединение. Подходит для разбора SYN, RST и сетевых задержек.
Отлов SNI (когда сайт открывается нестабильно)
Отображает фактический SNI, который отправляет клиент. Критично при диагностике SSL.
DNS и типовые ошибки (NXDOMAIN / SERVFAIL)
Все DNS-запросы:
Только ошибки:
Поиск оборванных TCP-сессий (RST)
Полезно, когда соединение обрывается без очевидных причин.
Проверка асимметрии трафика или ECMP
Позволяет увидеть только попытки установления соединений.
Снятие трафика вокруг конкретного хоста
Минимальный дамп строго по одному IP.
Ротация дампов (чтобы не положить диск)
#learn
-nn - отключаем DNS-резолвинг.-i - сетевой интерфейс - всегда указывай текущий, а не оставляй по умолчанию.Снятие трафика конкретного сервиса (порт 443)
tcpdump -nn -i eth0 tcp port 443 -w /tmp/api443.pcap
Фиксируется только нужное соединение. Подходит для разбора SYN, RST и сетевых задержек.
Отлов SNI (когда сайт открывается нестабильно)
tcpdump -nn -i eth0 -vvv -s 0 -A port 443 | grep -i "server_name"
Отображает фактический SNI, который отправляет клиент. Критично при диагностике SSL.
DNS и типовые ошибки (NXDOMAIN / SERVFAIL)
Все DNS-запросы:
tcpdump -nn -i eth0 udp port 53 or tcp port 53
Только ошибки:
tcpdump -nn -i eth0 -vv udp port 53 | grep -Ei "ServFail|NXDomain"
Поиск оборванных TCP-сессий (RST)
tcpdump -nn -i eth0 'tcp[tcpflags] & tcp-rst != 0'
Полезно, когда соединение обрывается без очевидных причин.
Проверка асимметрии трафика или ECMP
tcpdump -nn -i eth0 'tcp[tcpflags] == tcp-syn'
Позволяет увидеть только попытки установления соединений.
Снятие трафика вокруг конкретного хоста
tcpdump -nn -i eth0 host 10.10.22.15 -w /tmp/host.pcap
Минимальный дамп строго по одному IP.
Ротация дампов (чтобы не положить диск)
tcpdump -nn -i eth0 -s 0 -w trace-%F-%H%M%S.pcap -G 60 -W 5
#learn
👍1
Подстановка последнего аргумента без копипасты
Сколько раз было так: выполнили команду вида
а через пару секунд понадобилось:
Можно не повторять. Bash уже помнит последний аргумент.
В любой момент нажмите
Результат:
Нажимайте Alt + . несколько раз подряд, чтобы перебрать аргументы из истории - bash листает их назад.
Альтернатива через history:
То же самое, но в виде подстановки из истории:
Практические примеры
Удалить каталог, который только что создали:
Скопировали и сразу перешли внутрь:
Переместили файл и тут же открыли его:
Копирование в несколько мест подряд:
Меньше ручного ввода, меньше опечаток, выше скорость работы в shell.
#learn
Сколько раз было так: выполнили команду вида
cp report.txt /var/tmp/workdir/
а через пару секунд понадобилось:
cd /var/tmp/workdir/
Можно не повторять. Bash уже помнит последний аргумент.
Alt + . - вставка последнего аргументаВ любой момент нажмите
Alt + . и bash подставит последний аргумент из предыдущей команды.cp report.txt /var/tmp/workdir/
cd <Alt+.>
Результат:
cd /var/tmp/workdir/
Нажимайте Alt + . несколько раз подряд, чтобы перебрать аргументы из истории - bash листает их назад.
Альтернатива через history:
!$ и !.То же самое, но в виде подстановки из истории:
cd !$
или
cd !.
!$ - последний аргумент предыдущей команды.!. - тот же эффект, но безопаснее, так как разные шеллы могут по-разному интерпретировать $.Практические примеры
Удалить каталог, который только что создали:
mkdir cache_dir
rm -r !$
Скопировали и сразу перешли внутрь:
cp -r app_source /srv/apps/
cd !$
Переместили файл и тут же открыли его:
mv access.log /var/log/old/
vim !$
Копирование в несколько мест подряд:
cp archive.tar.zst /mnt/storage/
cp !$ /srv/archives/
Меньше ручного ввода, меньше опечаток, выше скорость работы в shell.
#learn
Forwarded from Типичный Сисадмин
Есть такой бородатый анекдот про то, что Windows скоро превратится в загрузчик для браузера. В 2025 году это перестало быть шуткой. Брендан Айк, человек-легенда, создавший язык JavaScript и основавший Mozilla/Brave, публично раскритиковал Microsoft за тотальное засилье веб-технологий в десктопной ОС. По его словам, главная проблема Windows 11 - это банальная лень разработчиков, которые вместо нативного кода везде пихают жирный WebView2 и Electron. Айк знает, о чем говорит, т.к. он видел смерть FirefoxOS, которая тоже пыталась строить интерфейс на вебе.
Ситуация и правда патовая. Microsoft ($3.5 трлн капитализации) не может написать нативный календарь. Новая панель виджетов в Windows 11 это просто веб-страницы. Вы нажимаете на часы в трее, а система в фоне спавнит процессы Edge, отжирая 100+ МБ оперативки ради отображения даты. Зеленый мессенджер недавно деградировал с нативного WinUI обратно на WebView2, и теперь в простое отъедает гигабайт памяти. Teams туда же.
Но чемпионом по оптимизации
Айк справедливо заметил, что Web UX можно сделать хорошо, но это требует времени и прямых рук. А у современного БигТеча нет ни того, ни другого. Им проще завернуть сайт в exe-шник, заставить пользователя купить 64 ГБ RAM и назвать это современным экспириенсом. Когда даже создатель технологии говорит "остановитесь, вы делаете дичь", это, пожалуй, приговор всей индустрии
Типичный
Please open Telegram to view this post
VIEW IN TELEGRAM
Минимальный P2P-чат через Netcat
Никакой магии, только Bash и TCP.
Wiki: Netcat
Клиентская сторона
Пишем элементарный Bash-скрипт.
Создаем файл talker.sh
Выдаём права:
Сторона приема
На принимающем узле ничего городить не нужно.
Просто поднимаем прослушивание порта:
Порт может быть любым, главное чтобы он был открыт в фаерволе и использовался TCP.
Как это выглядит вживую
Терминал отправителя:
Терминал принимающей стороны:
Итого:
простейший P2P-чат, который поднимается за минуту и отлично подходит для тестов сети, обучения или просто поиграться с nc.
#learn
Никакой магии, только Bash и TCP.
Wiki: Netcat
Клиентская сторона
Пишем элементарный Bash-скрипт.
Создаем файл talker.sh
#!/bin/bash
# Отображаемое имя
NICKNAME="$1"
REMOTE_HOST="$2"
REMOTE_PORT="$3"
# Читаем ввод и добавляем подпись
(
while read text; do
echo "[$NICKNAME] $text"
done
) | nc "$REMOTE_HOST" "$REMOTE_PORT"
Выдаём права:
chmod +x talker.sh
Сторона приема
На принимающем узле ничего городить не нужно.
Просто поднимаем прослушивание порта:
nc -lvp 5201
Порт может быть любым, главное чтобы он был открыт в фаерволе и использовался TCP.
Как это выглядит вживую
Терминал отправителя:
./talker.sh alpha 172.16.16.30 5201
Привет всем
Как связь?
Терминал принимающей стороны:
nc -lvp 5201
Listening on 0.0.0.0 5201
Connection received on 172.16.16.31 46656
[alpha] Привет всем
[alpha] Как связь?
Итого:
простейший P2P-чат, который поднимается за минуту и отлично подходит для тестов сети, обучения или просто поиграться с nc.
#learn
Всех с НГ :)
А я продолжу смотреть в мониторинг, и надеяться на спокойную работу, и нормальный аптайм моих серверов.
#meme
А я продолжу смотреть в мониторинг, и надеяться на спокойную работу, и нормальный аптайм моих серверов.
#meme
🎉4
Forwarded from 0-day / Зеродей ☣️
В Южной Корее приняли предпринимателя из Литвы, который преподал индустрии мастер-класс по монетизации человеческой жадности. Он умудрился заразить 2.8 миллиона компьютеров, используя самый популярный софт в мире... активатор KMSAuto. Схема атаки как эталонная социальная инженерия, помноженная на техническую безграмотность пользователей. Жертва сама находит софт, сама скачивает его и, самое главное, сама отключает Defender или добавляет файл в исключения, потому что... ну это же кряк, он всегда детектится
Софт запускается от имени Админа (иначе службу KMS и драйвер не поставить), и в этот момент вместе с ключом активации в систему залетает Клиппер. Зловред тихо висит в процессах, хукает буфер обмена через WinAPI и ждет своего часа. Как только регулярное выражение (
RegEx) детектит строку, похожую на адрес криптокошелька (BTC, ETH, TRC20 и тд), скрипт на лету подменяет её на кошелек злоумышленника Заметить подмену глазами практически нереально. Большинство людей проверяют только первые и последние 4 символа адреса, а современные генераторы позволяют хакерам создавать тысячи кошельков с похожими хвостами специально для таких атак. В итоге пользователь копирует адрес, вставляет, жмет Отправить... и деньги улетают в никуда. Таким нехитрым способом автор кряка заработал $1.2 млн, не написав ни строчки сложного эксплойта.
Если в вашей сети есть машины, активированные народными методами через бинарники с торрентов, то не лишним будет прочекаться. KMS-активатор это идеальный троянский конь, которому вы сами открываете ворота.
Please open Telegram to view this post
VIEW IN TELEGRAM
Полезный Python-трюк для работы с сетями: ipaddress в стандартной библиотеке
Когда нужно быстро проверить IP-адреса, маски подсетей или принадлежность хоста сети, не обязательно тянуть внешние пакеты. Python уже содержит мощный модуль ipaddress.
Чем полезно
Проверка принадлежности адреса подсети
Удобный парсинг IPv4 и IPv6
Генерация диапазонов IP
Всё встроено в Python, сторонние зависимости не нужны
Что важно понимать
ip_network создаёт объект сети, а не строку
ip_address создаёт числовое представление IP
Проверка через in идёт по диапазону адресов, а не по строковому совпадению
hosts() возвращает только usable адреса
IPv4 и IPv6 используют одинаковый API
Где применять на практике
Проверка trusted-сетей в firewall-скриптах
Фильтрация логов по подсетям
Валидация пользовательского ввода
Генерация ACL и access-листов
DevOps и CI проверки конфигов
#learn
Когда нужно быстро проверить IP-адреса, маски подсетей или принадлежность хоста сети, не обязательно тянуть внешние пакеты. Python уже содержит мощный модуль ipaddress.
Чем полезно
Проверка принадлежности адреса подсети
Удобный парсинг IPv4 и IPv6
Генерация диапазонов IP
Всё встроено в Python, сторонние зависимости не нужны
import ipaddress
# Создаем подсеть
net = ipaddress.ip_network("192.168.1.0/24")
# Проверяем, входит ли IP в подсеть
print(ipaddress.ip_address("192.168.1.42") in net) # True
print(ipaddress.ip_address("10.0.0.5") in net) # False
# Перебираем доступные адреса (без network и broadcast)
for ip in net.hosts():
print(ip)
break # выведет первый usable IP
# IPv6 работает точно так же
ipv6 = ipaddress.ip_network("2001:db8::/32")
print(ipaddress.ip_address("2001:db8::1") in ipv6) # True
Что важно понимать
ip_network создаёт объект сети, а не строку
ip_address создаёт числовое представление IP
Проверка через in идёт по диапазону адресов, а не по строковому совпадению
hosts() возвращает только usable адреса
IPv4 и IPv6 используют одинаковый API
Где применять на практике
Проверка trusted-сетей в firewall-скриптах
Фильтрация логов по подсетям
Валидация пользовательского ввода
Генерация ACL и access-листов
DevOps и CI проверки конфигов
#learn
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