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 and Arch Linux. For other Linux flavors, adapt commands where needed.
We'll ensure that the root
user can login.
- Configure your
root
user 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.
- Install dependencies:
sudo apt install -y vim # Ubuntu based distros
or
sudo pacman -S vim # Arch based distros
- Hide
root
processes for non-root users:
Some components might not work when hiding /proc
, like mounting a drive via as example Dolphin. This can be bypassed by mounting /proc
only when necessary (Method 1), other than always hiding /proc
on boot via fstab (Method2).
sudo mount -o remount,rw,nosuid,nodev,noexec,relatime,hidepid=2 /proc
Reboot your system to see root processes again.
Open /etc/fstab
with vim:
sudo vim /etc/fstab
Add this below in the text file:
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.
- Change the
kernel.yama.ptrace_scope
value to2
:
echo 2 | sudo tee /proc/sys/kernel/yama/ptrace_scope
- Check that the
ptrace_scope
is set to2
:
sysctl kernel.yama.ptrace_scope
Set ptrace_scope
to 1
if you want to return to the default value:
echo 1 | sudo tee /proc/sys/kernel/yama/ptrace_scope
See this page for more information on process tracing.
- Open
/etc/sysctl.d/10-ptrace.conf
with vim:
sudo vim /etc/sysctl.d/10-ptrace.conf
- Change the
kernel.yama.ptrace_scope
value to2
:
kernel.yama.ptrace_scope = 2
- Reboot your system:
reboot
- Check that the
ptrace_scope
is set to2
:
sysctl kernel.yama.ptrace_scope
We'll ensure that http-driver
can be compiled with .NET.
- 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:
sudo apt update && apt install -y dotnet-sdk-6.0 # Ubuntu based distros
or
sudo pacman -S dotnet-sdk-6.0 # Arch based distros
We'll install http-driver
and register it as a service:
- Install dependencies:
sudo apt install -y git # Ubuntu based distros
or
sudo pacman -S git # Arch based distros
- Switch to
root
user:
su
- Open the
/root
directory:
cd ~
- Clone this repository:
git clone https://github.com/XRadius/http-driver
- Open the
http-driver
directory:
cd ~/http-driver
- Change
username
andpassword
inappsettings.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
- Optional (If Method 1 is used):
You should disable the service when using Method 1, as the processes will not be hidden automatically on boot, and just when using the mount command. Disable the automatic starting of the service with the command below. Else this might get you banned.
sudo systemctl disable <system name you specified before>
and
sudo systemctl start <system name you specified before>
Use this every time you want to use the driver again !!! DON'T USE WHEN ROOT PROCESSES AREN'T HIDDEN IN "ps aux" !!!
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
root
user:
su
- Open the
http-driver
directory:
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
username
andpassword
inappsettings.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.