DC系列靶场---DC 2靶场的渗透测试(一)

信息收集

Nmap扫描

nmap -sV -p- -sC -T4 172.30.1.141

域名解析

echo '172.30.1.141 dc-2' >> /etc/hosts

目录枚举

gobuster dir -u http://172.30.1.141 -w work/lab/CTF/ATT_CK_01/SecLists-master/Discovery/Web-Content/big.txt -x .php,.rar,.html,.zip -t 20 -b 403,404

从目录结构应该确定这是一个wordprassCMS

HTTP探测

我们可以看到这是一个WordPress的CMS,还可以看到一个Flag。

从这个Flag1的提示中,我们得知了一个工具cewl

cewl字典生成器(字典)

CeWL ( Custom Word List generator)是一个用 Ruby 编写的自定义单词列表生成器,旨在将关键字从指定的 URL 提取到给定的深度。

这些关键字可作为密码破解工具的潜在条目,例如 John the Ripper, Medusa, and Wfuzz。

也就是cewl通过爬取网站生成字典文件。

用法很简单,cewl 选项 URL地址

cewl -d 2 -m 5 -w dc-2.txt http://dc-2

-d 爬取的深度 默认为2

-m 生成密码的最小长度 默认为3

-w 保存写入指定的文件

-e 包括电子邮件地址

-c 计算单词在网站重复的次数

--with-numbers 生成的密码中包含数字

也可以-c计算单词在网站中出现的次数

-e 爬取网站中的电子邮件地址

--with-numbers 生成的字典中包含数字,有些网站没有数字所以爬不出来

这里就是通过爬取网站生成的字典文件

用户枚举

Wpscan:是一款开源的命令行工具,‌ 专门用于扫描和识别WordPress网站中的漏洞和安全问题。‌

wpscan --url http://dc-2 -e u

-e ,--enumerate枚举

枚举用户 u

枚举有漏洞插件 vp

我们通过wpscan找到了三个用户名,分别为admin、jerry、tom。

密码字典文件有了,用户名字典文件也有了,我们进行暴力破解。

暴力破解

首先分写入用户名,保存为user.txt

cat << EOF >> user.txt  //交互式,以EOF结束

然后我们使用wpscan进行暴力破解

wpscan --url http://dc-2 -U work/exam/user.txt -P dc-2.txt

-P 指定密码字典

-U 指定用户字典

--url 指定URL

得到了jerry用户的密码和tom用户的密码

我们尝试一下那个用户可以登录到网站后台的管理系统。

网站管理后台地址:http://dc-2/wp-admin/

我们使用jerry用户成功登录后台,我们看一下这个网站中有没有flag。

我们在这个网站的Pages选项卡中看到了flag2

flag2中说无法利用WordPress并采取捷径,还有另一种方法。希望你找到了另一个切入点。

漏洞探测及利用

ssh登录

另一个切入点,就是我们扫描的时候看到开放了一个ssh服务。我们可以尝试远程连接,我们尝试一下这两个用户哪个可以通过SSH进行远程登录。

ssh tom@172.30.1.141 -p7744

Tom用户是可以通过ssh进行远程连接的,但是端口号要指定为7744,因为我们通过nmap扫描到了7744端口为ssh服务。

ifconfig

rbash逃逸

我们在使用命令的时候发现不能执行,没有这个命令,还发现了一个-rbash

什么是rbash?或 /usr/bin/lshell

受限shell是Linux Shell限制一些bash shell中的功能,并且是从名字上很清楚。 该限制很好地实现了命令以及脚本在受限shell中运行。它为Linux中的bash shell提供了一个额外的安全层。

主要是因为管理员给tom用户限制了bash,我们可以通过环境变量看一下,我们tom用户可以使用哪些命令

echo $PATH
ls /home/tom/usr/bin

我们只能使用这四个命令,那我们可以逃逸限制

方法:利用系统常见应用逃逸

[1]ftp

[2]more //分页查看

[3]less //分页查看

[4]man //查看帮助

[5]vi

[6]vim

以上在输入的地方输入!/bin/sh 或 !/bin/bash,只要有交互式我们就可以进行逃逸。

我们是可以使用vi的,所以我们通过vi这个命令来进行逃逸。

Vi随便编辑一个文件

set shell=/bin/sh

回车在回车输入shell回车

shell

我们就得到成功逃逸了

相关推荐
binishuaio3 分钟前
Java 第11天 (git版本控制器基础用法)
java·开发语言·git
小奥超人4 分钟前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
zz.YE5 分钟前
【Java SE】StringBuffer
java·开发语言
就是有点傻9 分钟前
WPF中的依赖属性
开发语言·wpf
洋24017 分钟前
C语言常用标准库函数
c语言·开发语言
进击的六角龙19 分钟前
Python中处理Excel的基本概念(如工作簿、工作表等)
开发语言·python·excel
wrx繁星点点20 分钟前
状态模式(State Pattern)详解
java·开发语言·ui·设计模式·状态模式
熊的猫28 分钟前
JS 中的类型 & 类型判断 & 类型转换
前端·javascript·vue.js·chrome·react.js·前端框架·node.js
NoneCoder37 分钟前
Java企业级开发系列(1)
java·开发语言·spring·团队开发·开发
苏三有春38 分钟前
PyQt5实战——UTF-8编码器功能的实现(六)
开发语言·qt