靶机:DC-2    192.168.56.103

攻击机:Kali   192.168.56.1

今天就来挑战DC-2了,我也是看网上的教程才过的这关,不过其中很多过程都有自己的理解和思路。这篇笔记主要用于个人学习笔记。如果有不对之处,很欢迎大佬们教我。

探寻靶机

使用nmap先把DC-2找出来

DC-2 详解其中限制shell的绕过

然后具体探测开放端口,这里是默认探测常开放的1000个端口

DC-2 详解其中限制shell的绕过

找到80端口,在浏览器输入http://192.168.56.103发现不能连接,而且url处地址自动跳转为http://dc-2

可以这里不允许ip地址访问吧,根据坐着提示,我们去修改hosts文件,让这个ip地址映射到这个域名,通过域名也可以访问。

DC-2 详解其中限制shell的绕过

然后就可以正常访问了

DC-2 详解其中限制shell的绕过

渗透过程

浏览下网页,然后就找到了flag1

DC-2 详解其中限制shell的绕过

翻译一波:你需要获取一个用户登录获取下一个flag。如果这个用户看不到flag就换个用户吧,所以并不用找出全部用户。可能普通的字典无法使用。(账号密码**的方式吧,又在内涵我?)。这种情况你可能需要cewl。

Cewl应该是指一个工具。CeWL是一款以爬虫模式在指定URL上收集单词的工具,可以将它收集到的单词纳入密码字典,以提高密码**工具的成功率。

网站并没有什么多余的内容,至于在哪登录都需要我们去寻找。这里我们先看一下CMS,CMS为wordPress。先来介绍一波。

WordPress是全球流行的博客网站,全球有上百万人使用它来搭建博客。他使用PHP脚本和Mysql数据库来搭建网站。

Wordpress作为三大建站模板之一,在全世界范围内有大量的用户,这也导致白帽子都会去跟踪 WordPress的安全漏洞,Wordpress自诞生起也出现了很多漏洞。Wordpress还可以使用插件、主题。于是Wordpress本身很难挖掘什么安全问题的时候,安全研究者开始研究其插件、主题的漏洞。通过插件,主题的漏洞去渗透Wordpress站点,于是WPScan应运而生,收集 Wordpress的各种漏洞,形成一个Wordpress专用扫描器。

DC-2 详解其中限制shell的绕过

我们这里主要使用wpscan工具

使用wpscan爆出用户

先查看用户信息吧,这里说明下啊wpscan的扫描原理,大概就是**大量url,通过正确的有相应响应的url来获取用名。如果网站对ip地址同时访问次数有限制,这种方法可能就不好用了。

DC-2 详解其中限制shell的绕过

使用cewl制作密码字典

这里爆出来3个用户,我们使用提示的消息,使用cewl来制作密码字典

DC-2 详解其中限制shell的绕过

看了一下默认情况下记录了两百多关键词

DC-2 详解其中限制shell的绕过

使用字典**密码

然后使用这个字典来**吧。这里**方式很多,找到后台登录页面了最好**。最方便的就是利用wpscan接着**了。

DC-2 详解其中限制shell的绕过

这里成功得到两个用户和密码。

jerry adipiscing

tom parturient

现在就差找到后台页面了

**目录

dirbuser和dirb的比较

我这里使用了两个工具,dirbuster和dirb。这两个工具各有优势。先看下结果吧。

DC-2 详解其中限制shell的绕过

就使用过程而言,Dirb很快,dirbuster就慢的多了。就结果而言,dirb要扫的多一点,而且要深一点。

先来对比下两方的字典是不是有很大的区别。

Dirb的common.txt,中间有4600行数据,细看了下,都是一级目录(没有用/隔开的数据),然后dirb扫描的结果却有2到3级后的目录,也许就这是递归查询吧。速度这么快也是没想到。

DC-2 详解其中限制shell的绕过

看了下dirbuster的directory-list-1.0.txt

DC-2 详解其中限制shell的绕过

确实多,多了三倍有于,但时间上感觉却远不止3倍。

所以总结下,在kali上视乎dirb更好用。但是dirbuster也有不可取代之处,如可以配置文件后缀名,通过gui可以直观看到文件结构。

说了这么多,先打开我们扫描的目录看看

有用的目录有http://dc-2/wp-admin/

http://dc-2/wp-includes/

DC-2 详解其中限制shell的绕过

DC-2 详解其中限制shell的绕过

这里我们也总算知道找到了登录页面,后面个这个页面似乎等下能帮我们打开一些文件。

先使用前面**出来的用户名密码登录一下

Jerry用户就能找到flag2

DC-2 详解其中限制shell的绕过

可怜的tom连pages功能都没有

DC-2 详解其中限制shell的绕过

先看看flag2吧。

DC-2 详解其中限制shell的绕过

来吧翻译一波:如果你不可以通过exploit wordPress获取简单的途径,这里还有另外一条路,希望你能找到它。

可能就是使用msf利用wordPress的漏洞直接获取shell这条路径吧。

看来这条不能走通了。但秉着学习的态度,我们还是来尝试一下。

尝试msf

启动msf,搜索wordPress

DC-2 详解其中限制shell的绕过

其实收到不少,看下有什么用

DC-2 详解其中限制shell的绕过

不出意外的失败而归。

没有捷径可走,那我们就尝试一下网页有没有上传点什么。

