В заметке «rm -rf remains» рассказано об эксперименте по изучению системы после выполнения «rm -rf /» под пользователем root (с флагом «—no-preserve-root» для снятия защиты от нечаянно добавленного пробела после корневой директории, реальность возникновения подобных ошибок подтверждена случаем с появлением пробела в строке «rm -rf /usr /lib/nvidia-current/xorg/xorg» в скрипте установки bumblebee). После выполнения команды через ssh остаётся рабочий сеанс bash, который и используется для изучения остаточного состояния системы. Например, через использование встроенных команд bash и /dev/tcp/ удалось загрузить и запустить busybox.
Организуем отправку файлов на внешнем хосте 192.168.1.1:
$ mkdir $(xxd -p -l 16 /dev/urandom) $ cd $_ $ apt-get download busybox-static $ dpkg -x *.deb . $ alias encode='{ tr -d \n | sed "s#\(..\)#\\x\1#g"; echo; }' $ alias upload='{ xxd -p | encode | nc -q0 -lp 5050; }' $ uploadНа хосте с удалёнными данными:
# cd / # alias decode='while read -ru9 line; do printf "$line"; done' # alias download='( exec 9/dev/tcp/192.168.1.1/5050; decode )' # download busyboxДля установки прав на запуск busybox собрана и загружена простейшая утилита setx c вызовом chmod(), которая активирована через bash-команду enable.