vulnyx Absolute writeup
信息收集
nmap
获取userFlag
web上就是一个默认的nginx页面,这里可以看到目标开启了smb服务,所以先针对smb服务做信息收集
smbmap -H 192.168.43.48
可以看到共享了一个web目录,可读可写,看一下它的内容
smbmap -H 192.168.43.48 -R web
有一个index.html,把这个web目录挂载到本地
mount -t cifs //192.168.43.48/web /mnt/web
目标smb可以匿名登录,所以这里直接回车即可
cat了一下index.html,发现它与web上的index.html并不是同一个文件,也就是说这个被共享出来的目录并没有在web的根路径下,可能在其它位置,也可能在web根目录下的某一个文件夹中,然后我去试着目录扫描了一下,没有什么收获。这里需要用到一个工具:rpcclient,这个应该是kali自带的,使用方式如下:
rpcclient -U '' -N 192.168.43.48
# -U:指定用户名和密码,格式为 'username%password'
# -N:无密码登录
连接上去后通过help可以查看能够使用的命令,这里可以用到两个命令来获取到web共享目录在目标系统上的绝对路径:
rpcclient $> netsharegetinfo web
或
rpcclient $> netshareenum
后面就简单了,通过smb写一个webshell上去,然后访问web反弹shell即可
去访问的时候发现要输入一个账密,这里的话我先试了一下admin、administrator、nginx作为用户名进行爆破,但都没有结果,那么这里的用户名应该不是一个常规的用户名,抓包看一下
用户名应该就是 m.howard 了,之后的爆破操作如下:
同时反弹shell也触发了
在/var/www/下可以拿到userflag
userflag:97d2920c0e8a20fe968827772a1249e2
获取rootFlag
看一下/etc/passwd
发现没有普通用户,sudo -l看一下
看一下rclone的帮助文档
通过这两个就可以去读root.txt了
同时还发现了root下是有私钥的,所以这里又可以去读私钥拿到root shell了,我还发现一个方案可以任意文件覆盖,利用的是rclone的move命令
这个就可以去覆盖/etc/passwd,添加一个后门用户上去拿到root shell,也可以覆盖/etc/sudoers,总之有很多方案都可以拿到root shell
rootflag:9eed0f832d36e8a764f8061824140210