Команды CMD для работы в Windows

Командная строка — это не музейный экспонат для специалистов прошлого. В реальных условиях аудита и инцидентов она часто оказывается единственным доступным инструментом. Запоминать сотни ключей не нужно, но понимать, какие утилиты дают ответ на конкретный оперативный вопрос — это обязательный навык. Политики безопасности не проверяются PDF-файлами, а исполняются именно здесь.

Поиск и закрытие неиспользуемого порта

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

  1. Запустите командную строку или PowerShell от имени администратора. Для этого щёлкните правой кнопкой мыши по меню «Пуск» и выберите соответствующий пункт.
  2. Выполните команду netstat -ano. Ключ -a показывает все соединения и ожидающие порты, -n выводит адреса и порты в числовом формате (без DNS-запроса), -o отображает идентификатор процесса (PID).
  3. В столбце «Локальный адрес» найдите строку с нужным портом (например, :8080 или 0.0.0.0:8080). Запишите PID из последнего столбца.
  4. Для принудительной остановки процесса выполните taskkill /PID [ЗНАЧЕНИЕ_PID] /F. Ключ /F завершает процесс без запроса подтверждения.

Перед остановкой проверьте, что это за процесс. Выполните tasklist | findstr [ЗНАЧЕНИЕ_PID] или откройте Диспетчер задач (вкладка «Подробности»). Остановка критического системного процесса может привести к нестабильной работе или перезагрузке системы.

Контекст безопасности: Иногда процесс, открывший порт, может быть частью вредоносного ПО, использующего техники обфускации. Проверьте путь к исполняемому файлу процесса в Диспетчере задач. Если путь подозрителен (например, находится во временной папке Temp), это повод для более глубокого анализа.

Справочник консольных утилит для аудита и инцидентов

Команды ниже сгруппированы по задачам, с которыми сталкивается специалист по ИБ при проверке или аварийном восстановлении Windows-системы.

Диагностика сети и подключений

Команда Назначение и вывод
ipconfig /all
Полная конфигурация всех сетевых адаптеров: MAC-адрес, DHCP-статус, адреса DNS-серверов, шлюзы. Основа для понимания сетевого окружения.
netsh wlan show profiles
Список всех профилей Wi-Fi, сохранённых на системе. Команда netsh wlan show profile name="Имя_сети" key=clear покажет пароль в открытом виде, что критично при инвентаризации или восстановлении доступа.
arp -a
Кэш ARP-таблицы. Показывает, каким MAC-адресам соответствуют IP-адреса в локальной сети. Резкие изменения могут указывать на атаку типа ARP-spoofing.
netstat -aon | findstr LISTENING
Сокращённый вывод только слушающих портов с их PID. Быстрый старт для анализа открытых точек входа.
net share
Список общих ресурсов (папок) на локальной машине. Несанкционированные шары — частый вектор утечки данных.

Аудит системы, прав и автозагрузки

Команда Назначение и вывод
whoami /priv
Список привилегий текущего пользователя (например, SeDebugPrivilege, SeBackupPrivilege). Показывает реальный уровень доступа, который может быть шире, чем видно из группы пользователей.
icacls "C:путькпапке"
Детальная расшифровка NTFS-разрешений. Ключевой инструмент для поиска избыточных прав, когда доступ есть у «Everyone» или «Authenticated Users».
auditpol /get /category:*
Текущая конфигурация подсистемы аудита Windows: какие события (вход, доступ к объектам) записываются в журнал безопасности. Если политики отключены, следов атаки не останется.
schtasks /query /fo LIST /v
Развёрнутый список всех запланированных задач. Часто используется злоумышленниками для персистентности — создания задачи, которая запускает полезную нагрузку при определённых условиях.
wmic startup get caption, command
Более наглядный, чем реестр, список команд, запускаемых при старте системы для всех пользователей.
reg query "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstall" /s
Ручной обход ветки реестра с информацией об установленном ПО. Полезен, когда стандартные средства инвентаризации недоступны или скомпрометированы.

Управление процессами, службами и данными

Команда Назначение и вывод
tasklist /svc
Список процессов с сопутствующими службами Windows. Позволяет связать фоновую службу (svchost.exe) с конкретной запущенной задачей.
sc query state= all
Вывод состояния всех служб, включая остановленные. Важно для обнаружения отключённых служб безопасности (например, антивируса, брандмауэра).
wevtutil qe Security /c:5 /rd:true /f:text
Пять последних событий из журнала «Безопасность» в читаемом текстовом формате. Базовый запрос для проверки работоспособности аудита.
cipher /w:C:папка
Безопасное затирание удалённых данных на диске путём трёхкратной перезаписи свободного места нулями, единицами и случайными числами. Требование для утилизации носителей в соответствии с регуляторными нормами.
gpresult /h C:report.html
Сохранение итогов применения групповых политик к компьютеру и пользователю в HTML-файл. Наглядный отчёт для проверки корректности развёртывания политик безопасности.

Без инвентаризации нет безопасности

Следование требованиям 152-ФЗ и документов ФСТЭК начинается не с заполнения форм, а со знания своей инфраструктуры. Командная строка — это инструмент для получения первичных, неотфильтрованных данных: что запущено, куда идёт трафик, какие права действуют. Регулярное использование этих команд формирует практическое понимание нормального состояния системы, что, в свою очередь, позволяет быстрее заметить аномалию. В условиях ограниченного бюджета на дорогое ПО для мониторинга и управления конфигурацией (SCI), эти утилиты становятся основой для ручного аудита и создания собственных сценариев проверки.

Оставьте комментарий