如何获得PowerShell命令的历史记录

访客4年前黑客文章737

我还在近期的学习过程中,发觉PowerShell的命令的历史记录有时候会包括系统软件比较敏感信息,比如虚拟服务器的联接动态口令,因此我对PowerShell的的历史记录作用干了进一步科学研究,小结一些网站渗透测试中常见导出来历史记录的方式,融合运用思路,得出防御力提议。

0×01介绍

文中即将详细介绍以下几点:

1.二种PowerShell的命令的历史记录

2.导出来PowerShell的命令历史记录的方式

3.防御力提议

0×02二种Powershell命令的历史记录

纪录PowerShell的命令的历史记录有二种 *** ,各自科林斯应用Get-History状语从句:Get-PSReadlineOption载入

1,获得-历史时间

参照文本文档:默认设置Powershell v2及之上适用可以纪录当今对话中键入的命令,好几个PowerShell的进程中间不共享资源,Powershell的进程撤出后全自动消除全部纪录

1.常见命令

得到 历史记录的详细信息:

Get-History | Format-List -Property *

包含:

ID命令行ExecutionStatusStartExecutionTimeEndExecutionTime检测如下图:

删掉全部历史记录:

Clear-History

按ID号删掉命令:

Clear-History -Id 3

2.运用思路

得到 了一台窗口系统软件的管理权限,发觉后台管理有PowerShell的进程,要想载入PowerShell的进程中的历史记录(1)Powershell的进程没法接受数字键盘命令比如PowerShell的载入了一个在后台程序的脚本 *** :Powershell -ep bypass -f 1.ps1这时没法向Powershell的进程推送电脑键盘信息,这时候能够根据载入进程的命令行主要参数得到 有效的信息,开放源码:编码完成了载入特定进程的命令行主要参数,一般可以得到 有效的信息(2)Powershell的进程可以接受数字键盘命令这儿能够仿真模拟推送电脑键盘信息,导出来历史记录程序代码思路:

根据解析xml枚举类型全部对话框

根据GetWindowThreadProcessId从对话框(HWND)得到 PID

较为PID,寻找满足条件的对话框

向满足条件的对话框推送电脑键盘信息(PostMessage的)

程序流程关键点:1.虚似密匙编码每一个数字键盘信息相匹配一个虚似密匙编码参考文献:https://docs.microsoft.com/en-us/windows/desktop/inputdev/virtual-key-codes必须模拟键盘按住和电脑键盘伸出2个实际操作,开源系统的测试程序:编码完成了检索特定PID的进程,向进程推送电脑键盘信息,內容为:whoami2.导出来历史记录命令以下:

Get-History|export-csv $env:temp"\\history.csv"

在其中必须考虑到标识符”|”,”$”和”"”,仿真模拟数字键盘时必须加Shift键

的这儿完成 *** 的英文先应用keybd_event按住Shift键,再用PostMessage推送功能键的英文字母,最终伸出2个功能键

开源系统的测试程序:

(Get-History).cpp.cpp)

编码完成了检索特定PID的进程,向进程推送电脑键盘信息,內容为:Get-History|export-csv $env:temp”\\history.csv”

3.填补:查询cmd.exe的历史记录

命令以下:

doskey /h

清除:

doskey /reinstall

还可以根据推送电脑键盘信息的 *** 导出来的cmd.exe的命令历史记录

2,获得-PSReadlineOption

参照文本文档:默认设置Powershell v5适用Powershell v3和Powershell v4必须安装Get-PSReadlineOption后才能够应用安装后,全部Powershell的命令的历史记录会储存在同一部位,可随时随地查询

1. Powershell v3和Powershell v4的安装和应用

这儿以64位系统为例子,安装方式以下:

(1)安装PowerShellGet

免费下载:

注:安装前必须关掉的PowerShell进程能够根据命令行完成隐秘安装,命令以下:

msiexec /q /i PackageManagement_x64.msi

安装取得成功后,在操作面板的已安装程序流程目录(操作面板\\程序流程\\程序流程和作用)有表明:Package Management Preview – x64

Package Management Preview – x64的注册表文件途径为HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall{57E5A8BB-41EB-4F09-B332-B535C5954a28}

只必须删掉这一注册表项及子项目就可以完成在已安装程序流程目录中掩藏

删除注册表项的CMD命令:

reg delete HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\{57E5A8BB-41EB-4F09-B332-B535C5954a28}/f

(2)安装PSReadLine

根据安装-控制模块命令安装:

Install-Module -Name PSReadLine

弹出来提醒:

NuGet provider is required to continue

PowerShellGet requires NuGet provider version '2.8.5.201' or newer to interact

with NuGet-based repositories. The NuGet provider must be available in

'C:\\Program Files\\PackageManagement\\ProviderAssemblies' or

'C:\\Users\\Administrator\\AppData\\Local\\PackageManagement\\ProviderAssemblies'.

You can also install the NuGet provider by running 'Install-PackageProvider

-Name NuGet -MinimumVersion 2.8.5.201 -Force'. Do you want PowerShellGet to

install and import the NuGet provider now?

[Y]Yes[N]No[S]Suspend[?]Help (default is "Y"):

再度必须键入侧Y开展安装

假如必须完成一键安装,能够先安装的NuGet,再安装PSReadLine,详细命令以下:

Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force

相关文章

安卓手机word下载方法

1、打开应用销售市场。2、检索word。3、点一下安裝。4、等候安裝进行点击打开。5、点一下容许并再次。6、自始至终容许就可以。 知名品牌型号规格:华为公司P40 系统软件:EMUI11.0.0 安卓...

银行上班时间(各大银行周末的上班时间)

银行上班时间(各大银行周末的上班时间)

银行上班时间(各大银行周末的上班时间) 一、 中国工商银行 1. 工商银行周末上班,但只办理个人业务。 2. 工商银行周末营业时间为:上午9:00至下午5:00。 二、中国银行 1. 中国银...

偷偷查看姐妹QQ已删聊天记录

  导读:近日一则新闻引起大家的关注,怀孕37周准妈妈做产检,医生听到胎儿心跳吓出冷汗,到底是发生了什么呢?又有什么样的新闻?我们一起来看看吧!   胎儿电子监护时胎心率呈正弦曲线胎心率(Sinus...

黑客帝国2复活女主(黑客帝国2女主死了没)

黑客帝国2复活女主(黑客帝国2女主死了没)

本文导读目录: 1、黑客帝国 第二部 女主角 是怎么活过来的? 我没看懂啊? 怎么死了又活过来了?。。 2、黑客帝国1,2,3的剧情详细介绍! 3、黑客帝国2女主怎么被尼欧救活的? 4、黑...

张朝阳再谈5G危害(看看5G对人体有多大的危害)

7月3日搜狐公司董事长张朝阳表示,自己曾谈到5G对人体有害的言论,表示“我收回这句话,5G对人健康的影响我真的不是专家,我真的不太懂,我只是看到一些报道,还需要专家进一步研究。” 7月3日,搜狐公司...

线上疯狂蚕食,文化类培训班的出路在哪?

线上疯狂蚕食,文化类培训班的出路在哪?

成也萧何败也萧何,正因为大家都挤进了线上教育这条赛道,僧多粥少,未来,突围的难度也就加大了。等疫情结束后,素质类、艺术机构仍然可以正常开展线下课,但对于文化类,尤其是中小型机构,意味着,战役才刚刚开始...