Port Yönləndirilməsi nədir?Pivoting nədir? Ligolo nədir? Ligolo ilə port yönləndirmə necə edilir?Ligolo istifadəsi necədir?
Telegram kanalına qoşularaq bu və digər mövzular üzrə quizlərdə iştirak edə bilərsiniz!
Telegram (Kanal): https://t.me/xakeraz_official
Lab Mühiti
Port yönləndirilmələrini edəcəyimiz lab mühiti yaradırıq və mühit aşağıdakı cihazlar ibarətdir:
- KALİ LİNUX — 192.168.20.128/24
- SERVER — 192.168.20.129/24 192.168.1.106/24
- Hədəf LİNUX — 192.168.1.107/24
Cihazların adları və ip adresləri verilmişdir. Kali Linux cihazında yalnız bir eth0 interfeysi aktivdir və ip adresi 192.168.20.128-dir. Server cihazının iki interfeysi eth0 və eth1 aktivdir və uyğun olaraq ip adresləri 192.168.20.129 və 192.168.1.106-dir. Hədəf Linux cihaz isə yalnız bir interfeys eth0 aktivdir və ip adresi 192.168.1.107-dir.
Lab Mühitinin Sxemi
Lab mühitinin sxemi görmək port yönləndirilməsi zamanı bizə hadisəni vizuallaşdıraraq daha rahat kommanda yazmağa kömək edəcəkdir.

Buradan çıxan nəticələr:
- Kali Linux cihazı yalnız Server cihazı ilə əlaqə qura bilir.
- Kali Linux cihazı Hədəf Linux cihazı ilə fərqli şəbəkələrdə olduğundan birbaşa əlaqə qura bilmir.
- Server cihazının iki interfeysi mövcuddur və iki digər cihazlar ilə əlaqə qura bilir.
- Server üzərində bütün səlahiyyətlərə sahibik yalnız Hədəf Linux cihazına girişimiz yoxdur.
Port Yönləndirilməsi Edilməsini Məqsədi
Port yönləndirilməsi edilməsinin məqsədi şəbəkə məhdudiyyətini keçmək, firewall məhdudiyyətlərin yan keçməkdir. Bizim məsələmizdə məqsədimiz şəbəkə məhdudiyyətini port yönləndirilməsi ilə keçməkdir. İlkin məqsəd olaraq Hədəf Linux cihazında 80 portunda veb server çalışır və biz o veb serverə Kali Linux cihazından giriş etməliyik.
Hədəf Linux cihazında yaradılan veb server aşağıdakı kommanda ilə icra olunur:
┌──(root㉿HEDEFLINUX)-[~]
└─# python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
İstəsəniz veb serverin portunu dəyişərək istənilən (digər servis portlarına maneə olmadan) portu təyin edə bilərsiniz.
Veb serverin index.html faylı əlavə olunmuşdur və hücum edən cihazda port yönləndirməni təsdiqləmək üçün yazı əlavə olunub. (Hədəf Linux cihazında yerləşir və ordan veb serverə daxil olunub) Növbəti port yönləndirmə əməliyyatlarında əgər bunu görəcəyiksə o zaman port yönləndirməni düzgün etmişik mənasını verir. (Hələki burda port yönləndirmə yoxdur və sadəcə testdir.)

Biz adi halda hücumçu Kali Linux cihazında 192.168.1.107 (Hədəf Linux) veb serverinə daxil ola bilmirik.

