吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2376|回复: 10
收起左侧

[原创] 某软件WFP防火墙分析

  [复制链接]
少年持剑 发表于 2023-12-22 20:36
本帖最后由 少年持剑 于 2023-12-22 20:39 编辑

前言

最近朋友找我帮忙,起因是他们公司有一个VPN软件,只有使用这软件才能正常访问公司内网站。
这个软件需要账号登录,一个账号只能在一个设备登录,另一个设备登录就会被挤下线。
因为他有几台电脑,所以需要一个账号能几个设备一起使用。

尝试


因为对网络方面不太了解,所以最先想到是在一台电脑(后面称为主机)建http代理,其它电脑(后面称为客机)通过代理在访问网站。
主机使用CCProxy 设置HTTP 端口

ccproxy

ccproxy



客机通过proxifier设置代理地址和端口。

proxi

proxi


上面设置好后,在VPN软件没有运行时,代理能正常通过,CCProxy能正常显示用户,但是VPN软件驱动后 代理就生效,CCProxy 没有流量通过。

寻找原因


没有流量通过,可能是路由,防火墙和系统原因。但是防火墙两边都关了,所以只能先用wireshark抓包看看。
wireshark里面可以看到只有客机向主机重复发送TCP第一个握手的SYN,而主机没有发向客机的数据包,所以不可能是路由,应该是系统做了手脚。
pchunter 可以观察到启动VPN软件前后有一个驱动被加载。


wireshark

wireshark


驱动分析


把驱动直接拖到IDA里面,因为没有壳,直接看导入函数,可以初步判断应该是用wfp搞的防火墙,拦截了局域网内其它电脑的数据包。

ida

ida

使用Windows-Kernel-Explorer工具可以查看所有wfp注册的callout,在启动vpn软件后会多出几个回调函数,而图中的OutBound 显然就是驱动管理出站的回调。

WEK

WEK

根据回调地址,在ida中定位到函数:

callout

callout
可以看到函数主要由HandleIPv4来决定最后的actionType 是将数据包放行或阻止。filter->context 指向DeviceObject->DeviceExtension 用来存放防火墙的出入站规则和行为。

han

han

进入HandleIPv4函数,根据返回值跟着可以找到过滤局域网数据判断的关键位置:

ipv4

ipv4


sub_1400065C4负责对传入IP跟驱动定义的防火墙规则匹配,根据返回的operator来决定是阻止数据,放行等,进入sub_1400065C4 函数后第一行是

14000

14000


a1 是之前的DeviceExtensiona3是传进来的6 对应TCP ,其它协议UDP等对应不同值。

0x1D018i64* a3 + a1 + 0x48对应的是TCP防火墙规则。
sub_1400041F0函数作用就是将sub_1400041F0所有防火墙规则拷贝到v14 这个数组里面。
而接下来的代码就是通过遍历v14数组将IP和防火墙规则匹配了,



flit

flit

之后只需要通过MatchFilter函数查看v14 结构偏移就可以得到每条防火墙规则的结构。ce lua脚本遍历

ce

ce




在最后输出结果可以有下面这一行

out

out



结尾


ce中将上面那条规则对应的operator改成1后,局域网代理就能正常访问了。
之后就是写驱动,或者看防火墙规则在3环怎么储存来修改了。


因为是公司的软件所以样品就不好发了。。。。。



免费评分

参与人数 7威望 +1 吾爱币 +25 热心值 +6 收起 理由
笙若 + 1 + 1 谢谢@Thanks!
Hmily + 1 + 20 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
allspark + 1 + 1 用心讨论,共获提升!
kkkfew + 1 谢谢@Thanks!
WGL + 1 + 1 热心回复!
人家故里 + 1 + 1 热心回复!
一个电脑小白 + 1 用心讨论,共获提升!

查看全部评分

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

人家故里 发表于 2023-12-25 17:10
大佬NB,正在入门驱动开发,想请教一下WFP里面能不能实现伪造请求响应
 楼主| 少年持剑 发表于 2023-12-25 17:16
人家故里 发表于 2023-12-25 17:10
大佬NB,正在入门驱动开发,想请教一下WFP里面能不能实现伪造请求响应

可以的。
yang2835 发表于 2023-12-25 20:09
daitoudage 发表于 2023-12-25 21:00
哈哈哈感谢楼主分享啊啊啊
sdieedu 发表于 2023-12-26 07:42
牛的技术。
dork 发表于 2023-12-26 09:18
信息量还是蛮大 的
Arthurian 发表于 2023-12-28 18:24
mark,学习一下
风之子martin 发表于 2024-1-9 17:14
很实用的教程,一路跟着大佬学习!
风之子martin 发表于 2024-1-10 11:57
好厉害啊,跟着楼主学习了
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-23 09:52

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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