GithubHelp home page GithubHelp logo

http-driver's Introduction

http-driver

Linux driver for process/region/memory inspection & manipulation via HTTP.

Warnings

This driver provides memory access for all running processes over HTTP.

Please review the following warnings before using this tool:

(1) This should not be used on public networks

This driver utilizes Basic access authentication to verify users. The Username and Password is passed clear-text over the network, which is generally regarded as being unsecure. While this may be fine on networks you have control over, running this driver on public networks should be avoided.

(2) Change the default Username / Password

Please change the default Username & Password from "guest" to something else. It is your last line of defense to prevent malicious users from modifying/reading your system memory.

(3) Be wary when using 3rd party tools

This driver is not locked to any single process. Assume that websites utilizing this driver contain malicious code.

The only "trusted" tool utilizing this driver is http-game-apex.

Installation

This guide is written for Ubuntu. For other Linux flavors, adapt commands where needed.

(1) Allow Root Login

We'll ensure that the root user can login.

  1. Configure your root user password:
sudo passwd

See this page for more information on the root user.

(2) Enable Process Isolation

We'll ensure that non-root users are unable to see the http-driver service.

  1. Switch to the root user:
su
  1. Install dependencies:
apt install -y vim
  1. Open /etc/fstab with vim:
vim /etc/fstab
  1. Add the following line:
proc /proc proc defaults,nosuid,nodev,noexec,relatime,hidepid=2 0 0
  1. Reboot your system:
reboot
  1. Check that your non-root user cannot see root processes:
ps aux

See this page for more information on process isolation.

(3) Disable Process Tracing

We'll ensure that non-root users cannot use ptrace capabilities.

  1. Switch to the root user:
su
  1. Open /etc/sysctl.d/10-ptrace.conf with vim:
vim /etc/sysctl.d/10-ptrace.conf
  1. Change the kernel.yama.ptrace_scope value to 2:
kernel.yama.ptrace_scope = 2
  1. Reboot your system:
reboot
  1. Check that the ptrace_scope is set to 2:
sysctl kernel.yama.ptrace_scope

See this page for more information on process tracing.

(4) Install .NET

We'll ensure that http-driver can be compiled with .NET.

  1. Switch to the root user:
su
  1. Add the Microsoft package repositories:
  1. Install .NET 6.0:
apt update && apt install -y dotnet-sdk-6.0

(5) Install Service

We'll install http-driver and register it as a service:

  1. Switch to root user:
su
  1. Open the /root directory:
cd ~
  1. Install dependencies:
apt install -y git
  1. Clone this repository:
git clone https://github.com/XRadius/http-driver
  1. Open the http-driver directory:
cd ~/http-driver
  1. Change username and password in appsettings.json:
vim src/appsettings.json
  1. Enable execution of the installation script:
chmod +x service-install.sh
  1. Run the installation script and follow the instructions:
./service-install.sh

Once you've followed these instructions, http-driver is ready for use!

Updating

We'll update http-driver and register it as a service:

  1. Switch to root user:
su
  1. Open the http-driver directory:
cd ~/http-driver
  1. Enable execution of the uninstallation script:
chmod +x service-uninstall.sh
  1. Run the uninstallation script and follow the instructions:
./service-uninstall.sh
  1. Remove your changes:
git reset --hard
  1. Update this repository:
git pull
  1. Change username and password in appsettings.json:
vim src/appsettings.json
  1. Run the installation script and follow the instructions:
./service-install.sh

Once you've followed these instructions, http-driver is ready for use again!

Usage

Navigate to http://0.0.0.0:8080/. Replace 0.0.0.0 for your network-resolvable IP.

http-driver's People

Contributors

eightb1ts avatar

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.