MƏQSƏD: Hədəf Linux-dakı veb serverə daxil olmaq və B şəbəkəsinin nmap ilə skanını yerinə yetirmək.
Ligolo ilə Port Yönləndirmə
Ligolo-ng, Go ilə yazılmış, proxy/VPN kimi işləyən bir tunel agentidir. “Reverse Tunneling” üçün istifadə olunur, yəni hədəf maşından öz maşınına trafik yönləndirirsən. Ligolo-ng alətinin iki modu vardır.(Chisel alətində olduğu kimi):
- Agent — hədəf maşında işləyir (Bizim misalda Server cihaz)
- Proxy Server (relay) — sənin maşınında işləyir (Bizim cihazdır və dinləmə yerinə yetirilir.)
Ligolo quraşdırılması
Ligolo-ng alətinin quraşdırılması iki üsulla mövcuddur.1-cisi github saytın yüklənərək quraşdırılması
git clone https://github.com/nicocha30/ligolo-ng
cd ligolo-ng
make
2-ci üsul isə Kali Linux cihazlarında repolardan quraşdırılması,halbuki ligolo-ng Kali Linux cihazın default olaraq yüklü gəlir:
apt install ligolo-ng
Port Yönləndirmə
Ligolo aləti VPN tunelling texnologiyasından istifadə etdiyindən port yönləndirmə yerinə yetirməzdən əvvəl ligolo adında tun interfeysi yaratmalı və root istifadəçisi tərəfindən idarə olunmalıdır.Bunun üçün Kali Linux cihazında aşağıdakıları icra etməliyik:
ip tuntap add user root mode tun ligolo
ip link set ligolo up
İzahı: 1-ci sətir:
- Yeni bir TUN interfeysi yarad (
mode tun) — yəni layer 3 (IP səviyyəsində) virtual interfeys - Sahibi
rootolsun (yəni yalnız root istifadə edə bilər) - Adı
ligoloolsun (tun0, tun1 kimi istədiyin adı verə bilərsə)
Bu əmr TUN interfeysini kernel səviyyəsində əlavə edir.
2-ci sətir isə:
Bu isə həmin interfeysi aktiv edir — yəni “interface up” vəziyyətinə gətirir. Onsuz interfeys “down” vəziyyətdə qalar və işləməz.
İndi cihazda ifconfig yazdıqda eth0 interfeysi ilə yanaşı ligolo interfeysinidə görə bilərik.

İndi isə biz Kali Linux cihazından proxy modundan istifadə edərək ligolo əlaqəsi üçün əhəmiyyətli olan portu dinləyə bilərik.
┌──(root㉿kali)-[~]
└─# ligolo-proxy -laddr 0.0.0.0:11601 -selfcert
INFO[0000] Loading configuration file ligolo-ng.yaml
WARN[0000] Using default selfcert domain 'ligolo', beware of CTI, SOC and IoC!
INFO[0000] Listening on 0.0.0.0:11601
INFO[0000] Starting Ligolo-ng Web, API URL is set to: http://127.0.0.1:8080
__ _ __
/ / (_)___ _____ / /___ ____ ____ _
/ / / / __ `/ __ \/ / __ \______/ __ \/ __ `/
/ /___/ / /_/ / /_/ / / /_/ /_____/ / / / /_/ /
/_____/_/\__, /\____/_/\____/ /_/ /_/\__, /
/____/ /____/
Made in France ♥ by @Nicocha30!
Version: dev
ligolo-ng » WARN[0000] Ligolo-ng API is experimental, and should be running behind a reverse-proxy if publicly exposed.
İzahı:
- -laddr – listening address mənasını bildirir, əlaqənin hansı ip adresindən və portundan gələcəyini bildirir.(0.0.0.0 yazaraq istənilən ip adresdən əlaqəni qəbul edirik ancaq portumuz mütləq 11601 olamlıdır.)
- -selfcert isə əlaqəni özümüz tərəfindən şifrələndiyini bildirir.
Hələlik Kali Linux cihazımızda işimiz bitdi və Orta cihaz olan Server-də ligolo istifadə edib onu agent modda bizim listening etdiyimiz cihaza əlaqə saxlayacayıq.
Server cihazımız Windows olsa idi o zaman:
agent_windows_amd64.exe -connect <kali-ip>:11601 -ignore-cert
Server cihazımız isə Linux olduğu üçünü biz aşağıdakı kommandadan istifadə edəcəyik:
┌──(root㉿SERVER)-[~]
└─# ./agent_linux_amd64 ligolo-agent -connect 192.168.20.128:11601 -ignore-cert
WARN[0000] warning, certificate validation disabled
INFO[0000] Connection established addr="192.168.20.128:11601"
İzahı:
- ligolo-agent – ligolo alətinin agent moduna təyin edirik.
- -connect – hansı hədəfə əlaqə quracağını bildirir.(Burada bizim Kali Linux ip adresi dinləməyə aldığımız portu qeyd edirik)
- -ignore-cert -Kali Linux cihazından özümüz şifrələdiyimiz əlaqəni qəbul edir və əsl SSL sertifkatının yoxluğunu yox sayır.
Əlaqənin müvəfəqiyyətlə qurulduğunu Connection established yazısından görə bilərik. Həmçinin Kali Linux cihazında dinləmə etdiyimiz ligolo alətində SERVER cihazının agent qismində əlaqə qurulduğunu görə bilərik.

