我还在近期的学习过程中,发觉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
一个单身无聊汉,微博发发宠物照片、故事,解解闷,一不小心就成了微博大V,卖出一个广告就是几十万;一个大学生爱吐槽发发短视频,成了网络红人,品牌广告更是高达千万……但是,也有很...
小视频毫无疑问是这几年十分火的话题讨论,很多人也投身于进去或是提前准备进到这一领域。各网络平台都是有自身的小视频跑道,近期连小红书app都不除外,除开原来的视頻手记外,又发布了“小红书视频号...
编辑导读:一个优秀的产物操盘手,对付产物的各个环节必然是清楚而且能落地执行的。本文作者从一次足疗店的体验之旅出发,对店家的销售环节举办了梳理阐明并总结了关于产物运营上的一些思考,一起来看看。 体验是...
现在很多人喜欢玩短视频,手机里有好玩的画面的时候就会很想分享给朋友,如果只有截图就太没有感觉了,所以使用录屏功能也渐渐成为人们喜欢使用的分享方式,现在很多手机也有自带的录屏功能了,今天就来说说华为手机...
自由贸易区有两个本质上存在差异很大的概念:一个是FTA,另一个是FTZ。由于中文名称一样,会造成理解和概念上的混乱。 FTA(Free Trade Area):源于WTO...
aspcms后台拿shell的两种方法: 第一种:点击“界面风格”,然后选“编辑模板/CSS文件”,然后“添加模板”,文件名称写qxz.asp;.html, 在文件内容写一句话 <%e...