首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

我需要写一个脚本,使其与Windows中运行的服务和进程相关联。将结果放入哈希表

为了实现与Windows中运行的服务和进程相关联的脚本,并将结果放入哈希表,可以使用PowerShell脚本语言来完成。PowerShell是一种跨平台的脚本语言,特别适用于Windows系统管理和自动化任务。

以下是一个示例脚本,它可以获取Windows中运行的服务和进程的相关信息,并将结果放入哈希表:

代码语言:txt
复制
# 创建一个空的哈希表
$processes = @{}

# 获取运行的服务信息
$services = Get-Service
foreach ($service in $services) {
    # 将服务名和状态添加到哈希表中
    $processes[$service.Name] = $service.Status
}

# 获取运行的进程信息
$processList = Get-Process
foreach ($process in $processList) {
    # 将进程ID和进程名添加到哈希表中
    $processes[$process.Id] = $process.Name
}

# 输出哈希表中的结果
$processes

这个脚本首先创建一个空的哈希表 $processes。然后,使用 Get-Service 命令获取运行的服务信息,并使用 foreach 循环遍历每个服务,将服务名和状态添加到哈希表中。接下来,使用 Get-Process 命令获取运行的进程信息,并使用 foreach 循环遍历每个进程,将进程ID和进程名添加到哈希表中。最后,输出哈希表中的结果。

请注意,这只是一个示例脚本,你可以根据实际需求进行修改和扩展。另外,腾讯云提供了一系列与云计算相关的产品和服务,你可以根据具体需求选择适合的产品。具体的产品介绍和链接地址可以在腾讯云官方网站上找到。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

红队技巧-常规横向手法

4.当用户输入命令时,WMI创建进程执行该命令,然后把结果输出到文件,这个文件位于之前创建的共享文件夹中。 5.通过FSO组件访问远程共享文件夹中的结果文件,将结果输出。...,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特WMI允许脚本语言(例如VBScript或Windows PowerShell)在本地和远程管理...,并与一些重要的标识符相关联: CLSID -所述类标识符是一个GUID,它充当一个COM类的唯一标识符,并且每一个在Windows注册类与CLSID相关联(COM对象可以在没有登记使用,但是这超出了本文的范围...ProgID不能保证是唯一的,并且与CLSID不同,并非每个类都与ProgID相关联。 AppID -该应用程序标识符用于指定一个的配置或多个COM对象与同一可执行相关联。...在客户端应用程序和服务器进程之间建立通信。在大多数情况下,新过程是在与DCOM通信关联的会话中创建的。 然后,客户端可以访问新创建的对象的成员和方法。

2.1K20

横向移动与域控权限维持方法总汇

),默认在lsass.exe这个进程中不会再将可逆的密文缓存在自己的进程内存中,所以我们默认是没办法通过读取这个进程然后逆向该密文来获取明文密码 虽然可以通过修改注册表来使LSASS强制存储明文密码 reg...将生成的值放入两个检验和即可,KDC拿到0x00000001 KERBVALIDATIONINFO,并且通过解析数据包获取当前加密算法为MD5,然后对其进行MD5加密,若加密结果与校验和一致,则认为PAC...这里简要说一下几个有关COM的概念 CLSID:又叫CLASSID 一个COM类的唯一标识符,每一个Windows注册类与一个CLSID相关联。...DCOMLaunch服务将创建所请求的类的实例,通常是通过运行LocalServer32子项的可执行文件,或者通过创建DllHost进程来承载InProcServer32子项引用的dll。...它包括域中所有用户的密码哈希值,为了进一步保护密码哈希值,使用存储在SYSTEM注册表配置单元中的密钥对这些哈希值进行加密。”

