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