前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Vulnhub之DC-2过关记录

Vulnhub之DC-2过关记录

作者头像
刘銮奕
发布2020-08-12 15:20:36
5810
发布2020-08-12 15:20:36
举报
文章被收录于专栏:奕知伴解

DC-2描述:

参考链接:https://www.five86.com/dc-2.html

步骤流程图

工具使用:

nmap

cewl

wpscan(wordpress 扫描)

find 提权

环境准备

1.下载DC-1靶机 2.将DC-2.ova导入到VMware中(具体流程:略) 3.用ip addr查看本机IP

自己Kali作为攻击工具主机地址为:192.168.33.110

信息收集

a.主机探测

(因为从Vulnhub中下载得到的DC-2靶机,通过DHCP获取得到地址)

代码语言:javascript
复制
root@kali:~# nmap -sP 192.168.33.0/24

通过对比分析得到,DC-2靶机的地址IP为:192.168.33.129

b.扫描主机

(探测靶机开放的端口和对应的服务)

代码语言:javascript
复制
root@kali:~# nmap -sS -sC -sV -p-192.168.33.129

从扫描的结果可知,80端口开放,默认ssh的22端口被更改为7744

c.信息验证

访问 http://192.168.33.129

没想到竟然访问不通。但此时仔细观察我们访问http://192.168.33.129,重定向到了http://dc-2

所以我们通过vim 编辑 /etc/hosts添加主机解析

再次再浏览器上输入http://dc-2可以进行正常访问,打开之后看到是使用wordpress的cms框架搭建的主页。主页上面有Flag字样,点击进入内容如下:

Flag1内容大概意思是:常用的字典列表不好使了,需要使用cewl一下;密码越多越好,但是你不可能得到所有的密码;登录来看看下一个提示。

3.渗透测试

a.flag2.txt

按照提示,使用cewl(是一个字典生成工具,能爬取指定页面生成密码字典)。

使用cewl -h 获取帮助得知参数意义

使用命令:

代码语言:javascript
复制
root@kali:~#cewl -w dc2_passwd.txt http://dc-2/

现在有了密码字典,但是还不知道用户名,这个时候搜索一下看看kali针对wordpress 的cms有没有什么扫描器

搜索结果得知,可以使用wpscan来实现扫描功能。 使用命令

代码语言:javascript
复制
root@kali:~# wpscan --url http://dc-2/ -e u
(-e u是枚举用户名,默认从1-10)

从扫描的结果来看,可以得到wordpress版本:4.7.10;wordpress的主题:twentyseventeen;有三个用户admin jerry tom

现在确定了已知的用户名和密码范围的密码文件,下面肯定也知道我要做什么了!没错就是暴力猜解。 从wpscan的帮助可看到可以实现上述功能,从而继续使用该工具。

把3个用户名保存dc2_username.txt之中

暴力猜解使用命令: root@kali:~# wpscan —url http://dc-2/ -Udc2_username.txt -P dc2_passwd.txt

通过枚举发现 jerry 和 tom的密码。

进一步寻找后台登录页面进行登录 使用dirb 目录遍历工具进行遍历 使用命令:

代码语言:javascript
复制
root@kali:~# dirb http://dc-2

从扫描结果可知地址:http://dc-2/wp-admin/可以进行利用。使用jerry用户和密码进行登录

点击后台各个页面,发现了一个flag2页面

大概意思是:如果你没有办法从wordpress突入,那么需要找到另外一个入口点

b.flag3.txt

这时回想还有一个ssh 7744端口处于开放状态,些许还可以利用。话不多说,直接连接开干。

使用jerry用户名并不能ssh登录,使用tom用户再次尝试,成功进入。

查看机器中有哪些文件,ls当前有一个flag3.txt使用cat more命令查看均报错

再更换常用查看命令less ,成功查看。

大致意思是:可怜的老汤姆总是在追求杰瑞。也许他应该为他所造成的压力而道歉。 这里是不是看不明白了。这里如果翻译就失去了提示的意义。flag3.txt的提示目的是下一步进入jerry。

但很明显此时的shell是rbash,所以 shell被限制了。这里就一个疑问还有可以允许哪些命令查看。翻看查看得到usr目录下得知。

可使用less ls scp vi等命令。 查看各位表哥绕过的方式可以通过尝试从vi切换到bash。(留下了没有技术的眼泪) 输入 vi 之后:

代码语言:javascript
复制
:set shell=/bin/bash
:shell
``

查看此时环境变量PATH,得知只有当前usr下的bin文件,所以还需设置环境变量

代码语言:javascript
复制
tom@DC-2:~$ export PATH=/bin:/usr/bin:$PATH
tom@DC-2:~$ export SHELL=/bin/bash:$SHELL

这时我们发现可以使用的命令不再没那么局限。

c.flag4.txt

尝试使用su jerry 进行用户切换。

成功进入。查看jerry用户下有哪些文件。 ls 提示没有权限发现在tom的家目录下

执行cd /home/jerry家目录下,查看得到flag4.txt

flag4.txt文件内容大概意思是:很高兴看到你已经走了这么远,但你还没有到家。您仍然需要获得最后的标志(惟一真正有意义的标志!!)。这里没有提示——你现在只能靠自己了。

最后还有一句 go on – git 可知提示下面是关于git的相关操作

d. final-flag.txt

现在都在非root权限下,目前首要问题要来点高权限可执行操作才行。 这里试试find提权,尝试找到具有root权限的suid

执行命令:

代码语言:javascript
复制
jerry@DC-2:~$ find / -perm -u=s -print2>/dev/null

发现有sudo 可以进行利用,再结合提示给的git,可以进行搜索利用方式了。

得知执行sudo git help status,加上 ! /bin/bash便可提权

此时可以看到我们已经成功提权,成为root用户身份。 根据前几个flag存放的位置都是都在相应用户的家目录,所以我们直接到root家目录直接寻找flag文件即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奕知伴解 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • DC-2描述:
  • 环境准备
  • 信息收集
    • a.主机探测
      • b.扫描主机
        • c.信息验证
        • 3.渗透测试
          • a.flag2.txt
            • b.flag3.txt
              • c.flag4.txt
                • d. final-flag.txt
                相关产品与服务
                网站建设
                网站建设(Website Design Service,WDS),是帮助您快速搭建企业网站的服务。通过自助模板建站工具及专业设计服务,无需了解代码技术,即可自由拖拽模块,可视化完成网站管理。全功能管理后台操作方便,一次更新,数据多端同步,省时省心。使用网站建设服务,您无需维持技术和设计师团队,即可快速实现网站上线,达到企业数字化转型的目的。
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档