Rootkit benzeri bir modül, sıradan bir sistem yöneticisinin izin verilen ip bilgisini sorgulama yeteneğini ortadan kaldırır, tcpdump ve daha fazlasını çalıştırma yeteneğini devre dışı bırakır. Bu modül tüm VPN sunucularında başlangıçta yüklenmesi önerilir. Wireguard yapımcıları tarafından aktif olarak geliştirilmektedir. Wireguard VPN Kurmak isterseniz de Wireguard VPN Server Kurulumu makaleme göz atabilirsiniz.
Uygulama kısaca aşağıdaki işlemleri yapmaktadır.
- Çekirdek modülünü devre dışı bıraktırmayı kapatır.
- /dev/{mem, kmem, port} ve /proc /kcore erişimini devre dışı bırakır.
- Tcpdump\’ın yaptıklarını durdurmak için AF_RAW ve AF_INET (6)/SOCK_RAW soketlerinin oluşturulmasını devre dışı bırakır.
- OpenVPN gibi programlardan veri çıkarımını önlemek için Ptrace, /proc PID/mem ve coredumps\’ı devre dışı bırakır.
- Kullanıcı bilgilerinin görünürlüğünü önlemek için kullanıcı alanında kullanılan araçlarda endpoint ve allowedips alanını devre dışı bırakır.
Yapılanlar sayesinde sistem üzerinde kısıtlamalara gidilerek sisteme bağlı kullanıcıların bilgilerinin alınmasının önüne geçilir. Sistem yöneticisinin bilgi sızdırmasının önüne geçer. 0-day gibi zafiyetlerin önüne geçemeyeceğini unutmayınız.
Kurulum
Kuruluma gelince yapacaklarınız oldukça basit. Sisteme derleme araçlarını ve gereken dosyaları indirmek hepsi bu
apt install build-essential dkms git
git clone https://git.zx2c4.com/blind-operator-mode
Ardından indirdiğiniz dosyaları sisteme dahil etmek bunun için ise yapacaklarınız şu şekilde.
cd blind-operator-mode
make
make install
Tüm bu işlemler sonlanmaya yaklaşırken çıktılar şu şekilde gözükecek alışık olmayanlar paniklemesin
root@debian:~/blind-operator-mode# make install
make -C /lib/modules/4.9.0-7-amd64/build M=/root/blind-operator-mode clean
make[1]: Entering directory '/usr/src/linux-headers-4.9.0-7-amd64'
CLEAN /root/blind-operator-mode/.tmp_versions
CLEAN /root/blind-operator-mode/Module.symvers
make[1]: Leaving directory '/usr/src/linux-headers-4.9.0-7-amd64'
echo blind-operator-mode > /etc/modules-load.d/blind-operator-mode.conf
echo softdep wireguard pre: blind-operator-mode > /etc/modprobe.d/blind-operator-mode.conf
dkms remove blind-operator-mode/0.0.1 --all
-------- Uninstall Beginning --------
Module: blind-operator-mode
Version: 0.0.1
Kernel: 4.9.0-7-amd64 (x86_64)
-------------------------------------
Status: Before uninstall, this module version was ACTIVE on this kernel.
blind-operator-mode.ko:
- Uninstallation
- Deleting from: /lib/modules/4.9.0-7-amd64/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod.....
DKMS: uninstall completed.
------------------------------
Deleting module version: 0.0.1
completely from the DKMS tree.
------------------------------
Done.
dkms add .
Creating symlink /var/lib/dkms/blind-operator-mode/0.0.1/source ->
/usr/src/blind-operator-mode-0.0.1
DKMS: add completed.
dkms autoinstall
Kernel preparation unnecessary for this kernel. Skipping...
Building module:
cleaning build area...
make -j1 KERNELRELEASE=4.9.0-7-amd64 -C /lib/modules/4.9.0-7-amd64/build M=/var/lib/dkms/blind-operator-mode/0.0.1/build...
cleaning build area...
DKMS: build completed.
blind-operator-mode.ko:
Running module version sanity check.
- Original module
- No original module exists within this kernel
- Installation
- Installing to /lib/modules/4.9.0-7-amd64/updates/dkms/
Running the post_install script:
depmod...
DKMS: install completed.
Kurulum tamamlandı şimdi sistemi yeniden başlatmak için reboot
komutunu verin. Sistem kendine geldikten hemen sonra ise ping komutlarının çalışmadığını görebilirsiniz. Bunu düzeltmek için aşağıdaki kernel parametresini çalıştırıp soket kardeşimizde izin verin.
sysctl -w net.ipv4.ping_group_range=0 0
Size örnek olması açısından, yukarıda bahsi geçen komutları çalıştırmayı deneyelim. Bakalım karşımıza kimler çıkacak
root@debian:/home/mertcan# tcpdump -ni eth0
tcpdump: eth0: You don't have permission to capture on that device
(socket: Operation not permitted)
root@debian:/home/mertcan# cat /proc/kcore
cat: /proc/kcore: Operation not permitted
root@debian:/home/mertcan# rmmod blind_operator_mode
rmmod: ERROR: ../libkmod/libkmod-module.c:793 kmod_module_remove_module() could not remove 'blind_operator_mode': Operation not permitted
rmmod: ERROR: could not remove module blind_operator_mode: Operation not permitted
Uyarılar
Öncelikle sistemde bu modülün zorluklar çıkartacağını bilerek kurulumları yapınız. Troubleshooting işlemlerinde sizi zora sokabileceği ihtimalini göz önünde bulundurunuz. Blind Operator Mode özelliğini geçmek için kişilerin mevcut bilgilerini tazelemeleri ve şu an olduğundan daha bilgili olması gerektiğini anlamaları gerekir.
Ne yaptığınızı bilmiyorsanız hali hazırda çalışan sisteminizde bu değişiklikleri yapmayın.