vulnhub Five86-1
- 0X01 Main Point
1.sploitdb的使用
2.crunch字典生成和john爆破的混搭
3.利用kali进行SSH和靶机连接
4.sudo -l查看用户被授予其它权限的文件 - 0X02 前期嗅探和端口探测
arp-scan -l
得到靶机IP:
nmap -sS -A -p- 172.20.10.3
扫描靶机IP的端口开放情况:
10000端口值得引起注意,登录需要密码。
先访问80端口,发现没有任何东西,国际惯例扫目录即可。
查看robots.txt
发现/ona/
目录,只是普通用户,是opennetadmin。
OpenNetAdmin是一个IP网络地址和主机管理系统,拥有轻爽的Ajax接口,我们查看其版本:v18.1.1
sploitdb查看有无其历史版本的漏洞可以利用:
正好有Metasploit接口的脚本可以利用,但是kali本地上搜索不到此脚本,下载后把它放在/usr/share/metasplot-framework/modules/exploits/
,这是metasploit存储脚本的地方。reload_all
重新加载msf即可,搜索脚本名称利用该脚本。
将各种需要的配置设置好之后exploit
,成功得到www-data用户的shell:
ls -la
查看隐藏文件,发现一个可疑文件,打开后得到hint:
密码长度是10,且包含aefhrt,使用crunch生成口令字典,再利用john进行爆破。
- Crunch是一种创建密码字典工具,按照指定的规则生成密码字典,可以灵活的制定自己的字典文件。使用Crunch工具生成的密码可以输出到屏幕,保存到文件、或另一个程序。由其在渗透测试需要爆破的时候,字典的编排等直接影响到我们的爆破速度,对整个渗透测试流程起着十分重要的作用。
使用语法和参数:
crunch <min> <max> [options]
详细使用:
max 设定最大字符串长度(必选)
oprions
-b 指定文件输出的大小,避免字典文件过大
-c 指定文件输出的行数,即包含密码的个数
-d 限制相同元素出现的次数
-e 定义停止字符,即到该字符串就停止生成
-f 调用库文件(/etc/share/crunch/charset.lst)
-i 改变输出格式,即aaa,aab -> aaa,baa
-I 通常与-t联合使用,表明该字符为实义字符
-m 通常与-p搭配
-o 将密码保存到指定文件
-p 指定元素以组合的方式进行
-q 读取密码文件,即读取pass.txt
-r 定义重某一字符串重新开始
-s 指定一个开始的字符,即从自己定义的密码xxxx开始
-t 指定密码输出的格式
-u 禁止打印百分比(必须为最后一个选项)
-z 压缩生成的字典文件,支持gzip,bzip2,lzma,7z
crunch
生成字典:
利用之前得到的douglas用户的加密密码,john
进行爆破:
得到douglas用户的密码,结合之前查看/etc/passwd
的结果,可以尝试SSH连接,10000端口使用该口令无法登陆,/reports
网址同样需要密码,依然无法登陆,先SSH douglas用户:
ls -la
没有收获,sudo -l
发现douglas用户可以以jen用户使用/bin/cp
命令
思路:
先echo
将kali的SSH公钥写入/tmp
路径下,接着sudo -u jen
使用/bin/cp
命令来将kali的SSH公钥复制到jen用户/home/.ssh/authorized_keys
下,从而kali进行SSH登录jen用户。
ssh [email protected] -p 22(这里使用的是空密码)
提示你有新的邮件,打开查看:
直接su切换moss用户:
ls -la
查看有隐藏文件夹.games
进入后可以打开.upyourgame
:
进入后发现直接得到root
权限,得到最终flag:
写到此处不知道10000端口
的作用以及/reports
目录的用途是什么,或许这道题有其他途径提权或者得到flag。