v1.1 20240307 常规安全检查 -> 进程部分添加 OpenArk 常见问题的解决办法部分添加恶意文件被删除章节 20240306 应急响应事件流程的挖矿病毒、远控后门部分添加 OpenArk...常规安全检查 -> 服务程序 -> 注册表部分完善用于二进制签名验证的 Powershell 脚本的实现逻辑 常规安全检查 -> 服务程序 -> 进阶性排查部分完善用于二进制签名验证的 Powershell...脚本的实现逻辑 常规安全检查 -> COM 劫持部分完善用于二进制签名验证的 Powershell 脚本的实现逻辑 常规安全检查 -> Winsock NSP 部分完善用于二进制签名验证的 Powershell...OpenArk、LastActivityView 20240304 进行部分文字美化,例如将 powershell 修改为 Powershell 20240206 修复挖矿病毒和远控后门章节的寻找恶意样本过程中文字错误...完成情况 已添加 完成时间 2024-03-06 00:06 6.
2.检查文件夹权限,查看是否有写入权限,如果有可以考虑直接修改,反之则考虑通过LoadLibrary函数创建一个新的黑DLL 提示:我们知道Windows系统会按照预先确定的顺序查找相关库的位置。...建议有能力的进行二次开发,除去加密的特征值,免杀效果更好。 注意:使用的目标应该能够执行PowerShell脚本,否则,我们将无法执行混淆/编码的PowerShell脚本。...---- 人工寻找白文件 通过Procmon进程监视器,显示实时⽂件系统、注册表和进程/线程活动,这⾥我们⽤来观察进程运⾏过程的DLL调⽤。...通过设置不同的筛选方式去寻找可以加载的黑DLL。 我们通过运⾏xxx.exe白文件对比,寻找是否存在LoadLibrary函数,如果存在,我们可以直接构造一个恶意黑DLL。...如上提及的一些检测方法: 检查具有异常网络连接的进程,且给定进程的网络活动已变得与基线不同,则该进程可能已受到损害 DLL权限,针对具有LoadLibrary()函数的DLL进行限制 DLL白名单,即跟踪系统上使用的
Powershell 降级攻击 在之前的博客文章中,我谈到要尽可能避免使用 PowerShell v2,因为它提供了不记录日志的功能,理想情况下应该部署 PowerShell v5.x 或更高版本,因为它提供了更好的日志记录功能...-v*2 这样的正则匹配来检查异常参数。...,那么就可以完成这个操作。...然而在执行的所有测试中,即使最简单的 Write-Host Test” PowerShell 命令也无法正确执行,因为 powershell.exe 进程在运行之前已终止。...值得庆幸的是,我们仍然可以使用正则表达式来检测这种技巧,这些技巧可能寻找大量的单引号和/或反撇号字符。
PowerSploit是一款基于PowerShell的后渗透框架软件,包含了很多PowerShell的攻击脚本,它们主要用于渗透中的信息侦测,权限提升、权限维持等。...当我们无法通过 windows 内核漏洞进行提权的话,这个时候我们就可以利用该脚本来寻找目标主机上Windows服务配置错误来进行提权,或者利用常见的系统服务,通过其继承的系统权限来完成提权。 ?...,无论它们是否已禁用。...该模块通过Win 32 api方法将服务的二进制路径设置为指定的值。...\PowerUp.ps1;Invoke-Allchecks -verbose 运行该脚本,该脚本会自动检查PowerUp.ps1下所有的模块,并在存在漏洞利用的模块下的AbuseFunction中直接给出利用方法
默认情况下,PowerShell基本上已包含在每个Windows操作系统中,提供了对Windows API的完全访问权限,包括数百个供开发人员和系统管理员使用的功能,但同样也遭到攻击者的大肆利用。...像许多核心平台实用程序一样,PowerShell库很容易获得,因此也很容易实现,能够暴露任意进程中的完整PowerShell功能。 那么该如何进行检测呢?进程监控是最普遍有效的技术。...可以通过平台文档或通过引用一些实用程序来报告是否存在这些配置来列举这些路径。此外,可能会成功检查任何已知与这些路径结合使用的文件类型,例如LNK。...要检测已安装且处于休眠状态的持久化,可以检查同一注册表和文件系统路径的内容中是否存在可疑条目。创建一个基准并定期监视是否有偏移基准的情况,以此来减少调查工作量。...检测是否存在凭据转储的另一种方法是分析常用工具,并使用其他数据源作为相关点,基于留下的指纹来制定检测策略。注册表项和文件修改就是一个很好的切入点。
拥有很多用来寻找目标主机Windows服务配置错误来进行提权的模块。...当我们无法通过 windows 内核漏洞进行提权的话,这个时候我们就可以利用该脚本来寻找目标主机上Windows服务配置错误来进行提权,或者利用常见的系统服务,通过其继承的系统权限来完成提权。...,无论它们是否已禁用。...该模块通过Win 32 api方法将服务的二进制路径设置为指定的值。...\PowerUp.ps1;Invoke-Allchecks -verbose 运行该脚本,该脚本会自动检查PowerUp.ps1下所有的模块,并在存在漏洞利用的模块下的AbuseFunction中直接给出利用方法
这就是调用 AMSI API 的地方。 AMSI 的工作原理 当用户执行脚本或启动 PowerShell 时,AMSI.dll 被注入进程内存空间。...下图说明了 AMSI 扫描的过程。 ? 创建 PowerShell 进程后,AMSI.DLL 将从磁盘加载到其地址空间。...随后,AmsiScanBuffer() 将检查已注册的防病毒软件以确定是否已创建任何签名。 如果内容被认为是恶意的,它将被阻止。 AMSI 体系结构 ?...我们可以调用powershell来执行我们的恶意代码来更好理解Amsi AMSI的一个简单测试是在PowerShell提示符–中键入AMSI旁路中常用的字符串amsiutils。...只有熟透杀软才能更好免杀。 amsi解决的是远程加载执行恶意脚本无文件落地的攻击手法,过两天看看跟大家学习一下bypass AMsi的手法。
1、判断是否存在域 ipconfig 查看网关 IP 地址、DNS 的 IP 地址、域名、本机是否和 DNS 服务器处于同一网段。...如果没有指定,则在Domain Admins组中搜索 -c 对已找到的共享目录/文件的访问权限进行检查 -i interval 枚举主机之间等待的秒数 -j jitter...接着在 powershell中输入Import-Module PowerView即可导入PowerView,使用Get-Command -Module PowerView可查看已导入的 PowerView...因不需要使用Invoke-UserHunter对每台机器进行操作,所以这个方法的隐蔽性相对较高(但涉及的机器不一定全面)。...: 获取域默认策略或域控制器策略 Invoke-UserHunter: 获取域用户登陆的计算机信息及该用户是否有本地管理员权限 Invoke-ProcessHunter: 通过查询域内所有的机器进程找到特定用户
尽管渗透测试的方法各不相同,但依然有一些标准化的方法体系规范,而对于企业内部安全部门在提供安全测试服务时,依然有可取之处。...完成更好的渗透测试 高价值的渗透测试活动涉及对现实世界中恶意攻击者使用的技术进行建模、发现漏洞,并在一定受控环境下,根据提前精心设计的参与规则和协定的范围,以专业、安全的方式利用这些漏洞。...5.仔细检查正在进行测试范围中包含的所有IP地址是否属于目标组织,并且无错误。使用whois和traceroute检查地址是否有意义并且实际上属于目标组织。...3.通过研究如何手动或通过Bash、PowerShell、Nmap脚本 (NSE)或其他脚本检查问题,验证发现的漏洞。...4.如果想要为您的修复建议增加额外的价值,请考虑增加操作人员可以采取的易于落地的步骤,以验证建议的修复是否到位,例如检查补丁是否存在的命令。
将分发版版本设置为 WSL 1 或 WSL 2 可打开 PowerShell 命令行并输入以下命令(仅在 Windows 内部版本 18362 或更高版本中可用),检查分配给每个已安装的 Linux 分发版的...可以随时更改回 WSL 1,方法是运行与上面相同的命令,但将“2”替换为“1”。 备注 从 WSL 1 更新到 WSL 2 可能需要几分钟才能完成,具体取决于目标分发版的大小。...取消选中“压缩内容”(如果已选中“加密内容”,请一并取消选中),方法是打开 Linux 发行版的配置文件文件夹。...错误:适用于 Linux 的 Windows 子系统未安装发行版。 如果你在已安装 WSL 发行版之后收到此错误: 请先运行该发行版一次,然后在从命令行中调用它。 检查你是否正在运行单独的用户帐户。...在 64 位 Windows 上运行 32 位进程(若在 ARM64 上,则为任何非本机组合)时,托管的非本机进程实际上会看到一个不同的 System32 文件夹。
由于这些工具是Windows固有的,也被称为离地攻击,也就是说攻击者不需要下载专用工具,而是使用已安装的现有PowerShell就能够将恶意活动隐藏在合法进程中。...此外,由于分析正常的PowerShell 和恶意PowerShell需要一定时间,最好对于经常使用的脚本和PowerShell进程建立一个基准,帮助过滤,从而发现可疑的cmd.exe和混淆命令。...企业应该检查计划任务是否被设置为以系统身份运行,因为这是最典型的攻击配置。此外,还有核查事件ID 106和140记录何时创建或更新任务。...6、7%:进程注入 攻击者往往使用多种注入方法来获得对系统的更多访问权限,目前进程注入的方式非常多样。...8、5%:工具转移 虽然大多数攻击是离地攻击,但有时候攻击者也会将工具转移到平台上,他们使用bitsadmin.exe转移攻击工具,而查看PowerShell命令行中的关键字和模式是找到攻击序列的关键方法
注意 这些是Ansible连接的基本要求,但某些Ansible模块具有其他要求,例如较新的OS或PowerShell版本。请查阅模块的文档页面以确定主机是否满足那些要求。...当主机是域的成员时,这是创建侦听器的最佳方法,因为配置是自动完成的,无需任何用户输入。有关组策略对象的更多信息,请参阅 组策略对象文档。 使用PowerShell创建具有特定配置的侦听器。...确定问题是否是主机问题的一种简单方法是从另一个Windows主机运行以下命令以连接到目标Windows主机: # Test out HTTP winrs -r:http://server:5985/wsman...要检查的一些事情包括: 确保防火墙未设置为阻止已配置的WinRM侦听器端口 确保在主机变量所设置的端口和路径上启用了WinRM侦听器 确保该winrm服务正在Windows主机上运行并配置为自动启动 连接被拒绝错误...一些要检查的东西: 确保WinRM服务已启动并在主机上运行。使用 来获取服务的状态。(Get-Service -Name winrm).Status 检查主机防火墙是否允许通过WinRM端口的通信。
通过检查已执行进程的二进制程序属性、对比预期外进程的名称与路径的方式可以发现这种威胁。...这是在对抗基于 JavaScript 的垃圾软件时总结的方法,它们利用渗透工具、横向平移与 APT 级的检测逃避。...对于在攻击生命周期早期发生的攻击,通常涉及到寻找立足点,想要将受监控的二进制程序拷贝到不显眼的路径中。...关于项目 这是一个有趣的开源项目,当我发现vbscript具有查询PE属性的功能时,希望其他人也可以更好地利用这个功能。...作为目标检测的一部分,围绕性能的其他优化也可以是针对特定感兴趣的位置的查询。 要记住使用 Powershell 方法利用 Windows API。
设置完成后,便会开启一个新的线程,然后将第一个线程设置为休眠(一种反分析技术)。随后,恶意软件将遍历目标设备的注册表以寻找潜在的安全策略设置。...出于某种原因,恶意软件会将IE浏览器的安全策略设置进行修改,关掉IE的通用命名约定路径,并启用自动Intranet映射,然后开始寻找可能会阻碍数据加密/销毁的应用程序以及服务。...通过调用Windows的CreateToolhelp32snapshot.dll,恶意软件还会存储所有正在运行进程的快照,并通过对照一个内置列表来进行进程检查,然后试用taskkill.exe实用工具来关闭所有与该列表匹配的进程...此时,当目标主机上所有的安全防护措施都已经失效之后,勒索软件将会开始检测目标主机上所有已加载的存储介质,并遍历本地或网络驱动器的目录结构,这一部分操作都是通过powershell.exe进程来实现的。...下图显示的是PreLock加密后的文件截图: 下图显示的是文件加密前后的数据对比: 当勒索软件完成每个目录内的文件加密之后,它会将一个名为[HOW TO RECOVER FILES].TXT的文件写入到目录内
识别在用户可写位置中寻找的DLL ?...种可能的组合,有相当多的选择。...DLL的应用程序没有其他借口,更好的选择(只有极少数Windows可执行文件似乎可以这样做)是在加载所有DLL之前先对其进行验证(例如,通过检查其签名),这将在很大程度上消除该问题。...,这里可以找到一个示例Sigma规则——它成功地检测到我们的DLL劫持,尽管正如您所看到的,它的伸缩性不是很好,很可能会出现误报,您可以采用一种更通用的方法,通过查找在意外位置是否存在Microsoft...签名的二进制文件,以及此类Microsoft签名的二进制文件是否从意外位置加载DLL(无论位置如何) 最后,通过查找/windows/文件夹中或该空格中结尾的任何文件夹中的任何活动,可以轻松可靠地检测到已证明的
打开Windows PowerShell或命令提示符,并输入以下命令来检查是否已安装OpenSSH: ssh -V 如果显示了OpenSSH的版本信息,则表示已安装成功。...在Windows上,你可以使用以下命令: ssh-agent 这将启动SSH代理服务,并在控制台中显示代理进程的ID。 添加SSH私钥到代理中。...你可以尝试以下解决方法: 确认OpenSSH已正确安装:在Windows上,你可以使用以下命令来检查是否已安装OpenSSH: ssh -V 如果显示了OpenSSH的版本信息,则表示已安装成功。...检查是否已在Windows服务中启动SSH代理服务。按下Win + R组合键,然后输入services.msc打开服务管理器。...重新打开Windows PowerShell或命令提示符,并尝试再次运行ssh-agent命令: ssh-agent 如果一切正常,将会显示SSH代理进程的ID。
这意味着: · 当该容器不再存在时,数据不会持久存在,并且如果另一个进程需要,则可能很难从容器中获取数据。 · 容器的可写层紧密耦合到运行容器的主机。数据迁移很麻烦。...因此,通常情况下,卷相对于容器的可写层中的持久数据来说是更好的选择,因为卷不会增加容器的大小,并且卷的内容存在于给定容器的生命周期之外。接下来,我们就一起来实践。 ?...例如,我们可以通过-v :/var/opt/mssql命令参数来完成需求: PowerShell: docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD...接下来,我们删除容器,然后来验证数据库文件是否任然保留: PowerShell: set-location D:\temp\data\data docker stop mySqlServer docker...我们可以使用以下命令来检查数据卷: docker volume inspect my-data ? 同样的,我们也可以使用上一节的命令删除容器并再次创建来验证数据是否丢失。这里我们就不做演示了。
默认情况下,在容器内创建的所有文件都存储在可写容器层中。这意味着: · 当该容器不再存在时,数据不会持久存在,并且如果另一个进程需要,则可能很难从容器中获取数据。...因此,通常情况下,卷相对于容器的可写层中的持久数据来说是更好的选择,因为卷不会增加容器的大小,并且卷的内容存在于给定容器的生命周期之外。接下来,我们就一起来实践。 ?...例如,我们可以通过-v :/var/opt/mssql命令参数来完成需求: PowerShell: docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD...接下来,我们删除容器,然后来验证数据库文件是否任然保留: PowerShell: set-location D:\temp\data\data docker stop mySqlServer docker...我们可以使用以下命令来检查数据卷: docker volume inspect my-data ? 同样的,我们也可以使用上一节的命令删除容器并再次创建来验证数据是否丢失。这里我们就不做演示了。
---- 01、检查系统账号 (1)检查远程管理端口是否对公网开放,服务器是否存在弱口令。 检查方法: 检查防火墙映射规则,获取服务器账号登录,也可据实际情况咨询相关管理员。...(2)检查可疑的网络连接 检查方法 检查是否存在可疑的网络连接,如发现异常,可使用Wireshark网络抓包辅助分析。...03、检查异常进程 (1)检查是否存在可疑的进程 检查方法: a、开始—运行—输入msinfo32,依次点击“软件环境→正在运行任务”就可以查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等...可以通过观察以下内容: 没有签名验证信息的进程 没有描述信息的进程 进程的属主 进程的路径是否合法 CPU或内存资源占用长时间过高的进程 (2)如何找到进程对应的程序位置...05、检查计划任务 (1)检查计划任务里是否有可疑的脚本执行 检查方法: a、单击【开始】>【设置】>【控制面板】>【任务计划】,查看计划任务属性,便可以发现木马文件的路径。
领取专属 10元无门槛券
手把手带您无忧上云