某日群里一兄弟给了一个mysql的连接地址,当日因为比较忙,所以就一直拖到今天,今天刚好有空,对该服务器进行安全检查,结果不仅获取了该网站的Webshell,而且还得到了该服务器的权限,下面将整个过程写出来跟大家分享。
(一)扫描漏洞
扫描漏洞的软件很多,俺喜欢交叉使用,先使用扫描工具扫描,如果扫描不出漏洞,再手工。如图1所示,使用jsky,很快就有结果,找到两个SQL注入漏洞。
图1 扫描漏洞
(二)SQL注入漏洞实际测试
1.猜测表名和数据
在Jsky中选中SQL注入漏洞,然后选择渗透测试,如图2所示,单击“check”按钮进行SQL注入实际测试,该注入点为access数据库,在图2中一共猜测出4个表,member,user,news以及book,user是管理员的表,使用Pangolin对user进行猜测,结果仅仅出来username,其它列名猜测不出来。
图2 猜测数据
2.使用Domain3.5猜测数据
将SQL注入地址复制到Domain3.5的SQL注入的SQL注入点中进行检测,如图3所示,能顺利的猜测出上面猜测的4个表,同时可以对user表的列名和数据进行猜测。在user表中有30位用户,由于该网站是繁体版本,因此在表中显示为乱码,在猜测的数据中选择一个英文用户名称和密码。
图3 使用Domain3.5猜测数据
(三)获取Webshell
1.获取后台登陆地址
在浏览器中输入http://xxx.xxx.net/admin.asp结果指向登陆页面,如图4所示,该页面相对简单,使用上面的猜测出来的用户名和密码进行登录。
图4 获取后台地址
2.登陆后台
验证成功后,顺利进入后台,如图5所示,表明该网站是一个出版社的网站管理系统。进入后台后仔细观察和测试后台页面。
图5 成功登陆后台系统
3.上传点测试
如图6所示,新建一条test的记录,然后再查看,在做测试一定要切记不要修改原有的数据记录,否则会被发现的。如果要修改,记得修改完毕后一定要恢复原状。
图6添加测试记录
在该系统中有档案上传和照片上传,上传是快捷获取Webshell的一种方式,如图7所示,上传档案中直接上传一个Webshell,结果很顺利的上传,不得不说运气很好!
图7获取上传页面
3.获取Webshell的具体地址
上传档案成功后,再次回到刚才添加的记录,通过查看记录可以看到刚才添加的Webshell图片,通过查看图片熟悉而获取Webshell的真实地址,如图8所示。
图8获取上传webshell的具体地址
4.测试Webshell
如图9所示,在浏览器中输入刚才获取的Webshell的地址,顺利打开shell登陆页面,输入密码后成功登陆。
图9 测试Webshell
(四)渗透提权测试
1.查看系统用户
在Webshell中选择“系统服务-用户账号”查看系统的用户情况,通过该信息来看看是否前面有人曾经进去系统。如图10所示,可以看到用户和用户组的情况。收集这些信息有助于在后期进行密码猜测等。
图 10获取用户情况
2.查看数据库等信息
如图11所示,通过浏览网站文件获取数据库的实际连接文件connection.asp,通过Webshell中的编辑来查看该文件内容,该数据库文件为bin.asp。
图11获取数据库等信息
3.下载数据库
在该系统中对文件下载做了限制,我先后对bin.asp文件复制重命名,命名为bin.mdb以及bin.bak均不能进行下载后面将其命名为bin.rar才成功得以下载,如图12所示,将其下载到本地。
图12下载网站数据库
4.上其它Webshell
Asp的Webshell权限相对较低,通过查看该服务器发现该服务器支持asp、php、aspx以及pl。上传一个asp.net的马,上传后能够成功执行,如图13所示,可以执行命令,不过权限为“nt authority\network service”,直接提权比较困难。
图 13上传asp.net的webshell
5.继续获取其他信息
通过使用asp.net的Webshell中的IIS Spy功能进一步获取其它网站的数据库连接信息,如图14所示,获取了Mysql数据库的一个用户和密码信息。
图14获取mysql数据库用户信息
6.G6FTPServer账户的妙用
在该服务器上装有G6FTPServer,通过google搜索了一下有关G6FTPServer的利用工具较少,虽然有一个提权的方法,由于实现起来比较繁琐,因此考虑在提权不成功的情况下再用。通过查看G6FTPServer的安装目录,发现其中有一个Remote.ini文件中包含了密码加密信息,而G6FTPServer账户采用md5加密,如图15所示。
图15 获取远程管理的用户密码加密信息
将remote.ini文件中的两个md5值放入破解工具MD5digger中进行查询,如图16所示出来一个结果,Administrator所对应的账号密码未出来而出来另外一个账号(lyndon)的密码onlinedtm。碰巧的是在用户信息中恰巧有lyndon这个用户。
图16 破解G6FTPServer账户密码
7.成功登陆服务器
使用刚才破解的账号和密码进行登录,如图17所示,成功登陆服务器,yeah。后面听朋友说该服务器上安装有shift后门,我测试了多次均未成功。
图17 成功登陆服务器
(五)总结与提高
本文通过G6FTPServer账号的破解成功登陆服务器,在渗透前期的信息收集很重要。G6FTPServer账号密码是采用md5加密在获取远程登录配置和用户配置的情况下,可以进行提权。有关G6FTPServer提权还可以进一步的研究,可以写出一个类似serv-u的提权工具。
|