Zamanında Türkiye üzerinde kullanılan DPI kardeşlerin nasıl geçilebildiği ve bu konuda neler yapılması gerektiğini hiç anlatmadık. Bugün Kernel bazında yapacağımız değişiklikler ile sansürün etrafından dolaşıcaz ve erişim engelli çoğu yeri geçmiş olacağız.
Peki bu işin olayı nedir?
Orijinal SYN Paketlerini göndermeden hemen önce sahte SYN ve ACK paketleri ile bağlantının spoof edilmesi ve DPI cihazını atlatmak
Bağımlılıklarımızı kuralım, iptables kardeşimize eklentimiz ve olmazsa olmazımız git
apt install linux-headers-$(uname -r)
apt install libxtables-dev xtables-addons xtables-addons-common git
Git’ten repomuzu çekelim ve gerekenleri yapalım.
git clone https://downloads.mertcangokgoz.com/netfilter-spooftcp.zip
cd netfilter-spooftcp
nano Makefile
Şu şekilde olacak
PWD := $(shell pwd)
KVERSION := $(shell uname -r)
KERNEL_DIR = /usr/src/linux-headers-$(KVERSION)/
XTABLES_LIBDIR ?= $(shell pkg-config xtables --variable=xtlibdir)
ccflags-y += -O3
obj-m := xt_SPOOFTCP.o
all: libxt_SPOOFTCP.so mod strip
strip: libxt_SPOOFTCP.so mod
strip libxt_SPOOFTCP.so
strip --strip-debug xt_SPOOFTCP.ko
libxt_SPOOFTCP.so: libxt_SPOOFTCP.o
$(CC) ${CFLAGS} ${LDFLAGS} -shared -lxtables libxt_SPOOFTCP.o -o libxt_SPOOFTCP.so
libxt_SPOOFTCP.o:
$(CC) ${CFLAGS} -O3 -fPIC -c libxt_SPOOFTCP.c -o libxt_SPOOFTCP.o
mod:
make -C $(KERNEL_DIR) M=$(PWD) modules
clean:
make -C $(KERNEL_DIR) M=$(PWD) clean
rm -f libxt_SPOOFTCP.so libxt_SPOOFTCP.o
install: all
install -m 0644 libxt_SPOOFTCP.so $(XTABLES_LIBDIR)/
modprobe ip6_tables
-rmmod xt_SPOOFTCP
insmod xt_SPOOFTCP.ko
install -m 0644 xt_SPOOFTCP.ko /lib/modules/$(KVERSION)/kernel/net/netfilter/
Kurulum için
sudo make
sudo make install
/lib/xtables
içerisine libxt_SPOOFTCP.so
kopyalayın. Gerekirse sudo insmod xt_SPOOFTCP.ko
Komutunu vermeyi unutmayın.
Sorunsuz şekilde işlemler tamamlandıysa eklentimizin çalıştığını şu şekilde görebilirsiniz.
iptables -j SPOOFTCP --help
Bu yöntem ile örneğin pastebin için kural seti şu şekildedir.
iptables -t mangle -A POSTROUTING -d 104.22.0.0/16 -p tcp --dport 443 --syn -j SPOOFTCP --ttl 14 --tcp-flags PSH,ACK --delay 5 --payload-length 1 --md5 --ts
Kural setlerini kayıt etmeyi ve sistem başlangıcında tekrar kullanımını sağlamayı unutmayınız.
apt install iptables-persistent
netfilter-persistent save