寻找上传点

Jerry用户拥有上传功能

DC-2 详解其中限制shell的绕过

在上传过程中发现了前端过滤

DC-2 详解其中限制shell的绕过

后缀名过滤

DC-2 详解其中限制shell的绕过

改为jpg后缀后还是不能上传,难道文件头文件内容也会检查

DC-2 详解其中限制shell的绕过

这个时候我才想起上传一张图片

发现图片也上传不了,没有权限写如文件。那我想弱弱文句,留这个功能干嘛。

DC-2 详解其中限制shell的绕过

转换端口

如果在这个网页上找不到更多的利用方式,就是说明在80端口希望不大的情况下,我们可以去尝试下其它端口,前面我们用的默认扫描,只会扫描常用端口,现在我们把所以端口扫描完。

DC-2 详解其中限制shell的绕过

发现一个7744端口,具体一看

DC-2 详解其中限制shell的绕过

发现这是个ssh端口

使用我们前面登录的用户连接上来

DC-2 详解其中限制shell的绕过

发现只有tom可以登录,tom站了起来!

绕过限制shell

DC-2 详解其中限制shell的绕过

这个能运行的命令少的可怜呀,我们要想办法绕过这个rbash

先收集一下现在能运行的命令

DC-2 详解其中限制shell的绕过

打算修改环境,但是没有权限

DC-2 详解其中限制shell的绕过

我们通过vi获取一个不同的shell,然后export发现系统变量没了前面的权限

vi怎么绕过rbash的和后面怎么使用git提权的方法都在这个连接里。

https://www.freebuf.com/articles/system/188989.html

DC-2 详解其中限制shell的绕过

我们就可以成功修改了,加一个/usr/bin好像不够

DC-2 详解其中限制shell的绕过

再加一个/bin/

DC-2 详解其中限制shell的绕过

这下够了

后面我去测试了下,只添加/bin时也可以执行这些命令,但是不能执行whoami

我们这里大概也能猜到这些命令在什么环境下可以用了。为了用全命令,所以我们添加了这两个环境。

也可以使用功能下面命令看看两个环境中的命令有什么不同

DC-2 详解其中限制shell的绕过

查看flag3

DC-2 详解其中限制shell的绕过

回到flag3,翻译一波,可怜的老汤姆老是追杰瑞,tom应该su所有它所造成的压力。

外国人的语法真难理解。大概就是tom用su切换到jerry上吧。前提是tom有密码。这不是巧了吗,我们真有密码。

cat /etc/passed

可以看到确实存在Jerry用户。

DC-2 详解其中限制shell的绕过

Jerry别怪我无情了,su Jerry用户

DC-2 详解其中限制shell的绕过

注意这里其实我还是在tom目录下,没有什么权限,

回到自己目录,发现下面有一个flag4

查看flag4

DC-2 详解其中限制shell的绕过

翻译一波:

很高兴你能走到这里,但你还没有到家呢。你仍然需要获得最后的flag。现在开始,你甚至没有提示。加油吧。

提权

先看下哪些命令有suid权限,发现sudo

DC-2 详解其中限制shell的绕过

输入sudo -l查看sudo能执行什么命令

DC-2 详解其中限制shell的绕过

发现可以执行/user/bin/git命令

我知道的是在输入git help status时,会进入一个页面,然后输入!/bin/sh可以进入命令执行页面,使用什么用户进入这个页面,这个页面就拥有什么权限区执行。这里我们拥有sudo,可以暂时成为root用户,但是已经够我们提升为root用户了。

我们使用sudo git help status和 !/bin/sh便可提权

DC-2 详解其中限制shell的绕过

在git manual界面输入!/bin/sh

DC-2 详解其中限制shell的绕过

便实现提权

查看final-flag.txt

DC-2 详解其中限制shell的绕过

最后翻译一波:恭喜恭喜,感谢感谢。哈哈哈!

总结

本关主要是利用wordPress框架的漏洞,这个框架主要是用来搭建博客的,使用wpscan专门利用该cms的漏洞。通过wpscan查找到服务器的关键用过tom和Jerry。可以想想自己的博客一般都会发布和自己兴趣有关的东西,某些东西可能就会暴露密码,通过cewl爬去网页获取关键词密码。通过wpscan利用爬取的字典,**出密码。然后使用密码登录。发现其中一个用户的功能更多,并从中获取了敏感信息。

经过漏洞的挖掘,和msf上面已经存在的漏洞探测,发现这个网站可能并没有好利用的漏洞。我们便转换思路,寻找其它端口。通过扫描所有端口,发现了一个开放ssh的端口,加上我们前面获取的密码,我们便可以成功登录ssh服务。登录后发现我们的shell受到了很大的限制。只能运行有限命令如vi。我们便通过vi绕过受限shell,修改了环境变量,给我们添加了很多命令的使用,我们便使获取了该用户的基本全部shell能力。

通过su我们可以获取其它用户的敏感信息。最终我们找到sudo和git的缺陷,成功利用这两个命令提权为root权限。

 

 

 

相关文章:

  • 2021-07-19
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-10
  • 2021-12-30
猜你喜欢
  • 2022-02-21
  • 2022-12-23
  • 2021-11-20
  • 2021-07-15
  • 2021-04-22
  • 2021-12-04
  • 2022-03-02
相关资源
相似解决方案