Linux driver for process/region/memory inspection & manipulation via HTTP.
This driver provides memory access for all running processes over HTTP.
This driver utilizes Basic access authentication to verify users. The Username and Password are passed in clear-text over the network, which is generally regarded as being insecure. While this may be fine on networks you have control over, running this driver on public networks should be avoided.
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.
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.
This guide is written for Ubuntu. For other Linux flavors, adapt commands where needed.
We'll ensure that the root user can login.
- Configure your
rootuser password:
sudo passwd
See this page for more information on the root user.
We'll ensure that non-root users are unable to see the http-driver service.
- Switch to the
rootuser:
su
- Install dependencies:
apt install -y vim
- Open
/etc/fstabwith vim:
vim /etc/fstab
- Add the following line:
proc /proc proc defaults,nosuid,nodev,noexec,relatime,hidepid=2 0 0
- Reboot your system:
reboot
- Check that your non-root user cannot see root processes:
ps aux
See this page for more information on process isolation.
We'll ensure that non-root users cannot use ptrace capabilities.
- Switch to the
rootuser:
su
- Open
/etc/sysctl.d/10-ptrace.confwith vim:
vim /etc/sysctl.d/10-ptrace.conf
- Change the
kernel.yama.ptrace_scopevalue to2:
kernel.yama.ptrace_scope = 2
- Reboot your system:
reboot
- Check that the
ptrace_scopeis set to2:
sysctl kernel.yama.ptrace_scope
See this page for more information on process tracing.
We'll ensure that http-driver can be compiled with .NET.
- Switch to the
rootuser:
su
- Add the Microsoft package repositories:
- See https://docs.microsoft.com/en-us/dotnet/core/install/linux.
- Be sure to carefully follow instructions for your Linux flavor.
- Install .NET 6.0:
apt update && apt install -y dotnet-sdk-6.0
We'll install http-driver and register it as a service:
- Switch to
rootuser:
su
- Open the
/rootdirectory:
cd ~
- Install dependencies:
apt install -y git
- Clone this repository:
git clone https://github.com/XRadius/http-driver
- Open the
http-driverdirectory:
cd ~/http-driver
- Change
usernameandpasswordinappsettings.json:
vim src/appsettings.json
- Enable execution of the installation script:
chmod +x service-install.sh
- Run the installation script and follow the instructions:
./service-install.sh
Once you've followed these instructions, http-driver is ready for use!
We'll update http-driver and register it as a service:
- Switch to
rootuser:
su
- Open the
http-driverdirectory:
cd ~/http-driver
- Enable execution of the uninstallation script:
chmod +x service-uninstall.sh
- Run the uninstallation script and follow the instructions:
./service-uninstall.sh
- Remove your changes:
git reset --hard
- Update this repository:
git pull
- Change
usernameandpasswordinappsettings.json:
vim src/appsettings.json
- Run the installation script and follow the instructions:
./service-install.sh
Once you've followed these instructions, http-driver is ready for use again!
Navigate to http://0.0.0.0:8080/. Replace 0.0.0.0 for your network-resolvable IP.