Трюками с использованием гиковского швейцарского ножа netcat в качестве утилиты для быстрой передачи файла между компьютерами в сети уже давно никого не удивишь. Инструмент старый, и способов нетривиально его применить изобретено множество. Единственным слабым местом остается отсутствие в netcat какой-либо защиты от компрометации со стороны третьих лиц.
Cryptcat
Утилита cryptcat лишена этого недостатка. Она использует шифрование по алгоритму Twofish. Ключ шифрования по умолчанию — metallica, поэтому сразу после установки его следует изменить с помощью ключа -k (для примера пусть будет apocalyptica):
$ cryptcat -k apocalyptica
В остальном логика работы и семантика команд такая же, как и в netcat:
$ cryptcat -lp 1234 # машина-получатель
$ cryptcat <IP адресата> 1234 # машина-отправитель
Представленные выше команды позволяют организовать защищенный чат между двумя машинами. Введенный в терминале любой из машин текст отобразится и в терминале другой машины.
Дополнив cryptcat ключом запуска внешнего приложения на устройстве адресата, можно запускать на ней командную оболочку и обеспечить выполнение команд с удаленной машины:
$ cryptcat -lp 1234 -e /bin/bash # машина-адресат
$ cryptcat <IP адресата> 1234 # машина-манипулятор
Команды будут выполняться на машине-адресате, а вывод команд появится в том числе и в окне терминала машины-манипулятора.
Потоковая передача видеофайла с машины-транслятора и его просмотр с помощью проигрывателя mplayer на машине-наблюдателе:
$ cat video.avi | cryptcat -lp 1234 # машина-транслятор
$ cryptcat <IP адресата> 1234 | mplayer -vo x11 -cache 3000 - # машина-наблюдатель
Отправка файлов (куда ж без них):
$ cryptcat -lp 1234 > my.jpg # машина-получатель
$ cryptcat <IP адресата> 1234 < my.jpg # машина-отправитель
Сайт Cryptcat