This is an archived web site made available for research purposes. The web site is no longer maintained.

Challenge Information - NRFIN_00069

Commonly known as: Multi_Arena_Pursuit_Simulator


Rounds Enabled

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19

Details

Original Versions

Known Vulnerabilities

  • CWE-125 - Out-of-bounds Read
  • CWE-170 - Improper Null Termination
  • CWEs are listed as indicated by the challenge author.

Deployed patches

Deployed IDS rules

None

Author Information

"Jason Rogers" info@narfindustries.com

DARPA performer group

Narf Industries (NRFIN)

Description

Welcome to the Multi-Arena Pursuit Simulator. This tool will train you how to make the precision moves that lead to the successful capture of a fleeing criminal everytime. Though be careful. Just a single bad move, and your criminal could be gone for good. In this simulation you will pursue criminals in both an urban and nautical setting.

Each of the simulations will begin with providing the user the starting location of the criminal on one of two arenas. The user will then provide the simulators a list of valid moves that will either lead to the capture of the criminal or of their successful evasion. Due to the technical advantages of the user's vehicles, the user is allowed to move two units per turn, while the criminal only moves one unit per turn. If the user reaches a position at or adjacent to that of the criminal, the criminal is "caught." If the criminal reaches a position where evasion will always be possible, the criminal "gets away".

Successful completion of the simulator requires 100 successful captures in a row in both the City and Harbor arenas.

Feature List

City Chase

  • The map is a square grid.
  • The user must obey all traffic signals, which will permit only Forward and Right moves.
  • The criminal is able to move in any of four directions or stay where they are.

Harbor Chase

  • The map is triangular lattice.
  • The user's watercraft restricts movement to only Forward movements. Therefore, Left and Right movements are only 45-degrees of Forward.
  • The criminal is able to move in any of six directions or stay where they are.

Vulnerability 1

This vulnerability is the result of the overflowing of a string buffer, along with the incorrect calculation of the string length. When a criminal is successfully caught, a message is returned to the user along with the number of moves it took to catch the criminal. The buffer that holds the message can be overflown when the number of moves is greater that 6 digits or 100,000. By overflowing the buffer, the subsequent strlen call will read into the next buffer. This excessive length calculation will lead to leaking the memory from the adjacent buffer, which contains a hexadecimal encoding of the flag.

Generic class of vulnerability

Improper Null Termination Out-of-bounds Read

CWE classification

CWE-170: Improper Null Termination CWE-125: Out-of-bounds Read

Challenges

  1. To reach the code that sends the "caught message" the user must be able to catch the criminal. Catching the criminal requires an understanding of a) How moves impact the criminal's position b) How the criminal chooses moves based on the map values c) How the map is created and the values in each location d) The conditions that must be satisfied for the criminal to be "caught" d) What moves will successfully to "catch" the criminal

  2. To overflow the buffer the user must create a series of moves that allows the criminal to evade capture for at least 100,000 moves and then be caught without the criminal moving into a coordinate that allows the criminal to "get away".

  3. Proper decoding of the flag values from a hexadecimal string into a binary value.

Difficulty

  • Discovering is easy
  • Proving is medium
  • Patching is easy

POV Information

