aztarna, a footprinting tool for robots.
This repository has been archived and is not maintained any further. Refer to alurity for future progress on robot footprinting and fingerprinting.
This repository contains Alias Robotics’ aztarna, a footprinting tool for robots.
Alias Robotics supports original robot manufacturers assessing their security and improving their quality of software. By no means we encourage or promote the unauthorized tampering with running robotic systems. This can cause serious human harm and material damages.
Direcly from PyPi
pip3 install aztarna
or from the repository:
pip3 install .
pip3 install -e .
or
python3 setup.py develop
Python 3.6 and the setuptools package is required for installation.
Python 3.7 is recommended.
For usage of the ROS2 footprinting module a ROS2 installation is required. Source the setup.bash script prior to launch.
docker build -t aztarna_docker .
usage: aztarna [-h] -t TYPE [-a ADDRESS] [-p PORTS] [-i INPUT_FILE]
[-o OUT_FILE] [-e] [-r RATE] [-d DOMAIN] [--daemon] [--hidden]
[--shodan] [--api-key API_KEY] [--passive PASSIVE]
Aztarna
optional arguments:
-h, --help show this help message and exit
-t TYPE, --type TYPE <ROS/ros/SROS/sros/ROS2/ros2/IROUTERS/irouters> Scan
ROS, SROS, ROS2 hosts or Industrial routers
-a ADDRESS, --address ADDRESS
Single address or network range to scan.
-p PORTS, --ports PORTS
Ports to scan (format: 13311 or 11111-11155 or
1,2,3,4)
-i INPUT_FILE, --input_file INPUT_FILE
Input file of addresses to use for scanning
-o OUT_FILE, --out_file OUT_FILE
Output file for the results
-e, --extended Extended scan of the hosts
-r RATE, --rate RATE Maximum simultaneous network connections
-d DOMAIN, --domain DOMAIN
ROS 2 DOMAIN ID (ROS_DOMAIN_ID environmental
variable). Only applies to ROS 2.
--daemon Use rclpy daemon (coming from ros2cli).
--hidden Show hidden ROS 2 nodes. By default filtering
_ros2cli*
--shodan Use shodan for the scan types that support it.
--api-key API_KEY Shodan API Key
--passive PASSIVE Passive search for ROS2
aztarna -t ROS -p 11311 -i ros_scan_s20.csv
docker run -v <host_path>:/root -it aztarna_docker -t ROS -p 11311 -i <input_file>
aztarna -t ROS -p 11311 -a 115.129.241.241
aztarna -t ROS -p 11311 -a 115.129.241.0/24
aztarna -t ROS -p 11311-11500 -a 115.129.241.241
aztarna -t ROS -p 11311,11312,11313 -a 115.129.241.241
aztarna -t ROS2
ROS_DOMAIN_ID=15
aztarna -t ROS2 -d 15
ROS_DOMAIN_ID=0
while showing hidden nodes
aztarna -t ros2 -d 0 --daemon --hidden
aztarna -t ros2 --passive any
zmap -p 11311 0.0.0.0/0 -q | aztarna -t SROS -p 11311
aztarna -t IROUTERS --shodan --api-key <yourshodanapikey>
aztarna -t IROUTERS --shodan --api-key <yourshodanapikey> -o routers.csv
If you’re using our work for your research, please cite us as:
@ARTICLE{2018arXiv181209490V,
author = {{Vilches}, V{\'\i}ctor Mayoral and {Mendia}, Gorka Olalde and
{Baskaran}, Xabier Perez and {Cordero}, Alejandro Hern{\'a}ndez
and {Juan}, Lander Usategui San and {Gil-Uriarte}, Endika and
{de Urabain}, Odei Olalde Saez and {Kirschgens}, Laura Alzola},
title = "{Aztarna, a footprinting tool for robots}",
journal = {arXiv e-prints},
keywords = {Computer Science - Cryptography and Security, Computer Science - Robotics},
year = 2018,
month = Dec,
eid = {arXiv:1812.09490},
pages = {arXiv:1812.09490},
archivePrefix = {arXiv},
eprint = {1812.09490},
primaryClass = {cs.CR},
adsurl = {https://ui.adsabs.harvard.edu/\#abs/2018arXiv181209490V},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}
Supported by ROSIN - ROS-Industrial Quality-Assured Robot Software Components.
More information: rosin-project.eu
This repository was partly funded by ROSIN RedROS2-I FTP which received funding from the European Union’s Horizon 2020
research and innovation programme under the project ROSIN with the grant agreement No 732287.