下载靶机之后打开VMware导入ova靶机文件,设置为NAT模式开启虚拟机。
开启我们的kali,使用命令arp-scan -l查看网段所有主机,发现192.168.13.140为目标靶机
使用nmap对140进行详细的扫描,发现开启22和80端口
接下来去访问一下140的80端口发现是一个apache服务器搭建的web网页
接下来使用dirmap进行目录的扫描,发现robots.txt和secret目录
打开robots发现是一句话:Hello H4x0r,有可能是用户名
这里escret打开是一个空文件,接着进行目录下的文件名爆破。这里我使用dirmap和dirsearch都没能扫出来,但是用gobuster却可以扫出来,他们的字典都是一样的但是工具不一样扫出来的结果也不一样。
gobuster dir -u 192.168.13.140/secret/ -w /usr/share/wordlists/dirb/big.txt -t 100 -x php
但是依然是一个空文件,应该需要什么参数吧,那就需要参数名爆破,我们可以使用ffuf,详细可以参考Ffuf爆破神器(超详细)-CSDN博客https://blog.csdn.net/weixin_44288604/article/details/128444485
ffuf -c -r -u 'http://192.168.13.140/secret/evil.php?FUZZ=/etc/passwd' -w /usr/share/seclists/Discovery/Web-Content/common.txt -fs 0
-c:高亮输出
-r:跟随重定向
-fs 0:过滤掉空白的响应页面
-w:字典
发现command可以用
这是一个可登录用户mowree
尝试查看evil.php的源代码是一串base64加密代码
只能在文件里找信息了,后来发现可以通过ssh mowree@192.168.13.140 -v
查看到可以通过私钥连接ssh
接下来去查看有没有私钥信息,存放位置在/home/mowree/.ssh/id_rsa
将这串私钥复制到kali里面去然后使用私匙进行登录时发现还需要密码才可以,我们利用ssh2john生成hash.txt文件,命令:
ssh2john id_rsa > hash.txt
然后使用john进行密码的破解,命令:
john --wordlist=/usr/share/worlists/rockyou.txt hash.txt
成功获得密码:unicorn。
特别提醒,要将私钥的权限设置为600才能成功使用私钥登录
拿到第一个flag
接下来进行提权,sudo命令使用不了
查看当前用户下具有root权限的可执行文件都有哪些,命令:
find / -perm -4000 -type f 2>/dev/null。
这里我看了一下其他人的操作,他们是通过直接修改passwd文件来登录root用户的
我生成的密码是123456,于是将他复制到/etc/passwd
然后便可以成功切换到root
拿到最后的flag。
总结:
- 目录的爆破,多扫描器的切换使用(ffuf模糊测试)
- Ssh登录密钥爆破(ssh-v 查看是否自持公私钥连接,john爆破私钥密钥)
- 发现/etc/passwd有666写入权限尝试修改root权限用户(/etc/passwd提权)