1. ConsoleUser Developer GuideΒΆ
ConsoleUser provides on-host activity generation. The most common way to use it is over an RFB connection, e.g., to a VNC server. When the host being controlled is a VM, the hypervisor may provide that VNC server, other times a VNC server can be run on the host, though that introduces artifacts that are generally undesirable. In other situations an RFB to hardware dongle can be used to control a physical system over its keyboard and mouse inputs.
One of the original design considerations for ConsoleUser was to minimize artifacts that would be present during any sort of cyber test or event. This is why ConsoleUser is often run from a different host than the one being controlled. In that situation, ConsoleUser will interact with the target system through the exact paths that a human does, making it that much more realistic as compared with an on host bot or similar.
ConsoleUser therefore exposes some low level methods of interacting with the target. Most of this document will presume an RFB connection is used. Other connection types, like using AT-SPI, are possible, but not all support all of the same actions, especially at low level interactions.
- 1.1. Style and Guidelines
- 1.2. ConsoleUser Overview
- 1.3. Writing a New ConsoleUser Module
- 1.4. Case Study: Developing a new module for Mastodon
- 1.5. Font
- 1.6. Identifying Font
- 1.7. Display That Font
- 1.8. Useful Checklists