├── red
└── README.md
├── images
├── .gitkeep
└── daedalus-grid-5g.png
├── .coveragerc
├── environments
├── scenario1
│ ├── host1
│ │ └── README.md
│ ├── host2
│ │ ├── README.md
│ │ ├── httpd_server
│ │ │ └── Dockerfile
│ │ ├── ssh_server2
│ │ │ └── Dockerfile
│ │ ├── tomcat_server_extra
│ │ │ └── Dockerfile
│ │ ├── tomcat_vuln_server
│ │ │ ├── Dockerfile
│ │ │ ├── 1.png
│ │ │ ├── context.xml
│ │ │ ├── docker-compose.yml
│ │ │ ├── tomcat-users.xml
│ │ │ ├── tomcat-users.xml.orig
│ │ │ └── README.zh-cn.md
│ │ ├── nfs_server
│ │ │ └── Dockerfile
│ │ ├── ssh_server
│ │ │ └── Dockerfile
│ │ ├── nfs_server_extra
│ │ │ └── Dockerfile
│ │ ├── down.sh
│ │ ├── scenario-3-servers.txt
│ │ ├── scenario-6-servers.txt
│ │ ├── scenario-5-servers.txt
│ │ ├── scenario-4-servers.txt
│ │ └── hostnames.txt
│ ├── host3
│ │ ├── README.md
│ │ ├── down.sh
│ │ ├── desktop
│ │ │ └── docker-compose.yml
│ │ └── hostnames.txt
│ └── controller
│ │ └── README.md
└── scenario2
│ ├── .env
│ ├── config
│ ├── faucet.yaml
│ ├── run_smf.sh
│ ├── run_mme.sh
│ ├── run_sgwc.sh
│ ├── run_sgwu.sh
│ ├── run_sgwu2.sh
│ ├── run_webui.sh
│ ├── open5gs
│ │ ├── sgwu.yaml
│ │ ├── sgwu2.yaml
│ │ ├── hss.yaml
│ │ ├── pcrf.yaml
│ │ ├── sgwc.yaml
│ │ ├── upf.yaml
│ │ ├── upf2.yaml
│ │ ├── mme.yaml
│ │ └── smf.yaml
│ ├── run_hss.sh
│ ├── run_pcrf.sh
│ ├── run_upf2.sh
│ ├── run_upf.sh
│ ├── freeDiameter
│ │ ├── hss.key.pem
│ │ ├── mme.key.pem
│ │ ├── pcrf.key.pem
│ │ ├── smf.key.pem
│ │ └── cacert.pem
│ └── srsLTE
│ │ └── drb.conf
│ ├── host2
│ ├── config
│ │ ├── faucet.yaml
│ │ ├── run_smf.sh
│ │ ├── run_mme.sh
│ │ ├── run_sgwc.sh
│ │ ├── run_sgwu.sh
│ │ ├── run_sgwu2.sh
│ │ ├── run_webui.sh
│ │ ├── open5gs
│ │ │ ├── sgwu.yaml
│ │ │ ├── sgwu2.yaml
│ │ │ ├── hss.yaml
│ │ │ ├── pcrf.yaml
│ │ │ ├── sgwc.yaml
│ │ │ ├── upf.yaml
│ │ │ ├── upf2.yaml
│ │ │ ├── mme.yaml
│ │ │ └── smf.yaml
│ │ ├── run_hss.sh
│ │ ├── run_pcrf.sh
│ │ ├── run_upf2.sh
│ │ ├── run_upf.sh
│ │ ├── freeDiameter
│ │ │ ├── hss.key.pem
│ │ │ ├── mme.key.pem
│ │ │ ├── smf.key.pem
│ │ │ ├── pcrf.key.pem
│ │ │ └── cacert.pem
│ │ └── srsLTE
│ │ │ └── drb.conf
│ ├── srsLTE
│ │ ├── start_srsue.sh
│ │ ├── add_default_route.sh
│ │ └── Dockerfile
│ ├── dovesnapviz.png
│ ├── shutdown_all_in_one.sh
│ ├── config_cpn
│ │ ├── run_smf.sh
│ │ ├── run_mme.sh
│ │ ├── run_sgwc.sh
│ │ ├── run_webui.sh
│ │ ├── open5gs
│ │ │ ├── hss.yaml
│ │ │ ├── pcrf.yaml
│ │ │ ├── sgwc.yaml
│ │ │ ├── mme.yaml
│ │ │ └── smf.yaml
│ │ ├── run_hss.sh
│ │ ├── run_pcrf.sh
│ │ └── freeDiameter
│ │ │ ├── hss.key.pem
│ │ │ ├── mme.key.pem
│ │ │ ├── pcrf.key.pem
│ │ │ ├── smf.key.pem
│ │ │ └── cacert.pem
│ ├── startup_all_in_one.sh
│ ├── config_upn
│ │ ├── run_sgwu.sh
│ │ ├── run_sgwu2.sh
│ │ ├── open5gs
│ │ │ ├── sgwu.yaml
│ │ │ ├── sgwu2.yaml
│ │ │ ├── upf.yaml
│ │ │ └── upf2.yaml
│ │ ├── run_upf.sh
│ │ ├── run_upf2.sh
│ │ └── srsLTE
│ │ │ └── drb.conf
│ ├── mongoloader
│ │ └── Dockerfile
│ ├── README.md
│ ├── shutdown.sh
│ ├── docker-compose-desktops.yml
│ ├── provisioning
│ │ └── db
│ │ │ └── run_db.sh
│ ├── up.sh
│ └── Dockerfile
│ ├── host3
│ ├── config
│ │ ├── faucet.yaml
│ │ ├── run_smf.sh
│ │ ├── run_mme.sh
│ │ ├── run_sgwc.sh
│ │ ├── run_sgwu.sh
│ │ ├── run_sgwu2.sh
│ │ ├── run_webui.sh
│ │ ├── open5gs
│ │ │ ├── sgwu.yaml
│ │ │ ├── sgwu2.yaml
│ │ │ ├── hss.yaml
│ │ │ ├── pcrf.yaml
│ │ │ ├── sgwc.yaml
│ │ │ ├── upf.yaml
│ │ │ ├── upf2.yaml
│ │ │ ├── mme.yaml
│ │ │ └── smf.yaml
│ │ ├── run_hss.sh
│ │ ├── run_pcrf.sh
│ │ ├── run_upf2.sh
│ │ ├── run_upf.sh
│ │ ├── freeDiameter
│ │ │ ├── hss.key.pem
│ │ │ ├── mme.key.pem
│ │ │ ├── smf.key.pem
│ │ │ ├── pcrf.key.pem
│ │ │ └── cacert.pem
│ │ └── srsLTE
│ │ │ └── drb.conf
│ ├── srsLTE
│ │ ├── start_srsue.sh
│ │ ├── add_default_route.sh
│ │ ├── patch.txt
│ │ └── Dockerfile
│ ├── dovesnapviz.png
│ ├── shutdown_all_in_one.sh
│ ├── dba
│ │ ├── ssh_host_ecdsa_key.pub
│ │ ├── ssh_host_ecdsa_key
│ │ ├── ssh_host_rsa_key.pub
│ │ ├── docker-compose.yml
│ │ ├── ssh_server_fork.patch
│ │ ├── ssh_host_dsa_key.pub
│ │ ├── ssh_host_dsa_key
│ │ └── Dockerfile
│ ├── config_cpn
│ │ ├── run_smf.sh
│ │ ├── run_mme.sh
│ │ ├── run_sgwc.sh
│ │ ├── run_webui.sh
│ │ ├── open5gs
│ │ │ ├── hss.yaml
│ │ │ ├── pcrf.yaml
│ │ │ ├── sgwc.yaml
│ │ │ ├── mme.yaml
│ │ │ └── smf.yaml
│ │ ├── run_hss.sh
│ │ ├── run_pcrf.sh
│ │ └── freeDiameter
│ │ │ ├── hss.key.pem
│ │ │ ├── mme.key.pem
│ │ │ ├── pcrf.key.pem
│ │ │ ├── smf.key.pem
│ │ │ └── cacert.pem
│ ├── startup_all_in_one.sh
│ ├── config_upn
│ │ ├── run_sgwu.sh
│ │ ├── run_sgwu2.sh
│ │ ├── open5gs
│ │ │ ├── sgwu.yaml
│ │ │ ├── sgwu2.yaml
│ │ │ ├── upf.yaml
│ │ │ └── upf2.yaml
│ │ ├── run_upf.sh
│ │ ├── run_upf2.sh
│ │ └── srsLTE
│ │ │ └── drb.conf
│ ├── scenario-2-cpn.txt
│ ├── scenario-4-cpn.txt
│ ├── scenario-7-cpn.txt
│ ├── scenario-3-cpn.txt
│ ├── scenario-5-cpn.txt
│ ├── scenario-6-cpn.txt
│ ├── mongoloader
│ │ └── Dockerfile
│ ├── README.md
│ ├── shutdown.sh
│ ├── desktop
│ │ └── docker-compose.yml
│ ├── docker-compose-desktops.yml
│ ├── provisioning
│ │ └── db
│ │ │ └── run_db.sh
│ ├── Dockerfile
│ └── hostnames.txt
│ ├── srsLTE
│ ├── start_srsue.sh
│ └── add_default_route.sh
│ ├── shutdown_all_in_one.sh
│ ├── config_cpn
│ ├── run_smf.sh
│ ├── run_mme.sh
│ ├── run_sgwc.sh
│ ├── run_webui.sh
│ ├── open5gs
│ │ ├── hss.yaml
│ │ ├── pcrf.yaml
│ │ ├── sgwc.yaml
│ │ ├── mme.yaml
│ │ └── smf.yaml
│ ├── run_hss.sh
│ ├── run_pcrf.sh
│ └── freeDiameter
│ │ ├── hss.key.pem
│ │ ├── mme.key.pem
│ │ ├── pcrf.key.pem
│ │ ├── smf.key.pem
│ │ └── cacert.pem
│ ├── startup_all_in_one.sh
│ ├── config_upn
│ ├── open5gs
│ │ ├── sgwu.yaml
│ │ ├── sgwu2.yaml
│ │ ├── upf.yaml
│ │ └── upf2.yaml
│ ├── run_sgwu.sh
│ ├── run_sgwu2.sh
│ ├── run_upf.sh
│ ├── run_upf2.sh
│ └── srsLTE
│ │ ├── drb.conf
│ │ ├── ettus
│ │ └── rr.conf
│ │ └── bladeRF
│ │ └── rr.conf
│ ├── README.md
│ ├── shutdown.sh
│ ├── provisioning
│ └── db
│ │ └── run_db.sh
│ ├── docker-compose-5g-nsa-upn-ettus-enb.yml
│ ├── docker-compose-5g-nsa-upn-bladerf-enb.yml
│ ├── docker-compose-5g-nsa-upn-enb.yml
│ └── Dockerfile
├── blue
├── nfsconfuser
│ ├── confused
│ │ ├── requirements.txt
│ │ └── README.md
│ ├── serve.sh
│ ├── ganesha.conf
│ └── Dockerfile
├── sctp_tools
│ └── README.md
├── generate_fs
│ ├── requirements.txt
│ ├── gen.js
│ └── extensions.txt
├── 5G
│ └── daedalus
│ │ ├── 5G
│ │ ├── core
│ │ │ ├── .env
│ │ │ ├── ui.yml
│ │ │ ├── upn.yml
│ │ │ └── db.yml
│ │ ├── configs
│ │ │ ├── faucet
│ │ │ │ └── faucet.yaml
│ │ │ ├── srsRAN
│ │ │ │ ├── blade-rr.conf
│ │ │ │ ├── ettus-rr.conf
│ │ │ │ ├── ettus-nrr.conf
│ │ │ │ ├── virtual-nrr.conf
│ │ │ │ ├── virtual-rr.conf
│ │ │ │ └── rr.conf
│ │ │ ├── UERANSIM
│ │ │ │ └── gnb.yaml
│ │ │ └── open5gs
│ │ │ │ └── smf.yaml
│ │ ├── srsRAN
│ │ │ └── scripts
│ │ │ │ ├── start_srsue.sh
│ │ │ │ ├── run_rfn_enb.sh
│ │ │ │ └── add_default_route.sh
│ │ ├── UERANSIM
│ │ │ ├── scripts
│ │ │ │ ├── run_ue.sh
│ │ │ │ ├── run_rfn_gnb.sh
│ │ │ │ └── add_default_route.sh
│ │ │ └── Dockerfile
│ │ ├── open5gs
│ │ │ └── scripts
│ │ │ │ ├── mmehc.sh
│ │ │ │ ├── run_smf.sh
│ │ │ │ ├── run_db.sh
│ │ │ │ ├── run_upf.sh
│ │ │ │ └── nrfhc.sh
│ │ ├── SIMULATED
│ │ │ ├── ueransim-ue.yml
│ │ │ ├── ueransim-gnb.yml
│ │ │ ├── srsran-gue.yml
│ │ │ ├── srsran-gnb.yml
│ │ │ └── srsran-enb.yml
│ │ └── SDR
│ │ │ ├── bladerf.yml
│ │ │ ├── ettus.yml
│ │ │ └── ettus-gnb.yml
│ │ ├── __main__.py
│ │ ├── __init__.py
│ │ └── styles.py
├── setup.py
├── tests
│ ├── dump_docker.sh
│ ├── test_srsran_enb_ue.sh
│ ├── uetuncheck.sh
│ ├── test_ueransim_gnb_ue.sh
│ └── install_test.sh
├── MANIFEST.in
├── README.md
├── release
│ └── update_docker_compose.py
└── pyproject.toml
├── .gitignore
├── renovate.json
├── .github
└── workflows
│ ├── config
│ └── whispers-config.yml
│ ├── stale.yml
│ ├── pypi.yaml
│ ├── secrets-scan.yml
│ ├── docker-srsran.yaml
│ ├── docker-open5gs.yaml
│ └── docker-ueransim.yaml
└── .pre-commit-config.yaml
/red/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/images/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.coveragerc:
--------------------------------------------------------------------------------
1 | [report]
2 |
--------------------------------------------------------------------------------
/environments/scenario1/host1/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/environments/scenario1/host3/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/environments/scenario1/controller/README.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/blue/nfsconfuser/confused/requirements.txt:
--------------------------------------------------------------------------------
1 | fusepy
2 |
--------------------------------------------------------------------------------
/blue/sctp_tools/README.md:
--------------------------------------------------------------------------------
1 | Tools to test SCTP connections
2 |
--------------------------------------------------------------------------------
/blue/generate_fs/requirements.txt:
--------------------------------------------------------------------------------
1 | essential_generators
2 | numpy
3 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/core/.env:
--------------------------------------------------------------------------------
1 | DB_USER=mongoadmin
2 | DB_PASS=secret
3 |
--------------------------------------------------------------------------------
/environments/scenario2/.env:
--------------------------------------------------------------------------------
1 | DB_USER=mongoadmin
2 | DB_PASS=secret
3 |
--------------------------------------------------------------------------------
/environments/scenario2/config/faucet.yaml:
--------------------------------------------------------------------------------
1 | include:
2 | - acls.yaml
3 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/faucet.yaml:
--------------------------------------------------------------------------------
1 | include:
2 | - acls.yaml
3 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/faucet.yaml:
--------------------------------------------------------------------------------
1 | include:
2 | - acls.yaml
3 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/faucet/faucet.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | include:
3 | - acls.yaml
4 |
--------------------------------------------------------------------------------
/blue/setup.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | from setuptools import setup
3 |
4 | setup()
5 |
--------------------------------------------------------------------------------
/images/daedalus-grid-5g.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IQTLabs/Daedalus/HEAD/images/daedalus-grid-5g.png
--------------------------------------------------------------------------------
/blue/5G/daedalus/__main__.py:
--------------------------------------------------------------------------------
1 | def main():
2 | from daedalus.daedalus import Daedalus
3 | Daedalus().main()
4 |
--------------------------------------------------------------------------------
/environments/scenario2/srsLTE/start_srsue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /root/add_default_route.sh &
4 | exec srsue $*
5 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/httpd_server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM httpd
2 | RUN apt-get update && apt-get install -y nfs-common
3 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/srsLTE/start_srsue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /root/add_default_route.sh &
4 | exec srsue $*
5 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/srsLTE/start_srsue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /root/add_default_route.sh &
4 | exec srsue $*
5 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/srsRAN/scripts/start_srsue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /scripts/add_default_route.sh &
4 | exec srsue "$@"
5 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/ssh_server2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM maltyxx/sshd
2 | RUN apt-get update && apt-get install -y nfs-common
3 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/UERANSIM/scripts/run_ue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | /scripts/add_default_route.sh &
4 | exec /usr/local/bin/nr-ue "$@"
5 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_server_extra/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM vulhub/tomcat:9.0
2 | RUN apt-get update && apt-get install -y nfs-common
3 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM vulhub/tomcat:8.0
2 | RUN apt-get update && apt-get install -y nfs-common
3 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/dovesnapviz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IQTLabs/Daedalus/HEAD/environments/scenario2/host2/dovesnapviz.png
--------------------------------------------------------------------------------
/environments/scenario2/host3/dovesnapviz.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IQTLabs/Daedalus/HEAD/environments/scenario2/host3/dovesnapviz.png
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/open5gs/scripts/mmehc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | SS=$(ss -SOH state established)
3 | if [[ "${SS}" == "" ]] ; then exit 1 ; fi
4 | exit 0
5 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/IQTLabs/Daedalus/HEAD/environments/scenario1/host2/tomcat_vuln_server/1.png
--------------------------------------------------------------------------------
/environments/scenario1/host2/nfs_server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM erichough/nfs-server
2 | RUN apk add sudo
3 | RUN echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
4 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/ssh_server/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM panubo/sshd
2 | RUN apk add sudo nfs-utils
3 | RUN echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
4 |
--------------------------------------------------------------------------------
/environments/scenario2/shutdown_all_in_one.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose-5g-nsa.yml down
4 | docker volume rm scenario2_mongodb_data
5 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/nfs_server_extra/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM gists/nfs-server
2 | RUN apk add bash sudo
3 | RUN echo '%wheel ALL=(ALL) ALL' > /etc/sudoers.d/wheel
4 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/shutdown_all_in_one.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose-5g-nsa.yml down
4 | docker volume rm scenario2_mongodb_data
5 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/shutdown_all_in_one.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose-5g-nsa.yml down
4 | docker volume rm scenario2_mongodb_data
5 |
--------------------------------------------------------------------------------
/blue/tests/dump_docker.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker ps -a
4 |
5 | for i in $(docker ps -aq) ; do
6 | docker ps -a -f id="$i"
7 | docker logs "$i"
8 | done
9 | exit 1
10 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/__init__.py:
--------------------------------------------------------------------------------
1 | import pkg_resources
2 | from importlib.metadata import version
3 |
4 | pkg_resources.declare_namespace(__name__)
5 |
6 | __version__ = version('daedalus-5g')
7 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | blue/5G/daedalus/5G/IQTLabs-dovesnap-*
2 | blue/AUTHORS
3 | blue/ChangeLog
4 | build
5 | dist
6 | .eggs
7 | *.egg-info
8 | __pycache__
9 | IQTLabs-dovesnap-*
10 | .coverage
11 |
--------------------------------------------------------------------------------
/blue/MANIFEST.in:
--------------------------------------------------------------------------------
1 | recursive-include 5G *.yml
2 | recursive-include 5G *.yaml
3 | recursive-include 5G *.conf
4 | recursive-include 5G *.sh
5 | recursive-include 5G *.json
6 | include 5G/core/.env
7 |
--------------------------------------------------------------------------------
/renovate.json:
--------------------------------------------------------------------------------
1 | {
2 | "constraints": {
3 | "poetry": "==1.1.15"
4 | },
5 | "extends": [
6 | "config:base",
7 | "docker:enableMajor"
8 | ],
9 | "ignorePaths": []
10 | }
11 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/ssh_host_ecdsa_key.pub:
--------------------------------------------------------------------------------
1 | ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBwhCmCXPwxYylG6ToVSrfsyuINiDzCG417SAVpDC1JpXbaHiPZw70nCPmN3zUL03jBjyhNrd6786W2zJ5iq++w= root@7625efe3a323
2 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/srsRAN/scripts/run_rfn_enb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | while [ "$(ip route show default)" = "" ] ; do
4 | sleep 1
5 | done
6 |
7 | ip route del default
8 | ip route add default via 192.168.29.1
9 | exec srsenb "$@"
10 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/srsRAN/blade-rr.conf:
--------------------------------------------------------------------------------
1 | @include "/config/rr.conf"
2 |
3 | cell_list =
4 | (
5 | {
6 | rf_port = 0;
7 | cell_id = 0x61;
8 | tac = 0x0001;
9 | pci = 0x61;
10 | dl_earfcn = 2700;
11 | }
12 | );
13 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/srsRAN/ettus-rr.conf:
--------------------------------------------------------------------------------
1 | @include "/config/rr.conf"
2 |
3 | cell_list =
4 | (
5 | {
6 | rf_port = 0;
7 | cell_id = 0x62;
8 | tac = 0x0001;
9 | pci = 0x62;
10 | dl_earfcn = 1800;
11 | }
12 | );
13 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mkdir -p /usr/local/var/log/open5gs
4 | touch /usr/local/var/log/open5gs/smf.log
5 |
6 | tail -f /usr/local/var/log/open5gs/smf.log &
7 |
8 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
9 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/UERANSIM/scripts/run_rfn_gnb.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | while [ "$(ip route show default)" = "" ] ; do
4 | sleep 1
5 | done
6 |
7 | ip route del default
8 | ip route add default via 192.168.29.1
9 | exec /usr/local/bin/nr-gnb "$@"
10 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mkdir -p /usr/local/var/log/open5gs
4 | touch /usr/local/var/log/open5gs/smf.log
5 |
6 | tail -f /usr/local/var/log/open5gs/smf.log &
7 |
8 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
9 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mkdir -p /usr/local/var/log/open5gs
4 | touch /usr/local/var/log/open5gs/smf.log
5 |
6 | tail -f /usr/local/var/log/open5gs/smf.log &
7 |
8 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
9 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mkdir -p /usr/local/var/log/open5gs
4 | touch /usr/local/var/log/open5gs/smf.log
5 |
6 | tail -f /usr/local/var/log/open5gs/smf.log &
7 |
8 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
9 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mkdir -p /usr/local/var/log/open5gs
4 | touch /usr/local/var/log/open5gs/smf.log
5 |
6 | tail -f /usr/local/var/log/open5gs/smf.log &
7 |
8 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
9 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | mkdir -p /usr/local/var/log/open5gs
4 | touch /usr/local/var/log/open5gs/smf.log
5 |
6 | tail -f /usr/local/var/log/open5gs/smf.log &
7 |
8 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
9 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/open5gs/scripts/run_smf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | touch /usr/local/var/log/open5gs/smf.log
4 |
5 | if [ -z "$1" ]
6 | then
7 | open5gs-smfd -c /usr/local/etc/open5gs/smf.yaml
8 | else
9 | open5gs-smfd -c /usr/local/etc/slice.yaml
10 | fi
11 |
--------------------------------------------------------------------------------
/environments/scenario2/startup_all_in_one.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd srsLTE
4 | docker build -t srslte .
5 | cd ..
6 |
7 | docker build -t open5gs .
8 | docker-compose -f docker-compose-5g-nsa.yml up -d --build
9 | docker-compose -f docker-compose-5g-nsa.yml logs -f
10 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/startup_all_in_one.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd srsLTE
4 | docker build -t srslte .
5 | cd ..
6 |
7 | docker build -t open5gs .
8 | docker-compose -f docker-compose-5g-nsa.yml up -d --build
9 | docker-compose -f docker-compose-5g-nsa.yml logs -f
10 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/startup_all_in_one.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | cd srsLTE
4 | docker build -t srslte .
5 | cd ..
6 |
7 | docker build -t open5gs .
8 | docker-compose -f docker-compose-5g-nsa.yml up -d --build
9 | docker-compose -f docker-compose-5g-nsa.yml logs -f
10 |
--------------------------------------------------------------------------------
/blue/generate_fs/gen.js:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env node
2 |
3 | var NaturalNameGenerator = require('natural-filename-generator');
4 |
5 | var g = new NaturalNameGenerator();
6 |
7 | for(var i = 0; i < 10000; i++){
8 | var name = g.generate('foo');
9 | console.log(name);
10 | }
11 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/context.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
6 |
7 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/ssh_host_ecdsa_key:
--------------------------------------------------------------------------------
1 | -----BEGIN EC PRIVATE KEY-----
2 | MHcCAQEEIONncURsOlNsCPt5bJ45hf6TUrVuFPpF0akUoHA/v13NoAoGCCqGSM49
3 | AwEHoUQDQgAEHCEKYJc/DFjKUbpOhVKt+zK4g2IPMIbjXtIBWkMLUmldtoeI9nDv
4 | ScI+Y3fNQvTeMGPKE2t3rvzpbbMnmKr77A==
5 | -----END EC PRIVATE KEY-----
6 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_mme.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Launching MME..."
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/mme.log
7 |
8 | tail -f /usr/local/var/log/open5gs/mme.log &
9 |
10 | open5gs-mmed -c /usr/local/etc/open5gs/mme.yaml
11 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/run_mme.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Launching MME..."
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/mme.log
7 |
8 | tail -f /usr/local/var/log/open5gs/mme.log &
9 |
10 | open5gs-mmed -c /usr/local/etc/open5gs/mme.yaml
11 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/open5gs/sgwu.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | sgwu:
9 | gtpu:
10 | addr: 192.168.27.31
11 | pfcp:
12 | addr: 192.168.27.31
13 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/open5gs/sgwu2.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu2.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | sgwu:
9 | gtpu:
10 | addr: 192.168.27.32
11 | pfcp:
12 | addr: 192.168.27.32
13 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_mme.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Launching MME..."
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/mme.log
7 |
8 | tail -f /usr/local/var/log/open5gs/mme.log &
9 |
10 | open5gs-mmed -c /usr/local/etc/open5gs/mme.yaml
11 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_mme.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Launching MME..."
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/mme.log
7 |
8 | tail -f /usr/local/var/log/open5gs/mme.log &
9 |
10 | open5gs-mmed -c /usr/local/etc/open5gs/mme.yaml
11 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_sgwc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-C..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwc.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwc.log &
10 |
11 | open5gs-sgwcd -c /usr/local/etc/open5gs/sgwc.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_sgwu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/run_mme.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Launching MME..."
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/mme.log
7 |
8 | tail -f /usr/local/var/log/open5gs/mme.log &
9 |
10 | open5gs-mmed -c /usr/local/etc/open5gs/mme.yaml
11 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/run_mme.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | echo "Launching MME..."
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/mme.log
7 |
8 | tail -f /usr/local/var/log/open5gs/mme.log &
9 |
10 | open5gs-mmed -c /usr/local/etc/open5gs/mme.yaml
11 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_sgwu2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U2..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu2.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu2.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu2.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/run_sgwc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-C..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwc.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwc.log &
10 |
11 | open5gs-sgwcd -c /usr/local/etc/open5gs/sgwc.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/run_sgwu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_sgwc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-C..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwc.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwc.log &
10 |
11 | open5gs-sgwcd -c /usr/local/etc/open5gs/sgwc.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_sgwu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_sgwc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-C..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwc.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwc.log &
10 |
11 | open5gs-sgwcd -c /usr/local/etc/open5gs/sgwc.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_sgwu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/run_sgwu2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U2..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu2.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu2.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu2.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_sgwu2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U2..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu2.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu2.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu2.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/run_sgwc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-C..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwc.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwc.log &
10 |
11 | open5gs-sgwcd -c /usr/local/etc/open5gs/sgwc.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/run_sgwu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_sgwu2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U2..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu2.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu2.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu2.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/run_sgwc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-C..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwc.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwc.log &
10 |
11 | open5gs-sgwcd -c /usr/local/etc/open5gs/sgwc.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/run_sgwu.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching WebUI..."
10 |
11 | npm run start --prefix /open5gs/webui
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/run_sgwu2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U2..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu2.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu2.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu2.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/run_sgwu2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 | echo "Launching SGW-U2..."
5 |
6 | mkdir -p /usr/local/var/log/open5gs
7 | touch /usr/local/var/log/open5gs/sgwu2.log
8 |
9 | tail -f /usr/local/var/log/open5gs/sgwu2.log &
10 |
11 | open5gs-sgwud -c /usr/local/etc/open5gs/sgwu2.yaml
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/run_webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching WebUI..."
10 |
11 | npm run start --prefix /open5gs/webui
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching WebUI..."
10 |
11 | npm run start --prefix /open5gs/webui
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/run_webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching WebUI..."
10 |
11 | npm run start --prefix /open5gs/webui
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching WebUI..."
10 |
11 | npm run start --prefix /open5gs/webui
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/run_webui.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching WebUI..."
10 |
11 | npm run start --prefix /open5gs/webui
12 |
--------------------------------------------------------------------------------
/environments/scenario2/srsLTE/add_default_route.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | TUN=tun_srsue
4 |
5 | while ! grep -q $TUN /proc/net/dev ; do
6 | sleep 1
7 | done
8 |
9 | ip route del default
10 |
11 | while [ "$(ip route show default)" = "" ] ; do
12 | ip route add default dev $TUN
13 | sleep 1
14 | done
15 |
16 | exit 0
17 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/UERANSIM/scripts/add_default_route.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | TUN=uesimtun0
4 |
5 | while ! grep -q $TUN /proc/net/dev ; do
6 | sleep 1
7 | done
8 |
9 | ip route del default
10 |
11 | while [ "$(ip route show default)" = "" ] ; do
12 | ip route add default dev $TUN
13 | sleep 1
14 | done
15 |
16 | exit 0
17 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/srsRAN/scripts/add_default_route.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | TUN=tun_srsue
4 |
5 | while ! grep -q $TUN /proc/net/dev ; do
6 | sleep 1
7 | done
8 |
9 | ip route del default
10 |
11 | while [ "$(ip route show default)" = "" ] ; do
12 | ip route add default dev $TUN
13 | sleep 1
14 | done
15 |
16 | exit 0
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/srsLTE/add_default_route.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | TUN=tun_srsue
4 |
5 | while ! grep -q $TUN /proc/net/dev ; do
6 | sleep 1
7 | done
8 |
9 | ip route del default
10 |
11 | while [ "$(ip route show default)" = "" ] ; do
12 | ip route add default dev $TUN
13 | sleep 1
14 | done
15 |
16 | exit 0
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/srsLTE/add_default_route.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | TUN=tun_srsue
4 |
5 | while ! grep -q $TUN /proc/net/dev ; do
6 | sleep 1
7 | done
8 |
9 | ip route del default
10 |
11 | while [ "$(ip route show default)" = "" ] ; do
12 | ip route add default dev $TUN
13 | sleep 1
14 | done
15 |
16 | exit 0
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/sgwu.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.26.31
14 | pfcp:
15 | addr: 192.168.26.31
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/sgwu2.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu2.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.26.32
14 | pfcp:
15 | addr: 192.168.26.32
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/sgwu.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.26.31
14 | pfcp:
15 | addr: 192.168.26.31
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/sgwu2.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu2.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.26.32
14 | pfcp:
15 | addr: 192.168.26.32
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/sgwu.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.26.31
14 | pfcp:
15 | addr: 192.168.26.31
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/sgwu2.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu2.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.26.32
14 | pfcp:
15 | addr: 192.168.26.32
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/open5gs/sgwu.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.27.31
14 | pfcp:
15 | addr: 192.168.27.31
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/open5gs/sgwu2.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu2.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.27.32
14 | pfcp:
15 | addr: 192.168.27.32
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/open5gs/sgwu.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.27.31
14 | pfcp:
15 | addr: 192.168.27.31
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/open5gs/sgwu2.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwu2.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwu:
12 | gtpu:
13 | addr: 192.168.27.32
14 | pfcp:
15 | addr: 192.168.27.32
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/scenario-2-cpn.txt:
--------------------------------------------------------------------------------
1 | vlan:
2 | hostnames: rico locust
3 | usernames: asmith ssmith
4 | passwords: danielle katrina
5 | VNC external password: Pythris6
6 | started desktop entrypoint... hostname: rico username: asmith password: danielle vnc: Pythris6
7 | started dba... hostname: locust username: ssmith password: katrina vnc: Pythris6
8 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/scenario-4-cpn.txt:
--------------------------------------------------------------------------------
1 | vlan:
2 | hostnames: trinity elk
3 | usernames: mwilson ssharma
4 | passwords: amistad miller
5 | VNC external password: MadUbativ
6 | started desktop entrypoint... hostname: trinity username: mwilson password: amistad vnc: MadUbativ
7 | started dba... hostname: elk username: ssharma password: miller vnc: MadUbativ
8 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/scenario-7-cpn.txt:
--------------------------------------------------------------------------------
1 | vlan:
2 | hostnames: fallriver stump
3 | usernames: mtaylor ddavis
4 | passwords: brian javier
5 | VNC external password: Vohotfuc
6 | started desktop entrypoint... hostname: fallriver username: mtaylor password: brian vnc: Vohotfuc
7 | started dba... hostname: stump username: ddavis password: javier vnc: Vohotfuc
8 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/scenario-3-cpn.txt:
--------------------------------------------------------------------------------
1 | vlan:
2 | hostnames: saugatuck fairfax
3 | usernames: cjones sahmed
4 | passwords: marissa 54321
5 | VNC external password: MinwecIb
6 | started desktop entrypoint... hostname: saugatuck username: cjones password: marissa vnc: MinwecIb
7 | started dba... hostname: fairfax username: sahmed password: 54321 vnc: MinwecIb
8 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/scenario-5-cpn.txt:
--------------------------------------------------------------------------------
1 | vlan:
2 | hostnames: crystal holt
3 | usernames: jclark asingh
4 | passwords: roxana PASSWORD
5 | VNC external password: Bovgajyid4
6 | started desktop entrypoint... hostname: crystal username: jclark password: roxana vnc: Bovgajyid4
7 | started dba... hostname: holt username: asingh password: PASSWORD vnc: Bovgajyid4
8 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/scenario-6-cpn.txt:
--------------------------------------------------------------------------------
1 | vlan:
2 | hostnames: higgins shasta
3 | usernames: sjones alee
4 | passwords: hardcore lilmama
5 | VNC external password: VotsIckIsp
6 | started desktop entrypoint... hostname: higgins username: sjones password: hardcore vnc: VotsIckIsp
7 | started dba... hostname: shasta username: alee password: lilmama vnc: VotsIckIsp
8 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/mongoloader/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM vulhub/libssh:0.8.1
2 | RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
3 | RUN echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
4 | RUN apt-get update && apt-get install -y mongodb-org mongodb-org-tools
5 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/mongoloader/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM vulhub/libssh:0.8.1
2 | RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | apt-key add -
3 | RUN echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.4 main" | tee /etc/apt/sources.list.d/mongodb-org-4.4.list
4 | RUN apt-get update && apt-get install -y mongodb-org mongodb-org-tools
5 |
--------------------------------------------------------------------------------
/environments/scenario2/README.md:
--------------------------------------------------------------------------------
1 | # startup
2 | ```
3 | ./startup.sh
4 | ```
5 |
6 | # shutdown
7 | ```
8 | ./shutdown.sh
9 | ```
10 |
11 | # all in one scripts
12 | the all in one scripts can be used if it is desired to not use dovesnap and have the CPN and UPN run on the same network.
13 |
14 | # test UE connectivity
15 | ```
16 | docker exec -it ue ping 8.8.8.8
17 | ```
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/README.md:
--------------------------------------------------------------------------------
1 | # startup
2 | ```
3 | ./startup.sh
4 | ```
5 |
6 | # shutdown
7 | ```
8 | ./shutdown.sh
9 | ```
10 |
11 | # all in one scripts
12 | the all in one scripts can be used if it is desired to not use dovesnap and have the CPN and UPN run on the same network.
13 |
14 | # test UE connectivity
15 | ```
16 | docker exec -it ue ping 8.8.8.8
17 | ```
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/README.md:
--------------------------------------------------------------------------------
1 | # startup
2 | ```
3 | ./startup.sh
4 | ```
5 |
6 | # shutdown
7 | ```
8 | ./shutdown.sh
9 | ```
10 |
11 | # all in one scripts
12 | the all in one scripts can be used if it is desired to not use dovesnap and have the CPN and UPN run on the same network.
13 |
14 | # test UE connectivity
15 | ```
16 | docker exec -it ue ping 8.8.8.8
17 | ```
18 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/hss.yaml:
--------------------------------------------------------------------------------
1 | ### haven't found a way to pass in user/pass yet
2 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/hss.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 |
10 | parameter:
11 |
12 | hss:
13 | freeDiameter: /usr/local/etc/freeDiameter/hss.conf
14 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/open5gs/hss.yaml:
--------------------------------------------------------------------------------
1 | ### haven't found a way to pass in user/pass yet
2 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/hss.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 |
10 | parameter:
11 |
12 | hss:
13 | freeDiameter: /usr/local/etc/freeDiameter/hss.conf
14 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/hss.yaml:
--------------------------------------------------------------------------------
1 | ### haven't found a way to pass in user/pass yet
2 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/hss.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 |
10 | parameter:
11 |
12 | hss:
13 | freeDiameter: /usr/local/etc/freeDiameter/hss.conf
14 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/open5gs/hss.yaml:
--------------------------------------------------------------------------------
1 | ### haven't found a way to pass in user/pass yet
2 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/hss.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 |
10 | parameter:
11 |
12 | hss:
13 | freeDiameter: /usr/local/etc/freeDiameter/hss.conf
14 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/hss.yaml:
--------------------------------------------------------------------------------
1 | ### haven't found a way to pass in user/pass yet
2 | db_uri: mongodb://mongoadmin:Pybjootvicraigtevod6@mongodb/open5gs?authSource=admin
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/hss.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 |
10 | parameter:
11 |
12 | hss:
13 | freeDiameter: /usr/local/etc/freeDiameter/hss.conf
14 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/open5gs/hss.yaml:
--------------------------------------------------------------------------------
1 | ### haven't found a way to pass in user/pass yet
2 | db_uri: mongodb://mongoadmin:Pybjootvicraigtevod6@mongodb/open5gs?authSource=admin
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/hss.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 |
10 | parameter:
11 |
12 | hss:
13 | freeDiameter: /usr/local/etc/freeDiameter/hss.conf
14 |
--------------------------------------------------------------------------------
/blue/nfsconfuser/serve.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | /sbin/rpcbind
3 | /sbin/rpc.statd --no-notify
4 | python3 /confused/confused.py /real /share /fake &
5 | echo checking /share has content
6 | while [[ "$(ls /share)" == "" ]] ; do
7 | echo waiting for /share
8 | sleep 1
9 | done
10 | echo starting ganesha
11 | strace -f -o /var/log/ganesha/strace.log /usr/bin/ganesha.nfsd -F -L /var/log/ganesha/ganesha.log -N NIV_DEBUG
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/shutdown.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose-5g-nsa-cpn.yml -f docker-compose-5g-nsa-upn.yml down
4 | docker network rm cpn
5 | docker network rm upn
6 | docker network rm rfn
7 | cd dovesnap
8 | docker-compose -f docker-compose.yml -f docker-compose-standalone.yml down
9 | cd ..
10 | docker volume rm scenario2_mongodb_data
11 | docker volume rm dovesnap_ovs-data
12 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/shutdown.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose-5g-nsa-cpn.yml -f docker-compose-5g-nsa-upn.yml down
4 | docker network rm cpn
5 | docker network rm upn
6 | docker network rm rfn
7 | cd dovesnap
8 | docker-compose -f docker-compose.yml -f docker-compose-standalone.yml down
9 | cd ..
10 | docker volume rm scenario2_mongodb_data
11 | docker volume rm dovesnap_ovs-data
12 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/open5gs/upf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | upf:
12 | gtpu:
13 | addr:
14 | - 192.168.27.41
15 | pfcp:
16 | - addr: 192.168.27.41
17 | subnet:
18 | - addr: 10.10.0.1/16
19 | apn: internet
20 |
--------------------------------------------------------------------------------
/blue/generate_fs/extensions.txt:
--------------------------------------------------------------------------------
1 | 5
2 | xlsx
3 | doc
4 | pdf
5 | docx
6 | pptx
7 |
8 | 5-6
9 | avi
10 | 3g2
11 | 3gp
12 | flv
13 | h264
14 | m4v
15 | mkv
16 | mov
17 | mp4
18 | mpg
19 | mpeg
20 | wmv
21 |
22 | 5
23 | tiff
24 | jpeg
25 | jpg
26 | gif
27 |
28 | 5-6
29 | bin
30 | db
31 |
32 | 4-6
33 | jar
34 | zip
35 | tar
36 | tar.gz
37 | rar
38 |
39 | 4-5
40 | wav
41 | wma
42 | ogg
43 | mpa
44 | aif
45 | cda
46 |
47 | 1
48 | txt
49 |
--------------------------------------------------------------------------------
/blue/nfsconfuser/confused/README.md:
--------------------------------------------------------------------------------
1 | # confused
2 | A FUSE based filesystem confuser.
3 |
4 | Files under a specified "fake" tree, will appear preferentially in a real tree, via a FUSE mount.
5 |
6 | Usage
7 | =====
8 |
9 | pip install -r requirements.txt
10 | ./confused.py /real/path /mount/point /fake/path
11 |
12 | Copy files to /fake/path (or subdirectories thereof). They will appear under /mount/point, overlaying /real/path.
13 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/ssh_host_rsa_key.pub:
--------------------------------------------------------------------------------
1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSdQ3Y/2p9lE4KOxVnnlZmnBnbVzdMbeSTpqHjRomiLFAvN2ibvIA6bM4IzA+1gZbmqj/nC15Q0EP7U49EMmRPCklquu6YTKTwzJTKql7qVEiKhkMNwSh7+pHi4Eve975swhsdncqhBkTeLREg7Q7emjhVxbgl92Q9HfFFHYa76b7p5BmjW44ZMGvWnOIg4WVOk5VSa6u8ZcPvnc4Z4EKpIkbLU3gNENIUQ4koeZmDgZs2iCYxuNFb/SQNrBOoPZKJ686cPfohBzSiwulDG0mxmHNHAJVT7fEAi+XC9mF9tPtj1njPjO2w3mbXrrxH9m4GszgAf+WLhvnMu+ij8dlv root@7625efe3a323
2 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/pcrf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | ### haven't found a way to pass in user/pass yet
4 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
5 |
6 | logger:
7 | file: /usr/local/var/log/open5gs/pcrf.log
8 | trace:
9 | app: 1
10 | diameter: 1
11 |
12 | parameter:
13 | no_ipv6: true
14 |
15 | pcrf:
16 | freeDiameter: /usr/local/etc/freeDiameter/pcrf.conf
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_hss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching HSS..."
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/hss.log
13 |
14 | tail -f /usr/local/var/log/open5gs/hss.log &
15 |
16 | open5gs-hssd -c /usr/local/etc/open5gs/hss.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/open5gs/pcrf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | ### haven't found a way to pass in user/pass yet
4 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
5 |
6 | logger:
7 | file: /usr/local/var/log/open5gs/pcrf.log
8 | trace:
9 | app: 1
10 | diameter: 1
11 |
12 | parameter:
13 | no_ipv6: true
14 |
15 | pcrf:
16 | freeDiameter: /usr/local/etc/freeDiameter/pcrf.conf
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/run_hss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching HSS..."
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/hss.log
13 |
14 | tail -f /usr/local/var/log/open5gs/hss.log &
15 |
16 | open5gs-hssd -c /usr/local/etc/open5gs/hss.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/pcrf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | ### haven't found a way to pass in user/pass yet
4 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
5 |
6 | logger:
7 | file: /usr/local/var/log/open5gs/pcrf.log
8 | trace:
9 | app: 1
10 | diameter: 1
11 |
12 | parameter:
13 | no_ipv6: true
14 |
15 | pcrf:
16 | freeDiameter: /usr/local/etc/freeDiameter/pcrf.conf
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_hss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching HSS..."
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/hss.log
13 |
14 | tail -f /usr/local/var/log/open5gs/hss.log &
15 |
16 | open5gs-hssd -c /usr/local/etc/open5gs/hss.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/open5gs/pcrf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | ### haven't found a way to pass in user/pass yet
4 | db_uri: mongodb://mongoadmin:secret@mongodb/open5gs?authSource=admin
5 |
6 | logger:
7 | file: /usr/local/var/log/open5gs/pcrf.log
8 | trace:
9 | app: 1
10 | diameter: 1
11 |
12 | parameter:
13 | no_ipv6: true
14 |
15 | pcrf:
16 | freeDiameter: /usr/local/etc/freeDiameter/pcrf.conf
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/run_hss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching HSS..."
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/hss.log
13 |
14 | tail -f /usr/local/var/log/open5gs/hss.log &
15 |
16 | open5gs-hssd -c /usr/local/etc/open5gs/hss.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_hss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching HSS..."
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/hss.log
13 |
14 | tail -f /usr/local/var/log/open5gs/hss.log &
15 |
16 | open5gs-hssd -c /usr/local/etc/open5gs/hss.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/run_hss.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
4 | do
5 | sleep 5
6 | echo "Trying to connect to MongoDB"
7 | done
8 |
9 | echo "Launching HSS..."
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/hss.log
13 |
14 | tail -f /usr/local/var/log/open5gs/hss.log &
15 |
16 | open5gs-hssd -c /usr/local/etc/open5gs/hss.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/sgwc.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwc.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwc:
12 | gtpc:
13 | addr: 192.168.26.30
14 | pfcp:
15 | addr: 192.168.26.30
16 |
17 | sgwu:
18 | pfcp:
19 | - addr: 192.168.26.31
20 | apn: internet
21 | - addr: 192.168.26.32
22 | apn: internet2
23 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/srsRAN/ettus-nrr.conf:
--------------------------------------------------------------------------------
1 | @include "/config/ettus-rr.conf"
2 |
3 | // https://docs.srsran.com/en/latest/app_notes/source/5g_nsa_cots/source/index.html
4 | nr_cell_list =
5 | (
6 | {
7 | rf_port = 1;
8 | cell_id = 0x65;
9 | tac = 0x0001;
10 | pci = 500;
11 | root_seq_idx = 204;
12 |
13 | // TDD:
14 | //dl_arfcn = 634240;
15 | //band = 78;
16 |
17 | // FDD:
18 | dl_arfcn = 368500;
19 | band = 3;
20 | }
21 | );
22 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_pcrf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/pcrf.log
7 |
8 | tail -f /usr/local/var/log/open5gs/pcrf.log &
9 |
10 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
11 | do
12 | sleep 5
13 | echo "Trying to connect to MongoDB"
14 | done
15 |
16 | echo "Launching PCRF..."
17 |
18 | open5gs-pcrfd -c /usr/local/etc/open5gs/pcrf.yaml
19 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/sgwc.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwc.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwc:
12 | gtpc:
13 | addr: 192.168.26.30
14 | pfcp:
15 | addr: 192.168.26.30
16 |
17 | sgwu:
18 | pfcp:
19 | - addr: 192.168.26.31
20 | apn: internet
21 | - addr: 192.168.26.32
22 | apn: internet2
23 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/pcrf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | ### haven't found a way to pass in user/pass yet
4 | db_uri: mongodb://mongoadmin:Pybjootvicraigtevod6@mongodb/open5gs?authSource=admin
5 |
6 | logger:
7 | file: /usr/local/var/log/open5gs/pcrf.log
8 | trace:
9 | app: 1
10 | diameter: 1
11 |
12 | parameter:
13 | no_ipv6: true
14 |
15 | pcrf:
16 | freeDiameter: /usr/local/etc/freeDiameter/pcrf.conf
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/sgwc.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwc.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwc:
12 | gtpc:
13 | addr: 192.168.26.30
14 | pfcp:
15 | addr: 192.168.26.30
16 |
17 | sgwu:
18 | pfcp:
19 | - addr: 192.168.26.31
20 | apn: internet
21 | - addr: 192.168.26.32
22 | apn: internet2
23 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/open5gs/pcrf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | ### haven't found a way to pass in user/pass yet
4 | db_uri: mongodb://mongoadmin:Pybjootvicraigtevod6@mongodb/open5gs?authSource=admin
5 |
6 | logger:
7 | file: /usr/local/var/log/open5gs/pcrf.log
8 | trace:
9 | app: 1
10 | diameter: 1
11 |
12 | parameter:
13 | no_ipv6: true
14 |
15 | pcrf:
16 | freeDiameter: /usr/local/etc/freeDiameter/pcrf.conf
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_upf2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.11.0.1/16 dev ogstun
5 | ip link set ogstun up
6 |
7 | # masquerade
8 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
9 | iptables -I INPUT -i ogstun -j ACCEPT
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/upf2.log
13 |
14 | tail -f /usr/local/var/log/open5gs/upf2.log &
15 |
16 | open5gs-upfd -c /usr/local/etc/open5gs/upf2.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/run_pcrf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/pcrf.log
7 |
8 | tail -f /usr/local/var/log/open5gs/pcrf.log &
9 |
10 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
11 | do
12 | sleep 5
13 | echo "Trying to connect to MongoDB"
14 | done
15 |
16 | echo "Launching PCRF..."
17 |
18 | open5gs-pcrfd -c /usr/local/etc/open5gs/pcrf.yaml
19 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_pcrf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/pcrf.log
7 |
8 | tail -f /usr/local/var/log/open5gs/pcrf.log &
9 |
10 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
11 | do
12 | sleep 5
13 | echo "Trying to connect to MongoDB"
14 | done
15 |
16 | echo "Launching PCRF..."
17 |
18 | open5gs-pcrfd -c /usr/local/etc/open5gs/pcrf.yaml
19 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_pcrf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/pcrf.log
7 |
8 | tail -f /usr/local/var/log/open5gs/pcrf.log &
9 |
10 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
11 | do
12 | sleep 5
13 | echo "Trying to connect to MongoDB"
14 | done
15 |
16 | echo "Launching PCRF..."
17 |
18 | open5gs-pcrfd -c /usr/local/etc/open5gs/pcrf.yaml
19 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_upf2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.11.0.1/16 dev ogstun
5 | ip link set ogstun up
6 |
7 | # masquerade
8 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
9 | iptables -I INPUT -i ogstun -j ACCEPT
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/upf2.log
13 |
14 | tail -f /usr/local/var/log/open5gs/upf2.log &
15 |
16 | open5gs-upfd -c /usr/local/etc/open5gs/upf2.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/run_pcrf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/pcrf.log
7 |
8 | tail -f /usr/local/var/log/open5gs/pcrf.log &
9 |
10 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
11 | do
12 | sleep 5
13 | echo "Trying to connect to MongoDB"
14 | done
15 |
16 | echo "Launching PCRF..."
17 |
18 | open5gs-pcrfd -c /usr/local/etc/open5gs/pcrf.yaml
19 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_upf2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.11.0.1/16 dev ogstun
5 | ip link set ogstun up
6 |
7 | # masquerade
8 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
9 | iptables -I INPUT -i ogstun -j ACCEPT
10 |
11 | mkdir -p /usr/local/var/log/open5gs
12 | touch /usr/local/var/log/open5gs/upf2.log
13 |
14 | tail -f /usr/local/var/log/open5gs/upf2.log &
15 |
16 | open5gs-upfd -c /usr/local/etc/open5gs/upf2.yaml
17 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/run_pcrf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 |
4 |
5 | mkdir -p /usr/local/var/log/open5gs
6 | touch /usr/local/var/log/open5gs/pcrf.log
7 |
8 | tail -f /usr/local/var/log/open5gs/pcrf.log &
9 |
10 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
11 | do
12 | sleep 5
13 | echo "Trying to connect to MongoDB"
14 | done
15 |
16 | echo "Launching PCRF..."
17 |
18 | open5gs-pcrfd -c /usr/local/etc/open5gs/pcrf.yaml
19 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/open5gs/sgwc.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwc.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwc:
12 | gtpc:
13 | addr: 192.168.26.30
14 | pfcp:
15 | addr: 192.168.26.30
16 |
17 | sgwu:
18 | pfcp:
19 | - addr: 192.168.27.31
20 | apn: internet
21 | - addr: 192.168.27.32
22 | apn: [internet2, internet3]
23 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/open5gs/upf2.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf2.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | upf:
12 | gtpu:
13 | addr:
14 | - 192.168.27.42
15 | pfcp:
16 | - addr: 192.168.27.42
17 | subnet:
18 | - addr: 10.11.0.1/16
19 | apn: internet2
20 | - addr: 10.12.0.1/16
21 | apn: internet3
22 | dev: ogstun2
23 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/open5gs/sgwc.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwc.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwc:
12 | gtpc:
13 | addr: 192.168.26.30
14 | pfcp:
15 | addr: 192.168.26.30
16 |
17 | sgwu:
18 | pfcp:
19 | - addr: 192.168.27.31
20 | apn: internet
21 | - addr: 192.168.27.32
22 | apn: [internet2, internet3]
23 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/open5gs/sgwc.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/sgwc.log
3 | trace:
4 | app: 1
5 | gtpv2: 1
6 | gtp: 1
7 |
8 | parameter:
9 | no_ipv6: true
10 |
11 | sgwc:
12 | gtpc:
13 | addr: 192.168.26.30
14 | pfcp:
15 | addr: 192.168.26.30
16 |
17 | sgwu:
18 | pfcp:
19 | - addr: 192.168.27.31
20 | apn: internet
21 | - addr: 192.168.27.32
22 | apn: [internet2, internet3]
23 |
--------------------------------------------------------------------------------
/blue/nfsconfuser/ganesha.conf:
--------------------------------------------------------------------------------
1 |
2 | NFS_CORE_PARAM {
3 | mount_path_pseudo = true;
4 | Protocols = 4;
5 | }
6 |
7 | EXPORT_DEFAULTS {
8 | Access_Type = RO;
9 | }
10 |
11 | CLIENT
12 | {
13 | Clients = 0.0.0.0/0;
14 | Protocols = 4;
15 | Squash = None;
16 | }
17 |
18 | EXPORT
19 | {
20 | Export_Id = 1;
21 | Path = /share;
22 | Pseudo = /share;
23 | Protocols = 4;
24 | Access_Type = RO;
25 | Squash = None;
26 | Sectype = sys;
27 | Transports = "TCP";
28 | FSAL {
29 | Name = VFS;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/desktop/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | networks:
3 | desktops:
4 | external:
5 | name: desktops
6 | services:
7 | desktop:
8 | image: dorowu/ubuntu-desktop-lxde-vnc
9 | hostname: "${CONTAINER_NAME}"
10 | environment:
11 | - "VNC_PASSWORD=${VNC_PASSWORD}"
12 | - RESOLUTION=1280x800
13 | - "USER=${SYSTEM_USER}"
14 | - "PASSWORD=${USER_PW}"
15 | networks:
16 | - desktops
17 | labels:
18 | - "dovesnap.faucet.mirror=true"
19 |
--------------------------------------------------------------------------------
/blue/tests/test_srsran_enb_ue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | UETEST=$(dirname "$0")/uetuncheck.sh
6 | UETEST=$(realpath "${UETEST}")
7 |
8 | echo "starting services..."
9 | cd blue/5G/daedalus/5G
10 | CLI=('-f' 'core/epc.yml' '-f' 'core/upn.yml' '-f' 'core/db.yml' '-f' 'SIMULATED/srsran-enb.yml' '-f' 'SIMULATED/srsran-ue.yml')
11 |
12 | SMF='' docker compose "${CLI[@]}" down -v
13 | SMF='' docker compose "${CLI[@]}" up -d --build
14 |
15 | ${UETEST} ue tun_srsue
16 |
17 | docker compose "${CLI[@]}" down -v
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | networks:
3 | desktops:
4 | external:
5 | name: desktops
6 | services:
7 | dba:
8 | image: dba
9 | build:
10 | context: .
11 | hostname: "${CONTAINER_NAME}"
12 | environment:
13 | - "VNC_PASSWORD=${VNC_PASSWORD}"
14 | - RESOLUTION=1280x800
15 | - "USER=${SYSTEM_USER}"
16 | - "PASSWORD=${USER_PW}"
17 | networks:
18 | - desktops
19 | labels:
20 | - "dovesnap.faucet.mirror=true"
21 |
--------------------------------------------------------------------------------
/environments/scenario1/host3/down.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # stop all desktops
4 | cd desktop
5 | docker-compose -p 0 down
6 | docker-compose -p 1 down
7 | docker-compose -p 2 down
8 | docker-compose -p 3 down
9 | docker-compose -p 4 down
10 | cd ..
11 |
12 | # delete desktops network
13 | docker network rm desktops
14 |
15 | # stop dovesnap and ovs
16 | cd dovesnap
17 | docker-compose down
18 | cd ..
19 |
20 | # remove docker networks
21 | docker network prune
22 |
23 | # remove docker volumes
24 | docker volume prune
25 |
--------------------------------------------------------------------------------
/environments/scenario2/config/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.10.0.1/16 dev ogstun
5 | #ip addr add cafe::1/16 dev ogstun
6 | ip link set ogstun up
7 |
8 | # masquerade
9 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
10 | iptables -I INPUT -i ogstun -j ACCEPT
11 |
12 | mkdir -p /usr/local/var/log/open5gs
13 | touch /usr/local/var/log/open5gs/upf.log
14 |
15 | tail -f /usr/local/var/log/open5gs/upf.log &
16 |
17 | open5gs-upfd -c /usr/local/etc/open5gs/upf.yaml
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/srsLTE/patch.txt:
--------------------------------------------------------------------------------
1 | --- a/lib/include/srslte/adt/bounded_bitset.h
2 | +++ b/lib/include/srslte/adt/bounded_bitset.h
3 | @@ -43,7 +43,7 @@ class bounded_bitset
4 | public:
5 | constexpr bounded_bitset() : buffer(), cur_size(0) {}
6 |
7 | - constexpr explicit bounded_bitset(size_t cur_size_) : buffer(), cur_size(cur_size_) {}
8 | + explicit bounded_bitset(size_t cur_size_) : buffer(), cur_size(cur_size_) { sanitize_(); }
9 |
10 | constexpr size_t max_size() const noexcept { return N; }
11 |
--------------------------------------------------------------------------------
/blue/tests/uetuncheck.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | UECON=$1
4 | UETUN=$2
5 |
6 | echo "waiting for ${UECON} tunnel to come up..."
7 | i=0
8 | OUT=""
9 | while [ "$OUT" == "" ] && [ "$i" != 300 ] ; do
10 | echo -n .
11 | OUT=$(docker exec "${UECON}" ip link|grep "${UETUN}")
12 | ((i=i+1))
13 | sleep 1
14 | done
15 | docker logs "${UECON}"
16 |
17 | if [ "$OUT" == "" ] ; then
18 | echo no "${UETUN}"
19 | exit 1
20 | fi
21 |
22 | echo "checking ${UECON} connectivity..."
23 | docker exec "${UECON}" wget -q -O- bing.com || exit 1
24 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/upf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.26.41
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.26.41
21 | #- addr: ::1
22 | subnet:
23 | - addr: 10.10.0.1/16
24 | apn: internet
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.10.0.1/16 dev ogstun
5 | #ip addr add cafe::1/16 dev ogstun
6 | ip link set ogstun up
7 |
8 | # masquerade
9 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
10 | iptables -I INPUT -i ogstun -j ACCEPT
11 |
12 | mkdir -p /usr/local/var/log/open5gs
13 | touch /usr/local/var/log/open5gs/upf.log
14 |
15 | tail -f /usr/local/var/log/open5gs/upf.log &
16 |
17 | open5gs-upfd -c /usr/local/etc/open5gs/upf.yaml
18 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/upf2.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf2.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.26.42
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.26.42
21 | #- addr: ::1
22 | subnet:
23 | - addr: 10.11.0.1/16
24 | apn: internet2
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/upf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.26.41
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.26.41
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.10.0.1/16
24 | apn: internet
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/upf2.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf2.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.26.42
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.26.42
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.11.0.1/16
24 | apn: internet2
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.10.0.1/16 dev ogstun
5 | #ip addr add cafe::1/16 dev ogstun
6 | ip link set ogstun up
7 |
8 | # masquerade
9 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
10 | iptables -I INPUT -i ogstun -j ACCEPT
11 |
12 | mkdir -p /usr/local/var/log/open5gs
13 | touch /usr/local/var/log/open5gs/upf.log
14 |
15 | tail -f /usr/local/var/log/open5gs/upf.log &
16 |
17 | open5gs-upfd -c /usr/local/etc/open5gs/upf.yaml
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.10.0.1/16 dev ogstun
5 | #ip addr add cafe::1/16 dev ogstun
6 | ip link set ogstun up
7 |
8 | # masquerade
9 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
10 | iptables -I INPUT -i ogstun -j ACCEPT
11 |
12 | mkdir -p /usr/local/var/log/open5gs
13 | touch /usr/local/var/log/open5gs/upf.log
14 |
15 | tail -f /usr/local/var/log/open5gs/upf.log &
16 |
17 | open5gs-upfd -c /usr/local/etc/open5gs/upf.yaml
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/upf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.26.41
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.26.41
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.10.0.1/16
24 | apn: internet
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/upf2.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf2.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.26.42
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.26.42
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.11.0.1/16
24 | apn: internet2
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.10.0.1/16 dev ogstun
5 | #ip addr add cafe::1/16 dev ogstun
6 | ip link set ogstun up
7 |
8 | # masquerade
9 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
10 | iptables -I INPUT -i ogstun -j ACCEPT
11 |
12 | mkdir -p /usr/local/var/log/open5gs
13 | touch /usr/local/var/log/open5gs/upf.log
14 |
15 | tail -f /usr/local/var/log/open5gs/upf.log &
16 |
17 | open5gs-upfd -c /usr/local/etc/open5gs/upf.yaml
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.10.0.1/16 dev ogstun
5 | #ip addr add cafe::1/16 dev ogstun
6 | ip link set ogstun up
7 |
8 | # masquerade
9 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
10 | iptables -I INPUT -i ogstun -j ACCEPT
11 |
12 | mkdir -p /usr/local/var/log/open5gs
13 | touch /usr/local/var/log/open5gs/upf.log
14 |
15 | tail -f /usr/local/var/log/open5gs/upf.log &
16 |
17 | open5gs-upfd -c /usr/local/etc/open5gs/upf.yaml
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/open5gs/upf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.27.41
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.27.41
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.10.0.1/16
24 | apn: internet
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/open5gs/upf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.27.41
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.27.41
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.10.0.1/16
24 | apn: internet
25 | #- addr: cafe::1/64
26 |
--------------------------------------------------------------------------------
/environments/scenario2/shutdown.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | docker-compose -f docker-compose-5g-nsa-cpn.yml -f docker-compose-5g-nsa-upn.yml -f docker-compose-5g-nsa-upn-bladerf-enb.yml -f docker-compose-5g-nsa-upn-enb.yml -f docker-compose-5g-nsa-rfn-ue.yml down --remove-orphans
4 | docker network rm cpn
5 | docker network rm upn
6 | docker network rm rfn
7 | cd dovesnap
8 | docker-compose -f docker-compose.yml -f docker-compose-standalone.yml down
9 | cd ..
10 | docker volume rm scenario2_mongodb_data
11 | docker volume rm dovesnap_ovs-data
12 |
--------------------------------------------------------------------------------
/blue/tests/test_ueransim_gnb_ue.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | UETEST=$(dirname "$0")/uetuncheck.sh
6 | UETEST=$(realpath "${UETEST}")
7 |
8 | echo "starting services..."
9 | cd blue/5G/daedalus/5G
10 | CLI=('-f' 'core/epc.yml' '-f' 'core/upn.yml' '-f' 'core/db.yml' '-f' 'core/core.yml' '-f' 'SIMULATED/ueransim-gnb.yml' '-f' 'SIMULATED/ueransim-ue.yml')
11 |
12 | SMF='core' docker compose "${CLI[@]}" down -v
13 | SMF='core' docker compose "${CLI[@]}" up -d --build
14 |
15 | ${UETEST} ue1 uesimtun0
16 |
17 | CMD='core' docker compose "${CLI[@]}" down -v
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/open5gs/upf2.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf2.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.27.42
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.27.42
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.11.0.1/16
24 | apn: internet2
25 | - addr: 10.12.0.1/16
26 | apn: internet3
27 | dev: ogstun2
28 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/open5gs/upf2.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/upf2.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | upf:
15 | gtpu:
16 | addr:
17 | - 192.168.27.42
18 | #- ::1
19 | pfcp:
20 | - addr: 192.168.27.42
21 | #- addr: ::1
22 | pdn:
23 | - addr: 10.11.0.1/16
24 | apn: internet2
25 | - addr: 10.12.0.1/16
26 | apn: internet3
27 | dev: ogstun2
28 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/ssh_server_fork.patch:
--------------------------------------------------------------------------------
1 | --- ssh_server_fork.c»»»2018-08-10 17:06:03.000000000 +0800
2 | +++ ssh_server_fork_patch.c»2018-10-19 13:44:07.000000000 +0800
3 | @@ -531,7 +531,7 @@
4 | ssh_event_add_session(event, session);
5 |
6 | n = 0;
7 | - while (sdata.authenticated == 0 || sdata.channel == NULL) {
8 | + while (sdata.channel == NULL) {
9 | /* If the user has used up all attempts, or if he hasn't been able to
10 | * authenticate in 10 seconds (n * 100ms), disconnect. */
11 | if (sdata.auth_attempts >= 3 || n >= 100) {
12 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/down.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # stop vuln tomcat
4 |
5 | # stop all other servers
6 | cd server
7 | docker-compose -p 0 down
8 | docker-compose -p 1 down
9 | docker-compose -p 2 down
10 | docker-compose -p 3 down
11 | docker-compose -p 4 down
12 | cd ..
13 |
14 | # stop nfs
15 |
16 | # delete servers network
17 | docker network rm servers
18 |
19 | # stop dovesnap and ovs
20 | cd dovesnap
21 | docker-compose down
22 | cd ..
23 |
24 | # remove docker networks
25 | docker network prune
26 |
27 | # remove docker volumes
28 | docker volume prune
29 |
30 | sudo service docker restart
31 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/run_upf2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.11.0.1/16 dev ogstun
5 | ip link set ogstun up
6 | ip tuntap add name ogstun2 mode tun
7 | ip addr add 10.12.0.1/16 dev ogstun2
8 | ip link set ogstun2 up
9 |
10 | # masquerade
11 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
12 | iptables -I INPUT -i ogstun -j ACCEPT
13 | iptables -I INPUT -i ogstun2 -j ACCEPT
14 |
15 | mkdir -p /usr/local/var/log/open5gs
16 | touch /usr/local/var/log/open5gs/upf2.log
17 |
18 | tail -f /usr/local/var/log/open5gs/upf2.log &
19 |
20 | open5gs-upfd -c /usr/local/etc/open5gs/upf2.yaml
21 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/ssh_host_dsa_key.pub:
--------------------------------------------------------------------------------
1 | ssh-dss AAAAB3NzaC1kc3MAAACBAIYaID9ugXZ4ePYEKNFdmj7v9+qXgq+vnibOwIik06/5FEnMoUlZ6sHGF8IvI4oiAMZK9P4B0Ft1/xQV4gzJUp2iK5xRs0pLR375Z665kukNrcQF9jysbVmhDZqETN0/bbJc8ks/n+hPzlcoqNLUKZRJm96dTGnC+mGyePvViBGrAAAAFQCZUuF94EEYcAy/HJy/hTwkk7OEAQAAAIB3b5mWS8RwtYBdxWBtzI9Pz4+Ifmv7s0vw9wlgm5MwsFOMOj38tmfClVFKsMe0dRH68Y3bhz4cB+c7g/pbCsbhbO2Id1tcX5Bn/CyzOvObuHxrjpoEspKM4gFmkPa4uUh2Ql4ulid2a78aA0AkMbzFroJx36zGULYPbVK8KgpPFAAAAIBWfVbX+uBnmAgR/15iW7Lsemjz/8lJQ41PlLu3mLwPdbGxWg/kpsEEFf7PPPJb15/xcsG/OEdgsUil1+kqXiVXUxcB1DsrxYBQ/qJtoAXKBcgFIVRZ2ghKrJJvOBCx9FrzkfbtrHBssQKJmQ3hSkpx3IzWzrj4+RGucp40FuvurA== root@7625efe3a323
2 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/run_upf2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.11.0.1/16 dev ogstun
5 | ip link set ogstun up
6 | ip tuntap add name ogstun2 mode tun
7 | ip addr add 10.12.0.1/16 dev ogstun2
8 | ip link set ogstun2 up
9 |
10 | # masquerade
11 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
12 | iptables -I INPUT -i ogstun -j ACCEPT
13 | iptables -I INPUT -i ogstun2 -j ACCEPT
14 |
15 | mkdir -p /usr/local/var/log/open5gs
16 | touch /usr/local/var/log/open5gs/upf2.log
17 |
18 | tail -f /usr/local/var/log/open5gs/upf2.log &
19 |
20 | open5gs-upfd -c /usr/local/etc/open5gs/upf2.yaml
21 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/run_upf2.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | ip tuntap add name ogstun mode tun
4 | ip addr add 10.11.0.1/16 dev ogstun
5 | ip link set ogstun up
6 | ip tuntap add name ogstun2 mode tun
7 | ip addr add 10.12.0.1/16 dev ogstun2
8 | ip link set ogstun2 up
9 |
10 | # masquerade
11 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
12 | iptables -I INPUT -i ogstun -j ACCEPT
13 | iptables -I INPUT -i ogstun2 -j ACCEPT
14 |
15 | mkdir -p /usr/local/var/log/open5gs
16 | touch /usr/local/var/log/open5gs/upf2.log
17 |
18 | tail -f /usr/local/var/log/open5gs/upf2.log &
19 |
20 | open5gs-upfd -c /usr/local/etc/open5gs/upf2.yaml
21 |
--------------------------------------------------------------------------------
/environments/scenario1/host3/desktop/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | networks:
3 | desktops:
4 | external:
5 | name: desktops
6 | services:
7 | desktop:
8 | image: dorowu/ubuntu-desktop-lxde-vnc
9 | hostname: "${CONTAINER_NAME}"
10 | security_opt:
11 | - apparmor:erichough-nfs
12 | cap_add:
13 | - SYS_ADMIN
14 | volumes:
15 | - /dev/shm:/dev/shm
16 | environment:
17 | - "VNC_PASSWORD=${VNC_PASSWORD}"
18 | - RESOLUTION=1920x1080
19 | - "USER=${SYSTEM_USER}"
20 | - "PASSWORD=${USER_PW}"
21 | networks:
22 | - desktops
23 | labels:
24 | - "dovesnap.faucet.mirror=true"
25 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/docker-compose-desktops.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | networks:
3 | desktops:
4 | external:
5 | name: desktops
6 | services:
7 | desktop:
8 | image: dorowu/ubuntu-desktop-lxde-vnc
9 | hostname: "${CONTAINER_NAME}"
10 | security_opt:
11 | - apparmor:erichough-nfs
12 | cap_add:
13 | - SYS_ADMIN
14 | volumes:
15 | - /dev/shm:/dev/shm
16 | environment:
17 | - "VNC_PASSWORD=${VNC_PASSWORD}"
18 | - RESOLUTION=1280x800
19 | - "USER=${SYSTEM_USER}"
20 | - "PASSWORD=${USER_PW}"
21 | networks:
22 | - desktops
23 | labels:
24 | - "dovesnap.faucet.mirror=true"
25 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/docker-compose-desktops.yml:
--------------------------------------------------------------------------------
1 | version: '3'
2 | networks:
3 | desktops:
4 | external:
5 | name: desktops
6 | services:
7 | desktop:
8 | image: dorowu/ubuntu-desktop-lxde-vnc
9 | hostname: "${CONTAINER_NAME}"
10 | security_opt:
11 | - apparmor:erichough-nfs
12 | cap_add:
13 | - SYS_ADMIN
14 | volumes:
15 | - /dev/shm:/dev/shm
16 | environment:
17 | - "VNC_PASSWORD=${VNC_PASSWORD}"
18 | - RESOLUTION=1280x800
19 | - "USER=${SYSTEM_USER}"
20 | - "PASSWORD=${USER_PW}"
21 | networks:
22 | - desktops
23 | labels:
24 | - "dovesnap.faucet.mirror=true"
25 |
--------------------------------------------------------------------------------
/.github/workflows/config/whispers-config.yml:
--------------------------------------------------------------------------------
1 | include:
2 | files:
3 | - "**/*"
4 |
5 | exclude:
6 | files:
7 | - __pycache__|\.eggs|build|dev|\.vscode|\.git|\.github
8 | - .*/(locale|spec|test|mock)s?/
9 | - integration|node_modules
10 | - (package(-lock)?|npm-shrinkwrap)\.json
11 | - environments/scenario[0-9]+/.*
12 | - blue/5g/(core/\.env|configs/.*\.y[a]?ml)
13 |
14 | keys:
15 | - .*(public|project).*
16 |
17 | values:
18 | - ^(true|false|yes|no|1|0)$
19 | - .*_(user|password|token|key|placeholder|name)$
20 | - ^aws_(access_key_id|secret_access_key|session_token)$
21 | - ^arn:aws:.*
22 | - ^((cn?trl|alt|shift|del|ins|esc|tab|f[\d]+) ?[\+_\-\\/] ?)+[\w]+$
--------------------------------------------------------------------------------
/.pre-commit-config.yaml:
--------------------------------------------------------------------------------
1 | default_language_version:
2 | python: python3
3 | repos:
4 | - repo: https://github.com/pre-commit/pre-commit-hooks
5 | rev: v4.0.1
6 | hooks:
7 | - id: trailing-whitespace
8 | - id: end-of-file-fixer
9 | - id: check-case-conflict
10 | - id: check-json
11 | - id: pretty-format-json
12 | args: ['--autofix']
13 | - id: double-quote-string-fixer
14 | - id: check-yaml
15 | - repo: https://github.com/asottile/reorder_python_imports
16 | rev: v2.6.0
17 | hooks:
18 | - id: reorder-python-imports
19 | - repo: https://github.com/pre-commit/mirrors-autopep8
20 | rev: v1.5.7
21 | hooks:
22 | - id: autopep8
23 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/docker-compose.yml:
--------------------------------------------------------------------------------
1 | version: '2'
2 | services:
3 | tomcat:
4 | image: vulhub/tomcat:8.0
5 | build:
6 | context: .
7 | hostname: "${CONTAINER_NAME}"
8 | security_opt:
9 | - apparmor:erichough-nfs
10 | cap_add:
11 | - SYS_ADMIN
12 | volumes:
13 | - ./tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml
14 | - ./context.xml:/usr/local/tomcat/webapps/manager/META-INF/context.xml
15 | - ./context.xml:/usr/local/tomcat/webapps/host-manager/META-INF/context.xml
16 | networks: [servers]
17 | labels:
18 | - "dovesnap.faucet.mirror=true"
19 | networks:
20 | servers:
21 | external:
22 | name: servers
23 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SIMULATED/ueransim-ue.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | rfn:
6 | external:
7 | name: rfn
8 | services:
9 | ue1:
10 | image: iqtlabs/ueransim:latest
11 | container_name: ue1
12 | depends_on:
13 | - gnb
14 | cap_add:
15 | - NET_ADMIN
16 | - SYS_NICE
17 | devices:
18 | - /dev/net/tun
19 | networks:
20 | rfn:
21 | ipv4_address: 192.168.28.101
22 | volumes:
23 | - "../configs/UERANSIM:/config:z"
24 | labels:
25 | - "daedalus.namespace=primary"
26 | entrypoint:
27 | - /scripts/run_ue.sh
28 | command:
29 | - -c
30 | - /config/ue.yaml
31 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/tomcat-users.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/ssh_host_dsa_key:
--------------------------------------------------------------------------------
1 | -----BEGIN DSA PRIVATE KEY-----
2 | MIIBugIBAAKBgQCGGiA/boF2eHj2BCjRXZo+7/fql4Kvr54mzsCIpNOv+RRJzKFJ
3 | WerBxhfCLyOKIgDGSvT+AdBbdf8UFeIMyVKdoiucUbNKS0d++WeuuZLpDa3EBfY8
4 | rG1ZoQ2ahEzdP22yXPJLP5/oT85XKKjS1CmUSZvenUxpwvphsnj71YgRqwIVAJlS
5 | 4X3gQRhwDL8cnL+FPCSTs4QBAoGAd2+ZlkvEcLWAXcVgbcyPT8+PiH5r+7NL8PcJ
6 | YJuTMLBTjDo9/LZnwpVRSrDHtHUR+vGN24c+HAfnO4P6WwrG4WztiHdbXF+QZ/ws
7 | szrzm7h8a46aBLKSjOIBZpD2uLlIdkJeLpYndmu/GgNAJDG8xa6Ccd+sxlC2D21S
8 | vCoKTxQCgYBWfVbX+uBnmAgR/15iW7Lsemjz/8lJQ41PlLu3mLwPdbGxWg/kpsEE
9 | Ff7PPPJb15/xcsG/OEdgsUil1+kqXiVXUxcB1DsrxYBQ/qJtoAXKBcgFIVRZ2ghK
10 | rJJvOBCx9FrzkfbtrHBssQKJmQ3hSkpx3IzWzrj4+RGucp40FuvurAIUXHMznp++
11 | f30TrhLTGIj56scpUJM=
12 | -----END DSA PRIVATE KEY-----
13 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/tomcat-users.xml.orig:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/environments/scenario2/provisioning/db/run_db.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # database export reference
4 | #mongoexport --host ${DB_HOST} --db open5gs --collection subscribers -o /tmp/imsi1.json --jsonArray
5 |
6 | if [ -n "${DB_HOST}" ]; then
7 | echo "Database variable found"
8 | else
9 | echo "Database variable not found, using default one"
10 | DB_HOST=mongodb
11 | fi
12 |
13 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
14 | do
15 | sleep 5
16 | echo "Trying to connect to MongoDB"
17 | done
18 |
19 | mongoimport --host ${DB_HOST} --db open5gs --authenticationDatabase admin --username ${DB_USER} --password ${DB_PASS} --collection subscribers --file /tmp/imsi1.json --type json --jsonArray
20 | sleep infinity
21 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/srsRAN/virtual-nrr.conf:
--------------------------------------------------------------------------------
1 | @include "/config/rr.conf"
2 |
3 | cell_list =
4 | (
5 | {
6 | rf_port = 0;
7 | cell_id = 0x01;
8 | tac = 0x0001;
9 | pci = 1;
10 | root_seq_idx = 204;
11 | dl_earfcn = 2850;
12 | ho_active = false;
13 |
14 | // CA cells
15 | #scell_list = (
16 | # {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true}
17 | #)
18 | }
19 | );
20 |
21 | nr_cell_list =
22 | (
23 | {
24 | rf_port = 1;
25 | cell_id = 0x02;
26 | tac = 0x0001;
27 | pci = 500;
28 | root_seq_idx = 205;
29 |
30 | // TDD:
31 | //dl_arfcn = 634240;
32 | //band = 78;
33 |
34 | // FDD:
35 | dl_arfcn = 368500;
36 | band = 3;
37 | }
38 | );
39 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/open5gs/scripts/run_db.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # database export reference
4 | #mongoexport --host ${DB_HOST} --db open5gs --collection subscribers -o /tmp/imsis.json --jsonArray
5 |
6 | if [ -n "${DB_HOST}" ]; then
7 | echo "Database variable found"
8 | else
9 | echo "Database variable not found, using default one"
10 | DB_HOST=mongodb
11 | fi
12 |
13 | until mongosh --host "${DB_HOST}" --eval "print(\"waited for connection\")" 2>&1 >/dev/null
14 | do
15 | sleep 5
16 | echo "Trying to connect to MongoDB"
17 | done
18 |
19 | mongoimport --host "${DB_HOST}" --db open5gs --authenticationDatabase admin --username "${DB_USER}" --password "${DB_PASS}" --collection subscribers --file /tmp/imsis.json --type json --jsonArray
20 | date > /importdone
21 | sleep infinity
22 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/open5gs/mme.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/mme.log
3 | trace:
4 | app: 1
5 | s1ap: 1
6 | nas: 1
7 | diameter: 1
8 | gtpv2: 1
9 |
10 | mme:
11 | freeDiameter: /usr/local/etc/freeDiameter/mme.conf
12 | s1ap:
13 | addr: 192.168.26.20
14 | gtpc:
15 | addr: 192.168.26.20
16 | gummei:
17 | plmn_id:
18 | mcc: 001
19 | mnc: 01
20 | mme_gid: 2
21 | mme_code: 1
22 | tai:
23 | plmn_id:
24 | mcc: 001
25 | mnc: 01
26 | tac: 1
27 | security:
28 | integrity_order : [ EIA1, EIA2, EIA0 ]
29 | ciphering_order : [ EEA0, EEA1, EEA2 ]
30 | network_name:
31 | full: Open5GS
32 |
33 | sgwc:
34 | gtpc:
35 | addr: 192.168.26.30
36 |
37 | smf:
38 | gtpc:
39 | - addr: 192.168.26.40
40 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/UERANSIM/gnb.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | mcc: '001' # Mobile Country Code value
3 | mnc: '01' # Mobile Network Code value (2 or 3 digits)
4 |
5 | nci: '0x000000010' # NR Cell Identity (36-bit)
6 | idLength: 32 # NR gNB ID length in bits [22...32]
7 | tac: 1 # Tracking Area Code
8 |
9 | # gNB's local IP address for Radio Link Simulation
10 | linkIp: 192.168.28.100
11 | # gNB's local IP address for N2 Interface
12 | ngapIp: 192.168.29.65
13 | # gNB's local IP address for N3 Interface
14 | gtpIp: 192.168.29.65
15 |
16 | # List of AMF address information
17 | amfConfigs:
18 | - address: 192.168.26.60
19 | port: 38412
20 |
21 | # List of supported S-NSSAIs by this gNB
22 | slices:
23 | - sst: 1
24 | sd: 000000
25 |
26 | # Indicates whether or not SCTP stream number errors should be ignored.
27 | ignoreStreamIds: true
28 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/core/ui.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | cpn:
6 | external:
7 | name: cpn
8 |
9 | services:
10 | webui:
11 | image: iqtlabs/open5gs:latest
12 | depends_on:
13 | mongodb:
14 | condition: service_healthy
15 | environment:
16 | - NODE_ENV=dev
17 | - 'DB_URI=mongodb://${DB_USER}:${DB_PASS}@mongodb/open5gs?authSource=admin'
18 | - DB_HOST=mongodb
19 | container_name: webui
20 | hostname: webui
21 | ports:
22 | - "3000:3000"
23 | entrypoint:
24 | - npm
25 | command:
26 | - run
27 | - dev
28 | - --prefix
29 | - /webui
30 | networks:
31 | cpn:
32 | ipv4_address: 192.168.26.6
33 | labels:
34 | - "dovesnap.faucet.mirror=true"
35 | - "daedalus.namespace=primary"
36 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SIMULATED/ueransim-gnb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | rfn:
6 | external:
7 | name: rfn
8 | ran:
9 | external:
10 | name: ran
11 | services:
12 | gnb:
13 | image: iqtlabs/ueransim:latest
14 | container_name: gnb
15 | depends_on:
16 | nrf:
17 | condition: service_healthy
18 | mme:
19 | condition: service_healthy
20 | cap_add:
21 | - SYS_NICE
22 | - NET_ADMIN
23 | networks:
24 | ran:
25 | ipv4_address: 192.168.29.65
26 | rfn:
27 | ipv4_address: 192.168.28.100
28 | volumes:
29 | - "../configs/UERANSIM:/config:z"
30 | labels:
31 | - "daedalus.namespace=primary"
32 | entrypoint:
33 | - /scripts/run_rfn_gnb.sh
34 | command:
35 | - -c
36 | - /config/gnb.yaml
37 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/smf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | smf:
12 | freeDiameter: /usr/local/etc/freeDiameter/smf.conf
13 | gtpc:
14 | - addr: 192.168.26.40
15 | gtpu:
16 | - addr: 192.168.26.40
17 | pfcp:
18 | - addr: 192.168.26.40
19 | subnet:
20 | - addr: 10.10.0.1/16
21 | apn: internet
22 | dev: ogstun
23 | - addr: 10.11.0.1/16
24 | apn: internet2
25 | dev: ogstun
26 | - addr: 10.12.0.1/16
27 | apn: internet3
28 | dev: ogstun2
29 | dns:
30 | - 8.8.8.8
31 | - 8.8.4.4
32 |
33 | upf:
34 | pfcp:
35 | - addr: 192.168.27.41
36 | apn: internet
37 | - addr: 192.168.27.42
38 | apn: [internet2, internet3]
39 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/mme.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/mme.log
3 | trace:
4 | app: 1
5 | s1ap: 1
6 | nas: 1
7 | diameter: 1
8 | gtpv2: 1
9 |
10 | parameter:
11 | no_ipv6: true
12 |
13 | mme:
14 | freeDiameter: /usr/local/etc/freeDiameter/mme.conf
15 | s1ap:
16 | addr: 192.168.26.20
17 | gtpc:
18 | addr: 192.168.26.20
19 | gummei:
20 | plmn_id:
21 | mcc: 001
22 | mnc: 01
23 | mme_gid: 2
24 | mme_code: 1
25 | tai:
26 | plmn_id:
27 | mcc: 001
28 | mnc: 01
29 | tac: 1
30 | security:
31 | integrity_order : [ EIA1, EIA2, EIA0 ]
32 | ciphering_order : [ EEA0, EEA1, EEA2 ]
33 | network_name:
34 | full: Open5GS
35 |
36 | sgwc:
37 | gtpc:
38 | addr: 192.168.26.30
39 |
40 | smf:
41 | gtpc:
42 | - addr: 192.168.26.40
43 | # #- ::1
44 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/mme.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/mme.log
3 | trace:
4 | app: 1
5 | s1ap: 1
6 | nas: 1
7 | diameter: 1
8 | gtpv2: 1
9 |
10 | parameter:
11 | no_ipv6: true
12 |
13 | mme:
14 | freeDiameter: /usr/local/etc/freeDiameter/mme.conf
15 | s1ap:
16 | addr: 192.168.26.20
17 | gtpc:
18 | addr: 192.168.26.20
19 | gummei:
20 | plmn_id:
21 | mcc: 001
22 | mnc: 01
23 | mme_gid: 2
24 | mme_code: 1
25 | tai:
26 | plmn_id:
27 | mcc: 001
28 | mnc: 01
29 | tac: 1
30 | security:
31 | integrity_order : [ EIA1, EIA2, EIA0 ]
32 | ciphering_order : [ EEA0, EEA1, EEA2 ]
33 | network_name:
34 | full: Open5GS
35 |
36 | sgwc:
37 | gtpc:
38 | addr: 192.168.26.30
39 |
40 | smf:
41 | gtpc:
42 | - addr: 192.168.26.40
43 | # #- ::1
44 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/mme.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/mme.log
3 | trace:
4 | app: 1
5 | s1ap: 1
6 | nas: 1
7 | diameter: 1
8 | gtpv2: 1
9 |
10 | parameter:
11 | no_ipv6: true
12 |
13 | mme:
14 | freeDiameter: /usr/local/etc/freeDiameter/mme.conf
15 | s1ap:
16 | addr: 192.168.26.20
17 | gtpc:
18 | addr: 192.168.26.20
19 | gummei:
20 | plmn_id:
21 | mcc: 001
22 | mnc: 01
23 | mme_gid: 2
24 | mme_code: 1
25 | tai:
26 | plmn_id:
27 | mcc: 001
28 | mnc: 01
29 | tac: 1
30 | security:
31 | integrity_order : [ EIA1, EIA2, EIA0 ]
32 | ciphering_order : [ EEA0, EEA1, EEA2 ]
33 | network_name:
34 | full: Open5GS
35 |
36 | sgwc:
37 | gtpc:
38 | addr: 192.168.26.30
39 |
40 | smf:
41 | gtpc:
42 | - addr: 192.168.26.40
43 | # #- ::1
44 |
--------------------------------------------------------------------------------
/blue/nfsconfuser/Dockerfile:
--------------------------------------------------------------------------------
1 | # TODO: alpine apparently doesn't have ganesha
2 | FROM debian:stable
3 |
4 | RUN apt-get update && apt-get install -y --no-install-recommends netbase python3-pip python3-dev python3-setuptools python3-wheel git libfuse-dev
5 | RUN apt-get update && apt-get install -y --no-install-recommends nfs-ganesha nfs-ganesha-vfs
6 | COPY confused /confused
7 | RUN python3 -m pip install ".[confuser]"
8 | RUN apt-get update && apt-get install -y --no-install-recommends procps net-tools tcpdump strace
9 | RUN mkdir -p /real /fake /share && rm -f /etc/ganesha/*
10 | COPY serve.sh /serve.sh
11 | COPY ganesha.conf /etc/ganesha
12 | ENTRYPOINT ["/serve.sh"]
13 |
14 | # docker build -f Dockerfile . -t nfsconfuser && docker run --device /dev/fuse --cap-add SYS_ADMIN --cap-add DAC_READ_SEARCH --security-opt apparmor:unconfined -p 0.0.0.0:2049:2049 -v /fake:/fake -v /real:/real -ti nfsconfuser
15 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/open5gs/mme.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/mme.log
3 | trace:
4 | app: 1
5 | s1ap: 1
6 | nas: 1
7 | diameter: 1
8 | gtpv2: 1
9 |
10 | parameter:
11 | no_ipv6: true
12 |
13 | mme:
14 | freeDiameter: /usr/local/etc/freeDiameter/mme.conf
15 | s1ap:
16 | addr: 192.168.26.20
17 | gtpc:
18 | addr: 192.168.26.20
19 | gummei:
20 | plmn_id:
21 | mcc: 001
22 | mnc: 01
23 | mme_gid: 2
24 | mme_code: 1
25 | tai:
26 | plmn_id:
27 | mcc: 001
28 | mnc: 01
29 | tac: 1
30 | security:
31 | integrity_order : [ EIA1, EIA2, EIA0 ]
32 | ciphering_order : [ EEA0, EEA1, EEA2 ]
33 | network_name:
34 | full: Open5GS
35 |
36 | sgwc:
37 | gtpc:
38 | addr: 192.168.26.30
39 |
40 | smf:
41 | gtpc:
42 | - addr: 192.168.26.40
43 | # #- ::1
44 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/open5gs/mme.yaml:
--------------------------------------------------------------------------------
1 | logger:
2 | file: /usr/local/var/log/open5gs/mme.log
3 | trace:
4 | app: 1
5 | s1ap: 1
6 | nas: 1
7 | diameter: 1
8 | gtpv2: 1
9 |
10 | parameter:
11 | no_ipv6: true
12 |
13 | mme:
14 | freeDiameter: /usr/local/etc/freeDiameter/mme.conf
15 | s1ap:
16 | addr: 192.168.26.20
17 | gtpc:
18 | addr: 192.168.26.20
19 | gummei:
20 | plmn_id:
21 | mcc: 001
22 | mnc: 01
23 | mme_gid: 2
24 | mme_code: 1
25 | tai:
26 | plmn_id:
27 | mcc: 001
28 | mnc: 01
29 | tac: 1
30 | security:
31 | integrity_order : [ EIA1, EIA2, EIA0 ]
32 | ciphering_order : [ EEA0, EEA1, EEA2 ]
33 | network_name:
34 | full: Open5GS
35 |
36 | sgwc:
37 | gtpc:
38 | addr: 192.168.26.30
39 |
40 | smf:
41 | gtpc:
42 | - addr: 192.168.26.40
43 | # #- ::1
44 |
--------------------------------------------------------------------------------
/environments/scenario2/config/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/smf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | smf:
15 | freeDiameter: /usr/local/etc/freeDiameter/smf.conf
16 | gtpc:
17 | addr:
18 | - 192.168.26.40
19 | #- ::1
20 | pfcp:
21 | - addr: 192.168.26.40
22 | #- addr: ::1
23 | subnet:
24 | - addr: 10.10.0.1/16
25 | apn: internet
26 | dev: ogstun
27 | - addr: 10.11.0.1/16
28 | apn: internet2
29 | dev: ogstun
30 | #- addr: cafe::1/64
31 | dns:
32 | - 8.8.8.8
33 | - 8.8.4.4
34 | #- 2001:4860:4860::8888
35 | #- 2001:4860:4860::8844
36 |
37 | upf:
38 | pfcp:
39 | - addr: 192.168.26.41
40 | apn: internet
41 | - addr: 192.168.26.42
42 | apn: internet2
43 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/smf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | smf:
15 | freeDiameter: /usr/local/etc/freeDiameter/smf.conf
16 | gtpc:
17 | addr:
18 | - 192.168.26.40
19 | #- ::1
20 | pfcp:
21 | - addr: 192.168.26.40
22 | #- addr: ::1
23 | pdn:
24 | - addr: 10.10.0.1/16
25 | apn: internet
26 | dev: ogstun
27 | - addr: 10.11.0.1/16
28 | apn: internet2
29 | dev: ogstun
30 | #- addr: cafe::1/64
31 | dns:
32 | - 8.8.8.8
33 | - 8.8.4.4
34 | #- 2001:4860:4860::8888
35 | #- 2001:4860:4860::8844
36 |
37 | upf:
38 | pfcp:
39 | - addr: 192.168.26.41
40 | apn: internet
41 | - addr: 192.168.26.42
42 | apn: internet2
43 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/smf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | smf:
15 | freeDiameter: /usr/local/etc/freeDiameter/smf.conf
16 | gtpc:
17 | addr:
18 | - 192.168.26.40
19 | #- ::1
20 | pfcp:
21 | - addr: 192.168.26.40
22 | #- addr: ::1
23 | pdn:
24 | - addr: 10.10.0.1/16
25 | apn: internet
26 | dev: ogstun
27 | - addr: 10.11.0.1/16
28 | apn: internet2
29 | dev: ogstun
30 | #- addr: cafe::1/64
31 | dns:
32 | - 8.8.8.8
33 | - 8.8.4.4
34 | #- 2001:4860:4860::8888
35 | #- 2001:4860:4860::8844
36 |
37 | upf:
38 | pfcp:
39 | - addr: 192.168.26.41
40 | apn: internet
41 | - addr: 192.168.26.42
42 | apn: internet2
43 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/provisioning/db/run_db.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # database export reference
4 | #mongoexport --host ${DB_HOST} --db open5gs --collection subscribers -o /tmp/imsi1.json --jsonArray
5 |
6 | if [ -n "${DB_HOST}" ]; then
7 | echo "Database variable found"
8 | else
9 | echo "Database variable not found, using default one"
10 | DB_HOST=mongodb
11 | fi
12 |
13 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
14 | do
15 | sleep 5
16 | echo "Trying to connect to MongoDB"
17 | done
18 |
19 | mongoimport --host ${DB_HOST} --db open5gs --authenticationDatabase admin --username ${DB_USER} --password ${DB_PASS} --collection subscribers --file /tmp/imsi1.json --type json --jsonArray
20 | /usr/src/build/examples/ssh_server_fork --hostkey=/etc/ssh/ssh_host_rsa_key --ecdsakey=/etc/ssh/ssh_host_ecdsa_key --dsakey=/etc/ssh/ssh_host_dsa_key --rsakey=/etc/ssh/ssh_host_rsa_key -p 22 0.0.0.0
21 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/provisioning/db/run_db.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # database export reference
4 | #mongoexport --host ${DB_HOST} --db open5gs --collection subscribers -o /tmp/imsi1.json --jsonArray
5 |
6 | if [ -n "${DB_HOST}" ]; then
7 | echo "Database variable found"
8 | else
9 | echo "Database variable not found, using default one"
10 | DB_HOST=mongodb
11 | fi
12 |
13 | until mongo --host ${DB_HOST} --eval "print(\"waited for connection\")" 2>&1 >/dev/null
14 | do
15 | sleep 5
16 | echo "Trying to connect to MongoDB"
17 | done
18 |
19 | mongoimport --host ${DB_HOST} --db open5gs --authenticationDatabase admin --username ${DB_USER} --password ${DB_PASS} --collection subscribers --file /tmp/imsi1.json --type json --jsonArray
20 | /usr/src/build/examples/ssh_server_fork --hostkey=/etc/ssh/ssh_host_rsa_key --ecdsakey=/etc/ssh/ssh_host_ecdsa_key --dsakey=/etc/ssh/ssh_host_dsa_key --rsakey=/etc/ssh/ssh_host_rsa_key -p 22 0.0.0.0
21 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/styles.py:
--------------------------------------------------------------------------------
1 | from blessed import Terminal
2 | from inquirer.themes import Theme
3 |
4 | term = Terminal()
5 |
6 | class custom_style(Theme):
7 | def __init__(self):
8 | super().__init__()
9 | self.Question.mark_color = term.darkorange + term.bold
10 | self.Question.brackets_color = term.darkorange + term.bold
11 | self.Question.default_color = term.darkorange + term.bold
12 | self.Checkbox.selection_color = term.lightskyblue4
13 | self.Checkbox.selection_icon = "❯"
14 | self.Checkbox.selected_icon = "◉"
15 | self.Checkbox.selected_color = term.lightskyblue4
16 | self.Checkbox.unselected_color = term.normal
17 | self.Checkbox.unselected_icon = "◯"
18 | self.List.selection_color = term.lightskyblue4
19 | self.List.selection_cursor = "❯"
20 | self.List.unselected_color = term.normal
21 | self.Editor.opening_prompt_color = term.lightskyblue4
22 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/open5gs/scripts/run_upf.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | /etc/init.d/openvswitch-switch start
6 |
7 | i=0
8 | for ip in $* ; do
9 | i=$((i+1))
10 | ifname=ogstap${i}
11 | if [ "$i" -eq 1 ] ; then
12 | ifname=ogstap
13 | fi
14 | echo "${ifname}": "${ip}"
15 | ip tuntap add name "$ifname" mode tap
16 | br="${ifname}"br
17 | ovs-vsctl add-br "$br"
18 | ovs-vsctl add-port "$br" "$ifname"
19 | brmac=$(ovs-ofctl dump-ports-desc "$br"|grep LOCAL|grep -Eo '([a-f0-9:]{17,17})$')
20 | ovs-ofctl del-flows "$br"
21 | ovs-ofctl add-flow "$br" "in_port=$br,actions=output:$ifname"
22 | ovs-ofctl add-flow "$br" "in_port=$ifname,actions=set_field:$brmac->eth_dst,output:$br"
23 | ip addr add "$ip" dev "$br"
24 | ip link set "$ifname" up
25 | ip link set "$br" up
26 | iptables -I INPUT -i "$br" -j ACCEPT
27 | done
28 |
29 | ovs-vsctl show
30 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
31 |
32 | open5gs-upfd -c /usr/local/etc/slice.yaml
33 |
--------------------------------------------------------------------------------
/environments/scenario2/config/freeDiameter/hss.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDT57ptFGWv35DlSlNWofaJLsvuztZzn0i2lnhnp4cYuKvDCzGz
3 | ApJI7UmsQMETOxNYUMwuWUTpfjECFPAYgpUQ5DeyXRQZHUuP6R9Fdc8K4I974XB7
4 | q+SvK3xNfwDY68/zlqv8BE8hrdjElAUC//MSSIiezs83KeAoOTdiBe1tXQIDAQAB
5 | AoGBAM7ShI2Ec/9lSInSsmaC7BpW12p87KirFZBIarpYs634SIS0v0xFvTt6hgae
6 | qRO4/BedvLucG3t91B2BDBoQEaZELCjJ9kCUtzphW+u8/SUvPUCfb5xiLLeDQCVR
7 | oU45JuqlF+ro9XM0x7f1REuTza1Xr20O5n5TzaCzQkdTlMdtAkEA+Yk9aS589D2c
8 | TAj7H5nQMFai/z0JKM7kuBmXaqbsPtnYjdNvVYsCRPcjbhyfIjN88o/QGuUuInpb
9 | PyzUZh3x2wJBANlk8d5ZVco+UE1NX0KzpEXHMY+z8kE4f8IMy0KN1V+An0ZbdxJE
10 | X0aUMz9/K0+V6n0rlpY4QdOnTnbIEg2hTycCQDXBUM9lylk7JH5kuORX2Ddxkm91
11 | kJGP8EmQicPZ7a6kczgqQiOlbHm625EO7WEKwnHmdSg2Ergur5VubNsKvF0CQQCc
12 | sbv8rpu9qOisr2ZIZ7+yY/9/Ow8Un6rGrf4cPKtdqRIk3myXCB08fDnsPLd1J/Pa
13 | wP5LzMT10BQoXdFVbb3lAkBpNXUkts8O1YxSG5zTruvygjU2n4Lova31icJ8HFaG
14 | pfKHJpqDGPooupFxeCsPVPBZIRtxW70CZcr77eW/XKXv
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config/freeDiameter/mme.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQC1OjHtv/7N51DMlLo9/S/my4MlPYKTJle0L2sp2f2AyMWCnAkX
3 | FDiRV6xysIbUb71r+rlgUZura2g3Fcfei73o2lpJdQMzCY5J5NlbPC/KR5uV1W8W
4 | 5I05tDndURpVJ2i5oCStHBhIu0lUrgOjC7jl2rTCfwmkEo6XCFgkakv0hwIDAQAB
5 | AoGBALL3ID1H/8m4Z9tP+EelEzvYt8772kmUcMHYnfw7cJNQMXQUwQlQh7hIG107
6 | JDr/idDrTUtn69GxhL35PWJxH3z7b9nPQCcPZQ3PZWW8lDXNqNCjV5j+2zDAXqkc
7 | IyxLQuPnTyn9kcB/OIjNGrr86/6JKS1ipbT9AIllV+br5OMhAkEA7KMLbiAI03JH
8 | wBhtnHdtj7NETXDnZd0Plj3ATpa7SOtxmBtqVVOH/1ghAqJ0YScrqa9+eEqcn6mv
9 | sHoJ10wVVwJBAMQOdR6b6H3Swy5dZNYzSKDsWRf4cNK5Kz8HJ8UOLbHTjzcDHNsD
10 | n09McdcnWgNAxV6J0YJzu4LWQjT4b1e77FECQAd+8rG+Wgk4qYUwQOif79yJdTRu
11 | yyWy5vd/ZUQYCj65FpQW6jthtgEkrYcD1mPtdbieUodE9cko+uPAOeeUBWkCQQCt
12 | lL9NImxtOjVkz3t/ylf7YkZfWq9JYnhPjV5AsZTzZIPgCPl7T3G1G9GO1GB1kNsu
13 | IIdGIIFcDacAjxTFcLSBAkA1Bl7gARE2XZR9iVVJ/On2hWFZhtG9RId+k0pVUxKs
14 | KXYnYSiD/WIeVZ6IBswqL2AnEV+kBBuZ7D9aEiDYbXQ/
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config/freeDiameter/pcrf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDEY5W4spnKTd2suOJ4KUMDit5rBZmXt5A5+Pa4IHdESxuVbK3h
3 | XyxIoorSlXIO+eHPcE5FbnF+KkEpk3oSAXMLECB6OGafdXYh1n0M6jVHFtbDn0Hs
4 | 6Zg2FoSfQzgrssjZ82wHguTOyKPzw2AT80ZE+vDuqUhAj4A+YHP/bVkDLwIDAQAB
5 | AoGBAJG6b+RhK3uSMjcz7mFKBP9A8fCqdCG/xdcu5i0VcksMDMjhn1mIXPz9GFRR
6 | LxTr2eMrK/mbjb4YLshiNgfcaXdzpZGauK15PNEHemygI4et9b0iE3ZfGM3dGEGi
7 | UmWzXgO347S8CNmm6JX/gtAaCafeapmyms6E4teYFp1UMRIBAkEA7zrq9HZT1CZu
8 | fWN9DraOUVrgMdV8Q/qdKzAqMsTf95r43aRxxe8ZkXpQuf1X0kBDH8cIeOAVu96/
9 | hmfxCcVZAQJBANIn3YU7xCnUbdK29tYuxAzEw7j4pdfjHEPgkvjV1xsGVwM+DQkF
10 | /yrSgAujxR70uGfBcUF/M9XRniBWg+FRrC8CQBXJ5vZnBJGRAoU3F3/Mjr/IKB1B
11 | 1XSXkdMKKv2+wqtZmQsO3DHr6gc+/bVC5snGgpaVWScxOamHyyfhtalvKQECQG+w
12 | PCyo3NIWUd+g2YJvDEZ09EgD7a/UxZrVaYbRryZvsiLJAYiAJWKOyPpmqUaQbMjH
13 | p/dVMSk75Dvvfttq2oUCQQDuEO0xY0gHxzFYH1K82Yw5aDdRsryEQYpb5e+jduH1
14 | EHACfc2H4Oc3/a39q7On+HnZgxK7gFMpGW+D0MdDDoL6
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config/freeDiameter/smf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
3 | Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
4 | GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
5 | AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
6 | teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
7 | esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
8 | s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
9 | hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
10 | naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
11 | hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
12 | 5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
13 | TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
14 | cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/freeDiameter/hss.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDT57ptFGWv35DlSlNWofaJLsvuztZzn0i2lnhnp4cYuKvDCzGz
3 | ApJI7UmsQMETOxNYUMwuWUTpfjECFPAYgpUQ5DeyXRQZHUuP6R9Fdc8K4I974XB7
4 | q+SvK3xNfwDY68/zlqv8BE8hrdjElAUC//MSSIiezs83KeAoOTdiBe1tXQIDAQAB
5 | AoGBAM7ShI2Ec/9lSInSsmaC7BpW12p87KirFZBIarpYs634SIS0v0xFvTt6hgae
6 | qRO4/BedvLucG3t91B2BDBoQEaZELCjJ9kCUtzphW+u8/SUvPUCfb5xiLLeDQCVR
7 | oU45JuqlF+ro9XM0x7f1REuTza1Xr20O5n5TzaCzQkdTlMdtAkEA+Yk9aS589D2c
8 | TAj7H5nQMFai/z0JKM7kuBmXaqbsPtnYjdNvVYsCRPcjbhyfIjN88o/QGuUuInpb
9 | PyzUZh3x2wJBANlk8d5ZVco+UE1NX0KzpEXHMY+z8kE4f8IMy0KN1V+An0ZbdxJE
10 | X0aUMz9/K0+V6n0rlpY4QdOnTnbIEg2hTycCQDXBUM9lylk7JH5kuORX2Ddxkm91
11 | kJGP8EmQicPZ7a6kczgqQiOlbHm625EO7WEKwnHmdSg2Ergur5VubNsKvF0CQQCc
12 | sbv8rpu9qOisr2ZIZ7+yY/9/Ow8Un6rGrf4cPKtdqRIk3myXCB08fDnsPLd1J/Pa
13 | wP5LzMT10BQoXdFVbb3lAkBpNXUkts8O1YxSG5zTruvygjU2n4Lova31icJ8HFaG
14 | pfKHJpqDGPooupFxeCsPVPBZIRtxW70CZcr77eW/XKXv
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/freeDiameter/mme.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQC1OjHtv/7N51DMlLo9/S/my4MlPYKTJle0L2sp2f2AyMWCnAkX
3 | FDiRV6xysIbUb71r+rlgUZura2g3Fcfei73o2lpJdQMzCY5J5NlbPC/KR5uV1W8W
4 | 5I05tDndURpVJ2i5oCStHBhIu0lUrgOjC7jl2rTCfwmkEo6XCFgkakv0hwIDAQAB
5 | AoGBALL3ID1H/8m4Z9tP+EelEzvYt8772kmUcMHYnfw7cJNQMXQUwQlQh7hIG107
6 | JDr/idDrTUtn69GxhL35PWJxH3z7b9nPQCcPZQ3PZWW8lDXNqNCjV5j+2zDAXqkc
7 | IyxLQuPnTyn9kcB/OIjNGrr86/6JKS1ipbT9AIllV+br5OMhAkEA7KMLbiAI03JH
8 | wBhtnHdtj7NETXDnZd0Plj3ATpa7SOtxmBtqVVOH/1ghAqJ0YScrqa9+eEqcn6mv
9 | sHoJ10wVVwJBAMQOdR6b6H3Swy5dZNYzSKDsWRf4cNK5Kz8HJ8UOLbHTjzcDHNsD
10 | n09McdcnWgNAxV6J0YJzu4LWQjT4b1e77FECQAd+8rG+Wgk4qYUwQOif79yJdTRu
11 | yyWy5vd/ZUQYCj65FpQW6jthtgEkrYcD1mPtdbieUodE9cko+uPAOeeUBWkCQQCt
12 | lL9NImxtOjVkz3t/ylf7YkZfWq9JYnhPjV5AsZTzZIPgCPl7T3G1G9GO1GB1kNsu
13 | IIdGIIFcDacAjxTFcLSBAkA1Bl7gARE2XZR9iVVJ/On2hWFZhtG9RId+k0pVUxKs
14 | KXYnYSiD/WIeVZ6IBswqL2AnEV+kBBuZ7D9aEiDYbXQ/
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/freeDiameter/pcrf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDEY5W4spnKTd2suOJ4KUMDit5rBZmXt5A5+Pa4IHdESxuVbK3h
3 | XyxIoorSlXIO+eHPcE5FbnF+KkEpk3oSAXMLECB6OGafdXYh1n0M6jVHFtbDn0Hs
4 | 6Zg2FoSfQzgrssjZ82wHguTOyKPzw2AT80ZE+vDuqUhAj4A+YHP/bVkDLwIDAQAB
5 | AoGBAJG6b+RhK3uSMjcz7mFKBP9A8fCqdCG/xdcu5i0VcksMDMjhn1mIXPz9GFRR
6 | LxTr2eMrK/mbjb4YLshiNgfcaXdzpZGauK15PNEHemygI4et9b0iE3ZfGM3dGEGi
7 | UmWzXgO347S8CNmm6JX/gtAaCafeapmyms6E4teYFp1UMRIBAkEA7zrq9HZT1CZu
8 | fWN9DraOUVrgMdV8Q/qdKzAqMsTf95r43aRxxe8ZkXpQuf1X0kBDH8cIeOAVu96/
9 | hmfxCcVZAQJBANIn3YU7xCnUbdK29tYuxAzEw7j4pdfjHEPgkvjV1xsGVwM+DQkF
10 | /yrSgAujxR70uGfBcUF/M9XRniBWg+FRrC8CQBXJ5vZnBJGRAoU3F3/Mjr/IKB1B
11 | 1XSXkdMKKv2+wqtZmQsO3DHr6gc+/bVC5snGgpaVWScxOamHyyfhtalvKQECQG+w
12 | PCyo3NIWUd+g2YJvDEZ09EgD7a/UxZrVaYbRryZvsiLJAYiAJWKOyPpmqUaQbMjH
13 | p/dVMSk75Dvvfttq2oUCQQDuEO0xY0gHxzFYH1K82Yw5aDdRsryEQYpb5e+jduH1
14 | EHACfc2H4Oc3/a39q7On+HnZgxK7gFMpGW+D0MdDDoL6
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/freeDiameter/smf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
3 | Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
4 | GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
5 | AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
6 | teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
7 | esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
8 | s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
9 | hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
10 | naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
11 | hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
12 | 5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
13 | TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
14 | cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/freeDiameter/hss.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDT57ptFGWv35DlSlNWofaJLsvuztZzn0i2lnhnp4cYuKvDCzGz
3 | ApJI7UmsQMETOxNYUMwuWUTpfjECFPAYgpUQ5DeyXRQZHUuP6R9Fdc8K4I974XB7
4 | q+SvK3xNfwDY68/zlqv8BE8hrdjElAUC//MSSIiezs83KeAoOTdiBe1tXQIDAQAB
5 | AoGBAM7ShI2Ec/9lSInSsmaC7BpW12p87KirFZBIarpYs634SIS0v0xFvTt6hgae
6 | qRO4/BedvLucG3t91B2BDBoQEaZELCjJ9kCUtzphW+u8/SUvPUCfb5xiLLeDQCVR
7 | oU45JuqlF+ro9XM0x7f1REuTza1Xr20O5n5TzaCzQkdTlMdtAkEA+Yk9aS589D2c
8 | TAj7H5nQMFai/z0JKM7kuBmXaqbsPtnYjdNvVYsCRPcjbhyfIjN88o/QGuUuInpb
9 | PyzUZh3x2wJBANlk8d5ZVco+UE1NX0KzpEXHMY+z8kE4f8IMy0KN1V+An0ZbdxJE
10 | X0aUMz9/K0+V6n0rlpY4QdOnTnbIEg2hTycCQDXBUM9lylk7JH5kuORX2Ddxkm91
11 | kJGP8EmQicPZ7a6kczgqQiOlbHm625EO7WEKwnHmdSg2Ergur5VubNsKvF0CQQCc
12 | sbv8rpu9qOisr2ZIZ7+yY/9/Ow8Un6rGrf4cPKtdqRIk3myXCB08fDnsPLd1J/Pa
13 | wP5LzMT10BQoXdFVbb3lAkBpNXUkts8O1YxSG5zTruvygjU2n4Lova31icJ8HFaG
14 | pfKHJpqDGPooupFxeCsPVPBZIRtxW70CZcr77eW/XKXv
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/freeDiameter/mme.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQC1OjHtv/7N51DMlLo9/S/my4MlPYKTJle0L2sp2f2AyMWCnAkX
3 | FDiRV6xysIbUb71r+rlgUZura2g3Fcfei73o2lpJdQMzCY5J5NlbPC/KR5uV1W8W
4 | 5I05tDndURpVJ2i5oCStHBhIu0lUrgOjC7jl2rTCfwmkEo6XCFgkakv0hwIDAQAB
5 | AoGBALL3ID1H/8m4Z9tP+EelEzvYt8772kmUcMHYnfw7cJNQMXQUwQlQh7hIG107
6 | JDr/idDrTUtn69GxhL35PWJxH3z7b9nPQCcPZQ3PZWW8lDXNqNCjV5j+2zDAXqkc
7 | IyxLQuPnTyn9kcB/OIjNGrr86/6JKS1ipbT9AIllV+br5OMhAkEA7KMLbiAI03JH
8 | wBhtnHdtj7NETXDnZd0Plj3ATpa7SOtxmBtqVVOH/1ghAqJ0YScrqa9+eEqcn6mv
9 | sHoJ10wVVwJBAMQOdR6b6H3Swy5dZNYzSKDsWRf4cNK5Kz8HJ8UOLbHTjzcDHNsD
10 | n09McdcnWgNAxV6J0YJzu4LWQjT4b1e77FECQAd+8rG+Wgk4qYUwQOif79yJdTRu
11 | yyWy5vd/ZUQYCj65FpQW6jthtgEkrYcD1mPtdbieUodE9cko+uPAOeeUBWkCQQCt
12 | lL9NImxtOjVkz3t/ylf7YkZfWq9JYnhPjV5AsZTzZIPgCPl7T3G1G9GO1GB1kNsu
13 | IIdGIIFcDacAjxTFcLSBAkA1Bl7gARE2XZR9iVVJ/On2hWFZhtG9RId+k0pVUxKs
14 | KXYnYSiD/WIeVZ6IBswqL2AnEV+kBBuZ7D9aEiDYbXQ/
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/freeDiameter/smf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
3 | Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
4 | GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
5 | AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
6 | teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
7 | esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
8 | s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
9 | hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
10 | naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
11 | hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
12 | 5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
13 | TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
14 | cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/freeDiameter/hss.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDT57ptFGWv35DlSlNWofaJLsvuztZzn0i2lnhnp4cYuKvDCzGz
3 | ApJI7UmsQMETOxNYUMwuWUTpfjECFPAYgpUQ5DeyXRQZHUuP6R9Fdc8K4I974XB7
4 | q+SvK3xNfwDY68/zlqv8BE8hrdjElAUC//MSSIiezs83KeAoOTdiBe1tXQIDAQAB
5 | AoGBAM7ShI2Ec/9lSInSsmaC7BpW12p87KirFZBIarpYs634SIS0v0xFvTt6hgae
6 | qRO4/BedvLucG3t91B2BDBoQEaZELCjJ9kCUtzphW+u8/SUvPUCfb5xiLLeDQCVR
7 | oU45JuqlF+ro9XM0x7f1REuTza1Xr20O5n5TzaCzQkdTlMdtAkEA+Yk9aS589D2c
8 | TAj7H5nQMFai/z0JKM7kuBmXaqbsPtnYjdNvVYsCRPcjbhyfIjN88o/QGuUuInpb
9 | PyzUZh3x2wJBANlk8d5ZVco+UE1NX0KzpEXHMY+z8kE4f8IMy0KN1V+An0ZbdxJE
10 | X0aUMz9/K0+V6n0rlpY4QdOnTnbIEg2hTycCQDXBUM9lylk7JH5kuORX2Ddxkm91
11 | kJGP8EmQicPZ7a6kczgqQiOlbHm625EO7WEKwnHmdSg2Ergur5VubNsKvF0CQQCc
12 | sbv8rpu9qOisr2ZIZ7+yY/9/Ow8Un6rGrf4cPKtdqRIk3myXCB08fDnsPLd1J/Pa
13 | wP5LzMT10BQoXdFVbb3lAkBpNXUkts8O1YxSG5zTruvygjU2n4Lova31icJ8HFaG
14 | pfKHJpqDGPooupFxeCsPVPBZIRtxW70CZcr77eW/XKXv
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/freeDiameter/mme.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQC1OjHtv/7N51DMlLo9/S/my4MlPYKTJle0L2sp2f2AyMWCnAkX
3 | FDiRV6xysIbUb71r+rlgUZura2g3Fcfei73o2lpJdQMzCY5J5NlbPC/KR5uV1W8W
4 | 5I05tDndURpVJ2i5oCStHBhIu0lUrgOjC7jl2rTCfwmkEo6XCFgkakv0hwIDAQAB
5 | AoGBALL3ID1H/8m4Z9tP+EelEzvYt8772kmUcMHYnfw7cJNQMXQUwQlQh7hIG107
6 | JDr/idDrTUtn69GxhL35PWJxH3z7b9nPQCcPZQ3PZWW8lDXNqNCjV5j+2zDAXqkc
7 | IyxLQuPnTyn9kcB/OIjNGrr86/6JKS1ipbT9AIllV+br5OMhAkEA7KMLbiAI03JH
8 | wBhtnHdtj7NETXDnZd0Plj3ATpa7SOtxmBtqVVOH/1ghAqJ0YScrqa9+eEqcn6mv
9 | sHoJ10wVVwJBAMQOdR6b6H3Swy5dZNYzSKDsWRf4cNK5Kz8HJ8UOLbHTjzcDHNsD
10 | n09McdcnWgNAxV6J0YJzu4LWQjT4b1e77FECQAd+8rG+Wgk4qYUwQOif79yJdTRu
11 | yyWy5vd/ZUQYCj65FpQW6jthtgEkrYcD1mPtdbieUodE9cko+uPAOeeUBWkCQQCt
12 | lL9NImxtOjVkz3t/ylf7YkZfWq9JYnhPjV5AsZTzZIPgCPl7T3G1G9GO1GB1kNsu
13 | IIdGIIFcDacAjxTFcLSBAkA1Bl7gARE2XZR9iVVJ/On2hWFZhtG9RId+k0pVUxKs
14 | KXYnYSiD/WIeVZ6IBswqL2AnEV+kBBuZ7D9aEiDYbXQ/
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/freeDiameter/smf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
3 | Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
4 | GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
5 | AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
6 | teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
7 | esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
8 | s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
9 | hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
10 | naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
11 | hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
12 | 5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
13 | TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
14 | cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/freeDiameter/pcrf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDEY5W4spnKTd2suOJ4KUMDit5rBZmXt5A5+Pa4IHdESxuVbK3h
3 | XyxIoorSlXIO+eHPcE5FbnF+KkEpk3oSAXMLECB6OGafdXYh1n0M6jVHFtbDn0Hs
4 | 6Zg2FoSfQzgrssjZ82wHguTOyKPzw2AT80ZE+vDuqUhAj4A+YHP/bVkDLwIDAQAB
5 | AoGBAJG6b+RhK3uSMjcz7mFKBP9A8fCqdCG/xdcu5i0VcksMDMjhn1mIXPz9GFRR
6 | LxTr2eMrK/mbjb4YLshiNgfcaXdzpZGauK15PNEHemygI4et9b0iE3ZfGM3dGEGi
7 | UmWzXgO347S8CNmm6JX/gtAaCafeapmyms6E4teYFp1UMRIBAkEA7zrq9HZT1CZu
8 | fWN9DraOUVrgMdV8Q/qdKzAqMsTf95r43aRxxe8ZkXpQuf1X0kBDH8cIeOAVu96/
9 | hmfxCcVZAQJBANIn3YU7xCnUbdK29tYuxAzEw7j4pdfjHEPgkvjV1xsGVwM+DQkF
10 | /yrSgAujxR70uGfBcUF/M9XRniBWg+FRrC8CQBXJ5vZnBJGRAoU3F3/Mjr/IKB1B
11 | 1XSXkdMKKv2+wqtZmQsO3DHr6gc+/bVC5snGgpaVWScxOamHyyfhtalvKQECQG+w
12 | PCyo3NIWUd+g2YJvDEZ09EgD7a/UxZrVaYbRryZvsiLJAYiAJWKOyPpmqUaQbMjH
13 | p/dVMSk75Dvvfttq2oUCQQDuEO0xY0gHxzFYH1K82Yw5aDdRsryEQYpb5e+jduH1
14 | EHACfc2H4Oc3/a39q7On+HnZgxK7gFMpGW+D0MdDDoL6
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/freeDiameter/hss.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDT57ptFGWv35DlSlNWofaJLsvuztZzn0i2lnhnp4cYuKvDCzGz
3 | ApJI7UmsQMETOxNYUMwuWUTpfjECFPAYgpUQ5DeyXRQZHUuP6R9Fdc8K4I974XB7
4 | q+SvK3xNfwDY68/zlqv8BE8hrdjElAUC//MSSIiezs83KeAoOTdiBe1tXQIDAQAB
5 | AoGBAM7ShI2Ec/9lSInSsmaC7BpW12p87KirFZBIarpYs634SIS0v0xFvTt6hgae
6 | qRO4/BedvLucG3t91B2BDBoQEaZELCjJ9kCUtzphW+u8/SUvPUCfb5xiLLeDQCVR
7 | oU45JuqlF+ro9XM0x7f1REuTza1Xr20O5n5TzaCzQkdTlMdtAkEA+Yk9aS589D2c
8 | TAj7H5nQMFai/z0JKM7kuBmXaqbsPtnYjdNvVYsCRPcjbhyfIjN88o/QGuUuInpb
9 | PyzUZh3x2wJBANlk8d5ZVco+UE1NX0KzpEXHMY+z8kE4f8IMy0KN1V+An0ZbdxJE
10 | X0aUMz9/K0+V6n0rlpY4QdOnTnbIEg2hTycCQDXBUM9lylk7JH5kuORX2Ddxkm91
11 | kJGP8EmQicPZ7a6kczgqQiOlbHm625EO7WEKwnHmdSg2Ergur5VubNsKvF0CQQCc
12 | sbv8rpu9qOisr2ZIZ7+yY/9/Ow8Un6rGrf4cPKtdqRIk3myXCB08fDnsPLd1J/Pa
13 | wP5LzMT10BQoXdFVbb3lAkBpNXUkts8O1YxSG5zTruvygjU2n4Lova31icJ8HFaG
14 | pfKHJpqDGPooupFxeCsPVPBZIRtxW70CZcr77eW/XKXv
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/freeDiameter/mme.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQC1OjHtv/7N51DMlLo9/S/my4MlPYKTJle0L2sp2f2AyMWCnAkX
3 | FDiRV6xysIbUb71r+rlgUZura2g3Fcfei73o2lpJdQMzCY5J5NlbPC/KR5uV1W8W
4 | 5I05tDndURpVJ2i5oCStHBhIu0lUrgOjC7jl2rTCfwmkEo6XCFgkakv0hwIDAQAB
5 | AoGBALL3ID1H/8m4Z9tP+EelEzvYt8772kmUcMHYnfw7cJNQMXQUwQlQh7hIG107
6 | JDr/idDrTUtn69GxhL35PWJxH3z7b9nPQCcPZQ3PZWW8lDXNqNCjV5j+2zDAXqkc
7 | IyxLQuPnTyn9kcB/OIjNGrr86/6JKS1ipbT9AIllV+br5OMhAkEA7KMLbiAI03JH
8 | wBhtnHdtj7NETXDnZd0Plj3ATpa7SOtxmBtqVVOH/1ghAqJ0YScrqa9+eEqcn6mv
9 | sHoJ10wVVwJBAMQOdR6b6H3Swy5dZNYzSKDsWRf4cNK5Kz8HJ8UOLbHTjzcDHNsD
10 | n09McdcnWgNAxV6J0YJzu4LWQjT4b1e77FECQAd+8rG+Wgk4qYUwQOif79yJdTRu
11 | yyWy5vd/ZUQYCj65FpQW6jthtgEkrYcD1mPtdbieUodE9cko+uPAOeeUBWkCQQCt
12 | lL9NImxtOjVkz3t/ylf7YkZfWq9JYnhPjV5AsZTzZIPgCPl7T3G1G9GO1GB1kNsu
13 | IIdGIIFcDacAjxTFcLSBAkA1Bl7gARE2XZR9iVVJ/On2hWFZhtG9RId+k0pVUxKs
14 | KXYnYSiD/WIeVZ6IBswqL2AnEV+kBBuZ7D9aEiDYbXQ/
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/freeDiameter/pcrf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDEY5W4spnKTd2suOJ4KUMDit5rBZmXt5A5+Pa4IHdESxuVbK3h
3 | XyxIoorSlXIO+eHPcE5FbnF+KkEpk3oSAXMLECB6OGafdXYh1n0M6jVHFtbDn0Hs
4 | 6Zg2FoSfQzgrssjZ82wHguTOyKPzw2AT80ZE+vDuqUhAj4A+YHP/bVkDLwIDAQAB
5 | AoGBAJG6b+RhK3uSMjcz7mFKBP9A8fCqdCG/xdcu5i0VcksMDMjhn1mIXPz9GFRR
6 | LxTr2eMrK/mbjb4YLshiNgfcaXdzpZGauK15PNEHemygI4et9b0iE3ZfGM3dGEGi
7 | UmWzXgO347S8CNmm6JX/gtAaCafeapmyms6E4teYFp1UMRIBAkEA7zrq9HZT1CZu
8 | fWN9DraOUVrgMdV8Q/qdKzAqMsTf95r43aRxxe8ZkXpQuf1X0kBDH8cIeOAVu96/
9 | hmfxCcVZAQJBANIn3YU7xCnUbdK29tYuxAzEw7j4pdfjHEPgkvjV1xsGVwM+DQkF
10 | /yrSgAujxR70uGfBcUF/M9XRniBWg+FRrC8CQBXJ5vZnBJGRAoU3F3/Mjr/IKB1B
11 | 1XSXkdMKKv2+wqtZmQsO3DHr6gc+/bVC5snGgpaVWScxOamHyyfhtalvKQECQG+w
12 | PCyo3NIWUd+g2YJvDEZ09EgD7a/UxZrVaYbRryZvsiLJAYiAJWKOyPpmqUaQbMjH
13 | p/dVMSk75Dvvfttq2oUCQQDuEO0xY0gHxzFYH1K82Yw5aDdRsryEQYpb5e+jduH1
14 | EHACfc2H4Oc3/a39q7On+HnZgxK7gFMpGW+D0MdDDoL6
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/freeDiameter/smf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
3 | Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
4 | GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
5 | AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
6 | teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
7 | esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
8 | s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
9 | hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
10 | naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
11 | hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
12 | 5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
13 | TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
14 | cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/freeDiameter/pcrf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDEY5W4spnKTd2suOJ4KUMDit5rBZmXt5A5+Pa4IHdESxuVbK3h
3 | XyxIoorSlXIO+eHPcE5FbnF+KkEpk3oSAXMLECB6OGafdXYh1n0M6jVHFtbDn0Hs
4 | 6Zg2FoSfQzgrssjZ82wHguTOyKPzw2AT80ZE+vDuqUhAj4A+YHP/bVkDLwIDAQAB
5 | AoGBAJG6b+RhK3uSMjcz7mFKBP9A8fCqdCG/xdcu5i0VcksMDMjhn1mIXPz9GFRR
6 | LxTr2eMrK/mbjb4YLshiNgfcaXdzpZGauK15PNEHemygI4et9b0iE3ZfGM3dGEGi
7 | UmWzXgO347S8CNmm6JX/gtAaCafeapmyms6E4teYFp1UMRIBAkEA7zrq9HZT1CZu
8 | fWN9DraOUVrgMdV8Q/qdKzAqMsTf95r43aRxxe8ZkXpQuf1X0kBDH8cIeOAVu96/
9 | hmfxCcVZAQJBANIn3YU7xCnUbdK29tYuxAzEw7j4pdfjHEPgkvjV1xsGVwM+DQkF
10 | /yrSgAujxR70uGfBcUF/M9XRniBWg+FRrC8CQBXJ5vZnBJGRAoU3F3/Mjr/IKB1B
11 | 1XSXkdMKKv2+wqtZmQsO3DHr6gc+/bVC5snGgpaVWScxOamHyyfhtalvKQECQG+w
12 | PCyo3NIWUd+g2YJvDEZ09EgD7a/UxZrVaYbRryZvsiLJAYiAJWKOyPpmqUaQbMjH
13 | p/dVMSk75Dvvfttq2oUCQQDuEO0xY0gHxzFYH1K82Yw5aDdRsryEQYpb5e+jduH1
14 | EHACfc2H4Oc3/a39q7On+HnZgxK7gFMpGW+D0MdDDoL6
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/freeDiameter/hss.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDT57ptFGWv35DlSlNWofaJLsvuztZzn0i2lnhnp4cYuKvDCzGz
3 | ApJI7UmsQMETOxNYUMwuWUTpfjECFPAYgpUQ5DeyXRQZHUuP6R9Fdc8K4I974XB7
4 | q+SvK3xNfwDY68/zlqv8BE8hrdjElAUC//MSSIiezs83KeAoOTdiBe1tXQIDAQAB
5 | AoGBAM7ShI2Ec/9lSInSsmaC7BpW12p87KirFZBIarpYs634SIS0v0xFvTt6hgae
6 | qRO4/BedvLucG3t91B2BDBoQEaZELCjJ9kCUtzphW+u8/SUvPUCfb5xiLLeDQCVR
7 | oU45JuqlF+ro9XM0x7f1REuTza1Xr20O5n5TzaCzQkdTlMdtAkEA+Yk9aS589D2c
8 | TAj7H5nQMFai/z0JKM7kuBmXaqbsPtnYjdNvVYsCRPcjbhyfIjN88o/QGuUuInpb
9 | PyzUZh3x2wJBANlk8d5ZVco+UE1NX0KzpEXHMY+z8kE4f8IMy0KN1V+An0ZbdxJE
10 | X0aUMz9/K0+V6n0rlpY4QdOnTnbIEg2hTycCQDXBUM9lylk7JH5kuORX2Ddxkm91
11 | kJGP8EmQicPZ7a6kczgqQiOlbHm625EO7WEKwnHmdSg2Ergur5VubNsKvF0CQQCc
12 | sbv8rpu9qOisr2ZIZ7+yY/9/Ow8Un6rGrf4cPKtdqRIk3myXCB08fDnsPLd1J/Pa
13 | wP5LzMT10BQoXdFVbb3lAkBpNXUkts8O1YxSG5zTruvygjU2n4Lova31icJ8HFaG
14 | pfKHJpqDGPooupFxeCsPVPBZIRtxW70CZcr77eW/XKXv
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/freeDiameter/mme.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQC1OjHtv/7N51DMlLo9/S/my4MlPYKTJle0L2sp2f2AyMWCnAkX
3 | FDiRV6xysIbUb71r+rlgUZura2g3Fcfei73o2lpJdQMzCY5J5NlbPC/KR5uV1W8W
4 | 5I05tDndURpVJ2i5oCStHBhIu0lUrgOjC7jl2rTCfwmkEo6XCFgkakv0hwIDAQAB
5 | AoGBALL3ID1H/8m4Z9tP+EelEzvYt8772kmUcMHYnfw7cJNQMXQUwQlQh7hIG107
6 | JDr/idDrTUtn69GxhL35PWJxH3z7b9nPQCcPZQ3PZWW8lDXNqNCjV5j+2zDAXqkc
7 | IyxLQuPnTyn9kcB/OIjNGrr86/6JKS1ipbT9AIllV+br5OMhAkEA7KMLbiAI03JH
8 | wBhtnHdtj7NETXDnZd0Plj3ATpa7SOtxmBtqVVOH/1ghAqJ0YScrqa9+eEqcn6mv
9 | sHoJ10wVVwJBAMQOdR6b6H3Swy5dZNYzSKDsWRf4cNK5Kz8HJ8UOLbHTjzcDHNsD
10 | n09McdcnWgNAxV6J0YJzu4LWQjT4b1e77FECQAd+8rG+Wgk4qYUwQOif79yJdTRu
11 | yyWy5vd/ZUQYCj65FpQW6jthtgEkrYcD1mPtdbieUodE9cko+uPAOeeUBWkCQQCt
12 | lL9NImxtOjVkz3t/ylf7YkZfWq9JYnhPjV5AsZTzZIPgCPl7T3G1G9GO1GB1kNsu
13 | IIdGIIFcDacAjxTFcLSBAkA1Bl7gARE2XZR9iVVJ/On2hWFZhtG9RId+k0pVUxKs
14 | KXYnYSiD/WIeVZ6IBswqL2AnEV+kBBuZ7D9aEiDYbXQ/
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/freeDiameter/pcrf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXQIBAAKBgQDEY5W4spnKTd2suOJ4KUMDit5rBZmXt5A5+Pa4IHdESxuVbK3h
3 | XyxIoorSlXIO+eHPcE5FbnF+KkEpk3oSAXMLECB6OGafdXYh1n0M6jVHFtbDn0Hs
4 | 6Zg2FoSfQzgrssjZ82wHguTOyKPzw2AT80ZE+vDuqUhAj4A+YHP/bVkDLwIDAQAB
5 | AoGBAJG6b+RhK3uSMjcz7mFKBP9A8fCqdCG/xdcu5i0VcksMDMjhn1mIXPz9GFRR
6 | LxTr2eMrK/mbjb4YLshiNgfcaXdzpZGauK15PNEHemygI4et9b0iE3ZfGM3dGEGi
7 | UmWzXgO347S8CNmm6JX/gtAaCafeapmyms6E4teYFp1UMRIBAkEA7zrq9HZT1CZu
8 | fWN9DraOUVrgMdV8Q/qdKzAqMsTf95r43aRxxe8ZkXpQuf1X0kBDH8cIeOAVu96/
9 | hmfxCcVZAQJBANIn3YU7xCnUbdK29tYuxAzEw7j4pdfjHEPgkvjV1xsGVwM+DQkF
10 | /yrSgAujxR70uGfBcUF/M9XRniBWg+FRrC8CQBXJ5vZnBJGRAoU3F3/Mjr/IKB1B
11 | 1XSXkdMKKv2+wqtZmQsO3DHr6gc+/bVC5snGgpaVWScxOamHyyfhtalvKQECQG+w
12 | PCyo3NIWUd+g2YJvDEZ09EgD7a/UxZrVaYbRryZvsiLJAYiAJWKOyPpmqUaQbMjH
13 | p/dVMSk75Dvvfttq2oUCQQDuEO0xY0gHxzFYH1K82Yw5aDdRsryEQYpb5e+jduH1
14 | EHACfc2H4Oc3/a39q7On+HnZgxK7gFMpGW+D0MdDDoL6
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/freeDiameter/smf.key.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN RSA PRIVATE KEY-----
2 | MIICXAIBAAKBgQC/vJQ49AOlI4whuk5eUfd29eEeQ/wEoPm5n0fd07Wqg+jL0DxW
3 | Dk393raT+uujlEp5aB2EYc+30KzQQe9m4IpA7LTSW87MLM19fodzsEtNeVQ7pEi7
4 | GU+ffjDnrxcyo5WvxKUZj1M8Fs1UnTiYKw+3zTOR8O+40p8O/o53nei68wIDAQAB
5 | AoGAarZPHH+aw79MD718PnyKKVhhqZGW4xCgzFG9EtXwpu1xlHXaDt85QxFANo4R
6 | teIjrPxoaTRzAlAOzn3T+0L/TnhU67WUOvSQEhGzS1liNNw024NekOy3rrqAvB3D
7 | esmOtR5+LtadCb2CuJdL0XALUp+F/g25CoryXsKMIg4Eg9ECQQD9fbT7n3GurBlF
8 | s1E+Ah1+fpD2qOvyFrK4Yzs/CYn5s1yEO0AMwLavO71Y+SIGzFnuIASbyEX4Adl/
9 | hxSvDp5ZAkEAwaJmOzgLsLvSf5RkYzaX+/IO/DBYowDknalMobDplaOlK5LLFNiM
10 | naEH6A6UV981OnIr6ScU8knC0HyDmmTyKwJAfu3jIdvE4OHsBaq0k4gbnKtjix8q
11 | hh43f3ywve/Y1t+pA81nVPtqfnQ7a8HT9/N7VHFT3W17G6RRdDn/cWiwgQJAOuD+
12 | 5RLtuxfhshmVTPXU0S+Rju3EhgxHeAl628/Ht1DDcLR6PCR83ZGRreaBBRdCQDtn
13 | TsYrgGEdc/forJH1cQJBAMzBcACt51/OuHtPF+kxeRqgLINji82EQOGmZBvtWySI
14 | cRFndLh6N8OOkDnP2MwGY7j0jWveKE8mVA12ymMWZuU=
15 | -----END RSA PRIVATE KEY-----
16 |
--------------------------------------------------------------------------------
/.github/workflows/stale.yml:
--------------------------------------------------------------------------------
1 | name: 'Close stale issues and PRs'
2 | on:
3 | schedule:
4 | - cron: '30 1 * * *'
5 |
6 | jobs:
7 | stale:
8 | runs-on: ubuntu-latest
9 | steps:
10 | - uses: actions/stale@v9
11 | with:
12 | stale-issue-message: 'This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
13 | stale-pr-message: 'This PR is stale because it has been open 45 days with no activity. Remove stale label or comment or this will be closed in 10 days.'
14 | close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
15 | close-pr-message: 'This PR was closed because it has been stalled for 10 days with no activity.'
16 | days-before-issue-stale: 30
17 | days-before-pr-stale: 45
18 | days-before-issue-close: 5
19 | days-before-pr-close: 10
20 | exempt-issue-labels: 'dependencies'
21 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/scenario-3-servers.txt:
--------------------------------------------------------------------------------
1 | vlan: 171
2 | hostnames: spirit shasta zoar travis okeechobee pontchartrain redfish sinclair liberty elk sevuer peck
3 | usernames: mmiller dbrown bjohnson mjones mwilson msmith rjones mkhan dwilson jsingh aahmed cmiller
4 | passwords: heaven babyboy leanne sammie happy julian angela jorge cupcake nikita samantha bandit
5 | started nfs server... hostname: spirit username: mmiller password: heaven
6 | started vulnerable tomcat server... hostname: shasta username: dbrown password: babyboy
7 | tomcat server manager... username: tomcat password: babyboy
8 | started panubo/sshd server 1... hostname: zoar username: bjohnson password: leanne
9 | started maltyxx/sshd server... hostname: okeechobee username: mwilson password: happy
10 | started httpd server... hostname: redfish username: rjones password: angela
11 | started tomcat:9.0 server... hostname: liberty username: dwilson password: cupcake
12 | started gists/nfs-server server... hostname: peck username: cmiller password: bandit
13 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/UERANSIM/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:22.04 as builder
2 | LABEL maintainer="Charlie Lewis "
3 | ENV DEBIAN_FRONTEND noninteractive
4 | RUN apt-get update && apt-get install --no-install-recommends -yq \
5 | build-essential \
6 | ca-certificates \
7 | cmake \
8 | git \
9 | g++ \
10 | libsctp-dev \
11 | make
12 |
13 | WORKDIR /src
14 | RUN git clone https://github.com/aligungr/UERANSIM -b v3.2.6
15 | WORKDIR /src/UERANSIM
16 | RUN make -j "$(nproc)"
17 | WORKDIR /usr/local/bin
18 | RUN cp /src/UERANSIM/build/* .
19 |
20 | FROM ubuntu:22.04
21 | ENV DEBIAN_FRONTEND noninteractive
22 | RUN apt-get update && apt-get install --no-install-recommends -yq \
23 | ca-certificates \
24 | iproute2 \
25 | libsctp1 \
26 | lksctp-tools \
27 | tcpdump \
28 | iputils-ping \
29 | wget
30 | COPY --from=builder /usr/local /usr/local
31 | COPY scripts /scripts
32 | RUN ldd /usr/local/bin/nr-gnb
33 | RUN ldd /usr/local/bin/nr-ue
34 | ENTRYPOINT ["/bin/sh"]
35 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/smf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | smf:
15 | freeDiameter: /usr/local/etc/freeDiameter/smf.conf
16 | gtpc:
17 | addr:
18 | - 192.168.26.40
19 | #- ::1
20 | pfcp:
21 | - addr: 192.168.26.40
22 | #- addr: ::1
23 | pdn:
24 | - addr: 10.10.0.1/16
25 | apn: internet
26 | dev: ogstun
27 | - addr: 10.11.0.1/16
28 | apn: internet2
29 | dev: ogstun
30 | - addr: 10.12.0.1/16
31 | apn: internet3
32 | dev: ogstun2
33 | #- addr: cafe::1/64
34 | dns:
35 | - 8.8.8.8
36 | - 8.8.4.4
37 | #- 2001:4860:4860::8888
38 | #- 2001:4860:4860::8844
39 |
40 | upf:
41 | pfcp:
42 | - addr: 192.168.27.41
43 | apn: internet
44 | - addr: 192.168.27.42
45 | apn: [internet2, internet3]
46 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ### For reference, see `nextepc.conf`
2 |
3 | logger:
4 | file: /usr/local/var/log/open5gs/smf.log
5 | trace:
6 | app: 1
7 | diameter: 1
8 | gtpv2: 1
9 | gtp: 1
10 |
11 | parameter:
12 | no_ipv6: true
13 |
14 | smf:
15 | freeDiameter: /usr/local/etc/freeDiameter/smf.conf
16 | gtpc:
17 | addr:
18 | - 192.168.26.40
19 | #- ::1
20 | pfcp:
21 | - addr: 192.168.26.40
22 | #- addr: ::1
23 | pdn:
24 | - addr: 10.10.0.1/16
25 | apn: internet
26 | dev: ogstun
27 | - addr: 10.11.0.1/16
28 | apn: internet2
29 | dev: ogstun
30 | - addr: 10.12.0.1/16
31 | apn: internet3
32 | dev: ogstun2
33 | #- addr: cafe::1/64
34 | dns:
35 | - 8.8.8.8
36 | - 8.8.4.4
37 | #- 2001:4860:4860::8888
38 | #- 2001:4860:4860::8844
39 |
40 | upf:
41 | pfcp:
42 | - addr: 192.168.27.41
43 | apn: internet
44 | - addr: 192.168.27.42
45 | apn: [internet2, internet3]
46 |
--------------------------------------------------------------------------------
/environments/scenario2/config/freeDiameter/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICrDCCAhWgAwIBAgIUPoUbKXRTWQbrJYUIvyHdacCzw9cwDQYJKoZIhvcNAQEL
3 | BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
4 | VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
5 | BgNVBAsMBVRlc3RzMB4XDTE5MTAyMDA2NDM1OFoXDTI5MTAxNzA2NDM1OFowaDEX
6 | MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
7 | ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
8 | BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2sDnWMj9oXpIw+vcm
9 | 9k/WidMyhSbImINLe9YgibFfozoxZt51Hvi/aAxlqyq7akGtvpL8yVZD6j7o74z7
10 | 6dlnUFDGC4M0WGEkcxqf5NIWe0QplCsXkEOMYHrXLQisAuUk81DNcsXlZr74bmDI
11 | B0dUM0xJ2JrA5mx1LzTFHSesIwIDAQABo1MwUTAdBgNVHQ4EFgQUxTjcug/DKW49
12 | mQeW0IcS/bhIzDcwHwYDVR0jBBgwFoAUxTjcug/DKW49mQeW0IcS/bhIzDcwDwYD
13 | VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB533IwIPOEE1w2RLBF9EKX
14 | UxaDnUYW05t9eZFLsUtOLFiR84xhCawGEWNtaLvoJE42E17qEjnX4+KGOc6/sa6q
15 | bLskf7BK7496dQrVY5DO9vdSpN1ep3j+1QKae23wYpjqt2UEU3QtIZpsDjUreYri
16 | YLVacMQydGgizNQrY3iCvQ==
17 | -----END CERTIFICATE-----
18 |
--------------------------------------------------------------------------------
/environments/scenario2/docker-compose-5g-nsa-upn-ettus-enb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway optiono with ipam
2 | version: '2'
3 |
4 | networks:
5 | upn:
6 | external:
7 | name: upn
8 | services:
9 | ettus-enb:
10 | image: srslte:latest
11 | container_name: ettus-enb
12 | depends_on:
13 | - mme
14 | cap_add:
15 | - SYS_NICE
16 | networks:
17 | upn:
18 | ipv4_address: 192.168.27.62
19 | volumes:
20 | - ./config_upn/srsLTE:/config:z
21 | entrypoint:
22 | - srsenb
23 | privileged: true
24 | devices:
25 | - "/dev/bus/usb:/dev/bus/usb"
26 | command:
27 | - /config/enb.conf
28 | - --enb.name=ettus-ENB01
29 | - --enb.n_prb=50
30 | - --enb.enb_id=0x62
31 | - --enb.mme_addr=192.168.26.20
32 | - --enb.gtp_bind_addr=192.168.27.62
33 | - --enb.s1c_bind_addr=192.168.27.62
34 | - --enb_files.rr_config=/config/ettus/rr.conf
35 | - --enb_files.sib_config=/config/sib.conf
36 | - --enb_files.drb_config=/config/drb.conf
37 | - --rf.device_name=UHD
38 |
--------------------------------------------------------------------------------
/environments/scenario2/config_cpn/freeDiameter/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICrDCCAhWgAwIBAgIUPoUbKXRTWQbrJYUIvyHdacCzw9cwDQYJKoZIhvcNAQEL
3 | BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
4 | VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
5 | BgNVBAsMBVRlc3RzMB4XDTE5MTAyMDA2NDM1OFoXDTI5MTAxNzA2NDM1OFowaDEX
6 | MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
7 | ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
8 | BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2sDnWMj9oXpIw+vcm
9 | 9k/WidMyhSbImINLe9YgibFfozoxZt51Hvi/aAxlqyq7akGtvpL8yVZD6j7o74z7
10 | 6dlnUFDGC4M0WGEkcxqf5NIWe0QplCsXkEOMYHrXLQisAuUk81DNcsXlZr74bmDI
11 | B0dUM0xJ2JrA5mx1LzTFHSesIwIDAQABo1MwUTAdBgNVHQ4EFgQUxTjcug/DKW49
12 | mQeW0IcS/bhIzDcwHwYDVR0jBBgwFoAUxTjcug/DKW49mQeW0IcS/bhIzDcwDwYD
13 | VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB533IwIPOEE1w2RLBF9EKX
14 | UxaDnUYW05t9eZFLsUtOLFiR84xhCawGEWNtaLvoJE42E17qEjnX4+KGOc6/sa6q
15 | bLskf7BK7496dQrVY5DO9vdSpN1ep3j+1QKae23wYpjqt2UEU3QtIZpsDjUreYri
16 | YLVacMQydGgizNQrY3iCvQ==
17 | -----END CERTIFICATE-----
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/freeDiameter/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICrDCCAhWgAwIBAgIUPoUbKXRTWQbrJYUIvyHdacCzw9cwDQYJKoZIhvcNAQEL
3 | BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
4 | VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
5 | BgNVBAsMBVRlc3RzMB4XDTE5MTAyMDA2NDM1OFoXDTI5MTAxNzA2NDM1OFowaDEX
6 | MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
7 | ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
8 | BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2sDnWMj9oXpIw+vcm
9 | 9k/WidMyhSbImINLe9YgibFfozoxZt51Hvi/aAxlqyq7akGtvpL8yVZD6j7o74z7
10 | 6dlnUFDGC4M0WGEkcxqf5NIWe0QplCsXkEOMYHrXLQisAuUk81DNcsXlZr74bmDI
11 | B0dUM0xJ2JrA5mx1LzTFHSesIwIDAQABo1MwUTAdBgNVHQ4EFgQUxTjcug/DKW49
12 | mQeW0IcS/bhIzDcwHwYDVR0jBBgwFoAUxTjcug/DKW49mQeW0IcS/bhIzDcwDwYD
13 | VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB533IwIPOEE1w2RLBF9EKX
14 | UxaDnUYW05t9eZFLsUtOLFiR84xhCawGEWNtaLvoJE42E17qEjnX4+KGOc6/sa6q
15 | bLskf7BK7496dQrVY5DO9vdSpN1ep3j+1QKae23wYpjqt2UEU3QtIZpsDjUreYri
16 | YLVacMQydGgizNQrY3iCvQ==
17 | -----END CERTIFICATE-----
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_cpn/freeDiameter/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICrDCCAhWgAwIBAgIUPoUbKXRTWQbrJYUIvyHdacCzw9cwDQYJKoZIhvcNAQEL
3 | BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
4 | VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
5 | BgNVBAsMBVRlc3RzMB4XDTE5MTAyMDA2NDM1OFoXDTI5MTAxNzA2NDM1OFowaDEX
6 | MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
7 | ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
8 | BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2sDnWMj9oXpIw+vcm
9 | 9k/WidMyhSbImINLe9YgibFfozoxZt51Hvi/aAxlqyq7akGtvpL8yVZD6j7o74z7
10 | 6dlnUFDGC4M0WGEkcxqf5NIWe0QplCsXkEOMYHrXLQisAuUk81DNcsXlZr74bmDI
11 | B0dUM0xJ2JrA5mx1LzTFHSesIwIDAQABo1MwUTAdBgNVHQ4EFgQUxTjcug/DKW49
12 | mQeW0IcS/bhIzDcwHwYDVR0jBBgwFoAUxTjcug/DKW49mQeW0IcS/bhIzDcwDwYD
13 | VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB533IwIPOEE1w2RLBF9EKX
14 | UxaDnUYW05t9eZFLsUtOLFiR84xhCawGEWNtaLvoJE42E17qEjnX4+KGOc6/sa6q
15 | bLskf7BK7496dQrVY5DO9vdSpN1ep3j+1QKae23wYpjqt2UEU3QtIZpsDjUreYri
16 | YLVacMQydGgizNQrY3iCvQ==
17 | -----END CERTIFICATE-----
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/freeDiameter/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICrDCCAhWgAwIBAgIUPoUbKXRTWQbrJYUIvyHdacCzw9cwDQYJKoZIhvcNAQEL
3 | BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
4 | VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
5 | BgNVBAsMBVRlc3RzMB4XDTE5MTAyMDA2NDM1OFoXDTI5MTAxNzA2NDM1OFowaDEX
6 | MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
7 | ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
8 | BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2sDnWMj9oXpIw+vcm
9 | 9k/WidMyhSbImINLe9YgibFfozoxZt51Hvi/aAxlqyq7akGtvpL8yVZD6j7o74z7
10 | 6dlnUFDGC4M0WGEkcxqf5NIWe0QplCsXkEOMYHrXLQisAuUk81DNcsXlZr74bmDI
11 | B0dUM0xJ2JrA5mx1LzTFHSesIwIDAQABo1MwUTAdBgNVHQ4EFgQUxTjcug/DKW49
12 | mQeW0IcS/bhIzDcwHwYDVR0jBBgwFoAUxTjcug/DKW49mQeW0IcS/bhIzDcwDwYD
13 | VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB533IwIPOEE1w2RLBF9EKX
14 | UxaDnUYW05t9eZFLsUtOLFiR84xhCawGEWNtaLvoJE42E17qEjnX4+KGOc6/sa6q
15 | bLskf7BK7496dQrVY5DO9vdSpN1ep3j+1QKae23wYpjqt2UEU3QtIZpsDjUreYri
16 | YLVacMQydGgizNQrY3iCvQ==
17 | -----END CERTIFICATE-----
18 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_cpn/freeDiameter/cacert.pem:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIICrDCCAhWgAwIBAgIUPoUbKXRTWQbrJYUIvyHdacCzw9cwDQYJKoZIhvcNAQEL
3 | BQAwaDEXMBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYD
4 | VQQIDAVTZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAM
5 | BgNVBAsMBVRlc3RzMB4XDTE5MTAyMDA2NDM1OFoXDTI5MTAxNzA2NDM1OFowaDEX
6 | MBUGA1UEAwwOY2EubG9jYWxkb21haW4xCzAJBgNVBAYTAktPMQ4wDAYDVQQIDAVT
7 | ZW91bDEOMAwGA1UEBwwFTm93b24xEDAOBgNVBAoMB09wZW41R1MxDjAMBgNVBAsM
8 | BVRlc3RzMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC2sDnWMj9oXpIw+vcm
9 | 9k/WidMyhSbImINLe9YgibFfozoxZt51Hvi/aAxlqyq7akGtvpL8yVZD6j7o74z7
10 | 6dlnUFDGC4M0WGEkcxqf5NIWe0QplCsXkEOMYHrXLQisAuUk81DNcsXlZr74bmDI
11 | B0dUM0xJ2JrA5mx1LzTFHSesIwIDAQABo1MwUTAdBgNVHQ4EFgQUxTjcug/DKW49
12 | mQeW0IcS/bhIzDcwHwYDVR0jBBgwFoAUxTjcug/DKW49mQeW0IcS/bhIzDcwDwYD
13 | VR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQB533IwIPOEE1w2RLBF9EKX
14 | UxaDnUYW05t9eZFLsUtOLFiR84xhCawGEWNtaLvoJE42E17qEjnX4+KGOc6/sa6q
15 | bLskf7BK7496dQrVY5DO9vdSpN1ep3j+1QKae23wYpjqt2UEU3QtIZpsDjUreYri
16 | YLVacMQydGgizNQrY3iCvQ==
17 | -----END CERTIFICATE-----
18 |
--------------------------------------------------------------------------------
/environments/scenario2/docker-compose-5g-nsa-upn-bladerf-enb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway optiono with ipam
2 | version: '2'
3 |
4 | networks:
5 | upn:
6 | external:
7 | name: upn
8 | services:
9 | bladerf-enb:
10 | image: srslte:latest
11 | container_name: bladerf-enb
12 | depends_on:
13 | - mme
14 | cap_add:
15 | - SYS_NICE
16 | networks:
17 | upn:
18 | ipv4_address: 192.168.27.61
19 | volumes:
20 | - ./config_upn/srsLTE:/config:z
21 | entrypoint:
22 | - srsenb
23 | privileged: true
24 | devices:
25 | - "/dev/bus/usb:/dev/bus/usb"
26 | command:
27 | - /config/enb.conf
28 | - --enb.name=bladerf-ENB01
29 | - --enb.n_prb=50
30 | - --enb.enb_id=0x61
31 | - --enb.mme_addr=192.168.26.20
32 | - --enb.gtp_bind_addr=192.168.27.61
33 | - --enb.s1c_bind_addr=192.168.27.61
34 | - --enb_files.rr_config=/config/bladeRF/rr.conf
35 | - --enb_files.sib_config=/config/sib.conf
36 | - --enb_files.drb_config=/config/drb.conf
37 | - --rf.device_name=bladeRF
38 |
--------------------------------------------------------------------------------
/.github/workflows/pypi.yaml:
--------------------------------------------------------------------------------
1 | name: release
2 |
3 | on:
4 | push:
5 | branches: main
6 | tags: 'v*'
7 |
8 | jobs:
9 | release:
10 |
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
15 | with:
16 | fetch-depth: 0
17 | - name: Build core package
18 | id: build_core_package
19 | run: |
20 | sudo apt-get update && \
21 | sudo apt-get install -yq --no-install-recommends python3-pip python3-dev python3-setuptools && \
22 | pip3 install wheel build && \
23 | cd blue && python3 -m build --sdist --wheel
24 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
25 | - name: Publish package
26 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push' && startsWith(github.event.ref, 'refs/tags')
27 | uses: pypa/gh-action-pypi-publish@master
28 | with:
29 | user: ${{ secrets.PYPI_USERNAME }}
30 | password: ${{ secrets.PYPI_TOKEN }}
31 | packages_dir: blue/dist
32 |
--------------------------------------------------------------------------------
/blue/README.md:
--------------------------------------------------------------------------------
1 | # Blue Team
2 | The following directory has a series of tools that are used for defending and building out environments for running scenarios in.
3 |
4 | # 4G/5G Environment Creation Tool
5 |
6 | ## Dependencies
7 | - Linux with a recent kernel
8 | - Docker
9 | - python3 and pip3
10 | - uhd-host (`sudo apt-get install -y uhd-host`)
11 |
12 | ## Installation
13 | The main tool in this directory is called `daedalus` and can be installed with easily with pip:
14 |
15 | ```
16 | pip3 install daedalus-5g
17 | ```
18 |
19 | or locally:
20 |
21 | ```
22 | git clone https://github.com/IQTLabs/Daedalus
23 | cd Daedalus/blue
24 | sudo python3 setup.py install
25 | ```
26 |
27 | Once installed, you can simply execute `daedalus` and you will be prompted for the 4G/5G environments you'd like it to create.
28 |
29 | ** Note **
30 | ```
31 | AMD64 CPUs must support SSE4.1, AVX, AVX2, and FMA. If you don't have those, you can alternatively try starting daedalus with -b which will build the images locally and might work.
32 |
33 | ARM64 CPUs don't have those requirements, but you will need g++ when pip installing for grpc.
34 | ```
35 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/scenario-6-servers.txt:
--------------------------------------------------------------------------------
1 | vlan: 253
2 | hostnames: stump geneva pyramid bantam ozarks superior holt redfish sawtooth emporia pontchartrain storm texoma
3 | usernames: mmartinez ajones msingh sdavis ljohnson bjones sali sjones sshah mjones ssharma ataylor rsmith
4 | passwords: linkinpark 444444 donald 456789 ihateyou iloveu kitty ashton cristian mexico 232323 aaron superstar
5 | started nfs server... hostname: stump username: mmartinez password: linkinpark
6 | started vulnerable tomcat server... hostname: geneva username: ajones password: 444444
7 | tomcat server manager... username: tomcat password: 444444
8 | started panubo/sshd server 1... hostname: pyramid username: msingh password: donald
9 | started maltyxx/sshd server... hostname: ozarks username: ljohnson password: ihateyou
10 | started httpd server... hostname: holt username: sali password: kitty
11 | started tomcat:9.0 server... hostname: sawtooth username: sshah password: cristian
12 | started tomcat:9.0 server 2... hostname: emporia username: mjones password: mexico
13 | started gists/nfs-server server... hostname: storm username: ataylor password: aaron
14 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/scenario-5-servers.txt:
--------------------------------------------------------------------------------
1 | vlan: 133
2 | hostnames: kissimmee degray cumberland rico meade harding emporia crater eagle elk ute hauser cypress
3 | usernames: bbrown rsharma awilliams jthomas sthomas amartinez jwalker twilliams mwilson jrodriguez aahmed kmiller smiller
4 | passwords: james iubire michelle tokiohotel jeremy letmein justin familia 999999999 susana shakira 212121 242424
5 | started nfs server... hostname: kissimmee username: bbrown password: james
6 | started vulnerable tomcat server... hostname: degray username: rsharma password: iubire
7 | tomcat server manager... username: tomcat password: iubire
8 | started panubo/sshd server 1... hostname: cumberland username: awilliams password: michelle
9 | started maltyxx/sshd server... hostname: meade username: sthomas password: jeremy
10 | started httpd server... hostname: emporia username: jwalker password: justin
11 | started tomcat:9.0 server... hostname: eagle username: mwilson password: 999999999
12 | started tomcat:9.0 server 2... hostname: elk username: jrodriguez password: susana
13 | started gists/nfs-server server... hostname: hauser username: kmiller password: 212121
14 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/scenario-4-servers.txt:
--------------------------------------------------------------------------------
1 | vlan: 193
2 | hostnames: sinclair sardis caddo bluestone merritt harding greenbo bluewater degray shasta emporia okeechobee crater
3 | usernames: bjones jdavis mmiller sahmed athomas kmiller psmith mtaylor psingh ssharma mmartinez jmiller smiller
4 | passwords: destiny september williams ashley1 tintin sweetpea hawaii musica alexander alberto 147852 jenny jackass
5 | started nfs server... hostname: sinclair username: bjones password: destiny
6 | started vulnerable tomcat server... hostname: sardis username: jdavis password: september
7 | tomcat server manager... username: tomcat password: september
8 | started panubo/sshd server 1... hostname: caddo username: mmiller password: williams
9 | started maltyxx/sshd server... hostname: merritt username: athomas password: tintin
10 | started httpd server... hostname: greenbo username: psmith password: hawaii
11 | started tomcat:9.0 server... hostname: degray username: psingh password: alexander
12 | started tomcat:9.0 server 2... hostname: shasta username: ssharma password: alberto
13 | started gists/nfs-server server... hostname: okeechobee username: jmiller password: jenny
14 |
--------------------------------------------------------------------------------
/blue/tests/install_test.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | export DEBIAN_FRONTEND=noninteractive && \
4 | echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections && \
5 | sudo apt-get update && \
6 | sudo apt-get purge docker docker-engine docker.io containerd runc python3-yaml && \
7 | sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common && \
8 | curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - && \
9 | sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" && \
10 | sudo apt-get update && sudo apt-get install docker-ce docker-ce-cli containerd.io && \
11 | sudo apt-get install nftables && sudo nft flush ruleset && sudo apt-get purge nftables && sudo apt-get --reinstall install iptables && \
12 | sudo update-alternatives --set iptables /usr/sbin/iptables-legacy && \
13 | sudo /etc/init.d/docker restart && \
14 | sudo apt-get update && sudo apt-get install python3-setuptools python3-dev uhd-host && \
15 | sudo python3 -m pip install -U pip && \
16 | sudo python3 -m pip install "./blue[generate_fs,confuser,test]"
17 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SDR/bladerf.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | ran:
6 | external:
7 | name: ran
8 | services:
9 | bladerf-enb:
10 | image: iqtlabs/srsran:latest
11 | container_name: bladerf-enb
12 | depends_on:
13 | mme:
14 | condition: service_healthy
15 | cap_add:
16 | - SYS_NICE
17 | networks:
18 | ran:
19 | ipv4_address: 192.168.29.61
20 | volumes:
21 | - "../configs/srsRAN:/config:z"
22 | entrypoint:
23 | - srsenb
24 | devices:
25 | - "/dev/bus/usb:/dev/bus/usb"
26 | labels:
27 | - "daedalus.namespace=primary"
28 | command:
29 | - /config/enb.conf
30 | - --enb_files.rr_config=/config/blade-rr.conf
31 | - --enb.name=bladerf-ENB01
32 | - --enb.n_prb=${BLADERF_PRB}
33 | - --enb.enb_id=0x61
34 | - --enb.mme_addr=192.168.26.20
35 | - --enb.gtp_bind_addr=192.168.29.61
36 | - --enb.s1c_bind_addr=192.168.29.61
37 | - --rf.device_name=bladeRF
38 | - --rf.dl_earfcn=${BLADERF_EARFCN}
39 | - --rf.tx_gain=${BLADERF_TXGAIN}
40 | - --rf.rx_gain=${BLADERF_RXGAIN}
41 |
--------------------------------------------------------------------------------
/environments/scenario2/config/srsLTE/drb.conf:
--------------------------------------------------------------------------------
1 |
2 | // All times are in ms. Use -1 for infinity, where available
3 |
4 | qci_config = (
5 |
6 | {
7 | qci=7;
8 | pdcp_config = {
9 | discard_timer = 100;
10 | pdcp_sn_size = 12;
11 | }
12 | rlc_config = {
13 | ul_um = {
14 | sn_field_length = 10;
15 | };
16 | dl_um = {
17 | sn_field_length = 10;
18 | t_reordering = 45;
19 | };
20 | };
21 | logical_channel_config = {
22 | priority = 13;
23 | prioritized_bit_rate = -1;
24 | bucket_size_duration = 100;
25 | log_chan_group = 2;
26 | };
27 | },
28 | {
29 | qci=9;
30 | pdcp_config = {
31 | discard_timer = -1;
32 | status_report_required = true;
33 | }
34 | rlc_config = {
35 | ul_am = {
36 | t_poll_retx = 120;
37 | poll_pdu = 64;
38 | poll_byte = 750;
39 | max_retx_thresh = 16;
40 | };
41 | dl_am = {
42 | t_reordering = 50;
43 | t_status_prohibit = 50;
44 | };
45 | };
46 | logical_channel_config = {
47 | priority = 11;
48 | prioritized_bit_rate = -1;
49 | bucket_size_duration = 100;
50 | log_chan_group = 3;
51 | };
52 | }
53 |
54 | );
55 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SDR/ettus.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway optiono with ipam
2 | version: '2'
3 |
4 | networks:
5 | ran:
6 | external:
7 | name: ran
8 | services:
9 | ettus-enb:
10 | image: iqtlabs/srsran:latest
11 | container_name: ettus-enb
12 | depends_on:
13 | mme:
14 | condition: service_healthy
15 | cap_add:
16 | - SYS_NICE
17 | - SYS_RAWIO
18 | networks:
19 | ran:
20 | ipv4_address: 192.168.29.62
21 | volumes:
22 | - "../configs/srsRAN:/config:z"
23 | entrypoint:
24 | - srsenb
25 | devices:
26 | - "/dev/bus/usb:/dev/bus/usb"
27 | labels:
28 | - "daedalus.namespace=primary"
29 | command:
30 | - /config/enb.conf
31 | - --enb_files.rr_config=/config/ettus-rr.conf
32 | - --enb.name=ettus-ENB01
33 | - --enb.n_prb=${ETTUS_PRB}
34 | - --enb.enb_id=0x62
35 | - --enb.mme_addr=192.168.26.20
36 | - --enb.gtp_bind_addr=192.168.29.62
37 | - --enb.s1c_bind_addr=192.168.29.62
38 | - --rf.device_name=UHD
39 | - --rf.dl_earfcn=${ETTUS_EARFCN}
40 | - --rf.tx_gain=${ETTUS_TXGAIN}
41 | - --rf.rx_gain=${ETTUS_RXGAIN}
42 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/srsLTE/drb.conf:
--------------------------------------------------------------------------------
1 |
2 | // All times are in ms. Use -1 for infinity, where available
3 |
4 | qci_config = (
5 |
6 | {
7 | qci=7;
8 | pdcp_config = {
9 | discard_timer = 100;
10 | pdcp_sn_size = 12;
11 | }
12 | rlc_config = {
13 | ul_um = {
14 | sn_field_length = 10;
15 | };
16 | dl_um = {
17 | sn_field_length = 10;
18 | t_reordering = 45;
19 | };
20 | };
21 | logical_channel_config = {
22 | priority = 13;
23 | prioritized_bit_rate = -1;
24 | bucket_size_duration = 100;
25 | log_chan_group = 2;
26 | };
27 | },
28 | {
29 | qci=9;
30 | pdcp_config = {
31 | discard_timer = -1;
32 | status_report_required = true;
33 | }
34 | rlc_config = {
35 | ul_am = {
36 | t_poll_retx = 120;
37 | poll_pdu = 64;
38 | poll_byte = 750;
39 | max_retx_thresh = 16;
40 | };
41 | dl_am = {
42 | t_reordering = 50;
43 | t_status_prohibit = 50;
44 | };
45 | };
46 | logical_channel_config = {
47 | priority = 11;
48 | prioritized_bit_rate = -1;
49 | bucket_size_duration = 100;
50 | log_chan_group = 3;
51 | };
52 | }
53 |
54 | );
55 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config/srsLTE/drb.conf:
--------------------------------------------------------------------------------
1 |
2 | // All times are in ms. Use -1 for infinity, where available
3 |
4 | qci_config = (
5 |
6 | {
7 | qci=7;
8 | pdcp_config = {
9 | discard_timer = 100;
10 | pdcp_sn_size = 12;
11 | }
12 | rlc_config = {
13 | ul_um = {
14 | sn_field_length = 10;
15 | };
16 | dl_um = {
17 | sn_field_length = 10;
18 | t_reordering = 45;
19 | };
20 | };
21 | logical_channel_config = {
22 | priority = 13;
23 | prioritized_bit_rate = -1;
24 | bucket_size_duration = 100;
25 | log_chan_group = 2;
26 | };
27 | },
28 | {
29 | qci=9;
30 | pdcp_config = {
31 | discard_timer = -1;
32 | status_report_required = true;
33 | }
34 | rlc_config = {
35 | ul_am = {
36 | t_poll_retx = 120;
37 | poll_pdu = 64;
38 | poll_byte = 750;
39 | max_retx_thresh = 16;
40 | };
41 | dl_am = {
42 | t_reordering = 50;
43 | t_status_prohibit = 50;
44 | };
45 | };
46 | logical_channel_config = {
47 | priority = 11;
48 | prioritized_bit_rate = -1;
49 | bucket_size_duration = 100;
50 | log_chan_group = 3;
51 | };
52 | }
53 |
54 | );
55 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/srsLTE/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:18.04
2 | MAINTAINER Charlie Lewis
3 | ENV DEBIAN_FRONTEND noninteractive
4 | RUN apt-get update && apt-get install --no-install-recommends -yq \
5 | cmake \
6 | libuhd-dev \
7 | uhd-host \
8 | libboost-program-options-dev \
9 | #libvolk2-dev \
10 | libfftw3-dev \
11 | libmbedtls-dev \
12 | libsctp-dev \
13 | libconfig++-dev \
14 | curl \
15 | unzip \
16 | libzmq3-dev \
17 | build-essential \
18 | git \
19 | ca-certificates \
20 | iproute2 \
21 | libpcsclite-dev \
22 | lksctp-tools \
23 | wget \
24 | tcpdump \
25 | net-tools \
26 | iputils-ping \
27 | iperf \
28 | iperf3
29 | WORKDIR /root
30 | COPY add_default_route.sh /root/add_default_route.sh
31 | COPY start_srsue.sh /root/start_srsue.sh
32 |
33 | # pin all srsLTE stack reproducibility
34 | RUN git clone https://github.com/srsLTE/srsLTE.git -b release_20_10_1
35 |
36 | RUN mkdir -p /root/srsLTE/build
37 | RUN mkdir /config
38 | WORKDIR /root/srsLTE/build
39 | RUN cmake ../ && make -j `nproc` && make install && ldconfig
40 |
41 | ENTRYPOINT ["/bin/sh"]
42 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config/srsLTE/drb.conf:
--------------------------------------------------------------------------------
1 |
2 | // All times are in ms. Use -1 for infinity, where available
3 |
4 | qci_config = (
5 |
6 | {
7 | qci=7;
8 | pdcp_config = {
9 | discard_timer = 100;
10 | pdcp_sn_size = 12;
11 | }
12 | rlc_config = {
13 | ul_um = {
14 | sn_field_length = 10;
15 | };
16 | dl_um = {
17 | sn_field_length = 10;
18 | t_reordering = 45;
19 | };
20 | };
21 | logical_channel_config = {
22 | priority = 13;
23 | prioritized_bit_rate = -1;
24 | bucket_size_duration = 100;
25 | log_chan_group = 2;
26 | };
27 | },
28 | {
29 | qci=9;
30 | pdcp_config = {
31 | discard_timer = -1;
32 | status_report_required = true;
33 | }
34 | rlc_config = {
35 | ul_am = {
36 | t_poll_retx = 120;
37 | poll_pdu = 64;
38 | poll_byte = 750;
39 | max_retx_thresh = 16;
40 | };
41 | dl_am = {
42 | t_reordering = 50;
43 | t_status_prohibit = 50;
44 | };
45 | };
46 | logical_channel_config = {
47 | priority = 11;
48 | prioritized_bit_rate = -1;
49 | bucket_size_duration = 100;
50 | log_chan_group = 3;
51 | };
52 | }
53 |
54 | );
55 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/config_upn/srsLTE/drb.conf:
--------------------------------------------------------------------------------
1 |
2 | // All times are in ms. Use -1 for infinity, where available
3 |
4 | qci_config = (
5 |
6 | {
7 | qci=7;
8 | pdcp_config = {
9 | discard_timer = 100;
10 | pdcp_sn_size = 12;
11 | }
12 | rlc_config = {
13 | ul_um = {
14 | sn_field_length = 10;
15 | };
16 | dl_um = {
17 | sn_field_length = 10;
18 | t_reordering = 45;
19 | };
20 | };
21 | logical_channel_config = {
22 | priority = 13;
23 | prioritized_bit_rate = -1;
24 | bucket_size_duration = 100;
25 | log_chan_group = 2;
26 | };
27 | },
28 | {
29 | qci=9;
30 | pdcp_config = {
31 | discard_timer = -1;
32 | status_report_required = true;
33 | }
34 | rlc_config = {
35 | ul_am = {
36 | t_poll_retx = 120;
37 | poll_pdu = 64;
38 | poll_byte = 750;
39 | max_retx_thresh = 16;
40 | };
41 | dl_am = {
42 | t_reordering = 50;
43 | t_status_prohibit = 50;
44 | };
45 | };
46 | logical_channel_config = {
47 | priority = 11;
48 | prioritized_bit_rate = -1;
49 | bucket_size_duration = 100;
50 | log_chan_group = 3;
51 | };
52 | }
53 |
54 | );
55 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/config_upn/srsLTE/drb.conf:
--------------------------------------------------------------------------------
1 |
2 | // All times are in ms. Use -1 for infinity, where available
3 |
4 | qci_config = (
5 |
6 | {
7 | qci=7;
8 | pdcp_config = {
9 | discard_timer = 100;
10 | pdcp_sn_size = 12;
11 | }
12 | rlc_config = {
13 | ul_um = {
14 | sn_field_length = 10;
15 | };
16 | dl_um = {
17 | sn_field_length = 10;
18 | t_reordering = 45;
19 | };
20 | };
21 | logical_channel_config = {
22 | priority = 13;
23 | prioritized_bit_rate = -1;
24 | bucket_size_duration = 100;
25 | log_chan_group = 2;
26 | };
27 | },
28 | {
29 | qci=9;
30 | pdcp_config = {
31 | discard_timer = -1;
32 | status_report_required = true;
33 | }
34 | rlc_config = {
35 | ul_am = {
36 | t_poll_retx = 120;
37 | poll_pdu = 64;
38 | poll_byte = 750;
39 | max_retx_thresh = 16;
40 | };
41 | dl_am = {
42 | t_reordering = 50;
43 | t_status_prohibit = 50;
44 | };
45 | };
46 | logical_channel_config = {
47 | priority = 11;
48 | prioritized_bit_rate = -1;
49 | bucket_size_duration = 100;
50 | log_chan_group = 3;
51 | };
52 | }
53 |
54 | );
55 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SIMULATED/srsran-gue.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | rfn:
6 | external:
7 | name: rfn
8 |
9 | services:
10 | ue-nsa:
11 | image: iqtlabs/srsran:latest
12 | container_name: ue-nsa
13 | cap_add:
14 | - NET_ADMIN
15 | - SYS_NICE
16 | devices:
17 | - /dev/net/tun
18 | networks:
19 | rfn:
20 | ipv4_address: 192.168.28.81
21 | depends_on:
22 | - gnb-nsa
23 | volumes:
24 | - "../configs/srsRAN:/config:z"
25 | labels:
26 | - "daedalus.namespace=primary"
27 | entrypoint:
28 | - /scripts/start_srsue.sh
29 | command:
30 | - /config/ue.conf
31 | - --usim.imsi=001010000000001
32 | - --usim.k=c8eba87c1074edd06885cb0486718341
33 | - --usim.algo=milenage
34 | - --usim.opc=17b6c0157895bcaa1efc1cef55033f5f
35 | - --nas.apn=internet
36 | - --rf.device_args=tx_port0=tcp://*:5554,rx_port0=tcp://192.168.28.70:5555,tx_port1=tcp://*:5564,rx_port1=tcp://192.168.28.70:5565,id=gue,base_srate=23.04e6
37 | - --rrc.release=15
38 | - --rat.eutra.dl_earfcn=2850
39 | - --rat.nr.bands=3,78
40 | - --rat.nr.nof_carriers=1
41 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SIMULATED/srsran-gnb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | ran:
6 | external:
7 | name: ran
8 | rfn:
9 | external:
10 | name: rfn
11 | services:
12 | gnb-nsa:
13 | image: iqtlabs/srsran:latest
14 | container_name: gnb-nsa
15 | depends_on:
16 | mme:
17 | condition: service_healthy
18 | cap_add:
19 | - SYS_NICE
20 | networks:
21 | rfn:
22 | ipv4_address: 192.168.28.70
23 | ran:
24 | ipv4_address: 192.168.29.70
25 | volumes:
26 | - "../configs/srsRAN:/config:z"
27 | labels:
28 | - "daedalus.namespace=primary"
29 | entrypoint:
30 | - /scripts/run_rfn_enb.sh
31 | command:
32 | - /config/enb.conf
33 | - --enb_files.rr_config=/config/virtual-nrr.conf
34 | - --enb.name=dummyENB01
35 | - --enb.enb_id=0x70
36 | - --enb.n_prb=50
37 | - --enb.mme_addr=192.168.26.20
38 | - --enb.gtp_bind_addr=192.168.29.70
39 | - --enb.s1c_bind_addr=192.168.29.70
40 | - --rf.device_name=zmq
41 | - --rf.device_args=tx_port0=tcp://*:5555,rx_port0=tcp://192.168.28.81:5554,tx_port1=tcp://*:5565,rx_port1=tcp://192.168.28.81:5564,id=gnb0,base_srate=23.04e6
42 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/open5gs/scripts/nrfhc.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | NRFSBI=192.168.26.61:7777
4 | ALLREG="AMF AUSF BSF NSSF PCF SMF UDM UDR"
5 |
6 | instances=$(curl -s --http2-prior-knowledge --header "User-Agent: NRF" "$NRFSBI"/nnrf-nfm/v1/nf-instances| jq -r "._links.items[].href")
7 | registered=""
8 | for instance in $instances ; do
9 | nfmeta=$(curl -s --http2-prior-knowledge --header "User-Agent: NRF" "$instance" |jq -r ".nfType,.nfStatus")
10 | # Read nftype and nfstatus into an array (from space delimited string).
11 | # We can't use the (VAR) format to array-ize due to shellcheck, requirements for quoting.
12 | read -r -d " " -a nfmeta <<< "${nfmeta}"
13 | nftype=${nfmeta[0]}
14 | nfstatus=${nfmeta[1]}
15 | if [ "$nfstatus" != "REGISTERED" ] ; then
16 | # this service not registered
17 | continue
18 | fi
19 | if [[ "$ALLREG" != *"$nftype"* ]]; then
20 | # this service not required
21 | continue
22 | fi
23 | echo "${nftype}": "${nfstatus}"
24 | registered="${nftype}\n${registered}"
25 | done
26 | registered=$(echo -e "${registered}"|sort|xargs)
27 |
28 | if [ "$registered" == "$ALLREG" ] ; then
29 | echo OK
30 | exit 0
31 | fi
32 |
33 | echo not all present: "${registered}" need "${ALLREG}"
34 | exit 1
35 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/srsLTE/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:20.04
2 | MAINTAINER Charlie Lewis
3 | ENV DEBIAN_FRONTEND noninteractive
4 | RUN apt-get update && apt-get install --no-install-recommends -yq \
5 | cmake \
6 | libuhd-dev \
7 | uhd-host \
8 | libboost-program-options-dev \
9 | libvolk2-dev \
10 | libfftw3-dev \
11 | libmbedtls-dev \
12 | libsctp-dev \
13 | libconfig++-dev \
14 | curl \
15 | unzip \
16 | libzmq3-dev \
17 | build-essential \
18 | git \
19 | ca-certificates \
20 | iproute2 \
21 | libpcsclite-dev \
22 | lksctp-tools \
23 | wget \
24 | tcpdump \
25 | net-tools \
26 | iputils-ping \
27 | iperf \
28 | iperf3
29 | WORKDIR /root
30 | COPY add_default_route.sh /root/add_default_route.sh
31 | COPY start_srsue.sh /root/start_srsue.sh
32 |
33 | # pin all srsLTE stack reproducibility
34 | RUN git clone https://github.com/srsLTE/srsLTE.git -b release_20_10_1
35 | COPY patch.txt patch.txt
36 | WORKDIR /root/srsLTE
37 | RUN patch -p1 < /root/patch.txt
38 |
39 | RUN mkdir -p /root/srsLTE/build
40 | RUN mkdir /config
41 | WORKDIR /root/srsLTE/build
42 | RUN cmake ../ && make -j `nproc` && make install && ldconfig
43 |
44 | ENTRYPOINT ["/bin/sh"]
45 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SDR/ettus-gnb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway optiono with ipam
2 | version: '2'
3 |
4 | networks:
5 | ran:
6 | external:
7 | name: ran
8 | services:
9 | ettus-enb-nsa:
10 | image: iqtlabs/srsran:latest
11 | container_name: ettus-enb-nsa
12 | depends_on:
13 | mme:
14 | condition: service_healthy
15 | cap_add:
16 | - SYS_NICE
17 | - SYS_RAWIO
18 | networks:
19 | ran:
20 | ipv4_address: 192.168.29.64
21 | volumes:
22 | - "../configs/srsRAN:/config:z"
23 | entrypoint:
24 | - srsenb
25 | devices:
26 | - "/dev/bus/usb:/dev/bus/usb"
27 | labels:
28 | - "daedalus.namespace=primary"
29 | command:
30 | - /config/enb.conf
31 | - --enb_files.rr_config=/config/ettus-nrr.conf
32 | - --enb.name=ettus-ENB-NSA01
33 | - --enb.n_prb=${ETTUS_PRB}
34 | - --enb.enb_id=0x64
35 | - --enb.mme_addr=192.168.26.20
36 | - --enb.gtp_bind_addr=192.168.29.64
37 | - --enb.s1c_bind_addr=192.168.29.64
38 | - --rf.device_name=UHD
39 | - --rf.device_args=device_args=type=b210,sampling_rate=11.52e6,lo_freq_offset_hz=11.52e6
40 | - --rf.dl_earfcn=${ETTUS_EARFCN}
41 | - --rf.tx_gain=${ETTUS_TXGAIN}
42 | - --rf.rx_gain=${ETTUS_RXGAIN}
43 |
--------------------------------------------------------------------------------
/environments/scenario2/docker-compose-5g-nsa-upn-enb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway optiono with ipam
2 | version: '2'
3 |
4 | networks:
5 | upn:
6 | external:
7 | name: upn
8 | rfn:
9 | external:
10 | name: rfn
11 | services:
12 | enb:
13 | image: srslte:latest
14 | container_name: enb
15 | depends_on:
16 | - mme
17 | cap_add:
18 | - SYS_NICE
19 | networks:
20 | upn:
21 | ipv4_address: 192.168.27.60
22 | rfn:
23 | ipv4_address: 192.168.28.60
24 | volumes:
25 | - ./config_upn/srsLTE:/config:z
26 | entrypoint:
27 | - srsenb
28 | command:
29 | - /config/enb.conf
30 | - --enb.name=dummyENB01
31 | - --enb.enb_id=0x60
32 | - --enb.n_prb=6
33 | - --enb.mme_addr=192.168.26.20
34 | - --enb.gtp_bind_addr=192.168.27.60
35 | - --enb.s1c_bind_addr=192.168.27.60
36 | - --enb_files.rr_config=/config/rr.conf
37 | - --enb_files.sib_config=/config/sib.conf
38 | - --enb_files.drb_config=/config/drb.conf
39 | - --rf.device_name=zmq
40 | - --rf.device_args=tx_port0=tcp://*:5555,rx_port0=tcp://192.168.28.61:5554,tx_port1=tcp://*:5565,rx_port1=tcp://192.168.28.62:5564,tx_port2=tcp://*:5575,rx_port2=tcp://192.168.28.63:5574,tx_port3=tcp://*:5585,rx_port3=tcp://192.168.28.64:5584,id=enb0,base_srate=1.92e6
41 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/SIMULATED/srsran-enb.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | ran:
6 | external:
7 | name: ran
8 | rfn:
9 | external:
10 | name: rfn
11 | services:
12 | enb:
13 | image: iqtlabs/srsran:latest
14 | container_name: enb
15 | depends_on:
16 | mme:
17 | condition: service_healthy
18 | cap_add:
19 | - SYS_NICE
20 | networks:
21 | rfn:
22 | ipv4_address: 192.168.28.60
23 | ran:
24 | ipv4_address: 192.168.29.60
25 | volumes:
26 | - "../configs/srsRAN:/config:z"
27 | labels:
28 | - "daedalus.namespace=primary"
29 | entrypoint:
30 | - /scripts/run_rfn_enb.sh
31 | command:
32 | - /config/enb.conf
33 | - --enb_files.rr_config=/config/virtual-rr.conf
34 | - --enb.name=dummyENB01
35 | - --enb.enb_id=0x60
36 | - --enb.n_prb=6
37 | - --enb.mme_addr=192.168.26.20
38 | - --enb.gtp_bind_addr=192.168.29.60
39 | - --enb.s1c_bind_addr=192.168.29.60
40 | - --rf.device_name=zmq
41 | - --rf.device_args=tx_port0=tcp://*:5555,rx_port0=tcp://192.168.28.61:5554,tx_port1=tcp://*:5565,rx_port1=tcp://192.168.28.62:5564,tx_port2=tcp://*:5575,rx_port2=tcp://192.168.28.63:5574,tx_port3=tcp://*:5585,rx_port3=tcp://192.168.28.64:5584,id=enb0,base_srate=1.92e6
42 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/up.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | SCENARIO=$1
4 | echo "vlan: $VLAN" > scenario-"$SCENARIO"-cpn.txt
5 |
6 | cd dovesnap
7 | MIRROR_BRIDGE_OUT=enp4s0 MIRROR_BRIDGE_IN=enp3s0 FAUCETCONFRPC_IP=192.168.199.1 STACK_OFCONTROLLERS=tcp:192.168.199.1:6653,tcp:192.168.199.1:6654 docker-compose -f docker-compose.yml up -d --build
8 | cd ..
9 |
10 | docker network create -o ovs.bridge.dpid=0x600 -o ovs.bridge.mode=nat --subnet 192.168.26.0/24 --gateway 192.168.26.1 --ipam-opt com.docker.network.bridge.name=cpn -o ovs.bridge.nat_acl=protectcpn -o ovs.bridge.add_ports=VLAN26/1 -o ovs.bridge.vlan=26 -o ovs.bridge.controller=tcp:192.168.199.1:6653,tcp:192.168.199.1:6654 -o ovs.bridge.add_copro_ports=enp2s0/999 -o ovs.bridge.mtu=9000 --ipam-opt com.docker.network.driver.mtu=9000 --internal -d ovs cpn
11 |
12 | docker network create -o ovs.bridge.dpid=0x610 -o ovs.bridge.mode=flat -o ovs.bridge.add_ports=VLAN29/1 -o ovs.bridge.vlan=29 -o ovs.bridge.dhcp=true -o ovs.bridge.controller=tcp:192.168.199.1:6653,tcp:192.168.199.1:6654 -o ovs.bridge.add_copro_ports=enp2s0/999 --ipam-driver null --internal -d ovs desktops
13 |
14 | cd mongoloader && docker build -t mongoloader . && cd ..
15 |
16 | docker build -t open5gs . && docker-compose -f docker-compose-5g-nsa-cpn.yml up -d --build
17 |
18 | docker-compose -f docker-compose-5g-nsa-cpn.yml -f docker-compose-5g-nsa-upn.yml logs -f
19 |
--------------------------------------------------------------------------------
/.github/workflows/secrets-scan.yml:
--------------------------------------------------------------------------------
1 | name: secrets
2 |
3 | on: [push, pull_request]
4 |
5 | jobs:
6 | scan:
7 | runs-on: ubuntu-latest
8 | steps:
9 | - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
10 | - name: scan
11 | run: |
12 | export DEBIAN_FRONTEND=noninteractive && \
13 | echo 'debconf debconf/frontend select Noninteractive' | sudo debconf-set-selections && \
14 | sudo apt-get update && \
15 | python3 -m pip install --upgrade pip && \
16 | pip3 install whispers && \
17 | mkdir /home/runner/reports/ && \
18 | whispers --severity BLOCKER,CRITICAL -o /home/runner/reports/whispers.json -c ${GITHUB_WORKSPACE}/.github/workflows/config/whispers-config.yml ${GITHUB_WORKSPACE} && \
19 | echo "::set-output name=found-count::$(wc -l /home/runner/reports/whispers.json | cut -d' ' -f1)"
20 | - name: Fail if found
21 | if: steps.scan.outputs.found-count != 0
22 | uses: actions/github-script@v7
23 | with:
24 | script: |
25 | echo {{steps.scan.outputs.found-count}} && \
26 | core.setFailed('Secrets found. Please check the uploaded report')
27 | - name: Upload scan reports
28 | uses: actions/upload-artifact@v4.3.1
29 | if: failure()
30 | with:
31 | name: whispers-report
32 | path: /home/runner/reports/whispers.json
--------------------------------------------------------------------------------
/blue/release/update_docker_compose.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python3
2 | # update docker-compose files with a release version or latest.
3 | import json
4 | import sys
5 | import urllib.request
6 | from collections import OrderedDict
7 |
8 | import ruamel.yaml
9 |
10 | if len(sys.argv) != 2:
11 | print("supply release version or 'latest' as an argument")
12 | sys.exit(1)
13 |
14 | version = sys.argv[1]
15 | compose_files = ['../5G/daedalus/5G/core/core.yml', '../5G/daedalus/5G/core/ui.yml', '../5G/daedalus/5G/core/epc.yml',
16 | '../5G/daedalus/5G/core/upn.yml', '../5G/daedalus/5G/core/db.yml', '../5G/daedalus/5G/SIMULATED/ueransim-gnb.yml',
17 | '../5G/daedalus/5G/SIMULATED/ueransim-ue.yml', '../5G/daedalus/5G/SIMULATED/srsran-ue.yml',
18 | '../5G/daedalus/5G/SIMULATED/srsran-enb.yml', '../5G/daedalus/5G/SDR/ettus.yml', '../5G/daedalus/5G/SDR/bladerf.yml']
19 |
20 | for compose_file in compose_files:
21 | # Broadly preserves formatting.
22 | yaml = ruamel.yaml.YAML()
23 | yaml.indent(mapping=2, sequence=2, offset=2)
24 | dc = ruamel.yaml.round_trip_load(
25 | open(compose_file).read(), preserve_quotes=True)
26 | for service, service_config in dc['services'].items():
27 | image, _ = service_config['image'].split(':')
28 | if 'iqtlabs' in image:
29 | service_config['image'] = ':'.join((image, version))
30 | yaml.dump(dc, open(compose_file, 'w'))
31 |
--------------------------------------------------------------------------------
/environments/scenario2/host2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:20.04
2 | MAINTAINER Charlie Lewis
3 | ENV DEBIAN_FRONTEND noninteractive
4 | RUN apt-get update && \
5 | apt-get install -y --no-install-recommends \
6 | libmicrohttpd-dev \
7 | libnghttp2-dev \
8 | libcurl4-gnutls-dev \
9 | python3-pip \
10 | python3-setuptools \
11 | python3-wheel \
12 | ninja-build \
13 | build-essential \
14 | flex \
15 | bison \
16 | git \
17 | libsctp-dev \
18 | libgnutls28-dev \
19 | libgcrypt-dev \
20 | libssl-dev \
21 | libidn11-dev \
22 | libmongoc-dev \
23 | libbson-dev \
24 | libyaml-dev \
25 | iproute2 \
26 | ca-certificates \
27 | netbase \
28 | tshark \
29 | iptables \
30 | net-tools \
31 | mongodb-clients \
32 | curl \
33 | gnupg \
34 | pkg-config \
35 | tcpdump \
36 | iputils-ping \
37 | lksctp-tools && \
38 | apt-get clean
39 | RUN python3 -m pip install meson
40 | RUN git clone https://github.com/open5gs/open5gs.git -b v2.1.7
41 | WORKDIR /open5gs
42 | RUN meson build && ninja -C build install
43 | WORKDIR /
44 |
45 | RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
46 | RUN apt-get -y install nodejs
47 |
48 | RUN cd /open5gs/webui && npm install && npm run build
49 |
50 | ENTRYPOINT ["/bin/sh"]
51 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:20.04
2 | MAINTAINER Charlie Lewis
3 | ENV DEBIAN_FRONTEND noninteractive
4 | RUN apt-get update && \
5 | apt-get install -y --no-install-recommends \
6 | libmicrohttpd-dev \
7 | libnghttp2-dev \
8 | libcurl4-gnutls-dev \
9 | python3-pip \
10 | python3-setuptools \
11 | python3-wheel \
12 | ninja-build \
13 | build-essential \
14 | flex \
15 | bison \
16 | git \
17 | libsctp-dev \
18 | libgnutls28-dev \
19 | libgcrypt-dev \
20 | libssl-dev \
21 | libidn11-dev \
22 | libmongoc-dev \
23 | libbson-dev \
24 | libyaml-dev \
25 | iproute2 \
26 | ca-certificates \
27 | netbase \
28 | tshark \
29 | iptables \
30 | net-tools \
31 | mongodb-clients \
32 | curl \
33 | gnupg \
34 | pkg-config \
35 | tcpdump \
36 | iputils-ping \
37 | lksctp-tools && \
38 | apt-get clean
39 | RUN python3 -m pip install meson
40 | RUN git clone https://github.com/open5gs/open5gs.git -b v2.1.7
41 | WORKDIR /open5gs
42 | RUN meson build && ninja -C build install
43 | WORKDIR /
44 |
45 | RUN curl -sL https://deb.nodesource.com/setup_10.x | bash -
46 | RUN apt-get -y install nodejs
47 |
48 | RUN cd /open5gs/webui && npm install && npm run build
49 |
50 | ENTRYPOINT ["/bin/sh"]
51 |
--------------------------------------------------------------------------------
/blue/pyproject.toml:
--------------------------------------------------------------------------------
1 | [project]
2 | name = "daedalus-5g"
3 | version = "0.11.8"
4 | description = "A tool for creating 4G/5G environments both with SDRs and virtual simulation to run experiments in"
5 | authors = [
6 | { name = "cglewis", email = "clewis@iqt.org" }
7 | ]
8 | license = { file = "LICENSE" }
9 | readme = "README.md"
10 | requires-python = ">=3.8"
11 |
12 | classifiers = [
13 | "Development Status :: 2 - Pre-Alpha",
14 | "License :: OSI Approved :: Apache Software License",
15 | "Programming Language :: Python"
16 | ]
17 | # Requirements
18 | dependencies = [
19 | "docker ==7.0.0",
20 | "dovesnap ==1.1.23",
21 | "plumbum ==1.8.2",
22 | "inquirer ==3.2.4",
23 | ]
24 |
25 | [project.optional-dependencies]
26 | test = [
27 | "attrs==23.2.0",
28 | "codecov==2.1.13",
29 | "pylint==3.1.0",
30 | "pytype==2024.3.19",
31 | "pytest==8.1.1",
32 | "pytest-cov==5.0.0",
33 | "ruamel.yaml~=0.17"
34 | ]
35 | generate_fs = [
36 | "essential_generators",
37 | "numpy"
38 | ]
39 | confuser = [
40 | "fusepy"
41 | ]
42 |
43 | [project.scripts]
44 | daedalus = "daedalus.__main__:main"
45 |
46 | [build-system]
47 | requires = [
48 | "setuptools >= 62.0.0",
49 | ]
50 | build-backend = "setuptools.build_meta"
51 |
52 | [tool.setuptools]
53 | packages = [ "daedalus" ]
54 | package-dir = {"daedalus" = "5G/daedalus"}
55 | include-package-data = true
56 |
57 | [tool.setuptools.package-data]
58 | daedalus = ["5G/*",]
59 |
60 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/hostnames.txt:
--------------------------------------------------------------------------------
1 | action
2 | enid
3 | marion
4 | sawtooth
5 | alturas
6 | erie
7 | meade
8 | seeley
9 | bantam
10 | fairfax
11 | merritt
12 | seminole
13 | baron
14 | fallriver
15 | michigan
16 | sevuer
17 | beaver
18 | fenton
19 | minnetonkas
20 | shasta
21 | beshear
22 | geneva
23 | mono
24 | sinclair
25 | bluestone
26 | george
27 | navajo
28 | spirit
29 | bluewater
30 | greenbo
31 | okeechobee
32 | storm
33 | burke
34 | greers
35 | ontario
36 | stump
37 | caddo
38 | greeson
39 | ozarks
40 | summer
41 | candlewood
42 | gull
43 | patoka
44 | sunapee
45 | cedar
46 | harding
47 | peck
48 | superior
49 | champlain
50 | harris
51 | perry
52 | sutton
53 | claytor
54 | hartwell
55 | placid
56 | tahoe
57 | como
58 | hauser
59 | pleasant
60 | texoma
61 | cowan
62 | heron
63 | pontchartrain
64 | travis
65 | crater
66 | higgins
67 | powell
68 | trinity
69 | crescent
70 | holt
71 | pyramid
72 | tule
73 | crystal
74 | horsehead
75 | redfish
76 | tupper
77 | cumberland
78 | houghton
79 | rend
80 | tygart
81 | cypress
82 | huron
83 | rico
84 | ute
85 | degray
86 | isabella
87 | rush
88 | verret
89 | delta
90 | kickapoo
91 | sabbatia
92 | walker
93 | donner
94 | kissimmee
95 | sabine
96 | walloon
97 | eagle
98 | leech
99 | sakakawea
100 | wheeler
101 | elk
102 | liberty
103 | salton
104 | wilson
105 | elwell
106 | locust
107 | sardis
108 | zoar
109 | emporia
110 | lurleen
111 | saugatuck
112 |
--------------------------------------------------------------------------------
/environments/scenario1/host3/hostnames.txt:
--------------------------------------------------------------------------------
1 | action
2 | enid
3 | marion
4 | sawtooth
5 | alturas
6 | erie
7 | meade
8 | seeley
9 | bantam
10 | fairfax
11 | merritt
12 | seminole
13 | baron
14 | fallriver
15 | michigan
16 | sevuer
17 | beaver
18 | fenton
19 | minnetonkas
20 | shasta
21 | beshear
22 | geneva
23 | mono
24 | sinclair
25 | bluestone
26 | george
27 | navajo
28 | spirit
29 | bluewater
30 | greenbo
31 | okeechobee
32 | storm
33 | burke
34 | greers
35 | ontario
36 | stump
37 | caddo
38 | greeson
39 | ozarks
40 | summer
41 | candlewood
42 | gull
43 | patoka
44 | sunapee
45 | cedar
46 | harding
47 | peck
48 | superior
49 | champlain
50 | harris
51 | perry
52 | sutton
53 | claytor
54 | hartwell
55 | placid
56 | tahoe
57 | como
58 | hauser
59 | pleasant
60 | texoma
61 | cowan
62 | heron
63 | pontchartrain
64 | travis
65 | crater
66 | higgins
67 | powell
68 | trinity
69 | crescent
70 | holt
71 | pyramid
72 | tule
73 | crystal
74 | horsehead
75 | redfish
76 | tupper
77 | cumberland
78 | houghton
79 | rend
80 | tygart
81 | cypress
82 | huron
83 | rico
84 | ute
85 | degray
86 | isabella
87 | rush
88 | verret
89 | delta
90 | kickapoo
91 | sabbatia
92 | walker
93 | donner
94 | kissimmee
95 | sabine
96 | walloon
97 | eagle
98 | leech
99 | sakakawea
100 | wheeler
101 | elk
102 | liberty
103 | salton
104 | wilson
105 | elwell
106 | locust
107 | sardis
108 | zoar
109 | emporia
110 | lurleen
111 | saugatuck
112 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/hostnames.txt:
--------------------------------------------------------------------------------
1 | action
2 | enid
3 | marion
4 | sawtooth
5 | alturas
6 | erie
7 | meade
8 | seeley
9 | bantam
10 | fairfax
11 | merritt
12 | seminole
13 | baron
14 | fallriver
15 | michigan
16 | sevuer
17 | beaver
18 | fenton
19 | minnetonkas
20 | shasta
21 | beshear
22 | geneva
23 | mono
24 | sinclair
25 | bluestone
26 | george
27 | navajo
28 | spirit
29 | bluewater
30 | greenbo
31 | okeechobee
32 | storm
33 | burke
34 | greers
35 | ontario
36 | stump
37 | caddo
38 | greeson
39 | ozarks
40 | summer
41 | candlewood
42 | gull
43 | patoka
44 | sunapee
45 | cedar
46 | harding
47 | peck
48 | superior
49 | champlain
50 | harris
51 | perry
52 | sutton
53 | claytor
54 | hartwell
55 | placid
56 | tahoe
57 | como
58 | hauser
59 | pleasant
60 | texoma
61 | cowan
62 | heron
63 | pontchartrain
64 | travis
65 | crater
66 | higgins
67 | powell
68 | trinity
69 | crescent
70 | holt
71 | pyramid
72 | tule
73 | crystal
74 | horsehead
75 | redfish
76 | tupper
77 | cumberland
78 | houghton
79 | rend
80 | tygart
81 | cypress
82 | huron
83 | rico
84 | ute
85 | degray
86 | isabella
87 | rush
88 | verret
89 | delta
90 | kickapoo
91 | sabbatia
92 | walker
93 | donner
94 | kissimmee
95 | sabine
96 | walloon
97 | eagle
98 | leech
99 | sakakawea
100 | wheeler
101 | elk
102 | liberty
103 | salton
104 | wilson
105 | elwell
106 | locust
107 | sardis
108 | zoar
109 | emporia
110 | lurleen
111 | saugatuck
112 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/core/upn.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | networks:
5 | upn:
6 | external:
7 | name: upn
8 |
9 | services:
10 | sgwu:
11 | image: iqtlabs/open5gs:latest
12 | container_name: sgwu
13 | hostname: sgwu
14 | depends_on:
15 | smf:
16 | condition: service_started
17 | entrypoint:
18 | - /usr/local/bin/open5gs-sgwud
19 | command:
20 | - -c
21 | - /usr/local/etc/slice.yaml
22 | volumes:
23 | - "../configs:/usr/local/etc:z"
24 | networks:
25 | upn:
26 | ipv4_address: 192.168.27.31
27 | labels:
28 | - "dovesnap.faucet.mirror=true"
29 | - "daedalus.namespace=primary"
30 | upf:
31 | image: iqtlabs/open5gs:latest
32 | container_name: upf
33 | hostname: upf
34 | depends_on:
35 | sgwu:
36 | condition: service_started
37 | command:
38 | - "/scripts/run_upf.sh"
39 | - "10.10.0.1/16"
40 | - "10.11.0.1/16"
41 | - "10.12.0.1/16"
42 | volumes:
43 | - "../configs:/usr/local/etc:z"
44 | cap_add:
45 | - NET_ADMIN
46 | - SYS_NICE
47 | devices:
48 | - /dev/net/tun
49 | sysctls:
50 | - net.ipv4.conf.all.send_redirects=0
51 | - net.ipv4.conf.default.send_redirects=0
52 | networks:
53 | upn:
54 | ipv4_address: 192.168.27.41
55 | labels:
56 | - "dovesnap.faucet.mirror=true"
57 | - "daedalus.namespace=primary"
58 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/srsRAN/virtual-rr.conf:
--------------------------------------------------------------------------------
1 | @include "/config/rr.conf"
2 |
3 | cell_list =
4 | (
5 | {
6 | rf_port = 0;
7 | cell_id = 0x01;
8 | tac = 0x0001;
9 | pci = 1;
10 | root_seq_idx = 204;
11 | dl_earfcn = 2850;
12 | ho_active = false;
13 |
14 | // CA cells
15 | #scell_list = (
16 | # {cell_id = 0x02; cross_carrier_scheduling = false; scheduling_cell_id = 0x01; ul_allowed = true}
17 | #)
18 | },
19 | {
20 | rf_port = 1;
21 | cell_id = 0x02;
22 | tac = 0x0001;
23 | pci = 4;
24 | root_seq_idx = 205;
25 | dl_earfcn = 3050;
26 | ho_active = false;
27 |
28 | // CA cells
29 | # scell_list = (
30 | # {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
31 | # )
32 | },
33 | {
34 | rf_port = 2;
35 | cell_id = 0x03;
36 | tac = 0x0001;
37 | pci = 7;
38 | root_seq_idx = 206;
39 | dl_earfcn = 3250;
40 | ho_active = false;
41 |
42 | // CA cells
43 | # scell_list = (
44 | # {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
45 | # )
46 | },
47 | {
48 | rf_port = 3;
49 | cell_id = 0x04;
50 | tac = 0x0001;
51 | pci = 10;
52 | root_seq_idx = 207;
53 | dl_earfcn = 3450;
54 |
55 | // CA cells
56 | # scell_list = (
57 | # {cell_id = 0x01; cross_carrier_scheduling = false; scheduling_cell_id = 0x02; ul_allowed = true}
58 | # )
59 | }
60 | );
61 |
--------------------------------------------------------------------------------
/environments/scenario2/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM ubuntu:20.04
2 | MAINTAINER Charlie Lewis
3 | ENV DEBIAN_FRONTEND noninteractive
4 | RUN apt-get update && \
5 | apt-get install -y --no-install-recommends \
6 | libmicrohttpd-dev \
7 | libnghttp2-dev \
8 | libcurl4-gnutls-dev \
9 | python3-pip \
10 | python3-setuptools \
11 | python3-wheel \
12 | ninja-build \
13 | build-essential \
14 | flex \
15 | bison \
16 | git \
17 | libsctp-dev \
18 | libgnutls28-dev \
19 | libgcrypt-dev \
20 | libssl-dev \
21 | libidn11-dev \
22 | libmongoc-dev \
23 | libbson-dev \
24 | libyaml-dev \
25 | iproute2 \
26 | ca-certificates \
27 | netbase \
28 | tshark \
29 | iptables \
30 | net-tools \
31 | mongodb-clients \
32 | curl \
33 | gnupg \
34 | pkg-config \
35 | tcpdump \
36 | iputils-ping \
37 | lksctp-tools && \
38 | apt-get clean
39 | RUN python3 -m pip install meson
40 | RUN curl -sL https://deb.nodesource.com/setup_14.x | bash -
41 | RUN apt-get -y install nodejs
42 |
43 | RUN git clone https://github.com/open5gs/open5gs.git -b v2.2.9
44 | WORKDIR /open5gs
45 | RUN meson build && ninja -C build install
46 | RUN ldconfig
47 | WORKDIR /open5gs/webui
48 | RUN npm install && npm run build
49 | RUN ln -s /usr/local/lib/*/freeDiameter /freeDiameter
50 |
51 | ENTRYPOINT ["/bin/sh"]
52 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/srsRAN/rr.conf:
--------------------------------------------------------------------------------
1 | mac_cnfg =
2 | {
3 | phr_cnfg =
4 | {
5 | dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY
6 | periodic_phr_timer = 50;
7 | prohibit_phr_timer = 0;
8 | };
9 | ulsch_cnfg =
10 | {
11 | max_harq_tx = 4;
12 | periodic_bsr_timer = 20; // in ms
13 | retx_bsr_timer = 320; // in ms
14 | };
15 |
16 | time_alignment_timer = -1; // -1 is infinity
17 | };
18 |
19 | phy_cnfg =
20 | {
21 | phich_cnfg =
22 | {
23 | duration = "Normal";
24 | resources = "1/6";
25 | };
26 |
27 | pusch_cnfg_ded =
28 | {
29 | beta_offset_ack_idx = 6;
30 | beta_offset_ri_idx = 6;
31 | beta_offset_cqi_idx = 6;
32 | };
33 |
34 | // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource.
35 | sched_request_cnfg =
36 | {
37 | dsr_trans_max = 64;
38 | period = 20; // in ms
39 | //subframe = [1, 11]; // Optional vector of subframe indices allowed for SR transmissions (default uses all)
40 | nof_prb = 1; // number of PRBs on each extreme used for SR (total prb is twice this number)
41 | };
42 | cqi_report_cnfg =
43 | {
44 | mode = "periodic";
45 | simultaneousAckCQI = true;
46 | period = 40; // in ms
47 | //subframe = [0, 10, 20, 30]; // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all)
48 | nof_prb = 1;
49 | m_ri = 8; // RI period in CQI period
50 | };
51 | };
52 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/configs/open5gs/smf.yaml:
--------------------------------------------------------------------------------
1 | ---
2 | ### For reference, see `nextepc.conf`
3 |
4 | logger:
5 | file: /usr/local/var/log/open5gs/smf.log
6 | trace:
7 | app: 1
8 | diameter: 1
9 | gtpv2: 1
10 | gtp: 1
11 |
12 | sbi:
13 | server:
14 | no_tls: true
15 | client:
16 | no_tls: true
17 |
18 | smf:
19 | freeDiameter:
20 | identity: smf.localdomain
21 | realm: localdomain
22 | listen_on: 192.168.26.40
23 | no_fwd: true
24 | load_extension:
25 | - module: /freeDiameter/dbg_msg_dumps.fdx
26 | conf: 0x8888
27 | - module: /freeDiameter/dict_rfc5777.fdx
28 | - module: /freeDiameter/dict_mip6i.fdx
29 | - module: /freeDiameter/dict_nasreq.fdx
30 | - module: /freeDiameter/dict_nas_mipv6.fdx
31 | - module: /freeDiameter/dict_dcca.fdx
32 | - module: /freeDiameter/dict_dcca_3gpp.fdx
33 | connect:
34 | - identity: pcrf.localdomain
35 | addr: 192.168.26.50
36 | gtpc:
37 | - addr: 192.168.26.40
38 | gtpu:
39 | - addr: 192.168.26.40
40 | pfcp:
41 | - addr: 192.168.26.40
42 | subnet:
43 | - addr: 10.10.0.1/16
44 | apn: internet
45 | dev: ogstap
46 | - addr: 10.11.0.1/16
47 | apn: internet2
48 | dev: ogstap2
49 | - addr: 10.12.0.1/16
50 | apn: iot.nb
51 | dev: ogstap3
52 | - addr: 10.50.0.1/16 # FALLBACK SUBNET
53 | dns:
54 | - 8.8.8.8
55 | - 8.8.4.4
56 |
57 | upf:
58 | pfcp:
59 | - addr: 192.168.27.41
60 | apn: [internet, internet2, iot.nb]
61 |
--------------------------------------------------------------------------------
/environments/scenario2/host3/dba/Dockerfile:
--------------------------------------------------------------------------------
1 | FROM dorowu/ubuntu-desktop-lxde-vnc
2 | RUN apt-get update && apt-get install -y mongodb
3 | RUN mkdir -p /data/db
4 | COPY ssh_server_fork.patch /ssh_server_fork.patch
5 | COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
6 | COPY ssh_host_dsa_key /etc/ssh/ssh_host_dsa_key
7 | COPY ssh_host_dsa_key.pub /etc/ssh/ssh_host_dsa_key.pub
8 | COPY ssh_host_rsa_key /etc/ssh/ssh_host_rsa_key
9 | COPY ssh_host_rsa_key.pub /etc/ssh/ssh_host_rsa_key.pub
10 | COPY ssh_host_ecdsa_key /etc/ssh/ssh_host_ecdsa_key
11 | COPY ssh_host_ecdsa_key.pub /etc/ssh/ssh_host_ecdsa_key.pub
12 | COPY imsi1.json /root/imsi1.json
13 |
14 | RUN set -ex \
15 | && BUILDDEP="gcc g++ make pkg-config cmake xz-utils patch" \
16 | && apt-get update \
17 | && apt-get install --no-install-recommends -y \
18 | ca-certificates \
19 | wget \
20 | libc6-dev \
21 | zlib1g-dev \
22 | libgcrypt20-dev \
23 | libgpg-error-dev \
24 | $BUILDDEP \
25 | && wget -qO- https://www.libssh.org/files/0.8/libssh-0.8.1.tar.xz \
26 | | xz -c -d | tar x -C /usr/src --strip-components=1 \
27 | && mkdir -p /usr/src/build \
28 | && patch /usr/src/examples/ssh_server_fork.c < /ssh_server_fork.patch \
29 | && cd /usr/src/build \
30 | && cmake \
31 | -DCMAKE_INSTALL_PREFIX=/usr \
32 | -DWITH_SERVER=ON \
33 | -DWITH_STATIC_LIB=ON \
34 | -DWITH_GSSAPI=ON \
35 | -DWITH_GCRYPT=ON \
36 | -DWITH_SFTP=ON \
37 | -DWITH_THREADS=ON \
38 | .. \
39 | && make && make install \
40 | && apt-get purge -y --auto-remove $BUILDDEP
41 |
--------------------------------------------------------------------------------
/.github/workflows/docker-srsran.yaml:
--------------------------------------------------------------------------------
1 | name: buildx-srsran
2 |
3 | on:
4 | push:
5 | branches: main
6 | tags: 'v*'
7 |
8 | jobs:
9 | srsran:
10 |
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
15 | with:
16 | fetch-depth: 0
17 | - name: Get the version
18 | id: get_version
19 | run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
20 | - name: Change for main
21 | id: change_version
22 | run: if [ "${{ steps.get_version.outputs.VERSION }}" == "main" ]; then echo ::set-output name=VERSION::latest; else echo ::set-output name=VERSION::${{ steps.get_version.outputs.VERSION }}; fi
23 | - name: Set up qemu
24 | uses: docker/setup-qemu-action@v3
25 | with:
26 | platforms: all
27 | - name: Set up Docker Buildx
28 | id: buildx
29 | uses: docker/setup-buildx-action@v3
30 | with:
31 | version: latest
32 | - name: Docker Login
33 | env:
34 | DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
35 | run: |
36 | echo "${DOCKER_PASSWORD}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
37 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push'
38 | - name: Build and push
39 | uses: docker/build-push-action@v5
40 | with:
41 | context: blue/5G/daedalus/5G/srsRAN
42 | platforms: linux/amd64,linux/arm64
43 | push: true
44 | tags: iqtlabs/srsran:${{ steps.change_version.outputs.VERSION }}
45 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push'
46 |
--------------------------------------------------------------------------------
/.github/workflows/docker-open5gs.yaml:
--------------------------------------------------------------------------------
1 | name: buildx-open5gs
2 |
3 | on:
4 | push:
5 | branches: main
6 | tags: 'v*'
7 |
8 | jobs:
9 | open5gs:
10 |
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
15 | with:
16 | fetch-depth: 0
17 | - name: Get the version
18 | id: get_version
19 | run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
20 | - name: Change for main
21 | id: change_version
22 | run: if [ "${{ steps.get_version.outputs.VERSION }}" == "main" ]; then echo ::set-output name=VERSION::latest; else echo ::set-output name=VERSION::${{ steps.get_version.outputs.VERSION }}; fi
23 | - name: Set up qemu
24 | uses: docker/setup-qemu-action@v3
25 | with:
26 | platforms: all
27 | - name: Set up Docker Buildx
28 | id: buildx
29 | uses: docker/setup-buildx-action@v3
30 | with:
31 | version: latest
32 | - name: Docker Login
33 | env:
34 | DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
35 | run: |
36 | echo "${DOCKER_PASSWORD}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
37 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push'
38 |
39 | - name: Build and push platforms
40 | uses: docker/build-push-action@v5
41 | with:
42 | context: blue/5G/daedalus/5G/open5gs
43 | platforms: linux/amd64,linux/arm64
44 | push: true
45 | tags: iqtlabs/open5gs:${{ steps.change_version.outputs.VERSION }}
46 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push'
47 |
--------------------------------------------------------------------------------
/.github/workflows/docker-ueransim.yaml:
--------------------------------------------------------------------------------
1 | name: buildx-ueransim
2 |
3 | on:
4 | push:
5 | branches: main
6 | tags: 'v*'
7 |
8 | jobs:
9 | ueransim:
10 |
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
15 | with:
16 | fetch-depth: 0
17 | - name: Get the version
18 | id: get_version
19 | run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
20 | - name: Change for main
21 | id: change_version
22 | run: if [ "${{ steps.get_version.outputs.VERSION }}" == "main" ]; then echo ::set-output name=VERSION::latest; else echo ::set-output name=VERSION::${{ steps.get_version.outputs.VERSION }}; fi
23 | - name: Set up qemu
24 | uses: docker/setup-qemu-action@v3
25 | with:
26 | platforms: all
27 | - name: Set up Docker Buildx
28 | id: buildx
29 | uses: docker/setup-buildx-action@v3
30 | with:
31 | version: latest
32 | - name: Docker Login
33 | env:
34 | DOCKER_PASSWORD: ${{ secrets.DOCKER_TOKEN }}
35 | run: |
36 | echo "${DOCKER_PASSWORD}" | docker login --username "${{ secrets.DOCKER_USERNAME }}" --password-stdin
37 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push'
38 | - name: Build and push platforms
39 | uses: docker/build-push-action@v5
40 | with:
41 | context: blue/5G/daedalus/5G/UERANSIM
42 | platforms: linux/amd64,linux/arm64
43 | push: true
44 | tags: iqtlabs/ueransim:${{ steps.change_version.outputs.VERSION }}
45 | if: github.repository == 'iqtlabs/daedalus' && github.event_name == 'push'
46 |
--------------------------------------------------------------------------------
/environments/scenario1/host2/tomcat_vuln_server/README.zh-cn.md:
--------------------------------------------------------------------------------
1 | # Tomcat7+ 弱口令 && 后台getshell漏洞
2 |
3 | Tomcat版本:8.0
4 |
5 | ## 环境说明
6 |
7 | Tomcat支持在后台部署war文件,可以直接将webshell部署到web目录下。其中,欲访问后台,需要对应用户有相应权限。
8 |
9 | Tomcat7+权限分为:
10 |
11 | - manager(后台管理)
12 | - manager-gui 拥有html页面权限
13 | - manager-status 拥有查看status的权限
14 | - manager-script 拥有text接口的权限,和status权限
15 | - manager-jmx 拥有jmx权限,和status权限
16 | - host-manager(虚拟主机管理)
17 | - admin-gui 拥有html页面权限
18 | - admin-script 拥有text接口权限
19 |
20 | 这些权限的究竟有什么作用,详情阅读 http://tomcat.apache.org/tomcat-8.5-doc/manager-howto.html
21 |
22 | 在`conf/tomcat-users.xml`文件中配置用户的权限:
23 |
24 | ```xml
25 |
26 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 | ```
41 |
42 | 可见,用户tomcat拥有上述所有权限,密码是`tomcat`。
43 |
44 | 正常安装的情况下,tomcat8中默认没有任何用户,且manager页面只允许本地IP访问。只有管理员手工修改了这些属性的情况下,才可以进行攻击。
45 |
46 | ## 漏洞测试
47 |
48 | 无需编译,直接启动整个环境:
49 |
50 | ```
51 | docker-compose up -d
52 | ```
53 |
54 | 打开tomcat管理页面`http://your-ip:8080/manager/html`,输入弱密码`tomcat:tomcat`,即可访问后台:
55 |
56 | 
57 |
58 | 上传war包即可直接getshell。
59 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/srsLTE/ettus/rr.conf:
--------------------------------------------------------------------------------
1 | mac_cnfg =
2 | {
3 | phr_cnfg =
4 | {
5 | dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY
6 | periodic_phr_timer = 50;
7 | prohibit_phr_timer = 0;
8 | };
9 | ulsch_cnfg =
10 | {
11 | max_harq_tx = 4;
12 | periodic_bsr_timer = 20; // in ms
13 | retx_bsr_timer = 320; // in ms
14 | };
15 |
16 | time_alignment_timer = -1; // -1 is infinity
17 | };
18 |
19 | phy_cnfg =
20 | {
21 | phich_cnfg =
22 | {
23 | duration = "Normal";
24 | resources = "1/6";
25 | };
26 |
27 | pusch_cnfg_ded =
28 | {
29 | beta_offset_ack_idx = 6;
30 | beta_offset_ri_idx = 6;
31 | beta_offset_cqi_idx = 6;
32 | };
33 |
34 | // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource.
35 | sched_request_cnfg =
36 | {
37 | dsr_trans_max = 64;
38 | period = 20; // in ms
39 | //subframe = [1, 11]; // Optional vector of subframe indices allowed for SR transmissions (default uses all)
40 | nof_prb = 1; // number of PRBs on each extreme used for SR (total prb is twice this number)
41 | };
42 | cqi_report_cnfg =
43 | {
44 | mode = "periodic";
45 | simultaneousAckCQI = true;
46 | period = 40; // in ms
47 | //subframe = [0, 10, 20, 30]; // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all)
48 | nof_prb = 1;
49 | m_ri = 8; // RI period in CQI period
50 | };
51 | };
52 |
53 | cell_list =
54 | (
55 | {
56 | rf_port = 0;
57 | cell_id = 0x01;
58 | tac = 0x0001;
59 | pci = 1;
60 | root_seq_idx = 204;
61 | dl_earfcn = 900;
62 | }
63 | );
64 |
--------------------------------------------------------------------------------
/environments/scenario2/config_upn/srsLTE/bladeRF/rr.conf:
--------------------------------------------------------------------------------
1 | mac_cnfg =
2 | {
3 | phr_cnfg =
4 | {
5 | dl_pathloss_change = "dB3"; // Valid: 1, 3, 6 or INFINITY
6 | periodic_phr_timer = 50;
7 | prohibit_phr_timer = 0;
8 | };
9 | ulsch_cnfg =
10 | {
11 | max_harq_tx = 4;
12 | periodic_bsr_timer = 20; // in ms
13 | retx_bsr_timer = 320; // in ms
14 | };
15 |
16 | time_alignment_timer = -1; // -1 is infinity
17 | };
18 |
19 | phy_cnfg =
20 | {
21 | phich_cnfg =
22 | {
23 | duration = "Normal";
24 | resources = "1/6";
25 | };
26 |
27 | pusch_cnfg_ded =
28 | {
29 | beta_offset_ack_idx = 6;
30 | beta_offset_ri_idx = 6;
31 | beta_offset_cqi_idx = 6;
32 | };
33 |
34 | // PUCCH-SR resources are scheduled on time-frequeny domain first, then multiplexed in the same resource.
35 | sched_request_cnfg =
36 | {
37 | dsr_trans_max = 64;
38 | period = 20; // in ms
39 | //subframe = [1, 11]; // Optional vector of subframe indices allowed for SR transmissions (default uses all)
40 | nof_prb = 1; // number of PRBs on each extreme used for SR (total prb is twice this number)
41 | };
42 | cqi_report_cnfg =
43 | {
44 | mode = "periodic";
45 | simultaneousAckCQI = true;
46 | period = 40; // in ms
47 | //subframe = [0, 10, 20, 30]; // Optional vector of subframe indices every period where CQI resources will be allocated (default uses all)
48 | nof_prb = 1;
49 | m_ri = 8; // RI period in CQI period
50 | };
51 | };
52 |
53 | cell_list =
54 | (
55 | {
56 | rf_port = 0;
57 | cell_id = 0x01;
58 | tac = 0x0001;
59 | pci = 1;
60 | root_seq_idx = 204;
61 | dl_earfcn = 900;
62 | }
63 | );
64 |
--------------------------------------------------------------------------------
/blue/5G/daedalus/5G/core/db.yml:
--------------------------------------------------------------------------------
1 | # using version 2 for the gateway option with ipam
2 | version: '2'
3 |
4 | volumes:
5 | mongodb_data:
6 |
7 | networks:
8 | cpn:
9 | external:
10 | name: cpn
11 |
12 | services:
13 | mongodb:
14 | image: mongo:jammy
15 | container_name: "mongodb"
16 | volumes:
17 | - mongodb_data:/data/db
18 | environment:
19 | - 'MONGO_INITDB_ROOT_USERNAME=${DB_USER}'
20 | - 'MONGO_INITDB_ROOT_PASSWORD=${DB_PASS}'
21 | command:
22 | - mongod
23 | - --bind_ip
24 | - 0.0.0.0
25 | hostname: mongodb
26 | healthcheck:
27 | test: mongosh mongodb:27017/test --quiet --eval 'db.runCommand("ping").ok'
28 | interval: 30s
29 | timeout: 10s
30 | retries: 5
31 | start_period: 40s
32 | networks:
33 | cpn:
34 | ipv4_address: 192.168.26.5
35 | labels:
36 | - "dovesnap.faucet.mirror=true"
37 | - "daedalus.namespace=primary"
38 | mongodbloader:
39 | image: mongo:jammy
40 | depends_on:
41 | mongodb:
42 | condition: service_healthy
43 | environment:
44 | - DB_HOST=mongodb
45 | - 'DB_USER=${DB_USER}'
46 | - 'DB_PASS=${DB_PASS}'
47 | volumes:
48 | - "../configs/imsis.json:/tmp/imsis.json:z"
49 | - "../open5gs/scripts/run_db.sh:/scripts/run_db.sh:z"
50 | entrypoint:
51 | - /bin/sh
52 | - /scripts/run_db.sh
53 |
54 | healthcheck:
55 | test: /bin/cat /importdone
56 | interval: 30s
57 | timeout: 10s
58 | retries: 10
59 | start_period: 40s
60 | networks:
61 | cpn:
62 | ipv4_address: 192.168.26.19
63 | labels:
64 | - "dovesnap.faucet.mirror=true"
65 | - "daedalus.namespace=primary"
66 |
--------------------------------------------------------------------------------