netcat (ncat)

Introduction

The networking utility “netcat” is a simple tool to read and write data across TCP or UDP network or UNIX socket connection.

netcat uses (net + cat) :

  • Port scanning
  • Tunneling
  • Proxying
  • Port forwarding
  • File Transfer
  • Banner Grabbing
  • Port Listening & Port Redirection
  • Backdoor

netcat installation

https://nmap.org/download

netcat in action:

https://www.unix.com/man-page/Linux/1/netcat/

Todo: check the behavior of netcat (nc) -o option in linux environment.

nc -r option (randomize port )

port range example

File Transfer:

Banner Grabbing

Redirecting Port and Traffic (relay)

Android Userdata Encryption

Trusted Execution Environment(TEE)

https://en.wikipedia.org/wiki/Trusted_execution_environment

OP-TEE
Code Organization
OP-TEE Secure Storage Architecture
Use case Demonstration


Trusty TEE
Code Organization
https://projectacrn.github.io/latest/developer-guides/trusty.html#trusty-tee
Trusty Secure Storage Architecture
1. https://events19.linuxfoundation.org/wp-content/uploads/2017/12/Implement-Android-Tamper-Resistant-Secure-Storage-Bing-Zhu_and-Secure-it-in-Virtualization-Bing-Zhu-Intel-Corporation.pdf

2. https://projectacrn.github.io/latest/tutorials/trustyACRN.html

Use case Demonstration


Secure storage

Secure storage service

https://android.googlesource.com/trusty/app/storage/

https://projectacrn.github.io/latest/tutorials/trustyACRN.html

https://docs.nvidia.com/drive/drive_os_5.1.6.1L/nvvib_docs/index.html#page/DRIVE_OS_Linux_SDK_Development_Guide/Windows%20Systems/security_concepts.html

https://events19.linuxfoundation.org/wp-content/uploads/2017/12/Implement-Android-Tamper-Resistant-Secure-Storage-Bing-Zhu_and-Secure-it-in-Virtualization-Bing-Zhu-Intel-Corporation.pdf

RPMB

https://www.semanticscholar.org/paper/Mobile-secure-data-protection-using-eMMC-RPMB-Reddy-Paramasivam/76c741dddcbd802709762ae3e43f8a85986a9619/figure/2

https://android.googlesource.com/trusty/app/storage/+/refs/heads/master/README.md

Build and run OP-TEE using QEMU for Armv8-A

$ sudo dpkg --add-architecture i386
$ sudo apt-get update

$ sudo apt-get install android-tools-adb android-tools-fastboot autoconf \
        automake bc bison build-essential ccache codespell \
        cscope curl device-tree-compiler \
        expect flex ftp-upload gdisk iasl libattr1-dev libcap-dev \
        libfdt-dev libftdi-dev libglib2.0-dev libgmp-dev libhidapi-dev \
        libmpc-dev libncurses5-dev libpixman-1-dev libssl-dev libtool make \
        mtools netcat ninja-build python3-crypto python3-pyelftools \
        python3-pycryptodome python3-pyelftools python3-serial \
        rsync unzip uuid-dev xdg-utils xterm xz-utils zlib1g-dev

$ mkdir -p optee-project
$ cd optee-project
$ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
$ repo sync -j4 --no-clone-bundle

$ make toolchains
$ make run


https://trustedfirmware-a.readthedocs.io/en/latest/about/features.html