一、PowerSploit简介
PowerSploit是GitHub上面的一个安全项目,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察、权限提升、权限维持。
Powershell的优点:
1.代码运行在内存中可以不去接触磁盘
2.从另一个系统中下载代码并执行
3.很多安全产品并不能监测到powershell的活动
4.cmd.exe通常被阻止运行,但是powershell不会
二、实验环境
Win7 搭建powersploit站点 ip:10.10.10.187
Win 2008(靶机) 远程加载位于win7的powersploit上的脚本 ip:10.10.10.183
Kali powersploit部分脚本可能需要kali msf的配合 ip:10.10.10.128
三、搭建站点
1.首先在win7搭建简易可下载powersploit脚本的服务器,本例用python的web功能搭建一个站点,也可以用IIS以及apache等来搭建。
Python -m http.server 80 #注意是python3.7的命令,不同版本可能开启web服务的命令可能不同。
2.在靶机(win 2008)上测试
四、powershell脚本分类以及功能
一、AntivirusBypass(绕过杀毒)
Find-AVSignature 发现杀软的签名
二、CodeExecution(代码执行)
1. Invoke-DllInjection.ps1 DLL注入脚本 注意dll架构要与目标进程相符,同时要具备相应的权限
2. Invoke-ReflectivePEInjection.ps1 反射型注入 将Windows PE文件(DLL / EXE)反射加载到powershell进程中,或反射地将DLL注入远程进程
3. Invoke-Shellcode.ps1 将shellcode插入您选择的进程ID或本地PowerShell中
4. Invoke-WmiCommand.ps1 在目标主机使用wmi执行命令
三、Exfiltration(信息收集) #这个文件夹主要是收集目标主机上的信息
1. Out-Minidump.ps1 生成一个进程的全内存小数据库
2. Get-VaultCredential.ps1 显示Windows徽标凭据对象,包括明文Web凭据
3. Get-Keystrokes.ps1 记录按键,时间和活动窗口
4. Get-GPPPassword.ps1 检索通过组策略首选项推送的帐户的明文密码和其他信息
5. Get-GPPAutologon.ps1 如果通过组策略首选项推送,则从registry.xml检索自动登录用户名和密码
6. Get-TimedScreenshot.ps1 这是一个以定期间隔拍摄屏幕并将其保存到文件夹的功能
7. Invoke-Mimikatz.ps1 查看主机密码
8. Invoke-NinjaCopy.ps1 通过读取原始卷并解析NTFS结构,从NTFS分区卷复制文件
9. Invoke-CredentialInjection.ps1 使用明文凭据创建登录,而不会触发可疑事件ID 4648(显式凭证登录)
10. Invoke-TokenManipulation.ps1 列出可用的登录令牌。与其他用户创建进程登录令牌,并模仿当前线程中的登录令牌
11. Get-MicrophoneAudio.ps1 通过麦克风记录声音
12. VolumeShadowCopyTools.ps1
四、Recon(信息侦察) #这个文件夹主要是以目标主机为跳板进行内网主机侦察
1. Invoke-Portscan.ps1 端口扫描
2. Get-HttpStatus.ps1 返回指定路径的HTTP状态代码和完整URL,并附带字典文件
3. Invoke-ReverseDnsLookup.ps1 扫描DNS PTR记录的IP地址范围
4. PowerView.ps1 PowerView是一系列执行网络和Windows域枚举和利用的功能
5.Get-ComputerDetails 获得登录信息
五、ScriptModification(脚本修改)
1. Out-EncodedCommand.ps1 将脚本或代码块编码,并为PowerShell有效载荷脚本生成命令行输出
2. Out-EncryptedScript.ps1 加密文本文件/脚本
3. Out-CompressedDll.ps1 压缩,Base-64编码,并输出生成的代码,以将受管理的DLL加载到内存中
4. Remove-Comments.ps1 从脚本中删除注释和多余的空白
六、Persistence(权限维持)
1. New-UserPersistenceOption 为添加持久性函数配置用户级持久性选项。
2. New-ElevatedPersistenceOption 为添加持久性函数配置提升的持久性选项。
3. Add-Persistence 向脚本添加持久性功能
4. Install-SSP 安装安全支持提供程序(ssp)dll
5. Get-SecurityPackages
七、Privesc(提权)
PowerUP: 共同特权升级检查的信息交换所,以及一些武器化载体
Get-System
八、Mayhem
Set-MasterBootRecord 选择的消息覆写主引导记录
Set-CriticalProcess 退出powershell时使系统蓝屏