Round Source Destination Result POV Analysis Video
1 CSDS CodeJitsu Failed POV POV Watch
1 CSDS DeepRed Failed POV POV Watch
1 CSDS Disekt Failed POV POV Watch
1 CSDS ForAllSecure Failed POV POV Watch
1 CSDS Shellphish Failed POV POV Watch
1 CSDS TECHx Failed POV POV Watch
1 DeepRed CodeJitsu Failed POV POV Watch
1 DeepRed CSDS Failed POV POV Watch
1 DeepRed Disekt Failed POV POV Watch
1 DeepRed ForAllSecure Failed POV POV Watch
1 DeepRed Shellphish Failed POV POV Watch
1 DeepRed TECHx Failed POV POV Watch
1 ForAllSecure CodeJitsu Failed POV POV Watch
1 ForAllSecure CSDS Failed POV POV Watch
1 ForAllSecure DeepRed Failed POV POV Watch
1 ForAllSecure Disekt Failed POV POV Watch
1 ForAllSecure Shellphish Failed POV POV Watch
1 ForAllSecure TECHx Failed POV POV Watch
2 CodeJitsu Shellphish Failed POV through defenses POV Watch
2 CSDS CodeJitsu Failed POV POV Watch
2 CSDS DeepRed Failed POV POV Watch
2 CSDS Disekt Failed POV POV Watch
2 CSDS ForAllSecure Failed POV POV Watch
2 CSDS Shellphish Failed POV through defenses POV Watch
2 CSDS TECHx Failed POV POV Watch
2 DeepRed CodeJitsu Failed POV POV Watch
2 DeepRed CSDS Failed POV POV Watch
2 DeepRed Disekt Failed POV POV Watch
2 DeepRed ForAllSecure Failed POV POV Watch
2 DeepRed Shellphish Failed POV through defenses POV Watch
2 DeepRed TECHx Failed POV POV Watch
2 ForAllSecure CodeJitsu Failed POV POV Watch
2 ForAllSecure CSDS Failed POV POV Watch
2 ForAllSecure DeepRed Failed POV POV Watch
2 ForAllSecure Disekt Failed POV POV Watch
2 ForAllSecure Shellphish Failed POV through defenses POV Watch
2 ForAllSecure TECHx Failed POV POV Watch
3 CSDS CodeJitsu Failed POV POV Watch
3 CSDS DeepRed Failed POV POV Watch
3 CSDS Disekt Failed POV POV Watch
3 CSDS ForAllSecure Failed POV POV Watch
3 CSDS Shellphish Failed POV through defenses POV Watch
3 CSDS TECHx Failed POV POV Watch
3 DeepRed CodeJitsu Failed POV POV Watch
3 DeepRed CSDS Failed POV POV Watch
3 DeepRed Disekt Failed POV POV Watch
3 DeepRed ForAllSecure Failed POV POV Watch
3 DeepRed Shellphish Failed POV through defenses POV Watch
3 DeepRed TECHx Failed POV POV Watch
3 ForAllSecure CodeJitsu Failed POV POV Watch
3 ForAllSecure CSDS Failed POV POV Watch
3 ForAllSecure DeepRed Failed POV POV Watch
3 ForAllSecure Disekt Failed POV POV Watch
3 ForAllSecure Shellphish Failed POV through defenses POV Watch
3 ForAllSecure TECHx Failed POV POV Watch
4 CSDS CodeJitsu Failed POV POV Watch
4 CSDS DeepRed Failed POV POV Watch
4 CSDS Disekt Failed POV POV Watch
4 CSDS ForAllSecure Failed POV POV Watch
4 CSDS Shellphish Failed POV through defenses POV Watch
4 CSDS TECHx Failed POV POV Watch
4 DeepRed CodeJitsu Failed POV POV Watch
4 DeepRed CSDS Failed POV POV Watch
4 DeepRed Disekt Failed POV POV Watch
4 DeepRed ForAllSecure Failed POV POV Watch
4 DeepRed Shellphish Failed POV through defenses POV Watch
4 DeepRed TECHx Failed POV POV Watch
4 ForAllSecure CodeJitsu Failed POV POV Watch
4 ForAllSecure CSDS Failed POV POV Watch
4 ForAllSecure DeepRed Failed POV POV Watch
4 ForAllSecure Disekt Failed POV POV Watch
4 ForAllSecure Shellphish Failed POV through defenses POV Watch
4 ForAllSecure TECHx Failed POV POV Watch
5 CSDS CodeJitsu Failed POV POV Watch
5 CSDS DeepRed Failed POV POV Watch
5 CSDS Disekt Failed POV POV Watch
5 CSDS ForAllSecure Failed POV POV Watch
5 CSDS Shellphish Failed POV through defenses POV Watch
5 CSDS TECHx Failed POV POV Watch
5 DeepRed CodeJitsu Failed POV POV Watch
5 DeepRed CSDS Failed POV POV Watch
5 DeepRed Disekt Failed POV POV Watch
5 DeepRed ForAllSecure Failed POV POV Watch
5 DeepRed Shellphish Failed POV through defenses POV Watch
5 DeepRed TECHx Failed POV POV Watch
5 ForAllSecure CodeJitsu Failed POV POV Watch
5 ForAllSecure CSDS Failed POV POV Watch
5 ForAllSecure DeepRed Failed POV POV Watch
5 ForAllSecure Disekt Failed POV POV Watch
5 ForAllSecure Shellphish Failed POV through defenses POV Watch
5 ForAllSecure TECHx Failed POV POV Watch
6 CSDS CodeJitsu Failed POV POV Watch
6 CSDS DeepRed Failed POV POV Watch
6 CSDS Disekt Failed POV POV Watch
6 CSDS ForAllSecure Failed POV POV Watch
6 CSDS Shellphish Failed POV through defenses POV Watch
6 CSDS TECHx Failed POV POV Watch
6 DeepRed CodeJitsu Failed POV POV Watch
6 DeepRed CSDS Failed POV POV Watch
6 DeepRed Disekt Failed POV POV Watch
6 DeepRed ForAllSecure Failed POV POV Watch
6 DeepRed Shellphish Failed POV through defenses POV Watch
6 DeepRed TECHx Failed POV POV Watch
6 ForAllSecure CodeJitsu Failed POV POV Watch
6 ForAllSecure CSDS Failed POV POV Watch
6 ForAllSecure DeepRed Failed POV POV Watch
6 ForAllSecure Disekt Failed POV POV Watch
6 ForAllSecure Shellphish Failed POV through defenses POV Watch
6 ForAllSecure TECHx Failed POV POV Watch
7 CSDS CodeJitsu Failed POV POV Watch
7 CSDS DeepRed Failed POV POV Watch
7 CSDS Disekt Failed POV POV Watch
7 CSDS ForAllSecure Failed POV POV Watch
7 CSDS Shellphish Failed POV through defenses POV Watch
7 CSDS TECHx Failed POV POV Watch
7 DeepRed CodeJitsu Failed POV POV Watch
7 DeepRed CSDS Failed POV POV Watch
7 DeepRed Disekt Failed POV POV Watch
7 DeepRed ForAllSecure Failed POV POV Watch
7 DeepRed Shellphish Failed POV through defenses POV Watch
7 DeepRed TECHx Failed POV POV Watch
7 ForAllSecure CodeJitsu Failed POV POV Watch
7 ForAllSecure CSDS Failed POV POV Watch
7 ForAllSecure DeepRed Failed POV POV Watch
7 ForAllSecure Disekt Failed POV POV Watch
7 ForAllSecure Shellphish Failed POV through defenses POV Watch
7 ForAllSecure TECHx Failed POV POV Watch
8 CSDS CodeJitsu Failed POV POV Watch
8 CSDS DeepRed Failed POV POV Watch
8 CSDS Disekt Failed POV POV Watch
8 CSDS ForAllSecure Failed POV POV Watch
8 CSDS Shellphish Failed POV through defenses POV Watch
8 CSDS TECHx Failed POV POV Watch
8 DeepRed CodeJitsu Failed POV POV Watch
8 DeepRed CSDS Failed POV POV Watch
8 DeepRed Disekt Failed POV POV Watch
8 DeepRed ForAllSecure Failed POV POV Watch
8 DeepRed Shellphish Failed POV through defenses POV Watch
8 DeepRed TECHx Failed POV POV Watch
8 ForAllSecure CodeJitsu Failed POV POV Watch
8 ForAllSecure CSDS Failed POV POV Watch
8 ForAllSecure DeepRed Failed POV POV Watch
8 ForAllSecure Disekt Failed POV POV Watch
8 ForAllSecure Shellphish Failed POV through defenses POV Watch
8 ForAllSecure TECHx Failed POV POV Watch
9 CSDS CodeJitsu Failed POV POV Watch
9 CSDS DeepRed Failed POV POV Watch
9 CSDS Disekt Failed POV POV Watch
9 CSDS ForAllSecure Failed POV POV Watch
9 CSDS Shellphish Failed POV through defenses POV Watch
9 CSDS TECHx Failed POV POV Watch
9 DeepRed CodeJitsu Failed POV POV Watch
9 DeepRed CSDS Failed POV POV Watch
9 DeepRed Disekt Failed POV POV Watch
9 DeepRed ForAllSecure Failed POV POV Watch
9 DeepRed Shellphish Failed POV through defenses POV Watch
9 DeepRed TECHx Failed POV POV Watch
9 ForAllSecure CodeJitsu Failed POV POV Watch
9 ForAllSecure CSDS Failed POV POV Watch
9 ForAllSecure DeepRed Failed POV POV Watch
9 ForAllSecure Disekt Failed POV POV Watch
9 ForAllSecure Shellphish Failed POV through defenses POV Watch
9 ForAllSecure TECHx Failed POV POV Watch
10 CSDS CodeJitsu Failed POV POV Watch
10 CSDS DeepRed Failed POV POV Watch
10 CSDS Disekt Failed POV POV Watch
10 CSDS ForAllSecure Failed POV POV Watch
10 CSDS Shellphish Failed POV through defenses POV Watch
10 CSDS TECHx Failed POV POV Watch
10 DeepRed CodeJitsu Failed POV POV Watch
10 DeepRed CSDS Failed POV POV Watch
10 DeepRed Disekt Failed POV POV Watch
10 DeepRed ForAllSecure Failed POV POV Watch
10 DeepRed Shellphish Failed POV through defenses POV Watch
10 DeepRed TECHx Failed POV POV Watch
10 ForAllSecure CodeJitsu Failed POV POV Watch
10 ForAllSecure CSDS Failed POV POV Watch
10 ForAllSecure DeepRed Failed POV POV Watch
10 ForAllSecure Disekt Failed POV POV Watch
10 ForAllSecure Shellphish Failed POV through defenses POV Watch
10 ForAllSecure TECHx Failed POV POV Watch
11 CSDS CodeJitsu Failed POV POV Watch
11 CSDS DeepRed Failed POV POV Watch
11 CSDS Disekt Failed POV POV Watch
11 CSDS ForAllSecure Failed POV POV Watch
11 CSDS Shellphish Failed POV through defenses POV Watch
11 CSDS TECHx Failed POV POV Watch
11 DeepRed CodeJitsu Failed POV POV Watch
11 DeepRed CSDS Failed POV POV Watch
11 DeepRed Disekt Failed POV POV Watch
11 DeepRed ForAllSecure Failed POV POV Watch
11 DeepRed Shellphish Failed POV through defenses POV Watch
11 DeepRed TECHx Failed POV POV Watch
11 ForAllSecure CodeJitsu Failed POV POV Watch
11 ForAllSecure CSDS Failed POV POV Watch
11 ForAllSecure DeepRed Failed POV POV Watch
11 ForAllSecure Disekt Failed POV POV Watch
11 ForAllSecure Shellphish Failed POV through defenses POV Watch
11 ForAllSecure TECHx Failed POV POV Watch
12 CSDS CodeJitsu Failed POV POV Watch
12 CSDS DeepRed Failed POV POV Watch
12 CSDS Disekt Failed POV POV Watch
12 CSDS ForAllSecure Failed POV POV Watch
12 CSDS Shellphish Failed POV through defenses POV Watch
12 CSDS TECHx Failed POV POV Watch
12 DeepRed CodeJitsu Failed POV POV Watch
12 DeepRed CSDS Failed POV POV Watch
12 DeepRed Disekt Failed POV POV Watch
12 DeepRed ForAllSecure Failed POV POV Watch
12 DeepRed Shellphish Failed POV through defenses POV Watch
12 DeepRed TECHx Failed POV POV Watch
12 ForAllSecure CodeJitsu Failed POV POV Watch
12 ForAllSecure CSDS Failed POV POV Watch
12 ForAllSecure DeepRed Failed POV POV Watch
12 ForAllSecure Disekt Failed POV POV Watch
12 ForAllSecure Shellphish Failed POV through defenses POV Watch
12 ForAllSecure TECHx Failed POV POV Watch
13 CSDS CodeJitsu Failed POV POV Watch
13 CSDS DeepRed Failed POV POV Watch
13 CSDS Disekt Failed POV POV Watch
13 CSDS ForAllSecure Failed POV POV Watch
13 CSDS Shellphish Failed POV through defenses POV Watch
13 CSDS TECHx Failed POV POV Watch
13 DeepRed CodeJitsu Failed POV POV Watch
13 DeepRed CSDS Failed POV POV Watch
13 DeepRed Disekt Failed POV POV Watch
13 DeepRed ForAllSecure Failed POV POV Watch
13 DeepRed Shellphish Failed POV through defenses POV Watch
13 DeepRed TECHx Failed POV POV Watch
13 ForAllSecure CodeJitsu Failed POV POV Watch
13 ForAllSecure CSDS Failed POV POV Watch
13 ForAllSecure DeepRed Failed POV POV Watch
13 ForAllSecure Disekt Failed POV POV Watch
13 ForAllSecure Shellphish Failed POV through defenses POV Watch
13 ForAllSecure TECHx Failed POV POV Watch
14 CSDS CodeJitsu Failed POV POV Watch
14 CSDS DeepRed Failed POV POV Watch
14 CSDS Disekt Failed POV POV Watch
14 CSDS ForAllSecure Failed POV POV Watch
14 CSDS Shellphish Failed POV through defenses POV Watch
14 CSDS TECHx Failed POV POV Watch
14 DeepRed CodeJitsu Failed POV POV Watch
14 DeepRed CSDS Failed POV POV Watch
14 DeepRed Disekt Failed POV POV Watch
14 DeepRed ForAllSecure Failed POV POV Watch
14 DeepRed Shellphish Failed POV through defenses POV Watch
14 DeepRed TECHx Failed POV POV Watch
14 ForAllSecure CodeJitsu Failed POV POV Watch
14 ForAllSecure CSDS Failed POV POV Watch
14 ForAllSecure DeepRed Failed POV POV Watch
14 ForAllSecure Disekt Failed POV POV Watch
14 ForAllSecure Shellphish Failed POV through defenses POV Watch
14 ForAllSecure TECHx Failed POV POV Watch
15 CSDS CodeJitsu Failed POV POV Watch
15 CSDS DeepRed Failed POV POV Watch
15 CSDS Disekt Failed POV POV Watch
15 CSDS ForAllSecure Failed POV POV Watch
15 CSDS Shellphish Failed POV through defenses POV Watch
15 CSDS TECHx Failed POV POV Watch
15 DeepRed CodeJitsu Failed POV POV Watch
15 DeepRed CSDS Failed POV POV Watch
15 DeepRed Disekt Failed POV POV Watch
15 DeepRed ForAllSecure Failed POV POV Watch
15 DeepRed Shellphish Failed POV through defenses POV Watch
15 DeepRed TECHx Failed POV POV Watch
15 ForAllSecure CodeJitsu Failed POV POV Watch
15 ForAllSecure CSDS Failed POV POV Watch
15 ForAllSecure DeepRed Failed POV POV Watch
15 ForAllSecure Disekt Failed POV POV Watch
15 ForAllSecure Shellphish Failed POV through defenses POV Watch
15 ForAllSecure TECHx Failed POV POV Watch
16 CSDS CodeJitsu Failed POV POV Watch
16 CSDS DeepRed Failed POV POV Watch
16 CSDS Disekt Failed POV POV Watch
16 CSDS ForAllSecure Failed POV POV Watch
16 CSDS Shellphish Failed POV through defenses POV Watch
16 CSDS TECHx Failed POV POV Watch
16 DeepRed CodeJitsu Failed POV POV Watch
16 DeepRed CSDS Failed POV POV Watch
16 DeepRed Disekt Failed POV POV Watch
16 DeepRed ForAllSecure Failed POV POV Watch
16 DeepRed Shellphish Failed POV through defenses POV Watch
16 DeepRed TECHx Failed POV POV Watch
16 ForAllSecure CodeJitsu Failed POV POV Watch
16 ForAllSecure CSDS Failed POV POV Watch
16 ForAllSecure DeepRed Failed POV POV Watch
16 ForAllSecure Disekt Failed POV POV Watch
16 ForAllSecure Shellphish Failed POV through defenses POV Watch
16 ForAllSecure TECHx Failed POV POV Watch
17 CSDS CodeJitsu Failed POV POV Watch
17 CSDS DeepRed Failed POV POV Watch
17 CSDS Disekt Failed POV POV Watch
17 CSDS ForAllSecure Failed POV POV Watch
17 CSDS Shellphish Failed POV through defenses POV Watch
17 CSDS TECHx Failed POV POV Watch
17 DeepRed CodeJitsu Failed POV POV Watch
17 DeepRed CSDS Failed POV POV Watch
17 DeepRed Disekt Failed POV POV Watch
17 DeepRed ForAllSecure Failed POV POV Watch
17 DeepRed Shellphish Failed POV through defenses POV Watch
17 DeepRed TECHx Failed POV POV Watch
17 ForAllSecure CodeJitsu Failed POV POV Watch
17 ForAllSecure CSDS Failed POV POV Watch
17 ForAllSecure DeepRed Failed POV POV Watch
17 ForAllSecure Disekt Failed POV POV Watch
17 ForAllSecure Shellphish Failed POV through defenses POV Watch
17 ForAllSecure TECHx Failed POV POV Watch
18 CSDS CodeJitsu Failed POV POV Watch
18 CSDS DeepRed Failed POV POV Watch
18 CSDS Disekt Failed POV POV Watch
18 CSDS ForAllSecure Failed POV POV Watch
18 CSDS Shellphish Failed POV through defenses POV Watch
18 CSDS TECHx Failed POV POV Watch
18 DeepRed CodeJitsu Failed POV POV Watch
18 DeepRed CSDS Failed POV POV Watch
18 DeepRed Disekt Failed POV POV Watch
18 DeepRed ForAllSecure Failed POV POV Watch
18 DeepRed Shellphish Failed POV through defenses POV Watch
18 DeepRed TECHx Failed POV POV Watch
18 ForAllSecure CodeJitsu Failed POV POV Watch
18 ForAllSecure CSDS Failed POV POV Watch
18 ForAllSecure DeepRed Failed POV POV Watch
18 ForAllSecure Disekt Failed POV POV Watch
18 ForAllSecure Shellphish Failed POV through defenses POV Watch
18 ForAllSecure TECHx Failed POV POV Watch
19 CSDS CodeJitsu Failed POV POV Watch
19 CSDS DeepRed Failed POV POV Watch
19 CSDS Disekt Failed POV POV Watch
19 CSDS ForAllSecure Failed POV POV Watch
19 CSDS Shellphish Failed POV through defenses POV Watch
19 CSDS TECHx Failed POV POV Watch
19 DeepRed CodeJitsu Failed POV POV Watch
19 DeepRed CSDS Failed POV POV Watch
19 DeepRed Disekt Failed POV POV Watch
19 DeepRed ForAllSecure Failed POV POV Watch
19 DeepRed Shellphish Failed POV through defenses POV Watch
19 DeepRed TECHx Failed POV POV Watch
19 ForAllSecure CodeJitsu Failed POV POV Watch
19 ForAllSecure CSDS Failed POV POV Watch
19 ForAllSecure DeepRed Failed POV POV Watch
19 ForAllSecure Disekt Failed POV POV Watch
19 ForAllSecure Shellphish Failed POV through defenses POV Watch
19 ForAllSecure TECHx Failed POV POV Watch

Curated by Lunge Technology, LLC. Questions or comments? Send us email