引子

学习内网渗透时使用cs。网上存在一些植入了后门的cs,让人难以分辨。俺决定在docker里运行server。

服务端

物料准备

jdk-21

解压cs

你应该有以下圈出的六个文件

image.png

修改启动脚本

我们直接给容器一个jdk,就不用在dockerfile里编写下载的逻辑了

修改启动脚本teamserver,在开头添加

1
PATH=$PATH:`pwd`/jdk-21/bin

dockerfile编写

这里的暴露端口可以自行选择配置

1
2
3
4
5
6
7
FROM ubuntu:latest
RUN apt update && apt install -y libfreetype6
VOLUME /app
WORKDIR /app
EXPOSE 50050
EXPOSE 4700-4800
ENTRYPOINT ["/app/teamserver"]

构建镜像

1
docker build -t cs:latest .

到这里我们的server镜像就整好了

运行命令

请注意,这里必须要在Server目录下,因为要映射数据卷。映射数据卷是要保存你的server数据。

1
docker run -d -v `pwd`:/app -p 4666:50050 -p 4700-4800:4700-4800 cs:latest ip passwd

这里的网络模式你选择host也行,就不用做端口映射啦

客户端

客户端没有什么门道

1
java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -javaagent:uHook.jar -jar cobaltstrike-client.jar $*