Рубрика На заметку
*
ptrace + удалённый ELF = живое и моргает
Как я уже писал выше если ELF уже подгружен в память (через
В итоге безфайловый процесс живёт как паразит, код которого можно модифицировать / расширять на лету.
как это выглядит:
ну а дальше через ptrace (и да, обычно от rootины)
тут процесс тормозится и ядро разрешает нам: читать память, писать в память, менять регистры, рулить потоками исполнения.
В
А еще можно ЗАИНЖЕКТИТЬ НОВЫЙ КОД ! Для этого надо:куриный кубик магги найти свободную память
(ну или вызвать mmap внутри процесса), залить
Fileless persistence они такие.
Кстати отлично комбинируется с
А вот тут можно спалиться:
В мире *nix имя файла — это вообще иллюзия. Реальность — это память, так то.
#РубрикаНаЗаметкуХакеру
$USERNAME@hacker.wtf - part 4*
ptrace + удалённый ELF = живое и моргает
Как я уже писал выше если ELF уже подгружен в память (через
execve, memfd, mmap) — удаление файла ничего не меняет, бинаря нет, inode удалён. За то ptrace позволяет подрубиться к такому процессу и управлять его памятью / регистрами.В итоге безфайловый процесс живёт как паразит, код которого можно модифицировать / расширять на лету.
как это выглядит:
./evil & #процесс стартует как обычно
rm evil #удаляем, inode остаётся в памяти, код уже mmap’нут
ls -l /proc/<pid>/exe #чекаем, увидим что то вроде # -> evil (deleted)
ну а дальше через ptrace (и да, обычно от rootины)
PTRACE_ATTACH
тут процесс тормозится и ядро разрешает нам: читать память, писать в память, менять регистры, рулить потоками исполнения.
ptrace нужен только PID.В
/proc/<pid>/maps можно почитать код удалённого ELF, увидеть адреса сегментов, r-xp области, дампить, модифицировать и тд.А еще можно ЗАИНЖЕКТИТЬ НОВЫЙ КОД ! Для этого надо:
(ну или вызвать mmap внутри процесса), залить
payload в эту область, посохранять старые регистры, изменить RIP > на payload, вернуть управление обратно. Fileless persistence они такие.
Кстати отлично комбинируется с
LD_PRELOADА вот тут можно спалиться:
cat /proc/sys/kernel/yama/ptrace_scope
В мире *nix имя файла — это вообще иллюзия. Реальность — это память, так то.
#РубрикаНаЗаметкуХакеру
👍17🔥5