我还在近期的学习过程中,发觉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
7年过去,那个因不想写作业,黑掉学校网站的小学生,他现在怎样? 1、其实不光是我们,就连那些天才们有时也会有这样的想法,只不过他们的行动力更强,曾经就有一位天才少年为了不写作业,居然黑掉了学校的网站,...
本文导读目录: 1、《黑客帝国》1里的问题 2、黑客帝国3最后 史密斯 为何那么厉害了 3、电影:黑客帝国里的问题 4、锦州话有语音延长吗? 5、黑客帝国3史密斯 6、配音演员徐涛...
简约两个字做亵服店肆取名一个字做亵服店肆名字大全 倒账做亵服直销店肆 盅、丧、兼 选刊做亵服特价店肆 分、诉、贰 阖府做亵服直销店肆 渔、念、丐 空文做亵服旗舰店肆 ...
RegisterHost register_host = 1;那么,我这儿收拾了其他的几种电话号码走漏办法:APT攻防的现状和趋势黑客接单一般收多少钱,找黑客办驾驶证 此外,与当今许多其他类型的软件相...
146cc97df36cb4cea39074652d069519来历 [] bkey = key.getBytes();运用进程维护乱用首要场景如下:Web运用安全依然是互联网安全的最大要挟来历之一,...
锅巴救命(锅巴救命——文言短文两日一练) 这个小故事与孝道有关。 (一) 原文 锅巴百思特网救命 吴郡陈遗,家至孝,母好食铛底焦饭,遗作郡主簿,恒装一囊,每煮食,辄伫录焦饭,归以遗...