首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Windows黑客编程技术详解 --第四章 木马启动技术(内含赠书福利)

Windows VISTA开始,只有服务可以托管到SESSION 0中,用户应用程序和服务之间会进行隔离,并需要运行在用户登录系统时创建的后续会话中。...本节主要针对DLL和exe这两种PE文件进行介绍,分别剖析如何直接内存中加载运行。这两种文件具体的实现原理相同,只需掌握其中一种,另一种也就容易掌握了。...那么程序需要进行哪些操作便可以直接内存中加载运行DLL或是exe文件呢?以加载DLL为例介绍。 首先就是要把DLL文件按照映像对齐大小映射到内存中,切不可直接将DLL文件数据存储到内存中。...当改变加载基址的时候,硬编码也要随之改变,这样DLL程序才会计算正确。但是,如何才能知道需要修改哪些硬编码呢?换句话说,如何知道硬编码的位置?...DLL作为一个程序,自然也会调用其他库函数,例如MessageBox。那么DLL如何知道MessageBox函数的地址呢?它只有获取正确的调用函数地址后,方可正确调用函数。

3.7K50

Bypass-UAC(用户帐户控制)的那些事

我们还将研究它如何潜在地保护免受恶意软件的攻击并忽略UAC提示可能给系统带来的一些问题。 2.什么是用户帐户控制(UAC)?...3.UAC如何运行? UAC通过阻止程序执行任何涉及有关系统更改/特定任务的任务来运行。除非尝试执行这些操作的进程以管理员权限运行,否则这些操作将无法运行。...它的一个变体是(有点矛盾地称为)“自带LOLbin”,其中合法的应用程序带有恶意的DLL(而不是受害者机器上的合法位置复制)。...4.UACME项目 利用方式主要可以分为两大类 各类UAC白名单程序的DLL劫持(Dll Hijack) 各类提升权限的COM接口利用(Elevated COM interface) 项目的主程序为Akagi...getsystem``getuid 项目的Source目录存储的是所有子项目的源码,其中Source/Shared存放的是被所有子项目共同引用的一些函数。

1.8K20

分享一个基于Net Core 3.1开发的模块化的项目

先简单介绍下项目(由于重新基于模块化设计了整个项目,所以目前整个项目功能不多) 1.Asp.Net Core 3.1.2+MSSQL2019(LINUX版) 2.中间件涉及Redis、RabbitMQ等...它支持外部DLL程序集加载组件以及组件的管理.不过要从外部组件去获取哪些是组件我们需要借助一个工厂类ApplicationPartFactory,这个类支持外部程序集得到对应的控制器信息,核心代码如下...,但是视图文件在项目生成的时候是单独的*.Views.dll文件,我们接下来介绍如何加载视图文件,同样还是用到了ApplicationPartManager类 mvcBuilder.PartManager.ApplicationParts.Add...这种情况如何去解决呢?...} 上述代码片段中我们能够看到通过new StaticFileOptions()添加配置项, StaticFileOptions中有两个重要的属性,只需要配置好这两个就能满足基本需求了

1.7K10

如何使用paradoxiaRAT实现Windows远程访问

的使用非常简单,可以算是最方便的远程访问工具了。...值进行工具配置 会话终止 支持会话终止 查看会话信息 查看会话信息 Paradoxia客户端: Feature Description 隐蔽性 在后台运行 完整的文件访问 提供整个文件系统的完整访问...通过反射DLL记录击键信息并存储至文件 地理定位 Paradoxia客户端地理定位 进程信息 获取进程信息 DLL注入 反射DLL注入 关机 关闭客户端系统 重启 重启客户端系统 MSVC + MINGW...我们可以看到,工具成功注入了DLL,记录下的键盘记录将存储在log.log文件中: ? 许可证协议 本项目的开发与发布遵循MIT开源许可证协议。...项目地址 paradoxiaRAT:【点击底部阅读原文获取】

1.3K10

2023!最新绕过AMSI的一个方法!!

