2016 上一顿尝试,发现 Index 的值只有是 0 的时候才有隐藏效果 所以可以通过排查计划任务的注册表,找出所有 Index 为 0 的就可以了 这样检查难度就小很多了,但是如果将计划任务放在了很深的目录...,手动检查还是比较困难,得整个脚本来做 这里提供一个 powershell 脚本 # 检索注册表中 Index 值为 0 的计划任务名称及其注册表位置 $taskRegistryPath = "HKLM...通过注册表检查 通过我在 Windows Server 2016 上一顿尝试,发现基本上计划任务都有 SD ,这样只要查询没有 SD 的就可以发现了 这里提供一个 powershell 脚本 $registryPath...删除计划任务 直接通过 powershell 删除就好,如果这种方法还同时使用了 Index 置 0 ,可以考虑从注册表修改 Index 为非 0 值, 之后通过 powershell 删除 Unregister-ScheduledTask...,才会生效,因此这类隐藏隐蔽性很强,但是计划任务服务重启后就会呈现修改后的注册表的效果,可能是消失、执行失败、执行攻击者定义的计划任务 文章稍长,为保证观感,为大家准备了 PDF 版本 https:/
win10或win11内核的机器,默认带defender,挺敏感的,可能存在一定的误报,如果你觉得是误报,需要添加信任的话,有5种办法defender从NT10开始,NT10包括2016/2019/2022.../win10/win11/未来发布的windows系统,不包括≤2012R2的系统我先详述如下,最后再录个视频(录屏在结尾)一、组策略排除二、powershell命令排除排除示例:powershell.exe...view=o365-worldwideDefender的更新不受制于操作系统的Windows Update机制,是套独立机制#设置defender从不更新(不一定生效,因为defender的机制太复杂了...)这个设置可能并不能完全控制defender自动更新defender本身由好几部分组成的, 包括客户端、病毒库、扫描引擎等,更新通道也是多种机制(defender自身检查、windows update...等),下面的命令控制的是其中一种definition update(病毒特征库)其他的可能该更新还是会更新, 并且其他更新安装的时候也会自动同步新的definition update建议实际验证一下,
此方法使用通常主机系统和虚拟环境中存在的目录差异。...pafish_disable_wow64_fs_redirection(&old)) { res = GetFileAttributes(filename); // 忽略 MSDN 在此调用失败时退出的建议...:在通常的主机中没有这样的注册表项和值。...2.1 检查是否存在特定的注册表路径 /* VirtualBox 检测以检查注册表路径*/ int vbox_reg_key7() { return pafish_exists_regkey(HKEY_LOCAL_MACHINE...return FALSE; } 2.2 检查特定注册表项是否包含指定的字符串 int vbox_reg_key2() { return pafish_exists_regkey_value_str
(VC) 键中的值个数 * PSIsContainer 总是为True Tips : 如果你已经将路径定位到该注册表路径下,还可以使用另外一种方法获取所有值: # 这里将”.”传递给Get-ItemProperty...例如可以使用此cmdlet获取文件对象的LastAccessTime属性的值。...Remove-ItemProperty 命令 - 设置键的值 描述: del 是Remove-Item的别名....\LineNumbers.txt -Stream addcontent PowerSheel PowerShell # 3.过滤器与通配符的使用 # 将值附加到当前目录中的文本文件,但根据文件名排除文件...,匹配失败的写入指定的错误文件之中。
为例),对于存在大量检查项的(例如大量的 dll 文件需要检查),基本也都给出了 Powershell 脚本。...如果大家详细看了这些 Powershell 脚本或者看我们的描述可以发现,其实就是找到检查项,进而找到可执行文件(exe、dll 等),之后验证签名是否通过,这个做法仔细想是存在问题的:恶意程序也可以拥有有效的签名...) 名称是否为微软官方,如果两者有一个不满足,则认为是可疑文件 如果大家有更好的方法,欢迎根据应急手册上的联系方式联系我们讨论 0x03 弃用方案 为什么不采用杀毒软件对要检查的文件进行查杀?...首先是在应急响应手册的常规检查阶段包含了全盘查杀,其次并不是所有应急场景都包含杀毒程序并且杀毒程序的病毒库能够及时 联网/不联网 更新 为什么不采用沙箱进行检查?...我的电脑只有一个 C 盘,通过 Powershell 帮我们来完成 $rootPath = "C:\" # 用于存储已发现的 CN 值和对应的文件地址 $cnFileMap = @{} # 处理文件
首先,如果是比较简单的需求,可以使用?*通配符来搞定,问号用于匹配任意单个字符,星号用于匹配任意多个字符。比方说,我想要列出所有.md格式的文件,就可以使用下面的命令。...下面同样是查找所有.md格式的文件,不过这次使用了Where-Object和正则表达式,其中Where-Object里面的$_是形式变量,代表每次迭代的文件。...首先先来介绍一个命令Invoke-WebRequest,利用它我们可以获取网页内容、下载文件甚至是填写表单。这个命令的别名是iwr、curl和wget。我们就使用它来下载网上的hosts文件。...如果使用交互式环境Powershell ISE的话,智能提示会显示这里有AddChart和AddChart2两个方法,不过我看了下文档,前面那个过时了,所以这里使用带2的那个版本。...但是我使用这个方法却不知道为什么显示不了。所以这里只能将就一下了。 ? 最后再来画个饼状图,数据还是上面的数据,不过这次只使用语文那一列的数据。基本上和上面的一样,只有类型那里改成xlPie。
检测方法1 检查注册表 在以下两个注册表位置检查 pv (REG_SZ) WebView2 运行时的 regkey。...如果两个 regkey 都不存在,或者仅存在其中一个 regkey,但其值为 null空字符串或 0.0.0.0,则表示未在客户端上安装 WebView2 运行时。...检查这些 regkey 以检测是否安装了 WebView2 运行时,并获取 WebView2 运行时的版本。 在以下两个位置找到 pv (REG_SZ) 。...webView2.CoreWebView2.Environment.BrowserVersionString 获取到的 BrowserVersionString 值为100.0.1185.50,与控制台中...安装完成后即可使用。 系列目录 【已更新最新开发文章,点击查看详细】
禁用Defender 禁用AV/EDR产品在实践中绝不是一个好主意,最好的办法是绕过它。所有这些命令都需要本地管理权限。...机器上代理流量,Chisel是一个不错的选择。...Chisel允许端口转发,但我最喜欢的技术是在目标机器上设置一个反向SOCKS代理,允许你在目标系统上对任何流量进行隧道传输。...我们现在可以使用例如ProxyChains来在目标系统上建立隧道。...下面是我遇到的一些相关文件的清单、根据机器上安装的程序和/或服务来检查文件。
闭包延长了变量的生命周期,因为第三次与第二次打印出来的值就是同一个值的引用。...具体一张图可以可以理解下 当我们用var b1 = A()时,实际上,我用蓝色的方框已经标注起来了,在b1内部我们可以看到,每执行b1,实际就是执行的红色区域的函数,也就是A内部定义的函数B,但是每次调用...1,这是为什么呢?...你有没有发现之前我们是用var b1 = A()申明的一个变量,实际上这句代码就是js新开辟暂存了一块空间,因为A内部返回的是一个函数,当我每次调用b1时,实际上是调用返回的那个函数,因为函数内部存在闭包的引用...,所以一直就1,2,3,但是我这里我使用的是A()(),我们发现每次都是1,说明当我第二次调用时内部的age已经重新定义了一遍,而并没有引用上一次的值,这就说明,在A()立即调用时,闭包内部引用的变量已经被释放
本次作业是使用钉钉机器人来实现远控服务器!...); // 返回值: // 如果函数成功,则返回值是新线程的句柄。...指定这些值中的任何一个都将覆盖使用 HeapCreate 创建堆时指定的相应值。...[in] SIZE_T dwBytes // 分配的字节数 ); //返回值: //成功:返回值是指向已分配内存块的指针 //失败:未设置堆分配选项为 HEAP_GENERATE_EXCEPTIONS...// 指向接收线程标识符的变量的指针 ); //返回值: //成功:返回值是新线程的句柄 //失败:返回值为 NULL Python 实现shellcode 加载器 shellcode
本文适合所有技术水平的读者,无论是初学者还是经验丰富的开发者,都能从中获得必要的帮助。...我是你们的猫头虎博主,在这篇文章中,我们将一起探索如何处理Edge浏览器的一项常见问题:“你的组织浏览器已托管”。许多用户在使用时可能会遇到这种情况,这通常与组织的IT政策设置有关。...仔细检查任何可能影响浏览器行为的条目,并进行适当修改。 步骤3: 联系IT支持 如果你不是IT管理员,最安全的解决方式是联系你的IT支持团队,由他们来进行必要的更改。...代码示例 # PowerShell脚本示例,查看Edge浏览器策略 Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Edge\*" 操作命令...REM 打开组策略编辑器 gpedit.msc QA环节 Q1: 如果我没有访问组策略编辑器的权限怎么办?
view=powershell-6 2008R2默认是powershell2.0,可以下载powershell5.1直接安装 安装文件地址: https://download.microsoft.com...6F5FF66C-6775-42B0-86C4-47D41F2DA187/Win7AndW2K8R2-KB3191566-x64.zip image.png 解压后在Install-WMF5.1.ps1上右击“使用...PowerShell运行”,安装完成后重启生效,重启后原本PowerShell的图标会变,执行Install-WMF5.1.ps1前首先要运行powershell开启下“允许执行脚本”,命令是set-ExecutionPolicy...-Path C:\Windows\System32\notepad.exe | Format-List //获取某个文件的Hash值(算法SHA256) Get-WMIObject win32_Processor...,输入命令查看 (Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion
本来想把这篇的内容包括在我的Powershell系列文章之内的,后来写完之后才想起来,这时候我已经复制粘贴到简书、CSDN和SegmentFault三个地方了。所以这一篇干脆单独写成一篇文章。...这个方法有三个参数,第一个指定环境变量名称,第二个指定环境变量的值,第三个指定环境变量类型(Process是仅当前进程有效,User是用户级别,Machine是系统环境变量且需要管理员权限)。...或者是Powershell窗口,输入一下两条命令测试环境变量是否配置正确。...java -version javac -version 完整脚本 下面是完整的脚本,它也放到了我的Github上面了,有兴趣的同学可以看看。...所以使用的时候请注意,同时欢迎反馈信息。
,但微软官网的是最安全的,唯一不好的是,微软官网貌似只提供家庭版。...如果您不需要控制 NVIDIA 协处理器驱动程序的自动下载,可以将 AutoDownload 的值设置为 0 来禁用它。...的wget,powershell的wget实际是这个命令的简写invoke-webrequest 因为出现问题的时候powershell用不了,所以得准备一个cmd命令能用的下载工具,就是wget.exe...3、需要特别强调的是,win8.1/2012R2不要使用适用Win10/Win11的ADK和SDK 我在2012R2上用[ADK for Windows 10 版本 2004]安装WPT后,执行WPR会报错...当您使用 -WhatIf 参数运行命令时,PowerShell 会告诉您命令将执行哪些操作,但不会实际执行这些操作。这对于在执行潜在危险或破坏性操作之前检查命令的影响非常有用。
任务管理器 任务管理器默认看不到 SMB 连接会话 0x04 启动项 启动项排查主要有以下方法和内容,包含了常规的检查办法,还有基本的启动项目录,都需要检查一遍,同时注册表是作为启动项检查方式之一,存在固定的注册表位置和语句...Hash:这个项存储了任务的哈希值(Hash)。哈希值是根据任务的属性和内容计算得出的唯一标识符,用于验证任务的完整性和一致性。 Path:这个项表示任务的路径。...Github 上的项目详情 0x11 系统日志分析 无论大家使用哪款程序来帮助分析日志,我都建议大家先把日志备份一份儿,同时在同款主机上测试一下工具的可用性 1....3) 启动失败默认操作 点击服务项后,右键选择属性 -> 恢复 这里定义了服务失败时触发的操作,如果设置的是运行一个程序,并且在图中运行程序处指定了非默认程序,则需要重点关注 4) 依存关系 点击服务项后...检查这些子键的值,特别是以下几个值: ProtocolChain:这个值指定了命名空间提供者的优先级顺序。确保优先级顺序中没有未知或可疑的提供者。
它支持允许文件和内存或流扫描、内容源 URL/IP 信誉检查和其他技术的调用结构。AMSI 还支持会话的概念,以便反恶意软件供应商可以关联不同的扫描请求。...是没有amsi的,所以在powershell2.0上执行恶意脚本就不会被检测到 下图是powershell在各个系统上的预装情况,可以看到现在常见的win10、Windows 2016、2019很少预装有...hook该函数,使其返回我们需要的值呢?...理则是修改AmsiScanBuffer函数的参数值(两个思路,一个是修改扫描长度,另一个是修改返回值) 看下AmsiScanBuffer的函数参数 HRESULT AmsiScanBuffer( HAMSICONTEXT...而这个函数会先从注册表HKCU中找对应的dll去解析,也就是当前用户,因此我们创建相应的注册表,让它调用失败就行了。简单来说利用的是注册表优先级来绕过。
然而我想起当时修改密码时是使用的MobaxTerm,并且记录了其会话密码,我便开心的以为我找到突破口,好在结果是可以登录的,然后我就想查看其存储密码,发现家庭版本居然不能查看保存的明文密码,坑呀....通常情况下游两种方式,一种是将其版本升级到 MobaXterm professional Edition 直接查看存储的session密码(No money), 另外一种是针对家庭版使用基于python...SessionP 值 (Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\').SessionP 2493068723790 # Master/自创建的服务器账号密码.../session会话记录的账号密码 Get-ItemProperty 'HKCU:\SOFTWARE\Mobatek\MobaXterm\m' Get-ItemProperty 'HKCU:\SOFTWARE...# 在已知道自己设置Master密码的情况下可直接(此处假设我的 master密码是 weiyigeek),将 plaintext|ciphertext 接到 -p 指定 master密码参数后。
为什么mimikatz需要管理员权限才能够抓取hash也是这个原因,如果只是一个user权限就获得不了调试程序的权限。 本地安全策略是默认给管理员组权限的 ?...powershell$key=Get-ItemProperty -Path "Registry::HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\...这里使用powershell脚本运行脚本,可以看到在没有修改的情况下是10s刷新一次 powershell.exe -ExecutionPolicy Bypass -File test.ps1 ?...•判断锁屏状态 这里的思路是通过判断GetForegroundWindow()这个函数的返回值来确定是否锁屏。...这里首先尝试以下使用mimikatz抓取hash,是能够抓取到的 ? 再尝试把缓存次数改为0 ? 这里需要在域内的机器才能够完成实验,这里我换了一台在域内的win7系统。
(Default) 条目中提供的应用程序名称可以使用或不使用其 .exe 扩展名进行说明。 如有必要, ShellExecuteEx 函数 会在搜索 应用路径 子项时添加扩展。...默认情况下,当放置目标是可执行文件,并且未提供 DropTarget 值时,Shell 会将放置的文件列表转换为命令行参数,并通过 lpParameters 将其传递给 ShellExecuteEx。...关联查询 ASSOCSTR 读取此注册表项值,并回退到版本信息中使用 FileDescription 名称。 如果缺少该名称,则关联查询默认为文件的显示名称。...这里值得说明的两点: 1)ProgID是独有的,像微软弄了长字符串来规避重复,也可以进行版本控制 2)这个ProgID可以是任意值,方便针对不同的文件类型和链接类型来实现不同的命令行操作 // 步骤1...) regKey.WriteValue(L"mailto", L"MailToTest.exe") 上面是设置em和png的默认关联ProgID都是一样,也可以设置不同,重复步骤2设置不同的ProgID
官方架构图: 目前AMSI功能已集成到Windows 10的这些组件中 •用户帐户控制或 UAC(EXE、COM、MSI 或 ActiveX 安装的提升)•PowerShell(脚本、交互使用和动态代码评估...注意这个amsi是64位的。 把自己的dll放到powershell.exe的同目录下,再次打开powershell。 查看powershell进程的模块,发现已经是我们自己写的模块了。...除了劫持还可以卸载,但是会造成powershell不稳定直接崩溃。这个方法是不行的。...在普通用户权限下,可以通过如下命令经行检查: Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -recurse | Get-ItemProperty...,我在想是不是可以hook一下,改下值就行了。
领取专属 10元无门槛券
手把手带您无忧上云