当前位置: 首页 > news >正文

VulnHub-DC-2靶机

主机发现

sudo arp-scan -l

以sudo管理员权限扫描本地活动ip地址 

Interface: eth0, type: EN10MB, MAC: 08:00:27:22:46:4f, IPv4: 192.168.252.230
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.252.6   4c:5f:70:74:3c:3b       (Unknown)
192.168.252.42  9a:ef:fa:8e:d2:86       (Unknown: locally administered)
192.168.252.71  08:00:27:62:ff:b7       PCS Systemtechnik GmbH

主机IP:192.168.252.230

靶机IP:192.168.252.71

如何判断那个ip是自己靶机的ip,最简单的方法,如果后面带有PCS Systemtechnik GmbH,那么就是是你的靶机。

信息收集

nmap扫描

介绍:nmap是用来探测和扫描计算机网络上的主机和服务的一种扫描器,通常nmap会发送特制的数据包到目标主机,然后对返回数据包进行分析,主要功能就是主机探测,端口扫描,版本检测。

sudo nmap 192.168.252.71 

发现只开放了80端口web服务,但是却打不开页面

访问不了web页面的原因可能是:

1:web服务配置了基于域名的虚拟主机,直接访问http://<IP>:80打开不开,web服务器(Nginx/Apache)配置了ServerName或者Host头部检查,只能响应特定的域名的请求。

2:本地DNS解析问题

某些网络环境(如企业内网)可能对直接IP访问做限制,但是允许通过域名访问。
3:浏览器或客户端缓存

浏览器可能缓存了旧的DNS记录,导致直接访问ip失败,而域名能绕过缓存。

问题原因:

根据以上的描述信息,尝试发现具体原因

Wappalyzer:用于检测网站使用的框架语言数据库等等的工具

发现该网站使用的是Apache服务,那么可以判断该问题大致就是Apache服务会默认启用基于域名的虚拟主机,还有一个地方我没有标注,url输入框返回了一个域名dc-2,更加确定了这是Apache的虚拟主机或者.htaccess文件配置了强制域名访问,当检测到用户通过ip访问时,会重定向到http://dc-2/,为了严谨性,在对该网站进行请求......

Curl工具(用于请求web服务器)

 

curl -v http://192.168.252.71

请求并显示信息

服务器返回了HTTP 301永久重定向,将http://192.168.252.71重定向到http://dc-2/

问题解决:

根据以上原因结合信息,得出了最终结果,最后在/etc/hosts文件中添加ip到本地的DNS

sudo vi /etc/hosts

命令界面输入i进行插入,输入ip以及域名

在主页面的导航栏中有个flag连接,点击查看拿到flag1

Flag1:

Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.

你的常用字典可能不起作用,所以,也许你只需要cewl。

More passwords is always better, but sometimes you just can’t win them all.

密码越多越好,但有时您可能根本无法全部搞定。

Log in as one to see the next flag.

以单人模式登录,即可查看下一个标志。

If you can’t find it, log in as another.

如果找不到,请以另一个人的身份登录。

Gobuster目录爆破

介绍:用户目录和文件枚举,主要用户在web服务上查找隐藏的目录和文件,从而进行信息收集和渗透测试。

尝试进行爆破,查看是否由其他目录文件存在,使用gobuster工具指定dir目录爆破

-u:指定url

-w: 指定对应的字典

-x: 指定寻找什么类型的文件

(对了这里的ip变了是因为我不是在同一时间段做的,所以靶机ip刷新了)

根据爆破的信息看到有几个目录存在,挨个打开发现除了一个配置文件目录之外,还有一个空目录,以及登录页面,为了验证那目录是否真为空,用curl请求一下,没有任何信息。

查看登录页面

既然给了我们一个登录页面,就需要用户名和密码,尝试使用弱密码登录,并不行,也没有给我们其他有用的信息,那么我们尝试从网站上获取用户名。

cewl字典生成工具

介绍爬取网站信息生成字典文件的。 

sudo cewl http://dc-2 -w dc2.txt

现在我们有了密码字典,话需要获取用户名。

wpsan

介绍:wpscan是针对wordpress漏洞的扫描器,功能多样且强大,能扫描出wordpress网站中各种漏洞,包括主题漏洞,插件漏洞等

用户枚举

sudo wpscan --url http://dc-2 --enumerate u

 --url :指定目标路径

--username:指定测试用户名

枚举出三个用户名

amdin,jerry,tom

现在我们用户名和密码字典都有了,只要爆破出匹配用户的密码。

 --url :指定目标路径

--passwords:指定密码字典文件路径

Username: jerry  Password: adipiscing

Username: tom  Password: parturient

登录jerry用户

 

