Привет^3☕️Запускаю серию про закрепление в Linux 🤓
Малварь при первом запуске хочет одного – пережить перезагрузку, логаут и kill. Путь входа может закрыться (сменят пароль, накатят патч), а доступ нужно сохранить. Разберём несколько техник – от банального systemd-сервиса до LD_PRELOAD.
Допустим, вредонос уже на хосте. Первая задача – не запуститься дважды:
int lf = open("/tmp/.X11-lock", O_CREAT | O_RDWR, 0600);
if (lf < 0 || flock(lf, LOCK_EX | LOCK_NB) < 0)
return 1;
open создаёт файл, flock с LOCK_EX | LOCK_NB захватывает эксклюзивную блокировку без ожидания. Если другой процесс уже держит лок – копия тихо завершится. Блокировка живёт, пока жив дескриптор – при завершении процесса ядро само её снимает. Имя .X11-lock маскирует файл под X-сервер – в /tmp такое никого не удивит.
↖️ 📕
тг • 🤬
чатик • ✏️
посты • 📹
yt • 💞
Twitch#maldev #linux