Что эквивалентно инструменту автозапуска в Linux для поиска подозрительных запускаемых исполняемых файлов?

Вот jq -единственное решение:

jq -r '[.[].ports[].port ]|@csv' network.json
80,53

Подход здесь заключается в извлечении номеров портов, заключении их в массив и последующем преобразовании в формат CSV.

1
04.12.2020, 08:55
2 ответа

Таким образом, выход из Windows будет формировать ваше представление о вещах. Я прошел тот же путь.

Во-первых, нужно понять, как Linux выполняет автозапуск.Вам нужно знать об init/systemd, а также о том, что в Linux есть несколько DE на выбор (Среды рабочего стола ), хотя в домашних пользовательских каталогах есть некоторая общая инфраструктура, например, с KDE:https://docs.kde.org/trunk5/en/kde-workspace/kcontrol/autostart/index.html

Таким образом, учитывая простоту работы с файловой системой Linux и конфигурационными данными, запрос через интерфейс командной строки является зачаточным и не обязательно требует графического клиента.

Учитывая, что это что-то новое для вас, я могу предложить изучить этот проект, который может автоматизировать некоторые задачи для вас:https://cisofy.com/lynis/< это автор охотника за руткитами (rkhunter )для Linux, отличный инструмент и что-то еще вы, возможно, захотите рассмотреть во время аудита мошеннические исполняемые файлы и руткиты.

1
18.03.2021, 22:45

basically lets say you are a forensic investigator and you are given a linux system like Ubuntu, and are asked to find suspicious startup executables, how will you do it and what tools will you use to fasten the process?

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

Предположим, что ядро ​​анализируемой системы имеетNETLINK_CONNECTORфункциональность включена, и ваш двоичный файл forkstat не скомпрометирован, например. грамм. ты скомпилировал и развернул его самостоятельно. Вы должны решить, как рано вы хотите, чтобы он начал прослушивать события. Создайте юнит-файл и подключитесь к запуску системы в подходящий момент, т. грамм.basic.target:

# cat /etc/systemd/system/forkstat.service 
[Unit]
Description=process sniffer

[Service]
ExecStart=/sbin/forkstat

[Install]
WantedBy=basic.target

Убедитесь, что он работает, запустив службу и наблюдая за результатом с помощью journalctl -f. Затем вывод forkstat будет захвачен системой. журнал. Обратите внимание, что это очень рано во время запуска, до того, как root файловая система даже доступна, поэтому для ее работы двоичный файл forkstat должен быть доступен в initrd . Как вы добавите его в initrd, зависит от дистрибутива. Для Arch это так же просто, как добавить его в строку BINARIES=…в mkinitcpio.conf.

Включите службу, перестройте initrd, перезагрузитесь. После новой загрузки вы можете используйте journalctl -bдля просмотра захваченных событий:

Dec 04 10:12:17 zombo.com systemd[1]: Started process sniffer.
Dec 04 10:12:17 zombo.com forkstat[318]: Time     Event     PID Info   Duration Process
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 exec      321                 [/sbin/modprobe -q -- iptable_nat]
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 fork        1 parent          /sbin/init
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 fork      322 child           /sbin/init
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 exit      313      0   0.610s /usr/sbin/rpc.idmapd
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 fork        2 parent          [kthreadd]
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 fork      323 child           [kthreadd]
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 fork      265 parent          /usr/lib/systemd/systemd-udevd
Dec 04 10:12:17 zombo.com forkstat[318]: 10:12:17 fork      324 child           /usr/lib/systemd/systemd-udevd

Вас в основном будут интересовать строки parentи child, которые указать, какой процесс выполнил какой двоичный файл. Я отсылаю вас к форкстату справочная страница для деталей.

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

Также обратите внимание, что достоверность этого вывода зависит от заслуживающего доверия ядро. Если вы подозреваете, что само ядро ​​скомпрометировано, руткит стиль,вы можете сначала развернуть известное надежное ядро.

[0] В очень загруженной системе некоторые события могут быть пропущены, что является артефактом. базового API-интерфейса netlink, который использует forkstat.

0
18.03.2021, 22:45

Теги

Похожие вопросы