OSquery - Как предварительно загрузить данные, чтобы найти зараженные файлы
Мне нужно "захватить" некоторые уже зараженные рабочие станции и серверы Windows во время кибер-упражнения. План настроить например. чистые рабочие станции с Windows 7 с последними исправлениями... затем обновите зараженную рабочую станцию до последних исправлений... загрузите данные запросов (контрольные суммы файлов, владелец / группа файлов, разрешения и т. д.) и проверьте зараженную рабочую станцию на предмет этого знания "базовый". Есть ли хороший способ сделать это с помощью osquery или вы рекомендуете другой инструмент для этой цели?
3 ответа
Вы можете быть интересны в https://github.com/Netflix-Skunkworks/diffy
Это инструмент, разработанный для сравнения различий между хостами.
Это должно быть выполнимо, но ваш вопрос довольно широк. Получение базового представления о том, как выглядит хорошо работающая система Windows 7 - это гунна, во многом зависит от того, что вас волнует. Что я бы порекомендовал сделать, так это получить некоторые json-таблицы из таблиц, которые, по вашему мнению, могут иметь значение для вашего конкретного исследования, так что, возможно, что-то вроде:
PS C:\Users\thor\Desktop> osqueryi --json -A drivers
PS C:\Users\thor\Desktop> osqueryi --json -A programs
PS C:\Users\thor\Desktop> osqueryi --json -A users
PS C:\Users\thor\Desktop> osqueryi --json -A startup_items
PS C:\Users\thor\Desktop> osqueryi --json "select f.filename, f.path, h.md5, h.sha256 from file f, hash h where h.path = f.path and f.path like 'C:\Windows\%';"
PS C:\Users\thor\Desktop> osqueryi --json "select f.filename, f.path, h.md5, h.sha256 from file f, hash h where h.path = f.path and f.path like 'C:\Windows\system32\%%';"
PS C:\Users\thor\Desktop> osqueryi --json -A scheduled_tasks
PS C:\Users\thor\Desktop> osqueryi --json -A certificates
Обратите внимание, что это определенно не исчерпывающий список, а лишь некоторые вещи, которые можно было бы проверить. Я также рекомендовал бы добавить в запросы @fmanco, упомянутые выше.
После того, как вы создали изрядный список больших двоичных объектов JSON с данными из базовой системы, вы можете выполнить те же запросы к скомпрометированной системе и "различить" выходные данные json в поисках различий. Это может быть очень сложно, особенно если учитывать хэши файлов C:\Windows\system32\%%, учитывая, что значения хешей могут сильно различаться даже в одной и той же версии патча системы, только для вас.
Надеюсь, это поможет!
Я не уверен, что именно вы имеете в виду под "загрузкой данных запроса", но вы можете использовать запрос запроса, чтобы точно запросить эту информацию. Например, следующее позволит вам получить информацию о файлах (включая права доступа, владельца и т. Д.) Для всех файлов в каталоге загрузки пользователя:
select * from file where path like '/Users/user/Downloads/%';
Если вы хотите хэши, вы можете запросить hash
Таблица:
select * from hash where path like '/Users/user/Downloads/%';