Der Aufbau der CTFd-Plattform und die Bereitstellung der CTF-Fragenbank sind in der virtuellen Maschine integriert und können von Maschinen im LAN aufgerufen werden

1. Einrichtung der Umgebung einer virtuellen Maschine

1. Installieren Sie Docker, Git, Docker-Compose

Ubuntu:

sudo apt-get update #System aktualisieren
sudo apt-get -y install docker.io #Docker installieren
sudo apt-get -y install git #git installieren
sudo apt-get -y install python3-pip #pip3 installieren
sudo pip install docker- compose #pip install docker-compose, wenn die Installation fehlschlägt, sudo pip install --upgrade pip, aktualisieren Sie die Pip-Version und installieren Sie sie dann

2. Docker- Konfiguration und Python-Konfiguration

Docker-Konfiguration:

#Wenn Sie das Docker-Image-Download-Verzeichnis anpassen möchten, führen Sie den folgenden Befehl aus:
sudo rm -rf /var/lib/docker
sudo mkdir -p /appdata/docker #/appdata/docker ist Ihr angepasstes Verzeichnis
sudo ln -s /appdata/ docker /var/lib/docker #Erstellen Sie einen Softlink, um /var/lib/docker auf /appdata/docker zu verweisen. #Legen Sie
die inländische Docker-Bildquelle fest.
Sudo mkdir -p /etc/docker #Erstellen Sie das Verzeichnis
Sudo vim /etc/docker /daemon.json # Bearbeiten Sie die Konfigurationsdatei
#Schreiben Sie den folgenden Inhalt:
{ "registry-mirrors": ["https://******.mirror.aliyuncs.com"] } #****** Registrieren Sie Ali Docker für Sie. Den Code des Mirror Warehouse finden Sie im folgenden Artikel, um zu erfahren, wie Sie ihn erhalten: #https://blog.csdn.net/wohaqiyi/article/details/89335932 sudo service docker restart #Docker neu starten




Python-Konfiguration:

#Python2 nicht installieren, direkt Python3
sudo ln -s /usr/bin/pip3 /usr/bin/pip #Python3-Softlink erstellen
sudo ln -s /usr/bin/python3 /usr/bin/python #Python3 erstellen Softlink
 

3. Stellen Sie die CTFd-Plattform bereit

cd /opt
sudo git clone https://github.com/CTFd/CTFd.git #下载CTFd
cd CTFd
sudo docker-compose up -d #docker方式后台下载镜像源并启动
 
[root@localhost CTFd]# docker-compose up -d
WARNUNG: Die von Ihnen verwendete Docker Engine läuft im Schwarmmodus.
Compose verwendet keinen Schwarmmodus, um Dienste auf mehreren Knoten in einem Schwarm bereitzustellen. Alle Container werden auf dem aktuellen Knoten geplant.
Erstellen von ctfd_db_1 ... erledigt.
Erstellen von ctfd_ctfd_1 ... erledigt.
Erstellen von ctfd_cache_1 ... erledigt
. Erstellen von ctfd_ctfd_1 ... 
Erstellen von ctfd_nginx_1 ... erledigt 

Besuchen Sie nach Abschluss der Installation IP: 8000, um die CTFd-Initialisierungsschnittstelle aufzurufen. Nachdem Sie das Konto und das Kennwort nach Bedarf registriert haben, klicken Sie auf Fertig stellen, um die CTFd-Plattform
pip3 install gunicorn aufzurufen

https://github.com/CTFd/CTFd


Stellen Sie ein CTF-Thema bereit

sudo mkdir -p /home/cys/CTF #Erstellen Sie das CTF-Verzeichnis
sudo cd /home/cys/CTF
sudo git clone https://github.com/CTFTraining/CTFTraining.git #Installieren Sie CTFTraining. Beachten Sie, dass Sie nur git down können Das Verzeichnis hier. Das Verzeichnis ist leer. Sie müssen für jedes CTF-Thema zu git
cd CTFTraining
ls gehen.

Es sind nur Verzeichnisse drin, kein Inhalt

sudo git clone https://github.com/CTFTraining/0ctf_2016_unserialize.git #Laden Sie CTF-Fragen herunter. Ersetzen Sie einfach 0ctf_2016_unserialize durch andere Verzeichnisnamen, um alle Fragen herunterzuladen.
CD 0ctf_2016_unserialize/ #Geben Sie das Fragenverzeichnis
ls ein

Es wurde festgestellt, dass das Verzeichnis bereits Inhalte enthält

Ändern Sie die Datei docker-compose.yml und legen Sie den Port und das Flag fest

Beginnen Sie mit der Verwendung von Docker-Compose:

sudo docker-compose up -d #Verwenden Sie Docker-Compose, um das Bild herunterzuladen, den Container zu generieren und den Container zu starten

 Es dauert 16 Schritte und der erste Start braucht Zeit.

Es wurde gestartet. Beim lokalen Zugriff auf IP: 8302 wurde festgestellt, dass darauf zugegriffen werden kann, auf anderen Computern jedoch nicht.


Stoppen und löschen Sie den Container und ändern Sie die Konfigurationsdatei docker-compose.yml
sudo docker stop 2c6df451d955 #Stoppen Sie den Container, 2c6df451d955 ist der CTF-Titel CONTAINER ID
sudo docker rm 2c6df451d955 #Löschen Sie den Container, 2c6df451d955 ist der CTF-Titel CONTAINER ID
sudo vim docker-compose.yml # vim ändert 127.0.0.1 in 0.0.0.0
 
# 0ctf 2016 piapiapia
Version: „2“
 
Dienste:
 
  Web:
    Build: .
    Bild: ctftraining/0ctf_2016_unserialize
    Umgebung:
      - FLAG=flag{nizhenshigedacongming}
    Neustart: immer
    Ports:
      - „0.0.0.0 :8302:80“
 Auf dieses Gerät kann normal über den Browser zugegriffen werden, andere Computer im selben LAN können jedoch keine Verbindung herstellen.


Lösung:
Öffnen Sie die VM und klicken Sie auf Virtuelle Maschine–>Einstellungen–>Hardware–>Netzwerkadapter–>Brücke auswählen: Direkt mit dem physischen Netzwerk verbinden

 

 

 

 

Je suppose que tu aimes

Origine blog.csdn.net/WASEFADG/article/details/132262122
conseillé
Classement