Определение того, подвергаетесь ли вы активной компрометации

Опубликовано: 8 Апреля, 2023


Введение


Четверг, 4 часа дня… вы знаете, через какие порты вы общаетесь? Одним из самых больших опасений любого системного администратора является то, что его/ее машина была скомпрометирована. Когда происходят подобные вещи, часто бывает так, что что-то может подсказать вам присутствие злоумышленника. Будь то непонятное предупреждение антивируса или странное уведомление брандмауэра, полезно знать, что делать в этой ситуации. В этой статье я продемонстрирую несколько вещей, которые вы можете сделать, чтобы узнать, не околачивается ли кто-то еще в вашей системе.


Список открытых подключений


Одна из самых простых и эффективных вещей, которые вы можете сделать, это вывести список открытых подключений к вашей системе. Это стало возможным благодаря инструменту командной строки netstat, который доступен как в Linux, так и в Windows. Вы можете использовать netstat в Windows для вывода списка прослушиваемых портов TCP и UDP, введя netstat -na в командной строке. Вывод должен показать вам четыре столбца. Первый столбец в используемом протоколе (TCP или UDP), после него — локальный адрес и порт, третий столбец — внешний адрес и порт, а последний столбец — состояние соединения. В дополнение к этой команде вы также можете запустить netstat -nao в современных версиях Windows, чтобы добавить пятый столбец, в котором отображается идентификатор процесса, связанный с отображаемыми подключениями. Пример этого вывода показан на рисунке 1.


Изображение 23335
Рисунок 1: Вывод команды netstat -nao


При изучении вывода netstat вы легко можете быть перегружены информацией. В этом случае убедитесь, что вы закрыли все сетевые приложения и процессы, чтобы ваши результаты не были омрачены законными соединениями. После того, как вы это сделаете, первое, на что нужно обратить внимание, — это нераспознанные внешние адреса, особенно в состоянии ESTABLISHED. Кроме того, не забудьте проверить любые ПРОСЛУШИВАЮЩИЕ соединения в вашей локальной системе на нечетных портах. Когда злоумышленник взламывает вашу систему, часто бывает так, что он оставляет лазейку, прослушивающую более легкие соединения. Это помогает очень хорошо знать вашу систему при изучении этого вывода, чтобы вы имели представление о том, какие соединения являются нормальными.


Здесь важно помнить, что netstat не является безошибочным. На самом деле, многие руткиты режима ядра, используемые злоумышленниками, могут целенаправленно изменять netstat, чтобы любые установленные ими бэкдоры были скрыты от вывода.


Нюхать провод


Если кто-то контролирует вашу систему, то для этого ему необходимо пройти через вашу сетевую карту. Учитывая, что это абсолютная информация, а netstat не всегда надежен на 100% в зависимости от навыков злоумышленника и возможности руткитов режима ядра, один из альтернативных методов — просто запустить приложение для перехвата пакетов. Делая это, вы можете исследовать пакеты, идущие по проводу или воздушным волнам.


Для быстрого перехвата пакетов я рекомендую Wireshark, самое популярное в мире приложение для перехвата пакетов. Его легко установить, он имеет открытый исходный код (т.е. бесплатный) и имеет графический интерфейс. Если вы предпочитаете использовать командную строку, вы можете использовать альтернативу командной строки Wireshark Tshark или когда-либо популярный Windump (порт tcpdump для Windows). Windump также бесплатен и прекрасно работает. Используя любой из них, вы можете быстро перехватывать пакеты, проходящие через ваш сетевой интерфейс, и искать любые IP-адреса, которые кажутся посторонними для вашей системы.


Изображение 23336
Рисунок 2. Использование Wireshark для изучения разговоров


Еще раз, делая это, убедитесь, что вы отключили все службы, которые могут использовать сеть, чтобы не затуманить ваши результаты. Вы можете быстро просмотреть все диалоги, происходящие между вашей системой и внешним миром, выбрав параметр «Статистика» в главном раскрывающемся меню и нажав «Беседы». Это окно позволяет вам просматривать активно взаимодействующие хосты, отсортированные различными способами, как показано на рис. 2.


Перекачка через лог-файлы


Файлы журналов — это хлеб с маслом любого системного администратора, разработчика программного обеспечения или аналитика вторжений. Конечно, искушенный злоумышленник позаботится о том, чтобы замести следы, но мы хотим поймать и неискушенных. Самый быстрый способ получить доступ к средству просмотра событий в вашей системе Windows — ввести eventvwr.msc в диалоговом окне запуска или в командной строке. Отсюда вы захотите проверить все файлы журналов на предмет активности, которая выглядит несовместимой с вашей повседневной деятельностью. Некоторые события, которые я ищу, включают:



  • Большое количество неудачных попыток входа в систему. Это может указывать на то, что кто-то пытается угадать или взломать пароль учетной записи.
  • Служба журнала событий остановлена. Злоумышленники обычно отключают эту службу сразу после взлома системы, чтобы замести следы.
  • Запуск необычных сервисов. Любая служба, которую вы не узнаете, заслуживает изучения, так как она может быть вредоносной.

Использование Process Monitor для проверки реестра и запущенных процессов


Двумя наиболее важными областями, на которые следует обратить внимание при попытке определить, была ли система скомпрометирована, являются системный реестр и запущенные процессы. Любые изменения в системе отражаются в реестре, и каждая задача, выполняемая в системе, выполняется с помощью определенного процесса. В прошлом изучение этих вещей было немного громоздким и ручным процессом с использованием встроенного реестра Windows и инструментов мониторинга процессов. К счастью для нас, Windows Sysinternals предоставляет инструмент Process Monitor. Используя Process Monitor, вы можете просматривать изменения в реестре по мере того, как они активно происходят, а также просматривать активные процессы и подробную информацию, связанную с ними. Вы можете скачать Process Monitor с сайта Microsoft.


Изображение 23337
Рисунок 3: Просмотр процессов в Process Monitors Представление дерева процессов


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


Поиск новых учетных записей пользователей


Последнее не представляет никакой сложности, но я не мог написать эту статью, не упомянув о нем. Злоумышленник невероятно часто компрометирует систему, а затем создает в ней новую учетную запись пользователя для облегчения повторного входа в систему. Вы можете просмотреть учетные записи пользователей в вашей системе, перейдя в меню «Пуск», щелкнув правой кнопкой мыши «Компьютер», щелкнув «Управление» и просмотрев заголовок «Пользователи и группы».


Вывод


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