Giter Site home page Giter Site logo

ait-testbed / atb-aecid-testbed Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 1.0 101.03 MB

The AECID Testbed is a simulated enterprise network with numerous vulnerabilities. Attacks in this testbed are executed automatically and cover a variety of tactics and techniques of the MITRE enterprise framework.

License: GNU General Public License v3.0

Jinja 55.60% Ruby 3.11% Shell 10.71% HCL 29.51% Python 1.06%
aecid ait ansible atb environment openstack research security terraform terragrunt

atb-aecid-testbed's Introduction

Welcome to AIT AECID Testbed!

The AECID Testbed is a simulated enterprise network packed with numerous vulnerabilities. The testbed can be used to automatically launch several attack scenarios and collect log data (apache access logs, DNS logs, syslog, authentication logs, audit logs, suricata logs, exim/mail logs, monitoring logs, etc.) as well as network traffic for forensic or live analysis and IDS evaluation. The attack scenarios are designed to cover as many tactics and techniques of the MITRE enterprise framework as possible. This repository contains all scripts required to setup such a testbed and launch the attack scenarios within a virtualized environment.

Scenarios

The testbed comprises three segments connected via a firewall: Internet (contains public DNS server), DMZ (contains a video server), and Intranet (contains user hosts). The scenarios are designed as multi-step attacks; to incorporate as many different attack techniques as possible, attack scenarios can be launched with many different variations of specific attack steps. Each scenario targets certain components or services in the network, which are described in the following.

Videoserver Scenario

In the video server scenario, an attacker first scans the network for vulnerabilities. After disclosing a vulnerable CCTV software on a video server, the attacker gains access to the DMZ through unauthenticated remote code execution. Subsequently, one of several vulnerabilities is used by the attacker to escalate privileges. Finally, using root permissions, the attacker is able to pause the CCTV image momentarily, potentially allowing intruders to physically invade the enterprise without being recorded.

Videoserver Scenario

Linux Malware Scenario

The Linux malware scenario uses the same network components as the video server scenario. An attacker gains access to the system through a remote service and manages to increase their privileges there. Next, the malicious actor installs a post exploitation toolkit to persist their access. In a variation of this scenario, the attacker installs a Linux rootkit to hide the post exploitation toolkit.

Lateral Movement Scenario

In the lateral movement scenario, the attacker gains access to a repository server in the DMZ through various remote services. By sniffing network connections, they obtain access credentials that provide administrator permissions. Next, the malicious actor gains access to a linux share in the local network through various vulnerabilities. Finally, the attacker executes various malicious payloads (such as a ransomware attack) on the target system.

Lateral Movement Scenario

MITRE Navigator

The following figure shows which tactics and techniques are currently covered by the aforementioned scenarios:

MITRE Navigator

Requirements

Documentation

Publications

If you use the testbed environment or any of the generated datasets, please cite the following publications:

Contact

Austrian Institute of Technology

License

GNU General Public License v3.0

atb-aecid-testbed's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

annaerdi

atb-aecid-testbed's Issues

Add admin network

Currently the adminpc's are in the lan-network. Create admin-networks. Admins are allowed to access all networks. Add the network to the terragrunt/bootstrap

Use static ip for mgmt-host

MGMT-Host needs static ip adresses. Change the terragrunt-bootstrap. Use the same postfix(last part of the ip address) for every single network

Make MGMT-Host Secure

In scenario1(videoserver) some attacks need actions executed from admin-pc. In order to make those hosts accessible by attackm8, the mgmt-host is allowed to have password-login via ssh. This is insecure in environments where the mgmt-host is hosted with a public ip(public cloudprovider).

I can think of possible solutions like:

  1. create another jumphost, that is only for the simulation and has no floating-ip
  2. add the inet-network to the adminpcs so that they are dual-homed and can directly accessed by attackm8

Update default flavor variable names

The variables.pkr.hcl files in the packer folders have the old names as default values for the flavor variables. This should be eventually updated to the new naming conventions (e.g. d2-2 instead of m1.small).

Add user network

Create a dedicated network for user-clients. Install a squid-proxy on the firewall so that the users are forced to use the proxy

customdpkg is broken

customdpkg installs from a repository. But at packer-time there is no repository!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.