1.7K20
  • 攻击本地主机漏洞(上)

    在单片内核中,进程托管在内核地址空间(即特权模式)中,应用程序使用系统调用与内核通信,而在微核中,内核被分解为单独的进程,这些进程托管在内核空间和用户空间(即特权较低)中,进程可以使用进程间通信(IPC...表10-2列出了一些与利用现有操作系统功能的MaC.Linux和Windows操作系统相关的技术。...权限提升是通过利用主机上的特定弱点(例如在Windows中以系统级权限运行的软件应用程序)或利用root拥有的setuid命令中的配置弱点,在系统或网络上获得更高级别权限的结果。...我们将特别关注 内核级漏洞利用 凭证转储 无人值守安装 DLL劫持 Windows内核级漏洞利用 表10-1中CVE详细信息报告的20%到30%的漏洞与获得权限和Windows内核中的缺陷有关。...在Windows中,Kerberos要求SPN至少与一个服务登录账户(即运行该服务的账户)相关联。Kerberos使用SPN确定要使用哪个服务账户哈希来加密服务票证。

    1.2K10

    寻找活动目录中使用可逆加密存储密码的账户

    然后,Hashcat将新计算的代表Autumn2018的哈希值,与你给出的哈希值列表进行比较。如果找到一个或多个匹配项,则表示这些帐户使用的密码为Autumn2018。 好了,话不多说!...为此,我创建了一个VSS快照并将ntds.dit文件与包含提取哈希所需的BOOTKEY的SYSTEM注册表hive一起复制。...但在测试中我意外的发现,脚本还会输出了扩展名为“.CLEARTEXT”的文件。 secretsdump脚本使用outputfile参数指定,将所有哈希写入前缀为“breakme”的文件。...UserAccountControl属性是与用户帐户的设置相关联的属性,长度为32位。...如果你希望结果垂直列出而不是以表格的形式列出,那么你可以使用Format-List命令。 当然,你也可以将结果全部输出到一个文件中....

    3K10

    Windows主机入侵痕迹排查办法

    若在排查网络连接中,任务管理器只能看到有命令行工具(如powershell、cmd)powershell进程与外联IP建立会话,无法看到进程对应的运行参数。...(注:aaaa中的键值0x3ea表示该账号与Users表中相应数值的表相对应,在删除账号时需一起删除) ? 注:异常账号删除后需要将之前授权的administrator移除SAM权限。...2.1.5自启动项 排查步骤: 使用Autoruns工具查看自启动项 查看组策略中的脚本 查看注册表中的脚本、程序等 查看各账号自启目录下的脚本、程序等 查看Windows服务中的可执行文件路径 分析方法...打开gpedit.msc—计算机配置/用户配置—Windows设置—脚本,在此处可设置服务器启动/关机或者用户登录/注销时执行的脚本。下图1、2两处的脚本均需要查看是否添加有脚本。 ?...我这里没有脚本。 2.1.6日志 工程师基本都会看日志,windows日志也就那些内容,比较简单,我就不细述,主要写一下几个比较重要的点,基本上就可以排查出是否有异常登录了。

    3.5K20

    操作系统八内存管理

    当cpu调度器选择一个进程执行时,作为上下文切换的一部分,调度程序会用正确的值初始化重定位寄存器和界限地址寄存器,保证其他进程不受该进程运行所影响。...当执行进程时,其页从备份存储(他也分固定大小的块,大小与内存帧一样)中调入到可用的内存帧中。       由CPU生成的每个地址分为两个部分:页号P和页偏移d,页号作为页表的索引。...当进程需要执行时,根据进程的大小计算页数n,从而内存中也应该至少有n个帧用来分配给新进程。进程的第一页装入一个分配的帧,帧号放入进程的页表中。       如下图所示 ?      ...4.2硬件支持       页表的硬件实现有多种方法。最简单的是将页表作为一组专用寄存器来实现 4.3保护       分页环境下,内存保护是通过与每个帧相关联的保护位来实现的。...虚拟地址中的虚拟页号转换到哈希表中,用虚拟页号与链表中的每一个元素的第一个域相比较。如果匹配,那么相应的帧号就用来形成物理地址。

    92110

    Cobalt Strike 学习记录

    服务端只能运行在Linux系统中,可搭建在VPS上;客户端在Windows、Linux、Mac下都可以运行 (需要配置好Java环境)。...下载好CobaltStrike.zip解压,将文件夹放入Linux机器中(我放在了 opt 目录下),然后运行: cd /opt/CobaltStrike4 chmod +x teamserver...,双击运行文件夹中的 Cobalt Strike 4.exe ,这个exe是我自己制作的启动器,如果你下载的其他安装包,你可以点击文件夹中的 start.bat 进行启动。...如果这是您与此团队服务器的第一次连接,Cobalt Strike将询问您是否识别此团队服务器的SHA256哈希值。如果您这样做,请按OK,Cobalt Strike客户端将连接到服务器。...文件/进程管理 文件/进程管理与键盘记录 安装扩展 选择菜单栏的Cobalt Strike–>脚本管理器,点击load,然后选择 cna 扩展文件即可,旁边的unload为去除该扩展,reload为重新加载该扩展

    1.3K30

    渗透测试神器CobaltStrike使用教程

    Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。...agscript:扩展应用的脚本     c2lint:该文件主要检查profile的错误和异常     teamserver:服务端启动程序     cobaltstrike.jar:CobaltStrike... Executable:生成32位或64位的exe、dll可执行文件   5.Windows Executable(S):用于生成一个exe可执行文件,包含Beacon的完整payload,与4相比,该模块额外提供了代理功能...并且支持Powershell脚本,用于将Stageless Payload注入内存。 复制 4.远控进行vnc,文件管理,进程查看等一系列操作。...              从进程中窃取令牌    timestomp                 将一个文件时间戳应用到另一个文件    unlink

    4.2K20

    windows权限维持大结局

    : 需通过在注册表中进行类似账号克隆的操作,分别将如下图所示的项分别导出为item1.reg和item2.reg: 在item1.reg中编辑F参数,通过复制Administrator在注册表中的...run killav 策略组(作业) gpedit.msc -> 计算机配置 -> windows设置 -> 脚本 通过设置启动与关机时要运行的脚本,执行相关命令。...SharPersist 计划任务(schtasks.exe)(作业) schtasks.exe 用于在windows系统中指定任务计划,使其能在特定的事件日期执行程序和脚本。...查看 在svchost进程下成功创建了notepad进程 当使用指定账户创建运行计划任务时,当前用户必须具有与之相对或者更高的权限 (使用管理员账户以ystem权限运行计划任务失败) 创建新服务(...,将后门dll重命名并放置到 %SystemRoot%\system32\ 中,远程杀掉 MSDTC 服务,使其重启,加载恶意DLL.

    2.4K40

    获取Windows系统密码凭证总结

    2 内容速览 Windows 加密简介 在Windows系统中,通常会使用哈希(hash)转化我们存入的密码,哈希是将目标文本转换成具有相同长度的,不可逆的字符串,具体到应用层还有很多不同的分支 Windows...与sam数据库C:\Windows\System32\config(%SystemRoot%\system32\config\sam)中该用户的哈希比对 匹配则登陆成功,不匹配则登陆失败本地认证中用来处理用户输入密码的进程为...lsass.exe,密码会在这个进程中明文保存,供该进程将密码计算成NTLM Hash与sam进行比对。..., 主要用于桌面应用开发人员对应用的一些检测处理,我们使用Procdump实现的主要功能是将正在运行的程序生成静态文件 方便我们进行分析操作,我在上述介绍中提过,处理我们密码的程序是lsass.exe,...lsass文件移动到本机中(最好将此文件和mimikatz.exe放在同一个文件夹,如果不是同一个文件夹,需要在猕猴桃中cd到lsass所在的文件夹中) # 载入静态的lsass文件 sekurlsa:

    1.1K10

    域内横向移动分析及防御

    )是为了实现进程间通信而开放的命名管道 可以通过验证用户名和密码获得相应的权限 通过ipc$可以与目标机器建立连接,利用这个连接可以在目标机器上运行命令 建立一个ipc$ net use \\192.168.1.10...PTH(Pass the Hash 哈希传递)来进行横向渗透 2、单机密码抓取 可以使用工具将散列值和明文密码从内存中的lsass.exe进程或SAM文件中导出 本地用户名、散列值和其他安全验证信息都保存在...XP中添加了一个名为WDigest的协议,该协议能够使Windows将明文密码存储在内存中,以方便用户登录本地计算机。...修改注册表,使其不再这样做 根据Debug权限确定哪些用户可以将调试器附加到任何进程或内核中,默认情况下只有Administrator。...如果服务器开启了防火墙,wmic将无法进行连接。此外,wmic命令如果没有回显,可以将命令结果输出到某文件,并使用ipc$和type来读取信息。

    1.6K11

    Scheduled-Task-Tampering

    否则这将不起作用 第二种方法不需要杀死无辜进程和重新启动服务,主要包括更新新创建的任务定义 请注意尽管示例显示了schtasks实用程序的用法,但使用任务调度程序RPC 接口可以实现相同的结果,现在有趣的部分是任务定义的更新将在事件日志中生成一个条目...,因此我们将分析注册表中的操作值,一个例子如下所示: 可以看出结构中存在两个Unicode字符串,值Author和将执行的命令,对二进制blob中的值进行更深入的检查得出以下结论: '03 00'...因此为了使其适用于整个进程,有必要遍历所有进程的线程并相应地配置断点和VEH ....此外还添加了一个定期扫描新线程的逻辑,因为调度程序服务新创建的线程不会受到这种绕过 修改后的PoC被编译为Windows DLL并注入到托管调度程序服务的 svchost.exe进程中,以下视频显示了攻击的结果...: 请注意,此事件不存在于任务计划程序的安全事件中,它将仅记录任务的创建、删除和修改,因此如果ETW在Scheduler服务上被篡改,则不会捕获由任务启动的操作 另一种更强大的方法将包括父子进程关系,

    97310

    在你的内网中获得域管理员权限的五种方法

    攻击者等待某人来验证在他网络上的目标服务器。这样一来可以利用漏洞扫描器+管理员自动验证主机脚本。当自动化进程连接到攻击者,他通过他的目标(网络上的其他系统,也许是服务器)进行身份验证。...域控制器获取该用户的密码哈希值,然后使用该哈希值对原始质询进行加密。接下来,域控制器将加密的质询与客户端计算机的应答进行比较。如果匹配,域控制器则发送该用户已经过身份验证的服务器确认。...在上面的场景中,我能够将凭据从一个网络中继到另一个网络,并检索可以通过wmiexec.py传递的管理员散列。并且可以让我在不破解哈希的情况下,直接获取域管理员权限。...实质上,当域帐户被配置为在环境中运行服务时(例如MSSQL),服务主体名称(SPN)在域中被使用将服务与登录帐户相关联。...当用户想要使用特定资源时,他们会收到一个当前运行该服务帐户的NTLM哈希和签名的Kerberos票据。 下面的例子来自mubix的网站: ?

    1.9K50

    抓取域密码哈希的各种工具集合

    这些密码哈希存储在域控制器(NTDS.DIT)中的数据库文件中,并包含一些附加信息,如组成员和用户。 NTDS.DIT 文件经常被操作系统使用,因此不能直接复制到另一个位置提取信息。...结果将格式化为四个表:域、用户、ID 和 hash。...NTDS.DIT 文件将保存在 Active Directory 中,SAM 和 SYSTEM 文件将保存到注册表文件夹中 ?...在执行期间,fgdump 将尝试禁用可能在系统上运行的防病毒软件,如果成功禁用则将结果保存在文件中,如果失败,则不进行提取,防止被检测,使用方法直接在域控上运行即可: fgdump.exe ?...总结 本文整理了各种工具,以各种方式提取 NTDS 中的所有域哈希,最好的方式就是在 DCSync 和离线提取,尽量不要在域控服务器上执行过多操作,以免对目标造成可用性上的威胁。

    2.3K50

    手把手教你如何利用Meterpreter渗透Windows系统

    注意:运行了exploit命令之后,我们开启了一个reverseTCP处理器来监听192.168.198.196:4444,即我(攻击者)的本地主机地址(LHOST)和端口号(LPORT)。...脚本和post模块都需要通过“run”命令执行,我在测试环境中运行hashdump模块后的结果如下: ?...可选参数如下: -H:创建一个隐藏进程 -a:传递给命令的参数 -i:跟进程进行交互 -m:从内存中执行 -t:使用当前伪造的线程令牌运行进程 -s:在给定会话中执行进程 ?...创建一个新账号 接下来,我们可以在目标系统中创建一个新的用户账号(getgui脚本,使用-u和-p参数),并给它分配管理员权限(使用),然后将其添加到”远程桌面用户”组中。 ? ?...首先,我们需要确保目标Windows设备开启了远程桌面功能(需要开启多个服务),不过我们的getgui脚本可以帮我们搞定。

    2.6K41

    如何防御“神器”Mimikatz窃取系统密码?

    Mimikatz是一款能够从Windows中获取内存,并且获取明文密码和NTLM哈希值的神器,本文将介绍如何防御这款软件获取密码。...Mimikatz介绍 Mimikatz是一款能够从Windows认证(LSASS)的进程中获取内存,并且获取明文密码和NTLM哈希值的工具,攻击者可以借此漫游内网。...我找到的最好的一篇文章,里面提到了很多好的建议,诸如使用最近版本的活动目录中的“受保护的用户”用户组(SID:S-1-5-21--525),或者是限制使用管理员,或者通过注册表设置不在内存中储存密码。...你可以限制以系统身份运行的服务数量,或者移除调试权限,防止攻击者使用mimikatz。这篇文章和其他的那些文章都要让你安装Windows8或者8.1或者10版本。...密码的存储是由一个注册表设置决定的。就像保护用户组的功能一样,在新版本的Windows(8.1+ & 2012R2+)中,密码默认不会储存在内存中。

    1.1K90

    CobalStrike 4.0 生成后门几种方式 及 主机上线后基础操作

    1、HTML Application 生成恶意的HTA木马文件 —个HTML Application (HTML应用)是一个使用HTML和一个Internet浏览器支持的脚本语言编写的Windows程序...使用VBA选项来静默派生一个MicrosoftExcel实例并运行一个恶意的宏来将payload注入到内存中。...渗透Windows主机过程中,用的比较多的就是Powershell和Powershell Command,主要是因为其方便 易用,且可以逃避一下杀毒软件(AV)的查杀。...利用Windows ServiceEXE生成的EXE才能用来作为服务自启动的EXE,利用Cobalt Strike中Windows exe生成的EXE不能作为服 务自启动的EXE程序(因为不能响应Service...从DC中提取密码哈希 13. desktop 远程桌⾯(VNC) 14. dllinject 反射DLL注⼊进程 15. dllload 使⽤LoadLibrary将DLL加载到进程中 16. download

    3.5K10

    Windows 身份验证中的凭据管理

    身份验证中使用的凭据是将用户身份与某种形式的真实性证明(例如证书、密码或 PIN)相关联的数字文档。...应用程序和用户模式 Windows 中的用户模式由两个能够将 I/O 请求传递给适当的内核模式软件驱动程序的系统组成:环境系统,运行为许多不同类型的操作系统编写的应用程序,以及集成系统,运行特定于系统的代表环境系统运行...当与网络中的其他计算机通信时,LSA 使用本地计算机域帐户的凭据,与在本地系统和网络服务的安全上下文中运行的所有其他服务一样。...LSASS 进程内存 本地安全机构子系统服务 (LSASS) 代表具有活动 Windows 会话的用户将凭据存储在内存中。...如果用户使用与 LM 哈希兼容的密码登录 Windows,则此身份验证器将存在于内存中。

    6.1K10

    msfconsole在渗透测试中的一些总结(高级篇)

    在前期的教程中,我讲过讲msf的进程转移的其他软件的方法,今天来看看另外的一种方法。...,在 C:\WINDOWS\TEMP\IGlPDkq.vbs下生成了一个vbs脚本。...run post/windows/gather/hashdump image.png 脚本和post模块都需要通过“run”命令执行,数据的输出格式为:用户名:SID:LM哈希:NTLM哈希:::。...可选参数如下: -H:创建一个隐藏进程 -a:传递给命令的参数 -i:跟进程进行交互 -m:从内存中执行 -t:使用当前伪造的线程令牌运行进程 -s:在给定会话中执行进程 创建一个新账号 接下来,我们可以在目标系统中创建一个新的用户账号...) route(显示目标主机路由信息) 4、系统命令(查看目标系统信息、对系统进行基本操作等) ps(查看目标机正在运行的进程信息) migrate(将meterpreter会话进程迁移到另一个进程内存空间

    1.1K10

    Metasploit从入门到入坟

    execute -H -i -f cmd.exe #创建新进程cmd.exe,-H不可见,-i交互 还有个-m命令是在内存中运行~~ 这里主要记住这个命令即可,创建的新进程对方无法可见,就是在电脑上打开了一个...,补丁信息更好的进一步EXP,或者找到域控信息等 5.提权 ---- 1)getsystem 工作原理: 1、getsystem创建一个新的Windows服务,设置为SYSTEM运行,当它启动时连接到一个命名管道...2、getsystem产生一个进程,它创建一个命名管道并等待来自该服务的连接。 3、Windows服务已启动,导致与命名管道建立连接。...然后用新收集的SYSTEM模拟令牌产生cmd.exe,并且我们有一个SYSTEM特权进程… 这里不是特别稳定… 2)bypassuac 内置多个pypassuac脚本,原理有所不同,使用方法类似,运行后返回一个新的会话...所以如果目标系统是64位的,则必须先查看系统进程列表,然后将meterpreter进程迁移到一个64位程序的进程中,才能加载kiwi并且查看系统明文。如果目标系统是32位的,则没有这个限制。 ?

    1K30
    领券