靶机
DVWA
Upload-labs
Xss-labs
Pikachu
DC-1
DC-2
DC-3
DC-4
DC-5
DC-6
DC-7
DC-8
DC-9
-
+
首页
DC-2
DC系列是专门构建的易受攻击的实验室,旨在获得渗透测试领域的经验,目前总共有9个靶机 关注微信公众号:网络安全101,公众号内回复**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地址和域名进行绑定 ```bash vim /etc/hosts ```  7、访问成功  8、在该网页中存在一个flag  9、根据flag1的提示,要求我们以个人身份进行登录  10、cewl 是一个网页关键字抓取工具,可以根据网页中的关键字生成一个密码字典 ```txt 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工具进行扫描 ```txt WPscan 一款漏洞扫描工具,它采用Ruby编写 能够扫描WordPress网站中的多种安全漏洞,其中包括主题漏洞、插件漏洞和WordPress本身的漏洞。 它不仅能够扫描类似robots.txt这样的敏感文件,而且还能够检测当前已启用的插件和其他功能。 语法:wpscan [options] ``` 13、使用wpscan进行扫描 使用之前先更新wpscan的漏洞库  14、使用命令枚举wordpress里面的账户 ```bash 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服务进行暴力破解 ```bash hydra -L user.txt -P pass.txt ssh://192.168.84.143 -s 7744 -vV ```  20、使用账号密码进行登录:tom parturient ```bash ssh tom@192.168.84.143 ```  登录成功,发现在当前路径下存在flag3.txt,却无法打开  > rbash与一般shell的区别在于会限制一些行为,让一些命令无法执行 21、查看我们可以使用的命令  bin目录存放二进制可执行文bai件(ls,cat,mkdir等),常用命令一般都在这里 22、利用vi进行rbash逃逸 ```txt 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 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 
毛林
2025年9月7日 11:42
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码