Если червь такой хитрый и прячется во время активности пользователя, то делайте shell без tty на произвольном порту или вообще backconnect. Обычный sh, червь не должны подозревать. top конечно работать не будет, но ps aux вполне достаточно.
Можно так же добавить правило фаерволла, логировать все новые исходящие подключения. Логи мониторить скриптом, который будет узнавать UID, у netstat PID, а дальше уже, название программы и строку аргументов и хоть всё дерево процессов, если нужно. Но тут главная проблема не в черве, а в том, как он к Вам попал. И сколько резервных копий себя наплодил. Без хорошего знания системы, поможет только переустановка и то не факт, учитывая дыру.
P.S. Права на файлы, chroot и docker придумали не просто так. С изоляцией проще решать подобные проблемы.