Хакер и инженер Майк Арпайя (Mike Arpaia) проводит дни напролёт, взламывая различный софт на серверах и рабочих компьютерах сотрудников Facebook. При этом он предпочитает использовать не только известные программы, но и разрабатывает собственные инструменты для упрощения работы. Фреймворк OSquery, который работает под OS X и Linux — один из таких инструментов.

OSquery осуществляет низкоуровневый мониторинг и анализ процессов, которые происходят в операционной системе с применением SQL-подобных запросов. Чтобы лучше понять принцип работы, посмотрим примеры таких запросов.

--------------------------------------------------------
-- получаем названия, pid и порты всех процессов,
-- которые прослушивают порты во всех интерфейсах
--------------------------------------------------------
SELECT DISTINCT 
  process.name, 
  listening.port, 
  process.pid
FROM processes AS process
JOIN listening_ports AS listening
ON process.pid = listening.pid
WHERE listening.address = '0.0.0.0';

Или вот ещё один запрос, который выводит список всех launch-демонов в OS X, которые 1) запускаются вместе с операционной системой; 2) продолжают выполняться. Запрос возвращает название демона и путь к исполняемому файлу.

SELECT 
  name, 
  program || program_arguments AS executable 
FROM launchd 
WHERE 
  (run_at_load = 'true' AND keep_alive = 'true') 
AND 
  (program != '' OR program_arguments != '');

Подобными запросами отслеживаются также работающие процессы, загруженные модули ядра и сетевые соединения.



2 комментария

  1. 31.10.2014 at 10:28

    «в на серверах» — один предлог лишний.

  2. 31.10.2014 at 15:00

    Ну, реализовали мы монитор через SQL. А чем к нему запросы делать?

Оставить мнение