Mr-Robot1靶场练习靶场推荐小白入门练习靶场渗透靶场bp爆破wordpress

下载链接:

Mr-Robot: 1 ~ VulnHub

安装:

打开vxbox,菜单栏----管理----导入虚拟电脑

选择下载完的ova文件,并修改想要保存的位置(也可以保持默认位置)

导入完成后可以根据自己的情况去配置网络链接方式

完成后即可打开虚拟机

正文:

先用nmap扫描靶机ip

nmap -sn 192.168.1.1/24

获取到靶机ip后,对靶机的端口进行扫描,并把结果输出到Mr-Robot1文件夹下,命名为port方便后续查看

nmap -p- 192.168.1.5 -r -PN -oA Mr-Robot1/port

(-p-:对所有端口进行探测

   -PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标

    -oA:输出到指定位置

     -r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御

系统检测到的风险。

对端口指纹进行详细探测,并把结果输出到SickOS文件夹下,命名为server方便后续查看

nmap -p 22,80,443 192.168.1.5 -sC -sV -r -O --version-all -A -oA Mr-Robot1/server

 (-p:对指定的端口进行探测

   -sV:版本信息

   -sC:默认脚本扫描

    -A:启动Os检测,版本检测,脚本扫描和traceroute

   -O:探测操作系统信息

   --version-all:尽可能多的探测信息)

访问80端口

WOW!  很炫酷啊

查看源代码并没有发现什么东西,我们对目录进行扫描看看(我选择只输出状态码为200的目录)

dirsearch -u "192.168.1.5" -I 200

这几个目录看来是有点东西的

访问admin目录,发现一直在刷新页面

那先访问/wp-login页面看看

是一个wordpress的登陆界面,经过bp插件测试(burp bounty pro),并没有sql注入漏洞

我们再去访问下其他目录,看有没有可以利用的东西

访问robots.txt目录

给到了两个地址,我们分别进行访问

访问第一个地址,发现下载了个文件

第二个地址则是我们需要找的密钥(该靶场一共需要找到三个密钥)

我们查看第一个下载的文件

看来我们可以用该文件对wp进行爆破

该文件一共有858160个数据

bp爆破:

如果我们对账号密码分别进行爆破,那估计时间就无法估量了,好在wp可以进行用户名枚举

在该位置,我们随便输入用户名就会提示用户名或者邮箱错误

那我们在此用bp进行抓包爆破用户名

右键发送到Intruder,进行爆破

我们选择狙击手模式(Sniper)进行单个爆破,然后选择user_login后的你所输入的用户名,点击右边的  添加payload(add)

然后选择上方的payload,并选择从文件加载,选择我们之前下载的文件

然后点击右上角的开始攻击

点击状态码,让他改变排序方式

我们发现当用户名为Elliot时,状态码改变了,那么该用户名大概率是存在的

我们返回刚才的页面对该用户进行尝试

看来该用户确实存在

我们再用同样的方法进行密码爆破

bp抓登录包,然后再次发送到Intruder,只不过这次设置的payload位置为pwd后方的参数,用户名在我们刚才枚举时已经知道了,所以不需要再设置

经过长达两个小时的爆破,我们终于得到密码了(T^T)

我们同样是点击状态码,改变排序方式,得到密码

至此我们得到了账号密码  Elliot:ER28-0652

登录成功,查看有没有上传点可以利用一下

获取shell:

我们可以在该位置改变一下语言,方便我们进行渗透

经过上传点的测试,我们发先在外观---编辑  页面可以直接编辑php代码

那可以直接在这里编辑好我们的木马文件,然后更新文件

在kali的/usr/share/webshells/php目录下默认有我们需要的木马文件,我们也可以进行自己编写

我们将改代码复制到页面编辑位置,并修改返回的ip地址以及端口(需要先在kali中打开nc进行端口监听再更新文件)

nc -lvvp 8080

(IP地址为kali ip)

我们选择404.php模板进行修改(该php页面可能比较容易访问,所以我们先进行尝试)

更新完文件后我们尝试对该文件进行访问

返回到nc界面,发现反弹成功

提权:

查找具有 Setuid 权限的文件的命令

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

发现有个nmap,看来可以不用查看计划任务了

也可以在该网站中查看其他可以利用suid进行提权的文件(GTFOBins)

在这里我们可以搜索nmap,然后查看suid的提权操作

最后经过测试,我们可以使用该命令进行提权操作

/usr/local/bin/nmap --interactive

!sh

提权成功

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

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

相关文章

数学建模--MATLAB基本使用

1.线性方程组 这个是一个线性方程组(属于线性代数的范畴),Axb类型的方程,如果使用MATLAB进行求解,就需要分别表示A矩阵(线性方程组未知数前面的系数),b矩阵(表示等式右边…

Linux应用编程 - sysfs方式操作GPIO

简介: 应用层想要对底层硬件进行操控,通常可以通过两种方式 /dev/目录下的设备文件(设备节点)​​​​​​​/sys/目录下设备的属性文件 通常情况下,简单地设备会使用 sysfs 方式操控&#x…

大数据-基础架构设施演进的过程

一、第一阶段-Hadoop 以Hadoop为代表的离线数据处理基础设施 1.1、围绕HDFS和MR,产生了一系列的组件 面向在线KV操作的HBase面向SQL的Hive面向工作流的PIG 1.2、随着对批处理性能要求越来越高,产生了Tez、Spark、Flink等计算引擎。RM模型也逐步进化成…

发现数据之美:探索数据可视化的艺术与技术

摘要: 数据可视化是将抽象的数据转化为图形化表达的过程,它不仅可以让数据更加直观易懂,还能够揭示数据背后的模式、趋势和关联关系。本文将深入探讨数据可视化的重要性,并通过详细的实例演示如何运用常见的数据可视化工具和库,如Matplotlib、Seaborn和Plotly,为读者呈现…

SpringAI——Java生态接入LLM

最近,Spring官网发布了SpringAI,可点此查看https://spring.io/blog/2024/03/12/spring-ai-0-8-1-released,对于SpringAI的介绍,可看官方文档:https://spring.io/projects/spring-ai#overview。 本文将使用SpringAI配合…

字符函数以及字符串函数

1.strlen的使用和模拟实现 • 字符串以 \0 作为结束标志,strlen函数返回的是在字符串中 \0 前⾯出现的字符个数(不包 含 \0 )。 • 参数指向的字符串必须要以 \0 结束。 • 注意函数的返回值为size_t,是⽆符号的( 易错 &#xff…

VSCode 远程调试C++程序打开/dev/tty设备失败的问题记录

概述 因为需要协助同事调试rtklib中的rtkrcv程序,一直调试程序都是用了vscode,这次也不例外,但是在调试过程中,发现程序在打开当前终端(/dev/tty)的时候,总是打开失败,返回的错误原因是“No such device o…

Python之requests实现github模拟登录

文章目录 github 模拟登录前言模拟登录流程抓包操作查看登录表单的内容登录操作 模拟登录操作在 main函数的调用获得 auth_token调用/session接口登录处理检测登录是否成功 总结: github 模拟登录 前言 前面学习了requests模块的基础学习后,接下来做一个…

Pytorch学习 day14(模型的验证步骤)

如何利用已经训练好的模型,验证它的结果,步骤如下: 步骤一:加载测试输入并更改为合适尺寸 保存图片到指定文件夹下,注意是否为同级目录注意:返回上一级目录为“…/xxx"有时,我们自己的输…

前端React篇之React的生命周期有哪些?

目录 React的生命周期有哪些?挂载阶段(Mounting)更新阶段(Updating)卸载阶段(Unmounting)错误处理阶段(Error Handling) React常见的生命周期React主要生命周期 React的生…

每日一练:LeeCode-14、最长公共前缀【字符串+最值判定】

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入:strs ["flower","flow","flight"] 输出:"fl"示例 2: …

27-Java MVC 模式

Java空对象模式 实现范例 MVC模式代表 Model-View-Controller(模型-视图-控制器) 模式MVC模式用于应用程序的分层开发 Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO 它也可以带有逻辑,在数据变化时更新控制…

渔业安全生产综合管理指挥系统-航迹数据优化方案

文章目录 引言I 轨迹数据模型II 轨迹信息索引III 数据同步方案3.1 多服务器多表同步3.2 增量数据同步3.3 执行IV 配置ESV 团队建设5.1 前端(web GIS)5.2 后端(Java)see also引言 背景: 目前系统查询轨迹数据比较慢的原因是没有进行读写分离,轨迹数据的查询和写入都是SQL…

Linux查看mysql安装目录

在Linux系统中,MySQL的安装目录通常位于/usr/local/mysql或/opt/mysql目录下。这些目录是MySQL在Linux系统中默认的安装目录,用户可以在这些目录下找到MySQL的所有文件和配置信息。 要查看MySQL的安装目录,可以使用以下命令: wh…

踏上机器学习的征程:探索基础概念与学习模式

摘要: 机器学习是当今科技领域最具前沿和应用价值的技术之一,它正在改变我们对数据的理解和利用方式。本文将引导读者深入了解机器学习的基本概念,包括监督学习、无监督学习和半监督学习等,并通过生动的例子解释这些概念,帮助读者迈出学习机器学习的第一步。 导言: 随着…

Ubuntu 如何安装 Beyond Compare?

Ubuntu20.04安装Beyond Compare 4.3.7 一、官网下载方式一:方法二:使用 .deb 包安装 二、安装相关依赖和bcompare三、破解常见错误解决方法 ) 文件比较工具Beyond Compare是一套由Scooter Software推出的文件比较工具。主要用途是对比两个文件夹或者文件…

AST解web控制流平坦化

此代码可以解决大部分 while if else 控制流平坦化原理: 先将 if 语句转为 switch 语句,再将 switch 分支合并,最后删除已合并的分支(具体看代码) 实现效果图 首先安装依赖: npm install babel/parser npm…

指针基础 - golang版

文章目录 1、指针2、基础语法2.1 定义指针2.2 取地址操作符 &2.3 解引用操作符 * 3、实战用法3.1 指针作为函数参数3.2 指针和结构体3.3 指针和接收者 1、指针 变量是存储值的地方;指针的值是一个变量的地址;不是所有的值都有地址,但是所…

【K8s】如何使用Kubernetes Ingress: Contour

使用Kubernetes Ingress: Contour 目录 使用Kubernetes Ingress: Contour没有 Ingress 控制器的情况Ingress 控制器的优势部署 Contour看到 Contour 在运行中总结推荐超级课程: Docker快速入门到精通Kubernetes入门到大师通关课AWS云服务快速入门实战在处理Kubernetes时会遇到…

Java后端八股-------并发编程

图中的 synchronized方法如果没有锁,那么可能会有超卖,数据错误等情况。 加锁之后会按顺序售卖。 synchronized的底层是monitor。 线程没有竞争关系的时候,引入了轻量级锁,当需要处理竞争关系的时候一定要用到重量级锁(线程的…