4 系统初始连接模块:
当通道申请各部分通过后,开始系统登录的初始连接。从此数据包开始,所以虚拟通道层以上的网络数据都需要加密,详细的加密功能实现请参见加密模块。登录的网络信息结构如下:
内容
字节数
值(字节反存)
加密层及以下
XX
XX
空闲字节
4
0x00000000
自动登录标志
4
正常:0x33,自动:0x28
域名长度
2
若空为0,有值则乘2
用户名长度
2
若空为0,有值则乘2
密码长度
2
若空为0,有值则乘2
登录程序长度
2
若空为0,有值则乘2
登录路径长度
2
若空为0,有值则乘2
域名值
域名长度+2
2字节反存1字符,最后为2字节为0x0000
用户名值
用户名长度+2
2字节反存1字符,最后为2字节为0x0000
密码字符值
密码长度+2
2字节反存1字符,最后为2字节为0x0000
登录程序名称
登录程序长度+2
2字节反存1字符,最后为2字节为0x0000
登录路径值
登录路径长度+2
2字节反存1字符,最后为2字节为0x0000
5 图形连接模块:
在图形数据发送之前,服务器需要对此功能模块验证,验证内容是所有与图形相关的信息,包括鼠标设置、键盘输入、字体类型、画图命令格式、图形显示的各种类型。
根据已破解的信息显示,RDESKTOP原来并没有正确的赋值,因为它的返回值是没有固定的,对于服务器发送来的信息没有处理,而服务器在其关于图形方面的参数设置询问没有得到正确的回答时,则以固定的服务器端的参数进行设置。
5-1) 连接过程说明:服务器端首先发送关于图形方面的基本参数设置,客户端应该对这些设置进行反馈。此后rdesktop的处理是顺序发送同步信息,两个控制信息包,一个输入信息包,两个字体信息包;同时顺序接收一个同步信息包,两控制信息包,一个未知信息包;但redsktop并没有对接2收的信息包进行处理。
5-2)基本参数设2置信息包结构:
内容
字节数
值(字节反存)
加密层及以下
XX
XX
层后数据长度
2
XX
数据类型标志
2
11 00,表示是图形信息连接确认
基本通道号
2
ea 03,固定
基本通道号
2
ea 03,固定(share?)
未知数据1
2
01 00
ASCII信息长度
2
XX
基本参数长度
2
XX
ASCII信息
长度值+1
52 44 50 00,r->“RDP”,s->“MSTSC”
参数信息
2
r->0b 00,s->0d
空位
2
30或00
详细各组参数
组数
内容XX
5-3) 详细参数信息组类别:
每个类型的数据前2字节为类型,然后是长度,数据。以接收到优先作例介绍。
类型值
说明
01r
通用类型(general)
02r
位图类型(bitmap)
03r
命令(order)
04
位图缓存(bitmap cache)
05
控制(control)
07
活动(active)
08r
指针(pointer)
09r
共享(share)
0ar
颜色缓存(color cache)
0c
未知
0dr
未知
0e
未知
10
未知
12r
未知
14r
未知
16r
未知
40
未知
00r
未知
5-3-1) 通用类型(general->01)
内容
字节数
值(字节反存)
系统主类型
2
01 00,OS major type
系统次类型
2
03 00,OS minor type
协议版本号
2
02 00,protocol version
空数据1
2
00 00
压缩类型
2
00 00不压缩
空数据2
2
1d 04
更新属性
2
00 00
共享属性
2
00 00
压缩级别
2
00 00
空数据3
2
01 01
5-3-2) 位图类型(bitmap->02)
内容
字节数
值(字节反存)
最佳颜色深度
2
协商值
1颜色深度
2
01 00
2颜色深度
2
01 00
3颜色深度
2
01 00
桌面宽度
2
width
桌面高度
2
height
空位1
2
00 00
允许调整大小
2
01 00
位图压缩
2
01 00
未知数据1
2
00 00
未知数据2
2
01 00
空位2
2
00 00
5-3-3) 命令(order->03)
内容
字节数
值(字节反存)
Terminal desc1
16
0值
Terminal desc2
4
10 42 0f 00
缓存X间隔
2
01 00
缓存Y间隔
2
14 00
未知数据1
2
00 00
最大命令级别
2
01 00
字体数目
2
00 00
容量标志
2
22 00
命令支持格式
32
另见
文本容量标志
2
a1 06
未知数据2
6
00 00 40 42 0f 00
桌面缓存大小
4
40 42 0f 00
未知数据3
4
01 00 00 00
未知数据4
4
00 00 00 00
命令支持格式说明:共32个标志,只对已知标志进行说明。
字节位置,0-31
值含义,1代表支持,0代表不支持
0
Dest blt
1
Pat blt
2
Screen blt
3
Required for memblt
8
Line1
9
Line2
10
Rect
11
Desktop save
13
Memblt
14
Triblt
22
Polyline
27
Text2
5-3-4) 位图缓存(bitmap cache->04)
内容
字节数
值(字节反存)
未使用数据1
24
0值
Entries
2
58 02
Max cell size
2
00 01
Entries
2
2c 01
Max cell size
2
00 04
Entries
2
06 01
Max cell size
2
00 10
5-3-5) 控制(control->05)
内容
字节数
值(字节反存)
Control capability
2
00 00
Remote detach
2
00 00
Control interest
2
02 00
Detach interest
2
02 00
5-3-6) 活动(activer->07)
内容
字节数
值(字节反存)
Help key
2
00 00
Help index key
2
00 00
Extended help key
2
00 00
Window active
2
00 00
5-3-7) 指针(pointer->08)
内容
字节数
值(字节反存)
Color pointer
2
01 00
Cache size
2
19 00
未知数据1
2
19 00
5-3-8) 共享(share->09)
内容
字节数
值(字节反存)
基本通道号
2
ea 03
未知数据1
2
7d e1
5-3-9) 颜色缓存(color cache->0a)
内容
字节数
值(字节反存)
缓存大小
2
06 00
未知数据1
2
7d e1
5-3-10) 未知类型->d 收到:
内容
字节数
值(字节反存)
未知数据1
12
35 00 00 00 a1 06 00 00  40 42 0f 00
未知数据2
12
40 42 0f 00  44 e6 0a ba  93 53 19 ba
未知数据3
12
08 60 03 e1  6a 05 1a ba  4c e6 0a ba
未知数据4
12
4c a4 7d e1  08 a0 7d e1  01 00 00 00
未知数据5
12
08 a4 7d e1  00 00 00 00  44 e6 0a ba
未知数据6
12
54 f2 19 ba  08 a0 7d e1  38 e6 0a ba
未知数据7
12
00 00 00 00  08 00 0a 00  01 00 19 00
5-3-11) 未知类型->12 收到:
内容
字节数
值(字节反存)
未知数据1
2
01 00
未知数据2
2
00 00
5-3-12) 未知类型->14 收到:
内容
字节数
值(字节反存)
未知数据1
2
02 00
未知数据2
2
00 00
5-3-13) 未知类型->16 收到:
内容
字节数
值(字节反存)
未知数据1
12
01 00 00 00  6e 01 00 00  01 00 00 00
未知数据2
12
d0 07 40 bf  01 b0 83 bf  00 00 00 00
未知数据3
12
a4 e6 0a ba  5c db 4f 80  e6 01 00 00

