Windows PowerShell是专门为系统管理员设计的Windows命令行外壳程序。PowerShell包括可独立使用或组合使用的交互式提示和脚本环境。
0x00 PowerShell的内网渗透之旅 内网渗透一直以来都是一个热门话题,试想在一个大型的内网环境下,当我们拿到了内网windows机器后,该如何通过他们去获取更多的所需资源,这就需要进行内网渗透了。然而在内网渗透中,除了kali、metasploit等高能的存在以外,还有一款神器也常常容易遭到忽略----PowerShell,因此本次学习将从PowerShell基础语法切入以及利用PowerShell脚本实现的PowerSploit框架演示内网渗透实例。 0x01 PowerShell简介及特性
文中提及的部分技术可能带有一定攻击性,仅供安全学习和教学用途,禁止非法使用! Empire是一个纯碎的PowerShell后期漏洞利用代理工具,它建立在密码学、安全通信和灵活的架构之上。 Empire
该系列文章将系统整理和深入学习系统安全、逆向分析和恶意代码检测,文章会更加聚焦,更加系统,更加深入,也是作者的慢慢成长史。漫漫长征路,偏向虎山行。享受过程,一起加油~
如果你是一名专业的渗透测试人员,那你可能真的离不开PowerShell,但是如果目标系统中的某个策略组织我们访问PowerShel.exe,那我们该怎么办呢?没错,这个问题经常会困扰我们,而且网上也有很多的应对方法。
前文分享了Windows基础,包括系统目录、服务、端口、注册表黑客常用的DOS命令及批处理powershell。这篇文章将详细讲解PowerShell和PowerSploit脚本攻击,进一步结合MSF漏洞利用来实现脚本攻击和防御。希望这篇文章对您有帮助,更希望帮助更多安全攻防或红蓝对抗的初学者,且看且珍惜。本文参考徐焱老师的《Web安全攻防渗透测试实战指南》著作,谢公子博客,并结合作者之前的博客和经验进行总结。
Chimera是一款功能强大的PowerShell混淆脚本,它可以帮助广大研究人员实现AMSI和安全防护产品(解决方案)绕过。该脚本可以利用字符串替换和变量串联来处理已知的可以触发反病毒产品的恶意PS1,以实现绕过常见的基于签名的安全检测机制。
在简单了解了WMI后,我们开始了横向移动,包括其中的信息收集,工具利用。那么在我们短暂的获取权限后,如何才能将权限持久化,也就是所说的权限维持住呢?笔者看了国内外部分文章后,发现WMI做权限维持主要是介绍WMI事件,并将其分为永久事件和临时事件,本文参考部分博客文章对WMI事件进行讲解,不足之处,望及时指出。
上一篇文章讲解了Powershell通过交互环境运行命令的相关知识,今天给大家介绍实际工作当中使用最频繁的方式——通过脚本运行,简单来说就是和咱们实际编写代码一样,先编写代码,然后通过开发工具执行。同样的为了实现PowerShell脚本的保存、方面在别的服务器迁移,一般都是先编写脚本,然后通过脚本文件执行完成相应的运维任务。
powershell是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework的强大功能,PowerShell脚本的文本文件,其文件名需要加上扩展名“.PS1”。PowerShell需要.NET环境的支持,同时支持.NET对象,其可读性、易用性居所有Shell之首。
我们在后渗透中时常会遇到这样的环境,即使成功拿到了目标机器的Admin/System权限后也不能添加用户和管理员组,出现这种情况的原因有很多,如:UAC、WAF、反病毒软件或者是net.exe降权和安全组策略中的软件限制、应用程序控制策略等。
windows事件日志简介:Windows 系统日志是记录系统中硬件、软件和系统问题的信息,同时还可以监视系统中发生的事件。用户可以通过它来检查错误发生的原因,或者寻找受到攻击时攻击者留下的痕迹。
2014年美国黑帽大会上研究人员JakobLell和Karsten Nohl展示了badusb的攻击方法后,国内与badusb相关的文章虽然有了一些,但是大部分人把相关文章都阅读后还是会有种“不明觉厉”的感觉,badusb仍有一层朦胧的面纱。本文将带你揭开这层神秘的面纱。
该插件没有什么技术含量,本质上利用的ps2exe.ps1脚本编译为exe,只是不想在命令行里操作,将其写为cna脚本,方便直接快速生成免杀的可执行文件且只有50KB,目前支持exe、ps1文件格式。
问题1.Powershell 无法执行ps1脚本,并且在设置执行策略时报”PS 已成功更新你的执行策略,但在更具体的作业域中定义的策略覆盖了该设置,由于发生覆盖,你得外壳程序将保留当前的有效设置执行策略Restricted” 错误信息:
假设当前你正在进行某项渗透测试任务,其中Azure基础架构也包含在你的测试范围内,并且你恰好可以访问Azure订阅上一个具有“贡献者(Contributor)”权限的域帐户。虽说在实际场景中,贡献者权限并没有这么容易获取到。但在我的渗透测试工作中,我也经常看到贡献者权限会被分发给一些开发人员。如果你够幸运的话,一些管理员可能会添加域用户组作为订阅的贡献者。或者,我们也可以假设是从低权限用户一步步提升到贡献者帐户的。
运行保存在桌面的payload.ps1,在杀软全程开启的情况下直接上线(易翻车,运气好)
今天给大家介绍的是一款名叫PowerSAP的工具,该工具在今年正是添加到了BlackHat武器库中。这款工具并没有重复造轮子,并且代码现已全部开源。
4月1日,Guardicore Labs团队发布了一份长期攻击活动的分析报告,此攻击活动主要针对运行MS-SQL服务的Windows系统。分析报告称,此攻击活动至少从2018年5月开始,攻击者会针对目标的MS-SQL进行暴力猜解,成功登录目标系统后,再在系统中部署后门并运行远控工具等恶意程序。这一系列的攻击活动被命名为“Vollgar”。
除了能使用其它程序之外,Bash shell 还含有一些内置命令和关键字。Bash 内置功能很强大,甚至能够作为一门 高级语言 独当一面。Bash 的几个关键字和操作符类似于 C 语言。
Chimera Chimera是一款针对PowerShell脚本代码的混淆工具,广大研究人员可以利用Chimera来对自己的PowerShell脚本代码进行混淆处理,并绕过目标设备的AMIS和其他反病毒解决方案。该工具可以通过字符串替换和变量连接来规避常见的签名检测,并让恶意的PowerShell脚本无法触发AV检测。 Chimera的主要目标是帮助大家更好地实现反病毒产品的恶意脚本绕过,它也进一步证明了绕过AV检测其实是非常简单的一件事情,希望Chimera能够激发社区中的各位研究人员去构建出更加健壮可靠
今天这篇文章,主要介绍如何美化 Windows terminal 中 WSL 的 Linux 终端,依然是以本人最熟悉的Ubuntu为例,其他版本的 Linux 请参考本文的流程换用对应的命令。假定你已按我的上一篇文章已安装好 Windows terminal预编译版本,同时安装好了 Ubuntu,并设置好了 WSL的权限,然后就可以按本文继续操作了。
Powersploit是一款基于powershell的后渗透(Post-Exploitation)框架,集成大量渗透相关模块和功能。
背景:Windows计划任务调用jps.exe,达到的效果跟直接在命令行下调用不同,有时候又相同,摸不着规律
[TOC] 0x00 PS 编程基础 脚本注释 在PS中采用 #字符进行注释 调用优先级 Powershell调用入口的优先级: 别名:控制台首先会寻找输入是否为一个别名,如果是执行别名所指的命令。因此我们可以通过别名覆盖任意powershell命令,因为别名的优先级最高。 函数:如果没有找到别名会继续寻找函数,函数类似别名,只不过它包含了更多的powershell命令。因此可以自定义函数扩充cmdlet 把常用的参数给固化进去。 命令:如果没有找到函数,控制台会继续寻找命令,即cmdlet,powersh
关于Revoke-Obfuscation Revoke-Obfuscation是一款功能强大的PowerShell混淆检测框架,该框架基于PowerShell开发,并且兼容PowerShell v3.0+脚本。在该工具的帮助下,广大研究人员可以轻松实现大规模的PowerShell命令或脚本的混淆检测。 它依靠PowerShell的AST(抽象语法树)从任何输入的PowerShell脚本中快速提取数千个特征,并将该特征向量与一个包含了40多万个PowerShell脚本的语料库进行计算和对比。 工作机
描述: 当我第一次开始学习 PowerShell 时,如果无法使用 PowerShell 单行命令完成任务我会回到 GUI 找寻帮助。然后着时间的推移,我逐渐掌握了编写脚本、函数和模块的技能。
反恶意软件扫描接口(AMSI)是MicrosoftWindows保护系统,旨在保护计算机免受通过脚本语言(例如PowerShell,VBScript,JavaScript等)执行的攻击。『1』
(1)前言 Shell是什么? 答:Shell(壳)本身是一个用C语言编写的程序也是一个是解释执行的脚本语言即命令解释器,它在操作系统最外层是用户使用Unix/Linux的桥梁,把用户输入解释给操作系统等待操作系统处理后,将结果输出返回给用户,用户的大部分工作都是通过Shell完成的,还是一个功能强大的编程语言,易编写,易调试,灵活性较强。
输入命令时Linux会去查找PATH里面记录的路径,如果命令存在某一个路径中,就可以成功调用。
C++里面的四个智能指针: auto_ptr, unique_ptr,shared_ptr, weak_ptr 其中后三个是C++11支持,并且第一个已经被C++11弃用。
PowerShell 的最大优势在于以 .NET 框架为基础。 .NET 框架在脚本领域几乎是无所不能,这是一个优点,也有可能成为一个方便黑客攻击的一个强大的便利。
当括号用作文件名的一部分时,它可以用来劫持当前加载的文件,而不是 另一个恶意文件。 该文件必须包含一个匹配的char值,该值也可以在我们精心编制的文件名中找到。 要求是两个文件必须驻留在同一目录中。例如,如果文件名为[helloworldutoria1].ps1 与 名为1.ps1的文件将创建脚本劫持条件。注意,最后一个字母是数字“1”,而不是小写“l”。 我发现使用ps文件名还可以使用单个字母或数字字符作为脚本的目标 以及某些符号。 只有一个单引号的PowerShell脚本也可以工作,[pwned']。 Vuln ISE应用程序。 这些字符还可以完成工作: “$”“”“”“^”加上任何不区分大小写的字母a-z或数字0-9,[hello_world].ps1===>uu1.ps1 [您好]。PS1将改为执行此操作===>H.PS1 破折号“-”引发以下错误:“指定的通配符模式无效:[hello world].ps1”当 指向 另一个名为-.ps1的ps文件,似乎将其视为元字符。 [pw3d].ps1<==应执行 3.ps1<==实际执行 这利用了PowerShellISE和最终用户之间的信任。因此脚本调试本地或通过网络共享 显示“可信”代码 在ISE中运行。但是,当用户调试脚本时,会执行另一个脚本。 有趣的是,第二个脚本在执行时不会加载到PowerShellISE中,因此用户可能看不到 有什么不对的。 成功发生攻击需要用户交互,显然运行任何未知的PowerShell脚本都可以 危险。 同样,这种利用利用利用了“信任”的优势,用户可以看到和读取代码,并将其作为一切都信任它。 看起来很好,而且 然而…他们还是会被惩罚的!. 在Win7/10上成功测试
0x00 过渡 之前提到当在执行powershell脚本时,由于默认策略的缘故,是会报错的,因此也出现了几种逃过的情况: 本地权限绕过:PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1,此外还可以通过本地隐藏权限进行绕过:PowerShell.exe -ExecutionPolicy Bypass -NoLogo –NonInteractive -NoProfile -WindowStyle Hidden -File xxx.ps1 IEX下载
我们知道PATH是系统内置变量,还有HOME、PWD、LOGNAME等变量,这些变量是在系统里的配置文件规定的,env命令可以获取到系统变量,系统的变量一般都是大写的,变量的值则可以是字符串或数字:
不知道你有没有遇到过这样的场景,当你需要设置一个环境变量,或者运行一个程序设置你的shell或桌面环境,但是不知道在哪里是最方便设置的位置。
描述: 脚本和批处理都属于伪可执行文件,它们只是包含了若干命令行解释器能够解释和执行的命令行代码。
创建的链接有两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。建立硬链接时,链接文件和被链接文件必须位于同一个文件系统中,并且不能建立指向目录的硬链接,就是要指向一个单一的实体。而对符号链接,则不存在这个问题。默认情况下,ln产生硬链接。
PS1是主提示符变量,也是默认提示符变量。默认值[\u@\h \W]\$,显示用户主机名称工作目录。
WIN10更新至最新版20H2发现,查杀能力比以前强了不少,特别是针对CS加载.NET程序集或NIM加载.NET的查杀,毕竟你要调用的函数微软很了解,它想拦截想杀还是比较容易的。但是不知道大家有没听说过一个故事“微软的编程工具的开发工程师,编写程序时,也需要查阅文档”,说明什么?微软系统的API很多,是微软写的没错,但又不是一个人自己写的,就算是一个人自己写的,功能那么多,他也根本记不起,用到自己的东西也要查阅文档,就像我用Ladon有时也要查阅文档,这很正常,因为我写过的工具或功能太多,有些久不用,甚至都会忘记我自己写过什么。所以我想说的是,微软就算做杀软,它也不可能做到全面监控,因为参与开发杀软的人,它不可能对微软系统上百万函数了如指掌,越是大型程序,需要的开发人员越多,很多人都只是负责某一模块对整个系统可能只是一只半解,所以Defender虽然查杀能力某些方面有点加强了,但是很多方面它依旧无法查杀,还没达到自己人写的程序就真比其它杀软牛B的地步,那些专门做杀软的,逆向能力很强,有BIN文件对他们来说就相当于源代码,很多人比微软员工还要了解win系统。举个简单的例子,你在某公司工作,有些员工可能你压根都不认识,更别说和公司所有程序员了解他们所写过的代码,微软的操作系统有多少人来写,defender这部门又只有多少人,他们怎么可能把所有函数都了解,就算24小时不吃饭不做任何事,只研究代码也做不到全面查杀或拦截,至少最近几年还比不过很多主流杀软。任何一个杀软能查杀一个全球大量人使用的工具这是应该也是必须的很常规的考验,杀了不代表这杀软就强了,但是不杀它一定是垃圾。如CS,因为全球大量人使用,任何一个杀软杀它都说明不了什么。好了废话不多说,进入正题。
PowerShellArmoury是一款专为渗透测试人员、红蓝队成员或其他信息安全技术人员设计的PowerShell武器库。这个武器库提供了多种PowerShell工具,并且还允许我们下载各种PowerShell脚本,然后将其存储至一个加密文件之中。
背景:阿里云平台的Windows虚拟化驱动跟腾讯云不兼容,迁移到腾讯云可能出现异常,比如文件系统异常进不去系统,或者进入系统了但是性能差。经测试,腾讯云平台的虚拟化驱动兼容阿里云,于是在迁移之前就在阿里云源端删除阿里云驱动替换成腾讯云的。毕竟涉及写操作,建议操作之前对源端机器做快照以备不时之需。
话说前几日在用FTVIEW SE画面软件想实现一个动态修改屏幕分辨率或者是类似的这样需要修改电脑本身设置或者打开某些软件等等的一个需求。
利用burp编码爆破Basic Authorization认证、smb连接的多种方法、windows用户的NTLM值破解方法、evil-winrm的运用、windows主机信息收集工具、msf运行powershell脚本、远程运行powershell脚本、PrintNightmare漏洞提权等多个知识点。
有一些特殊的变量会被shell环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量。
用户登录系统时,bash 会进行一系列操作,如加载各种 bash 配置文件,设置或清空一些列的变量,有时还会执行一些自定义的命令。
作为一个大公司的运维,手头管理了成百上千的服务器是家常便饭,甚至更多。而我们一般都是用跳板机登陆,由于这些机器一般都是克隆或者虚拟化出来的,所以登陆后的命令行提示符几乎是一个模子刻出来的,比如都是:[
在研究《管理Python虚拟环境的脚本》时,我们使用了source指令而没有使用sh或者bash来执行脚本,就是因为source指令可以让脚本在当前bash(sh)中执行;而sh或者bash则会新启动一个bash来执行。
领取专属 10元无门槛券
手把手带您无忧上云