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

ica1靶场攻略

将靶机导入xbox并设置网络为桥接模式kali也是设置为桥接模式

主机发现

使用kali扫描

靶机IP为172.16.2.62

用nmap 172.16.2.62扫描端口

发现开着22,80,3360,使用浏览器访问80端口

发现是一个登陆页面,使用dirb工具扫描网站的目录

在页面上看到是"qdPM9.2"框架

dirsearch -u 172.16.2.62:80 

 漏洞查询

searchsploit qdPM 9.2
发现其泄露密码信息,搜索50176.txt文件位置并查阅该文件信息

locate 50176.txt
cat /usr/share/exploitdb/exploits/php/webapps/50176.txt
50854.txt是一个CSRF(跨站请求伪造)漏洞,50176.txt是一个数据库的漏洞,想到扫描端口发现了3306端口(mysql数据库的默认端口号),猜测使用50176.txt这个文件介绍的漏洞,尝试使用wget去下载靶机上的databases.yml文件

漏洞利用

下载database.yml文件

wget http://172.16.2.62/core/config/databases.yml

cat databases.yml

发现数据库登录账户密码

username: qdpmadmin
password: UcVQCMQk2STVeS6J
连接数据库

mysql -h 172.16.2.62 -u qdpmadmin -p --skip-ssl

登陆成功使用show databases;查看数据库

分别查看qdpm staff sys三个数据库里面的数据,发现staff里面放着登陆的用户名和密码,先使用"use staff;"命令使用staff数据库,然后使用"show tables;"命令查看数据库中的表

使用"select * from login;"和"select * from user;"查看login表和user表里的的字段值

user表里面是用户名,login表里面是密码,但是密码被base64编码了,需要解码一下

使用Base64 在线编码解码 | Base64 加密解密 - Base64.us

一个一个解码

使用vim命令,将解码后的字符串放到passwd.txt里面,将user表里的用户名放到users.txt里面

利用hydra工具爆破用户名和密码(在这里爆破的是ssh协议,因为使用nmap扫描到了22号端口)

没成功后来发现用户名的首字母是大写,将用户名的首字母改成小写试了一下结果成功了

找的了两个用户,先用travis用户连接靶机(这里使用ssh连接)

ssh travis@172.16.2.62

连接成功,使用ls和cat命令查看文件

然后退出,使用dexter用户名连接靶机

使用ls和cat命令查看文件

这里需要提取,文件内容给了提示,需要使用suid提权,使用find命令找一下suid文件

find / -perm -u=s 2>/dev/null

查看/opt/get_access程序,发现里面的命令cat /root/system.info可以利用。如果伪造系统命令cat,里面包含提权命令,那么当普通用户执行/opt/get_access程序时,就会以属主的root权限执行假cat命令里的提权命令,从而让普通用户提权获得root权限。

查看/opt/get_access程序,发现里面的命令cat /root/system.info可以利用。如果伪造系统命令cat,里面包含提权命令,那么当普通用户执行/opt/get_access程序时,就会以属主的root权限执行假cat命令里的提权命令,从而让普通用户提权获得root权限

以root权限执行了cat命令,现在可以创建一个cat可执行文件,里面写/bin/bash,赋给cat执行的权限,并配置环境变量,当get_access程序执行到cat命令的时候就会执行伪造的cat程序,从而得到root权限

echo "/bin/bash" > /tmp/cat
chmod +x /tmp/cat
echo $PATH
export PATH=/tmp:$PATH
 /opt/get_access

进入root目录,查看root.txt文件,这里我使用的是tac命令查看的root.txt文件,因为使用cat命令,会直接执行我们伪造的cat程序,所有我使用的是tac命令,也可以将我们伪造的cat程序删除,就可以使用cat命令执行了

http://www.dtcms.com/a/306888.html

相关文章:

  • 二叉树算法之【二叉树的层序遍历】
  • python | numpy小记(八):理解 NumPy 中的 `np.meshgrid`
  • C++ Qt网络编程实战:跨平台TCP调试工具开发
  • 基于SpringBoot+MyBatis+MySQL+VUE实现的便利店信息管理系统(附源码+数据库+毕业论文+远程部署)
  • 虚幻基础:模型碰撞体
  • [Qt]QString 与Sqlite3 字符串互动[汉字不乱码]
  • C#垃圾回收机制:原理与实践
  • PyTorch 生态四件套:从图片、视频到文本、语音的“开箱即用”实践笔记
  • 电子电气架构 --- 汽车电子电气EEA架构开发流程
  • 通义万相文生图模型wan2.2-t2i-flash和wan2.2-t2i-plus全维度深度对比
  • Java试题-选择题(1)
  • 【C++】适配器模式手搓STL的stack和queue
  • LeetCode Hot 100:15. 三数之和
  • Nuxt3 全栈作品【通用信息管理系统】角色管理(含配置权限 -- 菜单权限 vs 操作权限)
  • 差分数组前缀和优化,降低时间复杂度
  • vue+elementui+vueCropper裁剪上传图片背景颜色为黑色解决方案
  • ‌我的第一个开源项目:跃动的心
  • 物流分拣漏检率↓78%!陌讯动态光流算法在包裹移动识别的技术突破
  • GCC链接技术深度解析:性能与空间优化
  • [mcp: McpSchema]-源码分析
  • 第1课:向量与矩阵运算
  • 搭建实时足球比分系统从零到一的实战指南
  • Day 4-1: 机器学习算法全面总结
  • 全新AI工具小程序源码 全开源(源码下载)
  • 深入浅出:在 Spring Boot 中构建实时应用 - 全面掌握 WebSocket
  • 解决 Docker 报错 “exec: no such file or directory”
  • 文件权限值的表示方法
  • PHP/Java/Python实现:如何有效防止恶意文件上传
  • Go 语言make函数
  • 输电线路绝缘子泄漏电流在线监测装置的技术解析与应用价值