吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10583|回复: 54
收起左侧

[原创] 记一次古董打卡机远程修改时间的逆向和实现

[复制链接]
bigknife 发表于 2020-9-3 11:38
部门最近买了个古董考勤机,支持人脸+指纹,没有互联网功能,不方便作假,安装师傅来的时候我趁机拍下了局域网通讯端口(这很重要,没有这个的话后边都不能进行了,除非你找到厂商去问、查资料),然后去该打卡机厂商官网下载配套考勤报表软件开始分析。

在群里吹水得出结论,最好的作假手段就是:一般打卡机都有联网同步时间的功能,伪造时间包,用手机操作,打卡前改时间,打完卡改回去,甚至可以把一周的全打了先,我们这里上班其实本来就很松散,所以此方法可行。
由于这家公司型号也有点多,第一次下错了软件版本,第二次下的版本设置里找到了时间同步功能。


QQ截图20200903093707.png

接下来就是分析封包,看看有没有明文信息,查了下软件,Delphi写的,在我想来古董打卡设备通信一般都是UDP明文吧,以为很简单,没想到是TCP+特殊的时间格式;
这个软件也推荐下,是我分析过程中才找到的。1M多体积,开袋即食(不知道是不是我安装过wireshark,已经安装过wincap之类的原因),还能模拟发包;
观察可疑数据包,别的大部分包都很简单,只发送4字节左右的数据,不像是时间(这里头脑里要对时间在内存里怎么保存的要有个大概概念)
5A A5 01 00 94 77 E3 26 14 03
只有这一串包像时间,前4位是固定指令头,后6位是数据,而且每次会变化,可是这既不是Delphi的双精度浮点保存的时间,也不是Unix时间戳,这就很麻烦了,本来都想放弃,用postmessage模拟点击算了,尝试了一下还是很麻烦,效率不高,趁昨天只睡了3个小时还神清气爽,又分析了一下代码,强迫症犯了,觉得完美的方式是做成手机APP发包。

QQ截图20200903094534.png

逆向过程就不发了,od挂载,很简单的bp send,逮住数据包是时间的时候,然后ctrl+f9层层返回观察可疑函数
返回这一层的时候,在上面一个函数里发现了时间处理:


code.png
重点分析这个:CALL SB100PC.086836E7,另外查了下这个SB100PC.ocx好像是什么上古打卡芯片之类的吧,软件目录下有很多这种ocx,估计对应不同芯片。


分析过程在注释里,经过分析,软件使用当前时间减去2000年1月1日00:00:00的总秒数,比如距今大概652440564秒了,16进制是26E373F4,然后用0x100,依次和0x26、0xE3、0x73、0xF4相加,作为校验码(?),放在包末尾
carbon.png

code3.png

然后就是写代码验证了


code5.png

这里需要发两个包,第一个是告诉打卡机我要改时间了,第二个包发送时间,由于第一个包内容是始终固定的,就直接复制了截取到的包里的内容

GIF 2020-09-03 11-18-09.gif

测试成功,由于这玩意只能局域网通讯,我在纠结做成手机APP直接控制(但是从进门到连上WIFI需要一定距离和时间),还是在办公室电脑做个web服务端,我有公网VPS,可以用frp映射办公室电脑端口到公网,手机通过访问网页来调用老远就可以掏出手机准备好改时间。就这样吧,END。

免费评分

参与人数 10威望 +1 吾爱币 +31 热心值 +7 收起 理由
zhang1244000 + 1 + 1 我很赞同!
elecvo + 1 热心回复!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xxxwode + 1 + 1 用心讨论,共获提升!
陈世界 + 1 + 1 我很赞同!
Coptis2020 + 1 谢谢@Thanks!
FFF全部成为F + 1 大佬牛13!
squirrel1311 + 1 + 1 我很赞同!
17315044449 + 1 + 1 我很赞同!
laodan + 3 + 1 鼓励转贴优秀软件安全工具和文档!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

刀大喵 发表于 2020-9-3 13:42
每天一个摸鱼小技巧
 楼主| bigknife 发表于 2022-4-8 10:22
gp865542 发表于 2022-3-3 14:40
我有点不明白啊  不联网啊 怎么获取到他的IP地址的

因为我知道他支持局域网通信(因为毕竟打卡数据得传出来嘛),而且和我们办公室使用的同一个网络,扫一下就知道了。而且安装的时候我拍下了端口,不知道端口的话你得社工一下管理员或者生产厂家。哦,理论上你下载他的考勤软件,分析一下也能知道端口号。
ww23eq 发表于 2020-9-3 11:50
rustyjackal 发表于 2020-9-3 11:53
好好学习,天天向上
sjjyz 发表于 2020-9-3 12:12
纸质卡片打卡有没有可能搞?看上去不用联网的,靠机器自身时间周期打印到卡片上
mscsky 发表于 2020-9-3 12:16
你是老板?敢这么玩,内网透传被入侵了谁负责?
VPSMarket 发表于 2020-9-3 12:29
公司加个网关限制IP访问就没得玩了
嚣张的猪 发表于 2020-9-3 12:55
我上班不用打卡,但是公司的打卡机是用vlan单独隔开的,想动手估计有点难度
辰迷星海 发表于 2020-9-3 13:00
感谢分享
夏520 发表于 2020-9-3 13:31
感谢分享
xiaobentuko8 发表于 2020-9-3 13:37
牛了,不怕老板 感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 21:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表