Bundan sonra edəcəyimiz bütün əməliyyatlar Kali Linux cihazında yerinə yetiriləcəkdir. İndi isə ligolo daxilində session əmri ilə bizə əlaqə qurmuş bağlantıları görə bilərik. (session dedikdə bütün əlaqələr və id uyğun olaraq yazılmalı və həmin sessiya üzrə əməliyyatlar yerinə yetirilir.)

Enter ilə həmin sessiyaya daxil oluruq və start kommandası ilə tunneling əməliyyatını başladırıq.

Bizim bu sessiyamızın port yönləndirmə üçün məqsədə uyğun olmağın ligolo üzərində ifconfig yazaraq hədəf maşında olan interfeysləri təyin edə bilərik.

Məqsədimiz elə 192.168.1.0/24 şəbəkəsində 192.168.1.107 hədəf linux cihazının veb serverinə daxil olmaqdır. Tunneling yerinə yetirilibsə o zaman biz hədəf linux cihaza ping atmağa və veb serverə daxil olmağa cəhd edək.


Gördüyümüz kimi biz hədəfə ping ata və veb serverinə daxil ola bilmirik. Bəs səbəb nədir? Səbəb isə 192.168.1.107 ip adresini yazdıqda cihazın bunu hansı interfeys ilə yönləndirəcəyini bilməməsidir. Bunun üçün bu şəbəkəyə gedən bağlantıları əvvəl yaradılan ligolo interfeysi üzərinə təyin edirik.
──(root㉿kali)-[~]
└─# ip route add 192.168.1.0/24 dev ligolo
┌──(root㉿kali)-[~]
└─# ip route list
192.168.1.0/24 dev ligolo scope link
192.168.20.0/24 dev eth0 proto kernel scope link src 192.168.20.128 metric 100
İzahı:
- 1-ci sətir – 192.168.1.0/24 şəbəkəsinə getmək istəyən trafiki ligolo interfeysi üzərinən getməyini təmin edir.
- 2-ci sətir – bütün ip yönləndirmələrini göstərir.(Burda eth0 default olaraq vardır, bizim əlavə etdyimiz ligolo ilə əlaqədar olandır.)
İndi isə bayaq etdiyimiz ping atma və veb serverə daxil olamağa cəhd edək.


NƏTİCƏ
Son olaraq ligolo-ng alətinin quraşdırılmasını və onunla necə port yönləndirmə əməliyatının yerinə yetirildiyini öyrəndik.Bu port yönləndirmə üsulu proxychains üsulundan daha stabil və sürətlidir.
Əməyə hörmət olaraq aşağıdakı kanalına qoşula bilərsiniz. Ümid varam faydalı olmuşdur! Oxuduğunuz üçün təşəkkürlər!
Bizi izləyin:
Telegram (Kanal): https://t.me/xakeraz_official
Paylaşımların səliqəli yığılmış halı: https://t.me/xakerazgroup
Fikir və şərhləriniz : https://t.me/xakerazchat