通过Ollydbg定位私有协议通信明文
简介:做安全的筒子经常会碰到这样的问题,当向要分析通信协议的时候往往都会有加密通信保护,对于SSL通信我们可以使用SSL劫持,但对于应用层面的加密就显得无能为力了,最好的办法就是调试应用,在应用内部去把明文通信数据包挖出来做分析。
1、 向开发工程师了解获取明文协议数据的入口函数,此处为ssl_session::handle_read。
2、 在本机安装和启动LBS后台服务程序。方法:先后点击install.bat和start.bat。启动完成后任务管理器可以看到LBS的进程,通过netstat也可以看到监听端口为8555。
3、 启动OD并attach LBS进程,并等待装载完成,如图:
4、 打开OD模块窗口,找到并选中lbs模块(实际是DLL动态链接库):
5、 使用组合键ctrl+n调出查看该模块的函数的窗口,直接在窗口上输入要查找的函数名即可自动进行筛选:
6、 选中该函数按F2插入断点,并让进程RUN起来:
7、 将某设备的LBS设置为本机IP和LBS端口(8555),
7.1、telnet到设备,账户为admin/设备验证码。
7.2、执行命令:setLBS IP:port
7.3、执行命令:reboot
8、 在设备重启的过程中将向本机发送注册信令,该信令将触发ssl_session::handle_read函数的执行和OD的断点。
9、 在栈区的上下文中需找指向信令数据的指针。
10、 选中内存区域,并按ctrl+c组合键,在弹出的对话框中输入信令数据地址,并最终定位到具体的信令数据区域,如下图所示: