.NET 一款通过白名单程序执行命令的工具

news2024/9/21 19:00:27

01阅读须知

此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者本人负责。本文所提供的工具仅用于学习,禁止用于其他方面

02基本介绍

Sharp4Launcher.exe 是一款Windows下的执行命令的工具,利用白名单机制启动任意的二进制文件,具有微软签名,能够绕过大多数杀毒软件和安全防护机制,从而在目标系统上执行恶意操作或测试代码。这篇文章将详细介绍该工具的功能、原理及其使用方法。

03使用方法

具体来说,利用微软签名的合法程序启动潜在的恶意代码或需要隐藏的程序。工具提供了参数支持,允许用户指定启动的程序路径以及相应的参数。

.\Sharp4Launcher.exe -p "c:\windows\system32\cmd.exe" -a "/c winver"

该工具的参数-p和-a分别表示需要启动的程序路径和启动程序时指定的参数。

04原理解析

Sharp4Launcher.exe 的核心原理是在系统内创建一个新进程,并将其标准输入、输出和错误输出重定向到指定的管道。工具首先处理用户输入的命令行参数,使用StringBuilder构建命令行字符串,以准备调用系统API创建进程。

stringBuilder.Append(Program.QuoteString(programToRun));
if (programArguments != null)
{
    stringBuilder.Append(' ');
    stringBuilder.Append(programArguments);
}

为了重定向新进程的标准输入、输出和错误输出,工具调用CreatePipe方法创建匿名管道。

if (!NativeMethods.CreatePipe(out stdReadHandle, out hStdError, lpPipeAttributes, 0) ||
    !NativeMethods.CreatePipe(out stdReadHandle2, out hStdOutput, lpPipeAttributes, 0) ||
    !NativeMethods.CreatePipe(out Program._stdInRead, out Program._stdInWrite, lpPipeAttributes, 0))
{
    throw new Win32Exception();
}

最后,通过调用NativeMethods.CreateProcess API创建新进程,并使用之前配置的重定向句柄。这一步是整个工具的核心,确保新进程能够在当前环境中运行,同时具备标准输入输出的重定向功能。

if (!NativeMethods.CreateProcess(null, stringBuilder, IntPtr.Zero, IntPtr.Zero, true, createflags, environment, Program._arguments.WorkingDir, startupinfo, process_INFORMATION))
{
    throw new Win32Exception();
}

综上,渗透测试人员可以利用Sharp4Launcher绕过安全软件的监控,适用于各种需要规避安全软件的场景。

05推荐阅读

从漏洞分析到安全攻防,我们涵盖了.NET安全各个关键方面,为您呈现最新、最全面的.NET安全知识,下面是公众号发布的精华文章集合,推荐大家阅读!

图片

图片

图片

图片

图片

图片

图片

06欢迎加入.NET安全星球

为了更好地应对基于.NET技术栈的风险识别和未知威胁,dotNet安全矩阵星球从创建以来一直聚焦于.NET领域的安全攻防技术,定位于高质量安全攻防星球社区,也得到了许多师傅们的支持和信任,通过星球深度连接入圈的师傅们,一起推动.NET安全高质量的向前发展。 星球门票后期价格随着内容和质量的不断沉淀会适当提高,因此越早加入越好! 

    目前dot.Net安全矩阵星球已成为中国.NET安全领域最知名、最活跃的技术知识库之一,从.NET Framework到.NET Core,从Web应用到PC端软件应用,无论您是初学者还是经验丰富的开发人员,都能在这里找到对应的安全指南和最佳实践。

星球汇聚了各行业安全攻防技术大咖,并且每日分享.NET安全技术干货以及交流解答各类技术等问题,社区中发布很多高质量的.NET安全资源,可以说市面上很少见,都是干货。

图片

图片

图片

星球文化始终认为授人以鱼不如授人以渔!加入星球后可以跟星主和嘉宾们一对一提问交流,20+个专题栏目涵盖了点、线、面、体等知识面,助力师傅们快速成长!其中主题包括.NET Tricks、漏洞分析、内存马、代码审计、预编译、反序列化、webshell免杀、命令执行、C#工具库等等。

图片

    我们倾力打造专刊、视频等配套学习资源,循序渐进的方式引导加深安全攻防技术提高以及岗位内推等等服务。

图片

我们还有一个会员专属的内部星球陪伴群,加入的成员可以通过在群里提出问题或参与论的方式来与其他成员交流思想和经验。此外还可以通过星球或者微信群私聊向我们进行提问,以获取帮助迅速解决问题。

为了助力大家在2024国家级hvv演练中脱颖而出,我们特别整理出了一套涵盖dotNet安全矩阵星球的八大.NET相关方向工具集。

.NET 免杀WebShell
.NET 反序列化漏洞
.NET 安全防御绕过
.NET 内网信息收集
.NET 本地权限提升
.NET 内网横向移动
.NET 目标权限维持
.NET 数据外发传输

这些阶段所涉及的工具集不仅代表了当前.NET安全领域的最前沿技术,更是每一位网络安全爱好者不可或缺的实战利器。

图片

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2075156.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Adobe Photoshop PS v25.6 下载安装教程(PS下载)

前言 Adobe Photoshop 是一款专业强大的图片处理工具,从照片编辑和合成到数字绘画、动画和图形设计,一流的图像处理和图形设计应用程序是几乎每个创意项目的核心所在。利用 Photoshop 在桌面上的强大功能,您可以在灵感来袭时随时随地进行创作…

vue2使用electron-builder打包-使用electron的api实现文件下载

本项目用的是vue2版本开发,最后使用electron-builder打包成桌面应用程序 一、需求描述 1、用户点击按钮,下载html文件 2、代码 exportHtml() { //.html是放在public文件夹下面的本地文件axios.get("/html/合同模板.html").then(res > {let…

网络通信和TCP/IP协议详解

目录 网络协议 一、计算机网络是什么? 定义和分类 计算机网络发展简史 二、计算机网络体系结构 OSI 七层模型 TCP/IP 模型 TCP/IP 协议族 IP、TCP 和UDP TCP/IP 网络传输中的数据 地址和端口号 MAC 地址 IP 地址 端口号 综述 三、TCP 特性 TCP 三次握…

2024最新影视视频APP源码/猕猴桃影视系统源码/独立后台(支持安卓端+苹果端)

源码简介: 最新影视视频APP源码,它是猕猴桃影视系统源码,它有个独立的后台,无论你是安卓还是苹果用户,都能轻松使用呢。 绿豆源码、绿豆影视、小乌2.1,还有猕猴桃影视。追影兔新版本的整体结构设计已经全…

Transformer模型-3-基本工作流程

继 《Transformer模型-2-模型架构》该文主讲Transformer的基本工作流程。 第一步: 获取输入句子某单词的向量X。 X:是指某单词的向量,transformer是分别计算word embedding和position embedding并将两者相加得到向量X。 Embedding Embeddings 是一种将现…

Spring-bean的循环依赖

文章目录 什么是Spring的循环依赖?Setter 方法循环依赖三级缓存Spring 是如何利用三级缓存解决 Bean 的循环依赖?有了三级缓存为什么还需要二级缓存? 构造器循环依赖总结 什么是Spring的循环依赖? 在 Spring 框架中,循环依赖是指两个或多个…

萌化人心的AI宠物视频:1条爆款35万赞,带你轻松涨粉10万(附教程)

萌宠系的小动物配上可爱的 BGM,场景情绪感直接拉满。用 AI 做超萌宠物视频,涨粉确实香, 分享一个有趣的 AI 宠物玩法,使用用 AI 生成超萌动物(水獭),做成宠物互动的场景式,这种视频播…

掌握Go语言的基本数据类型:编程世界的ABC

Go语言以其精炼的语法和卓越的性能,正日益成为现代软件开发的关键驱动力。在Go语言的众多特性中,基本数据类型的重要性不言而喻,它们是构建任何复杂应用程序的基石。正如掌握任何新语言需从其基础元素开始,Go语言的学习同样始于对…

【qt】windows下qt连接数据库

1.新建数据库 create database mydatabase;2.新建表结构,并插入数据 3.qt下连接数据库 1.连接数据库,需要加sql 2.添加QsqlDatabase头文件,使用提示句柄,头文件QMessageBox 3.连接数据库 4.界面设计 5.插入实现 注意这里如果…

盛水最多的容器问题

目录 一题目概述: 二思路理解: 三解答代码: 一题目概述: leetcode链接:. - 力扣(LeetCode) 二思路理解: 首先这道题虽然看起来简单,很难不让人想到直接暴力破解它&a…

【操作系统】12.文件系统是怎么管理的?

2.文件系统是怎么管理的? 2.1 文件系统的实现 2.1.1 文件系统层次结构 用户调用接口 文件目录系统 存取控制验证模块 逻辑文件系统与文件信息缓冲区 物理文件系统 辅助分配模块 设备管理程序模块 2.1.2 目录实现 线性列表 哈希表 2.1.3 文件实现 文件分配方式 连续…

Unity射击游戏开发教程:(32)控制子弹射速

显示发射速度从较慢到较快的变化 这是一篇关于如何实现射速以防止玩家乱按射击按钮的快速文章。 通常做法 说到要控制子弹的射速,可以通过以下几种方法: 通过设置子弹的发射间隔时间来控制射速。在每次子弹发射后,设置一个时间延迟,确保下一枚子弹不能立即发射。 利用计时…

Redis下载安装使用教程图文教程(超详细)

《网络安全自学教程》 Redis下载安装使用 1、下载安装2、基础配置2.1、远程连接2、保护模式3、默认密码4、后台运行4.1 验证服务是否启动4.2 停止服务 1、下载安装 1)到Redis中文网 https://www.redis.com.cn/download.html 下载Redis安装包 2)Redis的安…

市场动荡!宝马「赶超」特斯拉?华为打响高阶智驾「价格战」

新能源汽车市场正在进入动荡期。 本周,欧洲市场传来重磅消息,宝马在欧洲的电动汽车销量首次超过特斯拉。根据JATO Dynamics的数据,7月宝马在欧洲本土市场销售了14,869辆电动汽车,以308辆的微弱优势首次超过特斯拉。 数据显示&…

“蓝屏事件”阴魂不散,微软安全更新导致 Linux 系统无法启动即解决方案

最近,众多Linux用户报告称他们的设备在尝试启动时,收到了一条神秘的错误消息:“系统出了严重问题。”这起事件的罪魁祸首是微软在月度安全更新中发布的一个补丁,用于修复一个存在已久的GRUB漏洞。 这次更新却导致了Linux和Windows…

Adobe InDesign(ID)专业的排版设计软件win/mac软件下载安装和快捷键的使用

一、Adobe InDesign软件概述 1.1 软件简介 Adobe InDesign是Adobe Systems公司开发的一款面向印刷和数字媒体出版物的专业排版设计软件。它广泛应用于书籍、杂志、报纸、宣传册、海报、广告、电子书等多种出版物的设计与制作中。InDesign以其强大的排版功能、灵活的页面布局工…

7 款最佳软件,可恢复从回收站中删除的文件

您是否曾经从回收站中删除了文件并想要恢复它们?这似乎是不可能的。 但是,从技术上讲,永久删除的文件不会从您的硬盘驱动器存储中删除,而是更改为无法识别的数据并被您的新文件覆盖。 这使您能够从系统中恢复永久删除的文件。 …

Verdi中快速查找define宏定义及其active/inactive状态

可以通过如下方式查看: 打开verdi后 通过 菜单栏tools -> vc apps toolbox 在VC apps toolbox 中选择Utility-》macro utility : 用macro utility中的三个工具分别打印报告(各自针对不同的宏)。生成的log文件中会显示宏定义的…

VMware上Linux系统报错--mount: 在 /dev/sr0 上找不到媒体【解决办法】

问题背景 在VMware上使用CentOS7系统,想要在CentOS7系统上挂载一个镜像文件,在系统下使用mount命令挂载报错如下所示: 解决办法 用lsblk命令查看sr0设备是存在的 查看虚拟机侧问题,右键虚拟机,点击设置 镜像文件已选…

宝塔面板部署雷池社区版教程

宝塔面板部署雷池社区版教程 简单介绍一下宝塔面板,安全高效的服务器运维面板,使用宝塔面板的人非常多 在网站管理上,许多用户都是通过宝塔面板进行管理,宝塔面板的Nginx默认监听端口为80和443,这就导致共存部署时雷…