一.Powershell初识 1.基础概念 Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能。...二.Powershell管道和重定向 1.管道 Powershell管道旨在将上一条命令的输出作为下一条命令的输出。 ?...如果只获取其中的name、mode值,则使用如下指令。 ? ? 2.重定向 重定向旨在把命令的输出保存到文件中,‘>’为覆盖,’>>’追加。 ?...上面代码是将ls显示文件内容的name和mode信息存储至本地demo.txt文件夹中,再调用“type demo.txt”打印文件内容。...如果两个 >> 它会在原来的基础上,再进行补充(类似 a+),而单个大于号是删除原来的写入(类似 w)。 ? 输出结果如下图所示。 ? ?
PowerShell 有如下特点: Windows 7 以上的操作系统默认安装 PowerShell 脚本可以运行在内存中,不需要写入磁盘 可以从另一个系统中下载 PowerShell 脚本并执行 目前很多工具都是基于...\aps1,最大的例外是,如果 PowerShell 脚本文件刚好位于你的系统目录中,那么你可以直接在命令提示符命令提示符后键入脚本文件名即可运行” 这里的“系统目录”是指的啥目录?...管道 PowerShell 中的管道类似于 linux 中的管道,都是将前一个命令的输出作为另一个命令的输入,两个命令之间使用 “|” 进行连接。...PowerShell 还兼容 cmd 和 Linux 命令,如查看目录可以使用 dir 或者 ls 。.../darkoperator/powershell_scripts/master/ps_encoder.py 下载好后,需要先将要执行的命令保存到文本文件中,这里保存到了 tmp.txt 文本中,之后执行
二、基础导航命令这些命令帮助你在文件夹之间移动和查看内容。cd(切换目录)功能:更改你当前所在的文件夹位置(PowerShell中实际命令是Set-Location,cd是它的常用别名)。...>dir或ls(列出目录内容)功能:显示当前文件夹里的文件和子文件夹(PowerShell中实际命令是Get-ChildItem,dir和ls是它的常用别名)。...>把命令的输出写入文件(覆盖原有内容),>>把输出追加到文件末尾。新手提示:这是创建简单文本文件或保存命令结果的快捷方式。...示例:clsexit(退出)功能:关闭当前的PowerShell窗口或会话。示例:exitWrite-Host(写入主机)功能:向控制台主机直接写入输出,可以指定颜色。...输出重定向>和>>:将命令输出保存到文件。>覆盖文件,>>追加到文件。例如dirC:\Windows>C:\Users\userC\windows_files.txt。
引言 在日常使用Windows PowerShell进行脚本编写和命令执行时,记录会话中的操作和输出是非常有必要的。这不仅有助于审计和问题排查,还能方便日后的复盘和学习。...什么是Start-Transcript Start-Transcript命令用于开始记录当前PowerShell会话的所有操作,并将记录保存到指定的文件中。...你可以通过查看该文件来了解所有输入的命令和输出的结果。...要停止记录,可以使用Stop-Transcript命令: powershell Stop-Transcript 指定输出文件 通常情况下,你可能希望将记录保存到特定的文件路径中,以便更好地管理和归档...你可以打开该文件查看详细的会话记录。 结论 Windows PowerShell的Start-Transcript命令是一个强大的工具,能够帮助用户记录会话中的所有操作和输出。
无论是在Linux中写Bash脚本还是在Window上写PowerShell,管道符”|“是一个非常有用的工具。它提供了将前一个命令的输出作为下一个命令的输入的功能。...在PowerShell中我们也可以通过各种Get-XXX命令获得各种各样需要的数据,但是并不是所有操作系统和各个版本的PowerShell都支持某个命令的。...我们可以使用Export-Csv命令将PowerShell中的对象转换为CSV格式,持久化到磁盘上。...比较刚才导出的CSV文件,我们接下来要对这个文件进行处理。我们可以将文件的内容保存到变量$data中。...比如我们想把某一列写入一个文件,我们可以在-Begin时创建文件,记录开始的时间,然后Foreach中Append内容到文件,最后把结束时间写入: $data | % -Begin { Get-Date
Out-Host: 管道输出内容类似于linux中的more命令,会将对象转换成为字符串还可以控制管道的版式; Out-Default: 将输出发送到默认的格式化程序和默认的输出 cmdlet。...- 将管道中的内容输出到终端之中并进行分页预览 描述: 该Out-Hostcmdlet将输出发送到PowerShell主机进行显示。...dir | Out-Null dir > $null 6.Out-Default 命令 - 将输出发送到默认格式化程序和默认输出cmdlet 描述: PowerShell会自动添加Out-Default...描述: 该 Out-GridView (别名 ogv) cmdlet将命令的输出发送到网格视图窗口(注意需要界面),在该窗口中输出显示在交互式表中。...WeiyiGeek.GridView ---- 0x02 格式化转换输出 Format-* 描述:可以将管道中的对象进行格式化后字符后进行输出展示,采用Get-Command -Verb format
RDB(Redis DataBase)持久化是把当前进程数据生成快照保存到硬盘的过程。 Tips:是以二进制的方式写入磁盘。 #### 21.RDB的持久化是如何触发的?...AOF(append only file)为了解决rdb不能实时持久化的问题,aof来搞定。以独立的日志方式记录把每次命令记录到aof文件中。 #### 26.如何查询AOF是否开启?...#### 29.为什么AOF要先把命令追加到缓存区(aof_buf)中? Redis使用单线程响应命令,如果每次写入文件命令都直接追加到硬盘,性能就会取决于硬盘的负载。...事务提供了一种将多个命令请求打包,一次性、按顺序的执行多个命令的机制。...是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。
redis入门(二) 前言 在redis入门(一)简单介绍了redis的历史和安装部署,以及基本的数据结构和api,本节讲解redis持久化、高可用、redis集群和分布式相关的知识。...RDB RDB持久化是把当前进程数据生成快照保存到硬盘的过程,换句话来说是将当前redis内存中的数据全部保存到硬盘。触发RDB持久化过程分为手动触发和自动触发。...dir配置的路径中 通过config set dbfilename可以动态修改RDB保存文件名,下次运行RDB保存时会保存到新的文件名中。...AOF保存的不是数据,而是每次执行的命令,因此AOF文件会比RDB文件大的多。 原理 [20191030164532.png] 所有的写入命令会追加到aof_buf(缓冲区)中。...将data目录设置为redis根目录,所有的RDB文件,AOP文件,日志和配置都存放到data目录中。 准备配置 准备三个配置文件,以redis-{port}.config命名。
2、Verbose 参数Verbose 参数主要用来显示函数执行过程中通过Write-Verbose写入的相关信息,如果命令执行当中有写入则会有反馈信息输出,反之则没有任何信息输出。...输入如下命令get-childitemget-childitem -verbose可以看到两者输出的信息是一样的,表明函数执行过程没有写入相关信息。...再执行创建文件命令额外输出信息详细信息: 正在目标“目标: D:\logs\端午节2.txt”上执行操作“创建文件”。总结:针对获取操作的命令函数执行过程一般没有写入相关信息。...3、Debug参数Debug参数主要用来显示函数执行过程中通过Write-Debug写入的相关信息,该参数默认是不启用的,需要通过执行命令当中增加 -Debug 参数来启用。...和Verbose类似,如果没有相应的调试信息输出,也不会输出任何信息,如果开启该参数后,命令执行过程中涉及到参数调试,输出的结果都会停下来等待人为干预是否执行下一步。
将生成两个新文件夹:Active Directory和Registry。NTDS.DIT文件将保存在Active Directory中,SAM和SYSTEM文件将保存到Registry文件夹中。 ?...然后,它远程执行复制命令,以便将卷影副本中的NTDS.DIT文件解压缩到目标系统上的另一个目录中。...命令副本并将NTDS.DIT和SYSTEM文件复制到名为ShadowCopy的本地驱动器上的新创建文件夹中。 copy \\?...在执行期间,fgdump将尝试禁用可能在系统上运行的防病毒软件,如果成功,则会将所有数据写入两个文件中。...该脚本将所有信息写入项目名称下的各种文件中,当数据库文件NTDS的解密完成后,将用户列表和密码哈希值导出到控制台中。该脚本将提供有关域用户的大量信息,如下所示。 ? 密码哈希将以下列格式显示。 ?
此步骤包含两个部分的配置:1.key类型配置我们需要在 .claude文件夹中创建一个 config.json文件。...(PowerShell): 你也可以直接复制以下命令在 PowerShell 中运行,一键创建该文件:...2.在配置界面填入参数:BASE_URL:API地址后面加上anthropicToken: 刚才申请的 API KeyMode/Model: deepseek-chat3.将任务模式 可以切换为 Ask...4.输入任意对话,检查 AI 是否响应。你也可以在 PowerShell 中直接输入 claude code启动命令行版进行使用。...(注:大家可以选择自己习惯的中转服务商,原理均通用)修改端点: 重复上述配置步骤,将 API Endpoint (端点地址) 修改为 Poe 或中转商提供的地址,并填入对应的 Key。
上一篇:PowerShell系列(十一):PowerShell Cmdlet高级参数介绍(一)1、ErrorVariable 错误变量上篇文章我们讲过$Error变量,对于PowerShell执行出现的错误会被写入到这个变量里面...Tee-Object比较类似,把当前命令的执行结果输出到定义的变量当中去,然后在命令结果传递到管道的同时,把执行结果保存到PowerShell变量中去。...此参数定义在将任何对象向下传递管道之前要存储在输出缓冲区中的对象数。 默认情况下,对象会立即沿管道向下传递。...管道中的任何命令都可以使用命名的 PipelineVariable 访问值。 当变量传递到下一个管道段时,该值将分配给变量。 ...示例第一个Foreach-Object命令的结果通过管道传递到第二Foreach-Object个命令中,该命令显示 和 $_的$temp当前值。
文件操作: Windows PowerShell 中的文件操作命令包括“Get-ChildItem”、“Copy-Item”、“Move-Item”、“Remove-Item”等。...用户可以通过这些命令查看、复制、移动和删除文件和文件夹。...输出和格式化: Windows PowerShell 中的输出和格式化命令包括“Out-File”、“Format-Table”、“Format-List”等。...用户可以通过这些命令将命令的输出结果保存到文件或格式化输出为表格或列表。...脚本编写和调试: Windows PowerShell 中的脚本编写和调试功能非常强大,用户可以通过“New-Script”命令创建新的脚本,通过“Set-ExecutionPolicy”命令设置脚本执行策略
(高级模式); 工具要求 PowerShell Microsoft 365账号(拥有审计日志的访问/提取权) 支持PowerShell脚本执行的操作系统,建议选择Windows; 工具下载 广大研究人员可以使用下列命令将该项目源码克隆至本地..._Extractor.ps1脚本; 2、打开PowerShell窗口,切换到脚本所在路径,运行该脚本,或者直接在资源管理器中右键点击脚本文件,并选择“使用PowerShell运行”; 3、选择我们所需要的选项...; 4、审计日志将写入到“Log_Directory”目录中; Microsoft365_Extractor_light使用 1、下载项目中的Microsoft365_Extractor_light.ps1...脚本; 2、打开PowerShell窗口,切换到脚本所在路径,运行该脚本,或者直接在资源管理器中右键点击脚本文件,并选择“使用PowerShell运行”; 3、选择开始日期、结束日期或时间间隔,也可以直接使用默认配置选项...,脚本将根据用户选项来提取日志信息; 4、审计日志将写入到“Log_Directory”目录中; 输出结果 Amount_Of_Audit_Logs.csv:查看可用的日志以及RecordType; AuditLog.txt
2.检查文件夹权限,查看是否有写入权限,如果有可以考虑直接修改,反之则考虑通过LoadLibrary函数创建一个新的黑DLL 提示:我们知道Windows系统会按照预先确定的顺序查找相关库的位置。...如果文件允许LoadLibrary函数动态解析库的路径,那么该文件也会在当前目录中查找库DLL。我们通过将"白加黑"复制到具有写入权限的目录即可。...第一步将涉及创建恶意PowerShell脚本并将其保存,沙箱检测如下所示: 创建并保存恶意PowerShell脚本后,打开混淆工具,我们可以通过在Invoke-Obfuscate提示符中运行以下命令来完成...这时,我们可以选择合适混淆方法,通过在Invoke-Obfuscate提示符中运行命令来选择此选项: token all 5.最后,输出混淆后的.ps1脚本 1 out xxx.ps1...ASMI免杀处理 为了做好Powershell的免杀,我们针对内存规避有着以下的手段: 专注于内存操作,不将文件写入磁盘 通过利用各种Windows API将有效负载注入进程 然后在存储器中的单独线程中执行有效载荷
Node.js运行环境搭建 1.1 下载和安装 Node.js是一个基于Chrome V8引擎的JavaScript代码运行环境,也可以说是一个运行时平台,提供了一些功能性的API,如文件操作API、网络通信...解决方法是需要手动将Node.js安装目录添加到环境变量Path中。...当在命令行工具中输入“node”命令时,实际上是去当前计算机中查找一个名字为node.exe的可执行文件,如果这个文件能够找到,则命令就可以成功执行。...如果的路径,那么在任何路径下使用“node”命令都可以找到node.exe文件。在Path环境变量中配置了.exe文件。...Node.js的安装过程中,默认会在Path环境变量中配置好node.exe的路径,如果在Path环境变量中没有自动配置node.exe路径,我们可以手动完成配置。 .exe文件。
$Profile 包含当前用户和当前主机应用程序的 Windows PowerShell 配置文件的完整路径。可以在命令 中使用此变量表示配置文件。...当我们把一个外部命令的执行结果保存到一个变量中时,Powershell会把文本按每一行作为元素存为数组。...Export-Csv: 将 Microsoft .NET Framework 对象转换为一系列以逗号分隔的、长度可变的 (CSV) 字符串,并将这些字符串保存到一个 CSV 文件中。...Measure-Object: 计算对象的数字属性以及字符串对象(如文本文件)中的字符数、单词数和行数。 more: 对结果分屏显示。 Out-File: 将输出发送到文件。...Tee-Object: 将命令输出保存在文件或变量中,并将其显示在控制台中。 Where-Object: 创建控制哪些对象沿着命令管道传递的筛选器。
在多个AppLocker白名单绕过列表中,Presentationhost.exe都位列其中(例如api0cradl和milkdevil),但在网上有关如何使用它的资料却少之又少。...这里我将使用C#的Pipeline类来运行PowerShell命令(有趣的是,以这种方式运行PowerShell命令可以绕过约束语言模式)。...以下代码将在Pipeline中运行一些PowerShell命令,并将输出写入到屏幕。...运行应用程序,PowerShell命令现在应该能够正常执行。 ? 编译的应用程序可以在visual studio项目的\bin\Debug文件夹中找到。.../tree/master 我将已编译的文件包含在了repo中,以便你在锁定环境中运行PowerShell,你可以在此处获取文件。
图1-2使用Go来拉取依赖通过执行gobuild.命令来将拉取的AzureHound代码编译成.exe执行文件,执行结果如图1-3所示。...api-version=1.0)请求访问令牌。最后执行$Tokens命令来将Invoke-RestMethod调用后的访问请求响应结果打印出当前屏幕中。...如图1-7所示,我们可以看到由Invoke-RestMethod调用后的访问请求响应结果内容,在该访问请求响应结果内容中,其中输出了多种类型的Token(令牌),包括"AccessToken""RefreshToken...AzureAD租户,即目标租户主要域(如图1-8所示);-o参数选项指定输出结果的文件名和格式,在本命令中用于将结果保存到名为output.json文件中。...图1-8目标租户的主要域图1-9将目标AzureAD租户中的所有资源导出为JSON格式文件
可以说SSPI就是SSP的API接口。...test用户来进行测试 当用户再次通过系统进行身份验证时,将创建一个名为 kiwissp 的新文件,该文件将记录帐户的凭据。...函数的地址 首先保留rbx、rbp、rsi三个寄存器的值到堆栈里面,然后将字节码写入内存并还原被覆盖的指令,再跳转回原函数 然后再看下读取密码的这个函数,如果获取到密码,则在C:\windows\temp...这里可以看到已经将我们的这个dll注入了lsass.exe进程 这里去更改一下密码 这里进行Inline hook之后应该是会把在传输中的明文密码保存到password.txt文件里面的,但是这里在目录下却没有找到...那么这里我们再使用反射加载的方式进行尝试,利用Powershell tricks中的Process Injection将dll注入到lsass进程,项目地址如下 https://github.com/clymb3r