在 Java 中,有时候需要从一个对象列表中提取某个属性值,并去除重复的值。本文将介绍两种方式来实现这个操作。...我们可以使用 Stream API 的 map() 方法来提取对象列表中的某个属性值,并使用 distinct() 方法去重,最后使用 collect() 方法将结果转换为列表。...,YourObject 是对象的类型,getPropertyName() 是获取属性值的方法名,propertyValues 是最终的结果列表。...定义一个泛型接口 StringFun,用于获取对象的字符串值。然后,在方法中遍历对象列表,使用该接口的实现来获取属性值,并将不重复的值添加到结果列表中。...Java 对象列表中的某个属性值,并去重。
需求整理: 本篇文章主要实现的是将一个数组的中对象的属性值通过升序的方式排序,然后能够让程序可以指定对应的数组对象移动到程序的最前面。..., Id: 24 },{ name: "小红", Id: 25 }] 找到Id为23的对象,移动到数组的最前面去(注意Id值唯一): 实现原理:因为移除数组对象需要找到对应数组对象的下标索引才能进行移除...,现在我们需要移除Id=23的对象,让其排到最前面去(先找到对象下标,然后把给数组对象赋值给temporaryArry临时数组,然后在通过下标移除newArrayData中的该对象值,最后将arrayData...v=>v.Id==23); console.log('Id=23的索引值为:',currentIdx); //把Id=23的对象赋值给临时数组 temporaryArry.push(newArrayData...[currentIdx]); //移除数组newArray中Id=23的对象 newArrayData.splice(currentIdx,1);//从start[一般为对象的索引]的位置开始向后删除
(2)导出其中的域散列值 ntds.dit中的表一旦被提取出来,有很多python工具可以将这些表中的信息进一步提取从而导出其中的域散列值,比如ntdsxtract就可以完美进行。...如上图所示,成功将域内的所有用户及密码哈希散列值导出来了。...domain_computers_info.csv 注意,使用Ntdsxtract导出Ntds.dit表中的域散列值,要提供三个文件:即Ntds.dit导出的ntds.dit.export文件夹中的datatable...LE TOUX共同编写,其能够利用卷影拷贝服务直接读取ndts.dit并导出域内所有用户的哈希值。.../all /csv 如上图,成功导出了域内所有用户的哈希散列值。
01、简介 DCSync攻击是一种常见的域控攻击方法,利用DCSync导出域内用户的哈希值,本质上就是利用DRS(Directory Replication Service)协议通过 IDL_DRSGetNCChanges...privilege::debug "lsadump::dcsync /domain:evil.com /all /csv" exit #导出指定用户Hash mimikatz.exe privilege.../9d238accd969550136db 使用方式: #导出域内所有用户hash Invoke-DCSync -DumpForest | ft -wrap -autosize #导出指定用户hash...我们通过administrator 使用mimikatz进行DCSync导出指定用户Hash,在Windows安全日志可以很清楚的发现有两条EventCode:4662, 在Properties里面,有两条特殊的...我们可以根据日志提取关键特征,构建安全规则,从而实时监测DCSync攻击行为。
如果您想查看“已知 DLL”的完整列表,您可以使用WinObj并查看\KnownDlls对象管理器中目录的内容。...且还要劫持目标dll后不影响程序功能,工具作者找到的进程为services.exe,被hook的dll为EventAggregation.dll; 2.以新建一个内核对象,该内核对象为一个符号链接,指向我们的恶意...攻击框架,它是PowerShell攻击脚本和有效载荷的一个集合,并被广泛应用于渗透测试的各个阶段。...这里使用工具NTDSDUMP来进行离线分析导出域内用户hash值 NTDSDumpEx.exe -d ntds.dit -s SYSTEM vssadmin vssadmin是Windows上的一个卷影拷贝服务的命令行管理工具...:vvvv1.com /all /csv 2.通过代理隧道登陆域控主机直接导出ntds.dit 使用代理工具stowaway 控制端: 上传控制端到kali, 使用被动模式,监听端口8000,并对通信进行加密秘钥为
我已经心力憔悴,经过一段时间的摸索,我对用PowerShell实现自动化部署也有了一些心得,比如说利用PowerShell导出导入AD中的User。...导出AD Users(Export-Csv) 首先导出本地相应OU中的User Object <# .Description 从AD中的组织单元里以csv格式导出人员数据 .Example ....比如我这儿使用的是UTF-8。 导出的对象包含许多属性,我们选重要的属性导出,比如GivenName、SurName、Name、SamAccountName,结果如下所示: ?...导入AD Users(Import-Csv) 当得到指定的OU中的User后,接下来就是导入到线上服务器AD指定的OU中 <# .Description 从指定的csv格式中导入人员信息 .Example...,但用Excel打开csv格式时都是正确的编码。
只需要其中的datatable.3和link_table.5即可 2.导出域散列值 这边利用的是ntdsxtract工具去导出,该工具不仅能够提取与用户对象、组对象、计算机对象相关的信息,同时还能从NTDS.dit...是大写的 或者导出csv格式也可以,还具有一个“dscomputers.py”工具可以从分离出来的表中提取域中计算机信息 python dscomputers.py ntds.dit.export/datatable...共同编写,其能够利用卷影拷贝服务直接读取ndts.dit并导出域内所有用户的哈希值。...2.通过smart_hashdump查看域内散列值 run windows/gather/smart_hashdump 3.利用powershell下载ntds.dit use post/windows...如果域控制器上没有安装杀毒软件,攻击者就能直接进入域控制器,导出ntds.dit并获得域账号和域散列值,而不需要将ntds.dit保存到本地。
CSV(逗号分隔值)是一种常用的数据格式,它用逗号来分隔不同的字段。在本文中,我们将介绍parse命令的基本用法,以及它的一些亮点和案例。...Spider类是Scrapy的核心组件,它负责从网站上抓取数据并提取所需的信息。在Spider类中,你需要定义一个start_urls属性,它是一个包含要抓取的网页URL的列表。...如果你想从CSV数据中提取信息,你可以使用Scrapy内置的CsvItemExporter类。这个类可以将Item对象导出为CSV格式,并支持自定义字段顺序、分隔符、引号等参数。...例如,如果你想将Item对象导出为CSV格式,并保存在当前目录下的output.csv文件中,你可以设置如下: # 导入Scrapy模块 import scrapy # 定义Spider类 class...对于每个代理IP,我们创建了一个Item对象,并从proxy中提取了相应的字段,并赋值给item。然后,我们返回了item对象,让Scrapy将其导出为CSV格式。
将标量输入提交给 -match 或 -notmatch 运算符时,如果检测到匹配,则会返回一个布尔值, 并使用由所有匹配字符串值组成的哈希表填充 $Matches 自动变量。...Export-Csv: 将 Microsoft .NET Framework 对象转换为一系列以逗号分隔的、长度可变的 (CSV) 字符串,并将这些字符串保存到一个 CSV 文件中。...ForEach-Object: 针对每一组输入对象执行操作。 Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。 Format-Table: 将输出的格式设置为表。...Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 Get-Unique: 从排序列表返回唯一项目。 Group-Object: 指定的属性包含相同值的组对象。...它还可以从对象的数组中选择唯一对象,也可以从对象数组的开头或末尾选择指定个数的对象。 Sort-Object: 按属性值对象进行排序。
我们可以使用Export-Csv命令将PowerShell中的对象转换为CSV格式,持久化到磁盘上。...比如我们将当前的所有进程信息导出为CSV文件,命令为: Get-Process | Export-Csv C:\test.csv -Encoding Unicode (注意,如果是有中文内容建议设置Encoding...比较刚才导出的CSV文件,我们接下来要对这个文件进行处理。我们可以将文件的内容保存到变量$data中。...比如我们要Name这个字段排序,并输出排序后的结果,那么命令为: $data | Sort-Object Name 也可以简写为: $data | Sort Name 如果是需要多个字段排序,那么可以将字段列在后面...比如VM列记录的是以Byte为单位的数据,我们先新建一列名为”VM(MB)”,其值是换算成MB的结果,那么我们可以写为: $data | select Name,VM,@{n="VM(MB)";e={$
模块sekurlsa模块sekurlsa::logonpasswords抓取用户NTLM哈希sekurlsa::msv加载dmp文件,并导出其中的明文密码sekurlsa::minidump lsass.dmpsekurlsa...0, WDigest 不把凭证缓存在内存;UseLogonCredential 值设置为 1,WDigest 就把凭证缓存在内存。...Authiruty(LSA)进行密码抓取的模块# 通过DSync导出指定用户的Hash,格式化输出lsadump::dcsync /domain:god.org /user:krbtgt /csv# 通过...-2293013296-1001# 通过samAccountName属性查询对象的一些信息sid::query /sam:lzx# 通过SID属性查询对象的一些信息sid::query /sid:S-1...administrator# 清除指定samAccountName对象的SID History属性sid::clear /sam:xuan# 清除指定sid对象的SID History属性sid::clear
在渗透测试期间,可以利用域管权限对域内用户hash进行导出和破解。这些域内用户hash存储在域控制器(NTDS.DIT)中的数据库文件中,并带有一些其他信息,如组成员身份和用户。...但是大多数技术都使用以下方法之一: DRS 原生Windows二进制文件 WMI 接下来我们看看一般有哪些方法可以做到导出域内用户hash的方法 Mimikatz Mimikatz有一个功能(dcsync...以下模块将域哈希提取为类似于Metasploit hashdump命令输出的格式。 usemodule credentials/mimikatz/dcsync_hashdump ?...fgdump fgdump可提取的LanMan和NTLM密码哈希值。如果已获取本地管理员凭据,则可以在本地或远程执行。...该脚本将所有信息写入项目名称下的各种文件中,当数据库文件NTDS的解密完成后,将用户列表和密码哈希值导出到控制台中。该脚本将提供有关域用户的大量信息,如下所示。 ? 密码哈希将以下列格式显示。 ?
Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。 Format-Table: 将输出的格式设置为表。...Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 基础语法: #对于任何一个对象都可以使用Format-List * , 查看它所有的属性和方法。...,可以使用文本换行参数 PS > ls | Format-Table * -Wrap -AutoSize #换行显示并且通过-auto参数对列的宽带进行优化,会将属性值的最大宽带作为每一列的宽度 PS...导入导出特定文件 ConvertTo-Html 描述:创建显示一个或一组对象的 HTML 页。...xml中 CSV 描述: Get-Service | Export-Csv a.csv ; . a.csv
关于FarsightAD FarsightAD是一款功能强大的PowerShell脚本,该工具可以帮助广大研究人员在活动目录域遭受到渗透攻击之后,检测到由攻击者部署的持久化机制。...该脚本能够生成并导出各种对象及其属性的CSV/JSON文件,并附带从元数据副本中获取到的时间戳信息。...除此之外,如果使用了复制权限执行该工具的话,则可以利用目录复制服务(DRS)协议来检测完全或部分隐藏的对象。...以及对应版本的ActiveDirectory模块。...Credential ] [-ADDriveName ] [-OutputFolder ] [-ExportType CSV
利用 DCSync 导出域内哈希 当我们获取相应的权限后,可以利用 DCSync 功能导出域内用户的哈希值。...通过 Mimikatz 在获取权限的域成员主机上执行如下: # 导出域内指定用户的信息(包括哈希值) lsadump::dcsync /domain:whoamianony.org /user:administrator...lsadump::dcsync /domain:whoamianony.org /user:administrator /csv # 导出域内所有用户的信息(包括哈希值) lsadump::dcsync...# 导出域内指定用户的哈希值 Invoke-DCSync -DumpForest | ft -wrap -autosize 利用 DCSync 制作黄金票据 在域渗透中,我们可以通过 DCSync 导出域控制器中...计算机帐户的密码默认每 30 天自动更新,密码长度为 120 个字符,所以即使我们获得了计算机帐户密码的哈希值,也几乎无法还原出计算机帐户的明文口令。
Export-Csv: 将 Microsoft .NET Framework 对象转换为一系列以逗号分隔的、长度可变的 (CSV) 字符串,并将这些字符串保存到 一个 CSV 文件中。...ForEach-Object: 针对每一组输入对象执行操作。 Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。 Format-Table: 将输出的格式设置为表。...Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 Get-Unique: 从排序列表返回唯一项目。 Group-Object: 指定的属性包含相同值的组对象。...它还可以从对象的数组中选择唯一对象,也可以从对象数组的开头或末尾选 择指定个数的对象。 Sort-Object: 按属性值对象进行排序。...在进入嵌套提示时,Windows PowerShell 暂停当前命令,保存执行上下文,并递增 $NestedPromptLevel 变量的值。
收集日志:用户可以手动收集CSV和EVTX格式的日志,也可以使用本文后面讨论的powershell脚本自动提取所需的日志。...分析CSV日志:APT-hunter使用内置库(csv)来解析CSV日志文件,然后使用Regex为APT-Hunter中使用的每个事件提取字段。用户可以使用提取的字段来创建他们的用例。...分析EVTX日志:APT-hunter使用外部库(evtx)来解析EVTX日志文件,然后使用Regex为APT-Hunter中使用的每个事件提取字段。用户可以使用提取的字段来创建他们的用例。...基于严重性对事件进行分类,使过滤变得容易,并专注于重要的事件。 有一个日志收集自动化脚本来收集所有必需的日志,以节省导出重要日志所需的时间。...易于添加新的检测规则,因为字段清除且语法易于使用。 支持将Windows事件日志导出为EVTX和CSV。 分析师可以将新的恶意可执行文件名称直接添加到list中。
Export-Csv: 将 Microsoft .NET Framework 对象转换为一系列以逗号分隔的、长度可变的 (CSV) 字符串,并将这些字符串保存到 一个 CSV 文件中。...ForEach-Object: 针对每一组输入对象执行操作。 Format-List: 将输出的格式设置为属性列表,其中每个属性均各占一行显示。 Format-Table: 将输出的格式设置为表。...Format-Wide: 将对象的格式设置为只能显示每个对象的一个属性的宽表。 Get-Unique: 从排序列表返回唯一项目。 Group-Object: 指定的属性包含相同值的组对象。...Property #查看你对象的属性 #(1)输出的第一列为对象的属性,第二列为文本形式的属性值 PS > $host.Version Major Minor Build Revision...在进入嵌套提示时,Windows PowerShell 暂停当前命令,保存执行上下文,并递增 $NestedPromptLevel 变量的值。
您可以使用以下命令为该项目安装它: dotnet add package HtmlAgilityPack 再安装一个包,以便我们可以轻松地将抓取的数据导出到CSV文件: dotnet add package...我们可以写一个foreach循环,并从每个链接一个一个地获取href值。我们只需要解决一个小问题——那就是页面上的链接是相对链接。因此,在我们抓取这些提取的链接之前,需要将它们转换为绝对URL。...我们使用此构造函数来获取Uri具有绝对URL的对象。 dotnet --version 一旦我们有了Uri对象,我们就可以简单地检查该AbsoluteUri属性以获取完整的URL。...08.导出数据 如果您尚未安装CsvHelper,则可以通过 dotnet add package CsvHelper 在终端内运行命令来完成此操作。 导出功能非常简单。...: dotnet run 在几秒钟内,您将创建一个books.csv文件。
htm 这些命令创建并打开一个 HTML 页,该页列出了本地计算机上进程的名称、路径和所属公司。 第一个命令使用 Get-Process cmdlet 获取用来表示计算机中运行的进程的对象。...该命令使用管道运算符 (|) 将进程对象发送到 C onvertTo-Html cmdlet。 该命令使用 Property 参数来选择要包括在表中的进程对象的三个属性。...在省略参数名时,这些参数的值必须以指定 的顺序出现在命令中。在此示例中,-Name 的值(“list”)必须为第一个参数,-Value 的值 (“get-location”)必须为第二个参数。...如果省略此参数,则由主机的特征确定宽度。Windows PowerShe ll 控制台的默认值为 80(字符)。 是否必需? False 位置? named 默认值 80 是否接受管道输入?...PS C:\>export-alias -path alias.csv 描述: 此命令将当前的别名信息导出到当前目录中名为 Alias.csv 的文件。
领取专属 10元无门槛券
手把手带您无忧上云