Initial commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
FROM public.ecr.aws/docker/library/ubuntu:20.04
|
||||
|
||||
ARG PASSWORD
|
||||
|
||||
ENV DEBIAN_FRONTEND noninteractive
|
||||
|
||||
RUN echo root:${PASSWORD} | chpasswd
|
||||
RUN apt-get update && apt-get install -y openssh-server lib32z1 xinetd cmake gcc curl
|
||||
RUN echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
|
||||
RUN echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
|
||||
RUN service ssh start
|
||||
|
||||
RUN useradd -m ctf
|
||||
|
||||
WORKDIR /ctf
|
||||
|
||||
RUN echo "Connection blocked" > /etc/banner_fail
|
||||
COPY ctf.xinetd /etc/xinetd.d/ctf
|
||||
COPY ./src/main.c ./
|
||||
COPY ./start.sh ./
|
||||
RUN gcc /ctf/main.c -no-pie -fno-stack-protector -Wl,-z,relro,-z,now -o /ctf/main
|
||||
RUN touch /flag.txt
|
||||
RUN chmod -R 755 /ctf
|
||||
RUN chmod +x /ctf/start.sh
|
||||
|
||||
ENTRYPOINT []
|
||||
CMD ["/usr/sbin/xinetd", "-dontfork"]
|
||||
|
||||
EXPOSE 8000
|
||||
@@ -0,0 +1,18 @@
|
||||
service ctf
|
||||
{
|
||||
disable = no
|
||||
socket_type = stream
|
||||
protocol = tcp
|
||||
wait = no
|
||||
user = root
|
||||
type = UNLISTED
|
||||
port = 8000
|
||||
bind = 0.0.0.0
|
||||
server = /bin/sh
|
||||
server_args = /ctf/start.sh
|
||||
banner_fail = /etc/banner_fail
|
||||
# safety options
|
||||
per_source = 10 # the maximum instances of this service per source IP address
|
||||
rlimit_cpu = 1 # the maximum number of CPU seconds that the service may use
|
||||
#rlimit_as = 1024M # the Address Space resource limit for the service
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
void give_me_idea() {
|
||||
char buf[64];
|
||||
puts("Do you have a good idea?");
|
||||
fgets(buf, 200, stdin);
|
||||
}
|
||||
|
||||
void main() {
|
||||
setbuf(stdout, NULL);
|
||||
give_me_idea();
|
||||
puts("hmm... I'm also think the same thing...");
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
/usr/sbin/sshd -D &
|
||||
su ctf -c "/ctf/main"
|
||||
Reference in New Issue
Block a user