此博文原地址为:http://blog.chinaunix.net/u/2244/showart_2154207.html

RDP协议详细解析(三)相关推荐

  1. RDP协议详细解析(一)

    RDP协议详细解析   一 前言 二 概述 三 同络层次 四 各连接模块说明 五 各功能模块说明 六 rdpwin结构.数据流说明 七 总结 一.前言 windows从NT开始提供终端服务,它是微软买 ...

  2. 3389 远程桌面 Mstsc RDP协议详细解析 (下)

    转载:https://lcx.cc/post/937/ 由于太长了,所以分成了两部分,这是下半部分,上半部分在这里 6-1) 连接过程说明 包序号 接收发送 字符 含义 1 R InDr 设备初始连接 ...

  3. 3389 远程桌面 Mstsc RDP协议详细解析 (上)

    转载:https://lcx.cc/post/936/ 下半部分在这里 这是前一段时间想模拟(3389 远程桌面 Mstsc.exe RDP 协议)做一个蜜罐系统,用来记录各种各样的攻击资料,甚至自己 ...

  4. RDP协议详细解析(五)

    五.各功能模块说明: 任务标志说明:适用于所有非图形通道数据. 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 00 00 03 00 传输中 传输开始 ...

  5. RDP协议详细解析(二)

    四.各连接模块说明: 1 ISO连接模块: 在客户端与服务器的网络套接口建立之后,需要首先建立RDP协议底层连接,得到连接确认后才能正常通信.具体实现如下: 1) 连接过程说明: 初始连接时,在网络套 ...

  6. RDP协议详细解析(四)

    6打印机映射连接模块: RDP协议当前提供映射5个设备,在我们破解过程中并没有区分出他们的区别,在此视为单一处理.打印机的连接在系统登录前完成,以配置操作系统信息. 6-1) 连接过程说明 包序号 接 ...

  7. 蓝牙IBEACON协议详细解析

    蓝牙IBEACON协议详细解析 先看一个不太清楚的图片,这个是nordic官方提供的解析的文档. 先看顶上的三个字节,flags length type,这三个是固定的,因为ibeacon长度是固定, ...

  8. Matter协议特性解析(三) 设备发现,认证和配网

    聚焦:芯产品,芯市场,芯资讯 本文是Matter专题第6篇文章: 设备发现,认证和配网,是网络构建流程的重要部分:Matter入网流程,为了保证安全,设计偏复杂,为了方便理解,本文从3个不同的维度进行 ...

  9. FCoE协议详细解析

    详细解析FCoE协议 FCoE标准是博科首先提出来的.FCoE是由包括Brocade.IBM, HP,EMC, NetApp, Cisco, Emulex, Broadcom, Intel, Nuov ...

