Repository navigation
Agent KB_rootkit
grisun0 edited this page Oct 26, 2026
·
31 revisions
- Layer: utility
- Language: c
- Symbols:
-
Command(struct, line 43) -
VirtualFile(struct, line 49) -
get_ld_preload(function, line 84)char *get_ld_preload() -
set_ld_preload(function, line 87)void set_ld_preload(const char *ld_preload) -
ensure_ld_preload(function, line 100)void ensure_ld_preload() -
ensure_pid_file_exists(function, line 117)void ensure_pid_file_exists() -
check_elevate(function, line 136)int check_elevate() -
write_file(function, line 145)void write_file(const char *path, const char *content, mode_t mode) -
crontab(function, line 156)void crontab(const char *path) -
generate_random_string(function, line 168)char *generate_random_string() -
xdg(function, line 178)void xdg(const char *path, int admin) -
kde_plasma(function, line 200)void kde_plasma(const char *path) -
copy_binary(function, line 215)void copy_binary(const char *source, const char *destination) -
persist(function, line 234)void persist(const char *path) -
ensure_key_file_exists(function, line 253)void ensure_key_file_exists() -
ensure_hide_file_exists(function, line 271)void ensure_hide_file_exists() -
infect_command(function, line 289)void infect_command() -
load_rootkit(function, line 303)void load_rootkit() -
unload_rootkit(function, line 314)void unload_rootkit() -
handle_client(function, line 321)void *handle_client(void *client_socket) -
mon_shell(function, line 521)void *mon_shell(void *data) -
signal_handler(function, line 609)void signal_handler(int signum) -
reboot_system(function, line 615)void reboot_system() -
main(function, line 639)int main() -
PORT(macro, line 31)#define PORT -
BUFFER_SIZE(macro, line 32)#define BUFFER_SIZE -
MAX_COMMANDS(macro, line 33)#define MAX_COMMANDS -
DESIRED_LD_PRELOAD(macro, line 34)#define DESIRED_LD_PRELOAD -
PID_FILE(macro, line 35)#define PID_FILE -
HIDE_FILE(macro, line 36)#define HIDE_FILE -
KEY_FILE(macro, line 37)#define KEY_FILE -
PASSWORD(macro, line 39)#define PASSWORD -
PATH_MAX(macro, line 41)#define PATH_MAX
-
- Doc: original_dirent: ifndef HIDE_DIR define HIDE_DIR ".rootkit_dir" endif ifndef HIDE_USER define...
- Layer: utility
- Language: c
- Symbols:
-
linux_dirent64(struct, line 552) -
original_dirent(type_alias, line 55)typedef struct dirent original_dirent; -
load_hidden_pids(function, line 77)void load_hidden_pids() -
load_hidden_files(function, line 97)void load_hidden_files() -
unlink(function, line 117)int unlink(const char *pathname) -
kill(function, line 129)int kill(pid_t pid, int sig) -
remove(function, line 149)int remove(const char *pathname) -
unlinkat(function, line 161)int unlinkat(int dirfd, const char *pathname, int flags) -
get_username_from_pid(function, line 182)char* get_username_from_pid(pid_t pid) -
should_hide_pid(function, line 201)int should_hide_pid(const char* pid) -
should_hide_file(function, line 216)int should_hide_file(const char* filename) -
readdir(function, line 226)struct dirent* readdir(DIR* dirp) -
fopen(function, line 287)FILE *fopen(const char *pathname, const char *mode) -
my_open(function, line 331)int my_open(const char *pathname, int flags, mode_t mode) -
my_openat(function, line 375)int my_openat(int dirfd, const char *pathname, int flags, mode_t mode) -
stat(function, line 419)int stat(const char *pathname, struct stat *statbuf) -
lstat(function, line 463)int lstat(const char *pathname, struct stat *statbuf) -
fstat(function, line 507)int fstat(int fd, struct stat *statbuf) -
getdents(function, line 561)int getdents(unsigned int fd, struct linux_dirent64 *dirp, unsigned int count) -
getdents64(function, line 622)int getdents64(unsigned int fd, struct linux_dirent64 *dirp, unsigned int count) -
main(function, line 682)int main() -
HIDDEN_DIR(macro, line 33)#define HIDDEN_DIR -
HIDDEN_FILE(macro, line 34)#define HIDDEN_FILE -
HIDDEN_FILE1(macro, line 35)#define HIDDEN_FILE1 -
HIDDEN_FILE2(macro, line 36)#define HIDDEN_FILE2 -
HIDDEN_FILE3(macro, line 37)#define HIDDEN_FILE3 -
HIDDEN_FILE4(macro, line 38)#define HIDDEN_FILE4 -
HIDDEN_FILE5(macro, line 39)#define HIDDEN_FILE5 -
HIDDEN_FILE6(macro, line 40)#define HIDDEN_FILE6 -
HIDDEN_FILE7(macro, line 41)#define HIDDEN_FILE7 -
HIDDEN_FILE8(macro, line 42)#define HIDDEN_FILE8 -
HIDDEN_FILE9(macro, line 43)#define HIDDEN_FILE9 -
PATHMRHYDE(macro, line 44)#define PATHMRHYDE -
HIDE_DIR(macro, line 47)#define HIDE_DIR -
HIDE_USER(macro, line 50)#define HIDE_USER -
MAX_HIDE_PIDS(macro, line 52)#define MAX_HIDE_PIDS -
PID_FILE_PATH(macro, line 53)#define PID_FILE_PATH -
FILE_HIDE_PATH(macro, line 54)#define FILE_HIDE_PATH
-
- Doc: original_dirent: ifndef HIDE_DIR define HIDE_DIR ".rootkit_dir" endif ifndef HIDE_USER define...
- Layer: utility
- Language: c
- Symbols:
-
linux_dirent64(struct, line 465) -
original_dirent(type_alias, line 52)typedef struct dirent original_dirent; -
load_hidden_pids(function, line 67)void load_hidden_pids() -
unlink(function, line 87)int unlink(const char *pathname) -
kill(function, line 99)int kill(pid_t pid, int sig) -
remove(function, line 119)int remove(const char *pathname) -
unlinkat(function, line 131)int unlinkat(int dirfd, const char *pathname, int flags) -
get_username_from_pid(function, line 152)char* get_username_from_pid(pid_t pid) -
should_hide_pid(function, line 171)int should_hide_pid(const char* pid) -
readdir(function, line 186)struct dirent* readdir(DIR* dirp) -
fopen(function, line 242)FILE *fopen(const char *pathname, const char *mode) -
my_open(function, line 279)int my_open(const char *pathname, int flags, mode_t mode) -
my_openat(function, line 316)int my_openat(int dirfd, const char *pathname, int flags, mode_t mode) -
stat(function, line 353)int stat(const char *pathname, struct stat *statbuf) -
lstat(function, line 390)int lstat(const char *pathname, struct stat *statbuf) -
fstat(function, line 427)int fstat(int fd, struct stat *statbuf) -
getdents(function, line 474)int getdents(unsigned int fd, struct linux_dirent64 *dirp, unsigned int count) -
getdents64(function, line 531)int getdents64(unsigned int fd, struct linux_dirent64 *dirp, unsigned int count) -
main(function, line 587)int main() -
HIDDEN_DIR(macro, line 31)#define HIDDEN_DIR -
HIDDEN_FILE(macro, line 32)#define HIDDEN_FILE -
HIDDEN_FILE1(macro, line 33)#define HIDDEN_FILE1 -
HIDDEN_FILE2(macro, line 34)#define HIDDEN_FILE2 -
HIDDEN_FILE3(macro, line 35)#define HIDDEN_FILE3 -
HIDDEN_FILE4(macro, line 36)#define HIDDEN_FILE4 -
HIDDEN_FILE5(macro, line 37)#define HIDDEN_FILE5 -
HIDDEN_FILE6(macro, line 38)#define HIDDEN_FILE6 -
HIDDEN_FILE7(macro, line 39)#define HIDDEN_FILE7 -
HIDDEN_FILE8(macro, line 40)#define HIDDEN_FILE8 -
HIDDEN_FILE9(macro, line 41)#define HIDDEN_FILE9 -
PATHMRHYDE(macro, line 42)#define PATHMRHYDE -
HIDE_DIR(macro, line 45)#define HIDE_DIR -
HIDE_USER(macro, line 48)#define HIDE_USER -
MAX_HIDE_PIDS(macro, line 50)#define MAX_HIDE_PIDS -
PID_FILE_PATH(macro, line 51)#define PID_FILE_PATH
-
- Doc: io_uring_sq: #endif #ifndef HIDE_USER #define HIDE_USER "rootkit_user" #endif #define...
- Layer: utility
- Language: c
- Symbols:
-
io_uring_sq(struct, line 61) -
io_uring_cq(struct, line 65) -
io_uring(struct, line 69) -
linux_dirent64(struct, line 564) -
original_dirent(type_alias, line 316)typedef struct dirent original_dirent; -
__io_uring_setup(function, line 77)static inline int __io_uring_setup(unsigned int entries, struct io_uring_params *p) -
__io_uring_enter(function, line 80)static inline int __io_uring_enter(int fd, unsigned int to_submit, unsigned int min_complete, ... -
__io_uring_register(function, line 84)static inline int __io_uring_register(int fd, unsigned int opcode, const void *arg, unsigned int ... -
uring_queue_init(function, line 89)static int uring_queue_init(unsigned int entries, struct io_uring *ring) -
uring_get_sqe(function, line 134)static struct io_uring_sqe *uring_get_sqe(struct io_uring *ring) -
uring_submit(function, line 145)static int uring_submit(struct io_uring *ring) -
uring_wait_cqe_timeout(function, line 153)static int uring_wait_cqe_timeout(struct io_uring *ring, struct io_uring_cqe **cqe_ptr, int timeo... -
uring_cqe_seen(function, line 167)static void uring_cqe_seen(struct io_uring *ring, struct io_uring_cqe *cqe) -
init_root_ring(function, line 180)static int init_root_ring(void) -
uring_read_whole_file(function, line 201)static char *uring_read_whole_file(const char *path) -
traditional_read_file(function, line 257)static char *traditional_read_file(const char *path) -
load_hidden_pids(function, line 272)void load_hidden_pids(void) -
load_hidden_files(function, line 286)void load_hidden_files(void) -
get_username_from_pid(function, line 301)char* get_username_from_pid(pid_t pid) -
should_hide_pid(function, line 324)int should_hide_pid(const char* pid) -
should_hide_file(function, line 333)int should_hide_file(const char* filename) -
readdir(function, line 340)struct dirent* readdir(DIR* dirp) -
unlink(function, line 371)int unlink(const char *pathname) -
kill(function, line 377)int kill(pid_t pid, int sig) -
remove(function, line 387)int remove(const char *pathname) -
unlinkat(function, line 393)int unlinkat(int dirfd, const char *pathname, int flags) -
fopen(function, line 411)FILE *fopen(const char *pathname, const char *mode) -
open(function, line 434)int open(const char *pathname, int flags, ...) -
openat(function, line 462)int openat(int dirfd, const char *pathname, int flags, ...) -
stat(function, line 491)int stat(const char *pathname, struct stat *statbuf) -
lstat(function, line 515)int lstat(const char *pathname, struct stat *statbuf) -
fstat(function, line 539)int fstat(int fd, struct stat *statbuf) -
getdents(function, line 573)int getdents(unsigned int fd, struct linux_dirent64 *dirp, unsigned int count) -
getdents64(function, line 609)ssize_t getdents64(int fd, void *dirp, size_t count) -
_GNU_SOURCE(macro, line 7)#define _GNU_SOURCE -
HIDDEN_DIR(macro, line 33)#define HIDDEN_DIR -
HIDDEN_FILE(macro, line 34)#define HIDDEN_FILE -
HIDDEN_FILE1(macro, line 35)#define HIDDEN_FILE1 -
HIDDEN_FILE2(macro, line 36)#define HIDDEN_FILE2 -
HIDDEN_FILE3(macro, line 37)#define HIDDEN_FILE3 -
HIDDEN_FILE4(macro, line 38)#define HIDDEN_FILE4 -
HIDDEN_FILE5(macro, line 39)#define HIDDEN_FILE5 -
HIDDEN_FILE6(macro, line 40)#define HIDDEN_FILE6 -
HIDDEN_FILE7(macro, line 41)#define HIDDEN_FILE7 -
HIDDEN_FILE8(macro, line 42)#define HIDDEN_FILE8 -
HIDDEN_FILE9(macro, line 43)#define HIDDEN_FILE9 -
PATHMRHYDE(macro, line 44)#define PATHMRHYDE -
HIDE_DIR(macro, line 46)#define HIDE_DIR -
HIDE_USER(macro, line 49)#define HIDE_USER -
MAX_HIDE_PIDS(macro, line 51)#define MAX_HIDE_PIDS -
PID_FILE_PATH(macro, line 52)#define PID_FILE_PATH -
FILE_HIDE_PATH(macro, line 53)#define FILE_HIDE_PATH -
IO_URING_QUEUE_DEPTH(macro, line 54)#define IO_URING_QUEUE_DEPTH -
IO_URING_BUFFER_SIZE(macro, line 55)#define IO_URING_BUFFER_SIZE -
C2_SERVER_IP(macro, line 56)#define C2_SERVER_IP -
C2_PORT(macro, line 57)#define C2_PORT -
CQE_TIMEOUT_MS(macro, line 58)#define CQE_TIMEOUT_MS
-
- Layer: utility
- Language: asm
- Symbols:
-
_start(function, line 4)
-
- Doc: Define the process name and file name to hide Operable values are provided via the Makefile...
- Layer: utility
- Language: c
- Symbols:
-
regs_override_return(function, line 54)static inline void regs_override_return(struct pt_regs *regs, long new_ret) -
hooked_getdents(function, line 86)static int hooked_getdents(struct kretprobe_instance *ri, struct pt_regs *regs) -
hooked_getdents64(function, line 112)static int hooked_getdents64(struct kretprobe_instance *ri, struct pt_regs *regs) -
hooked_read(function, line 138)static int hooked_read(struct kretprobe_instance *ri, struct pt_regs *regs) -
disable_module_signature_verification(function, line 192)static void disable_module_signature_verification(void) -
hook_syscalls(function, line 206)static int __init hook_syscalls(void) -
unhook_syscalls(function, line 219)static void __exit unhook_syscalls(void) -
HIDDEN_PROCESS_NAME(macro, line 30)#define HIDDEN_PROCESS_NAME -
HIDDEN_FILE_NAME(macro, line 33)#define HIDDEN_FILE_NAME -
LISTENER_IP(macro, line 36)#define LISTENER_IP -
LISTENER_PORT(macro, line 39)#define LISTENER_PORT -
SPECIAL_STRING(macro, line 42)#define SPECIAL_STRING -
SPECIAL_STRING_PORT(macro, line 45)#define SPECIAL_STRING_PORT
-
- Depends on:
core/crypto.py,lazyown-docker/init.sh
Generated offline by readmenator from commit a2fa9e276b96. Edits here are overwritten by readmenator . --rebuild.
Start
Wiki
- community_0_modules_autonomous_daemon
- community_10_core
- community_11_modules_opsec_scorer
- community_12_modules_kerberos_core
- community_13_modules_saas_attacks
- community_14_modules_polymorphic_engine
- community_15_contrib_legacy
- community_16_tests
- community_17_scripts_journal
- community_18_modules_backdoor
- community_19_poc_tui
- community_1_cli_commands
- community_20_scripts_check_contract_manifest
- community_21_scripts_migrate_lazyown
- community_22_tools
- community_23_orphans
- community_2_cli
- community_3_modules_lazy_loop
- community_4_modules_lazyc2
- community_5_modules_world_model
- community_6_lazygui_panels
- community_7_modules_lazyown_facts
- community_8_static_js
- community_9_skills_claude_md_orchestrator
- concepts
- queries
- REPORT
Agent Docs
- API
- API_p10
- API_p11
- API_p12
- API_p13
- API_p14
- API_p15
- API_p16
- API_p17
- API_p18
- API_p19
- API_p2
- API_p20
- API_p21
- API_p22
- API_p23
- API_p24
- API_p3
- API_p4
- API_p5
- API_p6
- API_p7
- API_p8
- API_p9
- ARCHITECTURE
- ARCHITECTURE_p2
- ARCHITECTURE_p3
- ARCHITECTURE_p4
- ARCHITECTURE_p5
- ARCHITECTURE_p6
- ARCHITECTURE_p7
- ARCHITECTURE_p8
- ARCHITECTURE_p9
- CONCEPTS
- GOTCHAS
- INDEX
- INDEX_p2
- INDEX_p3
- KB_backdoor
- KB_blueprints
- KB_cgi-bin
- KB_claude_md_orchestrator
- KB_cli
- KB_cli_p2
- KB_cli_p3
- KB_cli_p4
- KB_cli_p5
- KB_commands
- KB_commands_p2
- KB_commands_p3
- KB_commands_p4
- KB_config
- KB_contract
- KB_core
- KB_core_p2
- KB_devtools
- KB_extensions
- KB_guardrails
- KB_hermes-lazyown
- KB_integrations
- KB_js
- KB_js_p2
- KB_js_p3
- KB_js_p4
- KB_lazyc2
- KB_lazygui
- KB_lazyown-docker
- KB_legacy
- KB_legacy_p2
- KB_mediation
- KB_misc
- KB_modules
- KB_modules_p10
- KB_modules_p11
- KB_modules_p12
- KB_modules_p13
- KB_modules_p14
- KB_modules_p15
- KB_modules_p16
- KB_modules_p2
- KB_modules_p3
- KB_modules_p4
- KB_modules_p5
- KB_modules_p6
- KB_modules_p7
- KB_modules_p8
- KB_modules_p9
- KB_modules_tools
- KB_palettes
- KB_panels
- KB_plugins
- KB_poc_tui
- KB_root
- KB_root_p2
- KB_rootkit
- KB_scripts
- KB_security
- KB_services
- KB_sinks
- KB_skills
- KB_skills_claude_md_orchestrator_tests
- KB_skills_p2
- KB_skills_p3
- KB_skills_p4
- KB_skills_p5
- KB_skills_tests
- KB_tests
- KB_tests_p10
- KB_tests_p11
- KB_tests_p12
- KB_tests_p13
- KB_tests_p14
- KB_tests_p15
- KB_tests_p16
- KB_tests_p17
- KB_tests_p18
- KB_tests_p19
- KB_tests_p2
- KB_tests_p20
- KB_tests_p3
- KB_tests_p4
- KB_tests_p5
- KB_tests_p6
- KB_tests_p7
- KB_tests_p8
- KB_tests_p9
- KB_theme
- KB_tools
- KB_widgets
- KB_win_rootkit
- KB_windows
- MEMORY
- SECURITY
- SYMBOLS
- SYMBOLS_p10
- SYMBOLS_p11
- SYMBOLS_p12
- SYMBOLS_p13
- SYMBOLS_p14
- SYMBOLS_p15
- SYMBOLS_p16
- SYMBOLS_p17
- SYMBOLS_p18
- SYMBOLS_p19
- SYMBOLS_p2
- SYMBOLS_p20
- SYMBOLS_p21
- SYMBOLS_p22
- SYMBOLS_p23
- SYMBOLS_p24
- SYMBOLS_p25
- SYMBOLS_p26
- SYMBOLS_p27
- SYMBOLS_p28
- SYMBOLS_p29
- SYMBOLS_p3
- SYMBOLS_p30
- SYMBOLS_p31
- SYMBOLS_p32
- SYMBOLS_p33
- SYMBOLS_p34
- SYMBOLS_p35
- SYMBOLS_p36
- SYMBOLS_p37
- SYMBOLS_p38
- SYMBOLS_p39
- SYMBOLS_p4
- SYMBOLS_p40
- SYMBOLS_p41
- SYMBOLS_p42
- SYMBOLS_p43
- SYMBOLS_p44
- SYMBOLS_p45
- SYMBOLS_p46
- SYMBOLS_p5
- SYMBOLS_p6
- SYMBOLS_p7
- SYMBOLS_p8
- SYMBOLS_p9
Recipes