
HMV-Driftingblues3靶场复盘
这个靶场有意思,学到了一个ssh注入
端口扫描
1 | ┌──(root㉿kakeru)-[~/tmp] |
还是只开放22端口和80端口
web探测
主页是这样的,没有一点有用的信息
进行目录扫描
1 | ┌──(root㉿kakeru)-[~/tmp] |
扫出来一些可以访问的目录,探测之后,发现之后robots.txt里面有有用的信息
1 | ┌──(root㉿kakeru)-[~/tmp] |
1 | ┌──(root㉿kakeru)-[~/tmp] |
这个adminsfixit.php
文件里是ssh的日志文件
在这之前我还尝试了用出现过的用户名hydra爆破,但是这里的ssh不支持用密码登录。
这里卡住了我很久,我不知道怎么利用,先是以为可能有后门,用wfuzz扫了一下,然后每次都会出现一些新的字符,这里还有显示root有一个定时任务,但是也是没用。
看了wp知道要用的是ssh注入 因为这是php文件,就直接用php注入。但是要注意只能尝试一次。不然写错靶机就炸了
1 | ┌──(root㉿kakeru)-[~/tmp] |
我直接这么写不行,所以用msf中的auxiliary/scanner/ssh/ssh_login
这个模块也是新学到的 因为我们自己的ssh用这个用户名连不上,所以用换个登录方式
1 | msf6 auxiliary(scanner/ssh/ssh_login) > set rhost 192.168.80.81 |
然后就可以反弹shell了
提权
有两个用户lost+found和robertj 第一个用户的文件夹无法进入
看robertj的文件夹发现.ssh文件可以写入
1 | www-data@driftingblues:/home/robertj$ ls -al |
那就把公钥写到authorized_keys里
1 | www-data@driftingblues:/home/robertj/.ssh$ cat authorized_key |
1 | ┌──(root㉿kakeru)-[~/tmp] |
上传linpeas.sh 扫一下发现有一个文件有一个sgid
1 | [+] SGID |
我们当前的用户就是operators这个组的,拿到本地去ida里面看看
1 | int __cdecl main(int argc, const char **argv, const char **envp) |
所以会执行三个命令 ip a cat /etc/hosts username -a 由于这个问价有sgid 所以我们用环境劫持的做法
1 | robertj@driftingblues:/tmp$ export PATH=$PWD:$PATH |
pwned!
总结
- 学到ssh日志注入,其他的日志注入也是一个道理,这里用用户名作为注入点
- php文件除了后门还要多想想能不能插入代码
- 提权部分chmod +x /bin/bash bash -p 用了环境变量把执行的命令变成当前目录下面的命令