Flag 2:

If you can't exploit WordPress and take a shortcut, there is another way.

Hope you found another entry point.

如果您无法利用WordPress并走捷径,还有另外一种方法。希望您找到另外一个切入点。

切换tom用户

什么也没有

登录ssh

由于开头只是进行了简单的扫描,并没有显示ssh端口服务,现在来详细扫描一下

-sT:扫描TCP端口    -A:识别各个服务的版本

-O:探测操作系统    -p-:扫描全部端口

sudo nmap -sT -A -O -p- 192.168.94.71

根据扫描出来的结果,开放的80端口运行的是Apache 2.4.10(Debian系统),使用的wordpress 4.7.4版本,该版本存在已知的漏洞,如未认证的注入漏洞,插件漏洞,还可以进行用户枚举,使用wpscan扫描器扫描,其实这个详细信息扫描我本应该放到最前面,如果你是一个有经验的人,肯定会根据提示信息找到解法,但是我为什么放在这里,是因为为什么前面要使用wpscan,你怎么知道要使用它,如果你看到这里,就会有一种豁然开朗的感觉,这就体现了信息收集的重要性。

根据信息,因为低版本的问题,wordpress和openssh与Apache都有潜在的攻击面,所以你如果你有时间和兴趣,可以研究一下。

登录tom用户

-p:指定ssh端口7744

Cat查看内容发现没有装这个命令,作者给卸载了,提示rbash,代表着这是一个受限制的,可能只有几个命令使用,只能一个一个尝试,使用less和vi编辑器都可以查看到里面的内容

flag3

Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.

可怜的老汤姆总是追着杰瑞跑,也许他应该为自己惹来的一连串麻烦负责一下。

现在的情况是cd也使用不了,切换不了目录,限制了很多命令,那么我们就需要根据rbash查阅相关文档。

rbash绕过

BASH_CMDS[a]=/bin/sh;a   #将/bin/sh赋值给关联数组变量BASH_CMDS[a]用于绕过受限制环境
export PATH=$PATH:/bin/  #将/bin/添加到PATH环境变量,使系统能直接调用/bin/下的程序
export PATH=$PATH:/usr/bin #将/usr/bin添加到环境变量,进一步扩展可执行命令的范围
echo /*   #打印根目录下的所有文件和目录,用于快速探测系统结构。

flag4

Sudo -l 发现tom用户没有权限,那么我们切换到jerry用户

Git提权

原理:利用sudo权限执行git命令时,通过特定的操作进入更高权限的shell环境。

输入:sudo git help status  执行后输入以下命令!/bin/sh提权

Congratulatons!!!

祝贺大家!!!                                                                             

A special thanks to all those who sent me tweets     

特别感谢所有给我法推特的人                         

and provided me with feedback - it's all greatly   

并给我提供了反馈--这一切都很棒                           

appreciated

感激

If you enjoyed this CTF, send me a tweet via @DCAU7.

如果你喜欢这个CTF,请通过@DCAU7给我发一条推文。

相关文章:

  • 父子组件双向绑定
  • 【单片机数码管实现第一位开始走0~9,1s后第二位再开始亮】2022-5-2
  • C++将整数换成分数 2024年信息素养大赛复赛 C++小学/初中组 算法创意实践挑战赛 真题详细解析
  • React useCallback函数
  • Oracle-ACL配置
  • “淘宝闪购”提前4天全量,意味着什么?
  • 使用PyTorch实现线性回归:从零实现到高级API
  • Python-pandas-操作Excel文件(读取数据/写入数据)及Excel表格列名操作详细分享
  • 轻量级在线Excel预览工具
  • [面试]SoC验证工程师面试常见问题(四)
  • 【多云PaaS】跨云平台的无缝迁移方案
  • 【中间件】brpc_基础_butex.h
  • FastAPI中的复杂查询与原子更新指南
  • 【Linux】Petalinux U-Boot
  • 【中间件】brpc_基础_bthread头文件
  • 精益数据分析(36/126):SaaS商业模式的指标动态与实践案例
  • 数据分析_问题/优化
  • 力扣838.推多米诺随笔
  • 变转速振动信号分析处理与故障诊断算法模块
  • C++ 动态内存管理
  • 五一假期首日,上海外滩客流超55万人次
  • 德国旅游胜地发生爆炸事故,11人受伤
  • 乌方公布矿产协议详情:未提债务义务,包含美再援助条款
  • 城市更新·简报│中央财政支持城市更新,倾斜超大特大城市
  • 中央党校(国家行政学院)举行2025年春季学期第一批进修班毕业典礼
  • 郭向阳任广东省公安厅分管日常工作副厅长(正厅级)