什么是amsi.dll? amsi.dll 文件提供 Windows 中 AMSI 功能的实现。DLL 文件包含用于在 Windows 中初始化、配置和使用 AMSI 功能的函数。...让我们首先反汇编 AmsiOpenSession 函数amsi.dll: 有一个测试指令,它基本上在它自己(rcx,rcx)之间执行按位与运算,如果结果为零,则设置零标志(ZF = 1)。...@TheD1rkMtr 有一个名为 AMSI_patch 的项目,它做同样的事情。我还使用相同的想法创建了相同的项目,但实现略有不同(所有积分和荣誉都归于@TheD1rkMtr)。...从上面的项目下载amsibypass.exe文件,您也可以使用该文件构建您自己的.sln项目(注意:该二进制文件可能会在一段时间内被 AV 标记。) 2....我们直接nishang的GitHub下载并运行invoke-mimikatz脚本 这里我们使用了PowerShell命令: PS C:\Users\szero\Desktop> IEX(New-Object

39930

魔改CobaltStrike:探究beacon里每个功能点是如何实现的

1 概述 这次我们来探究beacon里每个功能点是如何实现的,以便日后更好地实现自定义beacon。因为有近百个相关功能点,所以文章就分了上下两部分。...项目地址如下: https://github.com/mai1zhi2/CobaltstrikeSource 2 前情提要 我们从上篇协议剖析得文章中知道当beacon发送心跳包后,teamserver...3 功能剖析 spawn(x86) case1,派生会话,原理是挂起方式启动rundll32并注入dll 接收到的数据: ?...steal_token case31,目标进程中窃取访问令牌 先打开进程,获取指定进程的句柄令牌,再用ImpersonateLoggedOnUser模拟一个登陆用户的访问令牌的安全上下文,最后用DuplicateTokenEx...Spawn(x64) case44,派生会话(x64),原理也是挂起线程rundll32线程注入dll,流程都是一样的,只是在不同文件夹在rundll32.exe ?

2.7K10

实战 | 进程启动技术的思路和研究

(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制 HINSTANCE ShellExecuteA( [in, optional] HWND hwnd, [...如果要做,比如要访问磁盘,写文件,那就要通过执行系统调用(函数),执行系统调用的时候,CPU的运行级别会发生ring3到ring0的切换,并跳转到系统调用对应的内核代码位置执行,这样内核就为你完成了设备访问...设置新令牌的访问权限问MAXIMUM_ALLOWED,表示获取所有令牌权限。...当改变加载基址的时候,硬编码也要随之改变,这样DLL程序才会计算正确。 如何知道硬编码的位置?答案就藏在PE结构的重定位表中,重定位表记录的就是程序中所有需要修改的硬编码的相对偏移位置。...DLL作为一个程序,自然也会调用其他库函数,例如MessageBox。 那么DLL如何知道MessageBox函数的地址呢?它只有获取正确的调用函数地址后,方可正确调用函数。

1K50

Windows 身份验证中的凭据管理

处理与外部身份验证机构的通信和逻辑。 交互式和网络登录的打包凭据。 单点登录提供程序 (SSO) 可以开发为标准凭据提供程序或登录前访问提供程序。...用户模式下的应用程序在它们可以访问的系统资源方面受到限制,而服务可以不受限制地访问系统内存和外部设备。...由于不同的应用程序需要不同的方式来识别或验证用户以及在数据通过网络传输时加密数据的不同方式,因此 SSPI 提供了一种访问包含不同身份验证和加密功能的动态链接库 (DLL) 的方法。...例如,当用户执行以下任一操作时,会创建具有存储的 LSA 凭据的 LSA 会话: 登录到计算机上的本地会话或 RDP 会话 使用RunAs选项运行任务 在计算机上运行活动的 Windows 服务...特定信任如何传递身份验证请求取决于它的配置方式。信任关系可以是单向的,提供受信任域到信任域中的资源的访问,或者双向的,提供每个域到另一个域中的资源的访问

5.7K10

Win10权限管理与多用户远程登录(多方案)

点击文件-另存为. ---- 禁止访问驱动器 依次点击用户配置-管理模板-Windows组件-文件资源管理器, 找到防止"我的电脑"访问驱动器, 选择已启用....多用户登录 单用户远程登录是没问题了, 多用户会出现被挤下去的情况. win键+r打开运行框, 输入gpedit.msc进入本地组策略编辑器, 选择管理模板-Windows组件-远程桌面服务-远程桌面会话主机...-连接, 修改限制连接的数量和将远程桌面服务用户限制到单独的远程桌面服务会话: ?...install.bat, 运行完成后运行RDPConf.exe, 如果Listener state显示为Listening [not supported], 则需要运行update.bat, 之后可以重启看看, 但是基本上是没救了的...这里就要进入修改dll文件的阶段了. ? ---- 修改termsrv.dll 连接到服务器, 来到C:\Windows\System32目录, 搜索termsrv.dll: ?

5.2K31

Shiro 入门概述

Shiro 可以完 成:认证、授权、加密、会话管理、与 Web 集成、缓存 等。借助 Shiro 您可以快速轻松 地保护任何应用程序——最小的移动应用程序到最大的 Web 和企业应用程序。...社区支持:Shiro 是 Apache 软件基金会的一个开源项目,有完备的社区支持,文档 支持。如果需要,像 Katasoft 这样的商业公司也会提供专业的支持和服务。...在集群会话时 Shiro最重要的一个好处或许就是它的会话是独立于容器的 基本功能 1、基本功能点如下图所示 2、功能简介 Authentication:身份认证/登录,验证用户是不是拥有相应的身份;...或者细粒度的验证某个用户 对某个资源是否具有某个权限; Session Manager:会话管理,即用户登录后就是一次会话,在没有退出之前,它的所有 信息都在会话中;会话可以是普通 JavaSE 环境,...; Remember Me:记住我,这个是非常常见的功能,即一次登录后,下次再来的话不用登 录了  原理 1、Shiro 架构(Shiro 外部来看) 外部来看 Shiro ,即从应用程序角度的来观察如何使用

12730

Win10权限管理与多用户远程登录(多方案)

点击文件-另存为. ----- 禁止访问驱动器 依次点击用户配置-管理模板-Windows组件-文件资源管理器, 找到防止"我的电脑"访问驱动器, 选择已启用. 这里你可以选择要限制的驱动器....如何查看服务器计算机名, win键+e进入文件资源管理器, 选择这台电脑-右键属性, 这里是StudioX. 用户名就是建立的用户....-连接, 修改限制连接的数量和将远程桌面服务用户限制到单独的远程桌面服务会话: 然后下载RDPWrap, 解压后管理员身份运行其中的install.bat, 运行完成后运行RDPConf.exe, 如果...Listener state显示为Listening not supported, 则需要运行update.bat, 之后可以重启看看, 但是基本上是没救了的, 如果成功了, 可以运行RDPConf.exe...这里就要进入修改dll文件的阶段了. ---- 修改termsrv.dll 连接到服务器, 来到C:\Windows\System32目录, 搜索termsrv.dll: 首先备份一下这个文件, 你需要

2.9K00

CS学习笔记 | 10、如何管理Payload载荷

0x00 前言 到目前为止,已经学过了如何在有漏洞的目标上获取立足点的方法,接下来将继续学习后渗透相关的知识,这一节就来学习学习 beacon 的管理、会话传递等。...dllinject:dllinject + [pid]来将一个反射性 DLL 注入到一个进程中。...\file.dll] 来在另一个进程中加载磁盘上的 DLL文件。 会话传递使用场景 1、将当前会话传递至其他CS团队服务器中,直接右击spawn选择要传递的监听器即可。...Foreign监听器,这里设置的监听IP与端口和MSF中的一致即可,随后在CS中利用spawn选择刚新建的外部监听器,MSF中即可返回会话。...timestomp:将一个文件的修改属性访问属性和创建时间数据与另一个文件相匹配。

1.9K30

网站安全维护团队公司解决防护方案

来达到各个项目的安全渗透工作的分工执行能力。...持久化 – Windows Web应用需要限制用户对应用程序的数据和功能的访问,以防止用户未经授权访问访问控制的过程可以分为验证、会话管理和访问控制三个地方。 6.1.1.1....验证机制 验证机制在一个应用程序的用户访问处理中是一个最基本的部分,验证就是确定该用户的有效性。大多数的web应用都采用使用的验证模型,即用户提交一个用户名和密码,应用检查它的有效性。...会话管理 为了实施有效的访问控制,应用程序需要一个方法来识别和处理这一系列来自每个不同用户的请求。大部分程序会为每个会话创建一个唯一性的token来识别。...由于访问控制本身的复杂性,这使得它成为攻击者的常用目标。开发者经常对用户会如何与应用程序交互作出有缺陷的假设,也经常省略了对某些应用程序功能的访问控制检查。 6.1.2.

1.6K30

次世代的会话管理项目 Spring Session

还是凭借 Spring Session,只要我们知道会话的 ID,就可以应用程序的任意线程访问 Spring Session。...如何确定能够哪个会话的实例与哪个传入的请求(形式有 HTTP、WebSocket、AMQP 等)相关联? 不过在本质上,有个更关键的问题是:如何跨越不同的请求协议来传输一个会话的 ID?...Spring Session 在定义 Session 和 ExpiringSession 这些基本的关键接口之外,也针对了不同数据存储的访问定义了关键接口 SessionRepository。...org.springframework.session.Session 是定义会话基本功能的接口,例如属性的设置和删除。...这里就给出一份 Spring Session 项目提出来的源码就对应了这里提到的东西。为了能对应这里的解释,源码里面原本的注释被我重写了一下,在此不妨也看一看里面的注释。

97240

ASP.NET MVC模块化开发——动态挂载外部项目

,WebForm项目只需要挂在虚拟目录拷贝dll就可以访问,但是MVC不可能去引用工程项目dll重新编译,从而产生了开发一个动态挂在MVC项目功能的想法,MVC项目挂载主要有几个问题,接下来进行详细的分析与完成解决方案...一般动态加载dll的方法是使用Assembly.LoadFIle的方法来调用,但是会存在如下问题: 1.如果MVC项目中存在依赖注入,框架层面无法将外部dll的类放入IOC容器 通过 BuildManager.AddReferencedAssembly...方法在MVC项目启动前,动态将外部代码添加到项目的编译体系中,需要配合PreApplicationStartMethod注解使用,示例: 声明一个类,然后进行注解标记,指定MVC启动前方法 //使用PreApplicationStartMethod...DllList.Add(item); } } return DllList; } 4.业务代码的cshtml页面如何加入到框架中被访问...,同时也做不到动态的将外部dll加入到MVC编译dll体系中,也只能启动前加载,查了很多资料,重新加载项目可以通过代码控制IIS回收程序池达到效果,但是因为各种繁琐的权限配置问题而放弃,我最后的解决方法是比较歪门邪道的方法

27030

使用Metasploit绕过UAC的多种方法

我们还将研究它如何潜在地保护免受恶意软件的攻击并忽略UAC提示可能给系统带来的一些问题。 1.什么是用户帐户控制(UAC)?...2.UAC如何运行? UAC通过阻止程序执行任何涉及有关系统更改/特定任务的任务来运行。除非尝试执行这些操作的进程以管理员权限运行,否则这些操作将无法运行。...在普通技术中,该模块使用反射式DLL注入技术并只除去了DLL payload 二进制文件,而不是三个单独的二进制文件。但是,它需要选择正确的体系架构(对于SYSWOW64系统也使用x64)。...当加载某些较高完整性级别进程时,会引用这些注册表项,从而导致进程加载用户控制的DLL。这些DLL包含导致会话权限提升的payload。此模块修改注册表项,但在调用payload后将清除该项。...因此,如果cmd.exe访问受到限制,此模块将无法正常运行。

1.5K20
领券