1
0
mirror of https://github.com/CPunch/Laika.git synced 2024-11-21 12:40:04 +00:00
Laika/README.md
2022-07-30 23:16:00 -05:00

2.4 KiB

Laika

Workflow License

Laika is a simple cross-platform Remote Access Toolkit stack for educational purposes. It allows encrypted communication across a custom binary protocol. The bot client supports both Windows & Linux environments, while the shell & CNC server specifically target Linux environments. Laika is meant to be small and discreet, Laika believes in hiding in plain sight.

Some notable features thus far:

  • Lightweight, the bot alone is 183kb (MinSizeRel) and uses very little resources minimizing Laika's footprint.
  • Authentication & packet encryption using LibSodium and a predetermined public CNC key. (generated with bin/genKey)
  • Server and Shell configuration through .ini files.
  • Ability to open shells remotely on the victim's machine.
  • Persistence across reboot: (toggled with -DLAIKA_PERSISTENCE=On)
    • Persistence via Cron on Linux-based systems.
    • Persistence via Windows Registry.
  • Uses obfuscation techniques also seen in the wild (string obfuscation, tiny VMs executing sensitive operations, etc.)
  • Simple configuration using CMake:
    • Setting keypairs (-DLAIKA_PUBKEY=? -DLAIKA_PRIVKEY=?, etc.)
    • Obfuscation modes

Why?

I started this project to practice my systems programming skills, specifically networking related things. The networking code in this project (under /lib) is probably what I'm most proud of in this project. After that I started trying to learn some common obfuscation methods I've seen used in the wild. I've used this project mostly to improve my skills of managing a 'larger' project. Things relating to having a consistent code style, documenting features and development tasks are really important skills to have when managing a codebase like this.

How do I use this?

Please refer to the Wiki for any questions relating to deployment, compilation & setup.

Looking to contribute?

Read CONTRIBUTING.md