
Kioptrix-Level Two 综合靶机实战思路
确定攻击靶机
- 老样子先确定攻击靶机,多了个数据库服务
- 攻击机:192.168.38.128
- 靶机:192.168.38.131
信息搜集
web服务80/443
页面信息
- 为一个登录页面,尝试使用SQL注入
1'or'1'='1
就进去了存在Sql
注入。不过页面目前没发现什么东西。 - 目录扫描到一个路径访问似乎是一个文档
- 文档路径,不同语言内容类似,就是语言不一样
- 获取网站指纹信息
- nmap获取服务版本信息获取。
数据库服务|3306
- 尝试连接提示没有开启连接,几乎无解
远程连接服务|22
- 连接测试,提示无密钥交换方式需要后续去添加。
IPP(CUPS)|631
- 可以通过web页面打开,不过没有任何东西就知道一个版本号码。属于网络打印服务
整理信息
- 操作系统:Red Hat Linux
- 内核版本:Linux 2.4.9
端口 | 服务 | 版本信息 | 备注 |
---|---|---|---|
22/tcp | ssh | OpenSSH 3.9p1 (protocol 1.99) | 交换方式需要添加 |
80/tcp | http | Apache httpd 2.0.52 (CentOS) PHP4.3.9 | 存在SQL注入 |
111/tcp | rpcbind | 2 (RPC #100000) | |
443/tcp | ssl/http | Apache httpd 2.0.52 (CentOS) PHP4.3.9 | 存在SQL注入 |
631/tcp | ipp | CUPS 1.1 | 打印服务 |
3306/tcp | mysql | MySQL (unauthorized) | 无法远程连接 |
搜索攻击点
历史漏洞POC
SSH | 3.9p1
- 有一个命令执行但是缺少相关服务,只有用户枚举服务。
Web| 80,443
- 只有一个GET拒绝服务符合
CUPS|631
- 除开第一个文件上传的,还有几个拒绝服务和本地提权可以使用
测试攻击
Web服务
- 前段有个SQL注入回去看看
吃了不细看的亏,没注意到他源代码错误的 - 根据他表单提交的路径为
pingit.php
,传参为POST
传参,传参点为submit
表单按钮(必须),ip
- 为什么必须要
submit
看HTML的类型为提交按钮,在前段需要按了提交按钮表单的内容才能被提交上去,所有是要必须带上的!!!,enctype
为提交类型选择表单提交。
- 为什么必须要
- 可以
ping
那么就可能会存在REC
远程代码执行 - 大概确定了目标机器上没有
nc
命令,只能通过bash
将shell
弹到攻击机上面
#传参,&要经过Url编码变成%26,多个参数之间用的不要进行编码,如果不行就修复表单提交 |
bash
反弹到攻击机上面,先监听再EXECUTE
正常显示表单方法
- 刷新登录后的页面,使用Burp Suite抓取请求包,右键拦截响应包后
forward
- 将响应包的那个多的点删掉后关掉拦截就可以了
提权
- 可以看到当前的用户为
apache
用户,需要对当前用户权限进行提升,想了想之前看到的CUPS
的提权漏洞可以试试 - 不支持,缺少相关的环境架构(x86)不符合。
信息搜集
- 查看系统的版本和内核确定有没有相关的漏洞
- 查找相关版本漏洞
- 查看版本和内核都符合要求
- 传到靶机上面
- 编译执行
本文是原创文章,采用CC BY-NC-SA 4.0协议,完整转载请注明来自XenoEcho's Blog
评论 ()