3snake

Tool for extracting information from newly spawned processes

  • Owner: blendin/3snake
  • Platform:
  • License:: Other
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

About

Targeting rooted servers, reads memory from sshd and sudo system calls that handle password based authentication. Doesn't write any memory to the traced processes. Spawns a new process for every sshd and sudo command that is run.

Listens for the proc event using netlink sockets to get candidate processes to trace. When it receives an sshd or sudo process ptrace is attached and traces read and write system calls, extracting strings related to password based authentication.

Don't really like the solution of backdooring openssh or installing a kernel module on target servers so I made this.

3snake

Build

make
./3snake -h
./3snake

Usage

Run in current terminal
./3snake

Daemonize and dump output to file
./3snake -d -o "/tmp/output_file.txt"

Configuration

Located in config.h

  • ROOT_DIR - root directory when daemonized (relative file paths for -o option will end up here)
  • ENABLE_SSH - OpenSSH server password auth
  • ENABLE_SUDO - sudo password auth
  • ENABLE_SU (experimental) - su password auth
  • ENABLE_SSH_CLIENT (experimental) - ssh client password auth

Limitations

Linux, ptrace enabled, /proc filesystem mounted

Todo
---, Features, X, ---------------------------------------------------, -----, OpenSSH server password auth, X, sudo, X, su, X, regex strings from processes, ~, ssh client, X, * Make the process of adding tracers more fluid

  • Yubikey: Ask for second yubikey from end users, OpenSSH
  • Output mode that only shows usernames/passwords

License

MIT

Main metrics

Overview
Name With Ownerblendin/3snake
Primary LanguageC
Program languageMakefile (Language Count: 3)
Platform
License:Other
所有者活动
Created At2018-02-07 21:03:15
Pushed At2025-05-11 19:15:04
Last Commit At2025-05-11 15:15:03
Release Count0
用户参与
Stargazers Count759
Watchers Count24
Fork Count111
Commits Count39
Has Issues Enabled
Issues Count8
Issue Open Count1
Pull Requests Count6
Pull Requests Open Count0
Pull Requests Close Count1
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private