Угроза, найденные в / dev / fd

Для очистки беспорядка вам понадобятся две последовательности команд:

Во-первых, запустите это в окне с гарью (это работает, даже если вы находитесь в ssh):

stty sane; printf '\033k%s\033\\\\033]2;%s\007' "`basename "$SHELL"`" "`uname -n`"; tput reset; tmux refresh

Затем запустите это на компьютере, на котором запущен tmux (это работает внутри и вне tmux):

Следующая команда влияет на все экземпляры tmux, что может изменить левый статус не только текущего окна. Если вам не нужна эта функция, оставьте ее в стороне.

tmux list-windows -a | while IFS=: read -r a b c; do tmux set-window-option -t "$a:$b" automatic-rename on; done

Объяснено в деталях

Это было собрано, чтобы рассмотреть все биты, найденные в других ответах и комментариях. В настоящее время, похоже, остался только незначительный бит со второй командой. (См. ниже "недостающий бит").

Чтобы понять, как это работает, давайте сначала уничтожим строку состояния tmux и tty. После этого мы исправим ее снова, используя метод, который должен быть всегда доступен (в отличие от команды reset).

Как сделать tmux терминал (предполагает UTF-8) непригодным для использования

stty -echo; printf '\016\033k%2000s\\\033\033]2;\355\007' $'\302\217'

Предупреждение: После выполнения вышеприведенной команды оболочка выглядит слепой и глухой и, похоже, говорит только чушь на каком-то неизвестном инопланетном языке. Как это исправить, смотрите ниже.

Объяснено:

  • stty -echo убивает ответ типа терминала

  • printf '\016' делает SO, так что вы находитесь на альтернативном наборе символов

  • printf '\033]2; %s\007' 'right status text' устанавливает правильный статус, в данном случае $'\355', что раскрывает ошибку представления

  • printf '\033k%2000s\033\\\' $'\302\217' устанавливает имя заголовка окна

Это может быть комбинация, которую вы видите на терминале после того, как какая-то интерактивная команда упала и вернулась в оболочку. (С помощью /bin/cat вы не можете спровоцировать stty -echo IMHO, но интерактивные команды типа vim обычно устанавливают это. )

Теперь уберите этот беспорядок

stty sane; printf '\033k%s\033\\\033]2;%s\007' "$(basename "$SHELL")" "$(uname -n)"; tput reset; tmux refresh

Примечание: Если вы используете копирование и вставку (вероятно, вам нужно удерживать Shift во время вставки), вы, вероятно, не сможете увидеть свою вставку, если вы использовали вышеупомянутую команду, чтобы испортить ваш tty. Следовательно, просто слепо нажмите клавишу Enter после вставки.

Объяснено:

  • stty sane устанавливает "вменяемые" параметры терминала, так что вы получите назад свое эхо при наборе

  • printf '\033k%s\033\\\' "$(basename "$SHELL")" возвращает заголовок окна в нормальное состояние. Вы можете использовать tmux rename-window "$(basename "$SHELL")" в качестве альтернативы, однако tmux rename-window ограничен tmux, где управляющая последовательность всегда работает.

  • printf '\033]2;%s\007' "$(uname -n)" сбрасывает статус-права, чтобы они отображались по умолчанию. (Обратите внимание, что вы не должны использовать tmux set status-right "something", потому что он просто выводит заголовок панели, который был поврежден, так что status-right просто раскрывает некоторую ошибку представления. Также обратите внимание, что я не нашел команду tmux для установки заголовка панели напрямую. )

  • tput reset сбрасывает терминал, на всякий случай

  • tmux refresh обновляет экран, чтобы избавиться от другого мусора, который мог появиться

Недостающий бит

Команда printf '\033k%s\033\\\' "$(basename "$SHELL")" теряет стандартную способность tmux представлять текущую команду в левой области состояния. После выполнения printf '\033k%s\033\\' "something" эта способность пропадает, и я пока не нашел хорошего способа, как вернуть ее в прежнее состояние.

Но, как отмечено в комментариях ниже, вы можете активировать аналогичную возможность tmux в качестве замены с помощью следующей настройки tmux:

set-window-option automatic-rename on
  • Либо сделайте это в командной строке tmux, которую можно вызвать в текущем окне с помощью "Escape" : (где "Escape" - это ваша командная клавиша tmux), а затем введите команду.

  • Или выполните tmux set-window-option automatic-rename on в вашем текущем терминале, но это не сработает, если вы не находитесь непосредственно на нужном уровне оболочки, например, это не работает в sudo или ssh.

  • Или откройте другое окно в текущей сессии tmux и выполните следующую команду:

    for a in `tmux list-windows | sed 's/:.*//'; do tmux set-window-option -t "$a" automatic-rename on; done`.
    
  • Или откройте другой shell на компьютере, на котором запущен tmux и выполните следующую команду (это вне tmux):

    tmux list-windows -a | while IFS=: read -r a b c; do tmux set-window-option -t "$a:$b" automatic-rename on; done
    

PS: Спасибо всем, кто помог собрать это решение.

-1
03.12.2018, 21:30
3 ответа
  1. Я бы не сказал, что этим следует пренебрегать, но я согласен с сумракваффом , что презентация из  сообщение бессмысленно. И я согласен с тем, что даже если Bitdefender найдет что-то в /dev/fd/9, оно было специфичным и локализованным для процесса, работавшего в данный момент, и вы ничего не найдете в /dev/fdсейчас. Я предлагаю вам

    • исследование "Salfeld.Child.Control", "BRD\BRD\keygen\Keygen.exe", и другие строки из сообщений, и
    • получить другой антивирусный -продукт.
  2. Экран Bitdefender говорит о строках «сообщения» и «Тема». В вашей системе есть электронная почта? Есть ли сообщение с Темой "детский контроль"? Проблема может быть там. Будь осторожен; если к сообщению есть вложения, не открывать их .

  3. Название вашего вопроса неверно; в вашем вопросе о "tty" ничего нет. О проблеме сообщили в fd 9; единственные tty в ваших вопросах – файловые дескрипторы 0, 1 и 2.
4
28.01.2020, 05:06

Этот результат является абсурдом, и им следует пренебречь. Что-то серьезно не так с этим антивирусным программным обеспечением.

Объекты в /dev/fdв macOS не являются файлами --, они представляют файловые дескрипторы, открытые текущим процессом. Нет смысла «сканировать» файловый дескриптор на наличие вирусов, и тем более бессмысленно пытаться «поместить» его в карантин.

4
28.01.2020, 05:06

Вы загрузили архив электронной почты, и антивирусный сканер просканировал его и обнаружил вредоносное ПО в некоторых вложениях.

В двух электронных письмах было вложение с именем Salfeld.Child.Control.2008.v9.975.0.0.rar, а внутри этого Rar-архива был файл с именем «Keygen.exe». Полное имя каталогаSalfeld.Child.Control.2008.v9.975.0.0.WinALL.Incl.Keygen-BRDпредполагает , что этот архив содержал как продукт Salfeld "Child Control" , так и генератор ключей для него; сканер вирусов считает, что исполняемый файл «keygen» на самом деле является вредоносным.

Теперь по той или иной причине антивирусный сканер не смог показать вам абсолютный путь к файлу (s ), в котором он обнаружил обнаружение. Возможно, это произошло из-за того, что он сканировал электронные письма в середине -загрузки перед сохранением на диск; или это могло быть потому, что он сканировал архив, содержащий электронные письма за 10 лет, и ему нужно было (временно )извлечь их куда-нибудь.

В любом случае, его запасной вариант заключался в сообщении бессмысленного /dev/fd/<number>(, который был всего лишь действительным дескриптором файла для процесса сканирования ), за которым следовали некоторые более полезные сведения :тема и дата сообщения электронной почты, имя вложения и имя файла в архиве Rar.

Если бы вы нашли это электронное письмо, сохранили вложение «.rar» на диск и повторно отсканировали его или даже извлекли Rar и просканировали «keygen.exe» самостоятельно, я ожидаю, что вы увидите тот же результат :. ] "Червь.общий.269236". Если вы не понимаете, что здесь происходит, я настоятельно рекомендую вам не распаковывать архив даже на Mac . Вместо этого, если у вас есть какие-либо сомнения в правильности этого обнаружения (, например.вы думаете, что файл действительно является генератором ключей и не более того ), вам следует напрямую обратиться в поддержку антивируса.

(Полное раскрытие :Я работаю в другой антивирусной компании.)

2
28.01.2020, 05:06

Теги

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