最新文章

  1. 给你的Flex程序添加深链接和分析-其实比你想象的要简单
  2. MTCNN人脸及特征点检测---代码应用详解c++
  3. 通过命令行形式编译QT源程序
  4. 基于相似学习的目标跟踪方法
  5. 从最小二乘法到卡尔曼滤波
  6. 第五章functions.py中的交叉熵代码解释
  7. awr报告分析 mysql_4个MySQL优化工具,帮你准确定位数据库瓶颈!
  8. 习题6-6 使用函数输出一个整数的逆序数 (20 分)
  9. iBatis.Net(6):Data Map(深入)
  10. python中排序的函数_Python中sorted()排序函数
  11. API接口应该如何设计?
  12. semi-global matching 算法总结
  13. 被邻居偷偷拉了条网线到他家,然后在他家装WiFi,我怎么让他不能使用我的网络?
  14. java pattern堆栈溢出_我的正则表达式导致Java中的堆栈溢出;我错过了什么?
  15. java组合与继承始示例_Java 8特性与示例
  16. 大数据可视化面临哪些挑战
  17. 禁忌搜索算法(Tabu Search)的基本原理与算法流程总结
  18. html页面调节图片大小,怎么用css设置图片大小?
  19. RMI(Remote Method Invocation)原理浅析
  20. [学习]18 SMART原则 如何科学的制定计划

热门文章

  1. 网络I/O模型--04非阻塞模式(解除accept()、 read()方法阻塞)的基础上加入多线程技术...
  2. 【bzoj5099】[POI2018]Pionek 双指针法
  3. 列表生成式的复习以及生成器的练习, 杨辉三角实例(非常巧妙)
  4. 让算法会说话之冒泡排序
  5. using namespace cocos2d;
  6. 献给那些正在“奋起”的90后
  7. 【Java】Java 8 新特性-----Lambda 表达式
  8. dbutils mysql_使用DBUtils控制mysql事务
  9. activiti前端画图转化_用于Activiti前端显示流程图的插件
  10. cout 数组_C++数组|快速排序、二分法查找及其时间复杂度