LinkPro Linux Rootkit
ਇੱਕ Amazon Web Services (AWS) ਵਾਤਾਵਰਣ ਦੇ ਹਾਲ ਹੀ ਵਿੱਚ ਹੋਏ ਸਮਝੌਤੇ ਨੇ ਇੱਕ ਪਹਿਲਾਂ ਤੋਂ ਗੈਰ-ਦਸਤਾਵੇਜ਼ੀ GNU/Linux ਰੂਟਕਿੱਟ ਦਾ ਖੁਲਾਸਾ ਕੀਤਾ, ਜਿਸਨੂੰ LinkPro ਵਜੋਂ ਟਰੈਕ ਕੀਤਾ ਗਿਆ ਸੀ। ਇਹ ਬੈਕਡੋਰ eBPF ਮੋਡੀਊਲਾਂ ਦੀ ਦੋਹਰੀ ਵਰਤੋਂ ਲਈ ਪ੍ਰਸਿੱਧ ਹੈ: ਇੱਕ ਸੈੱਟ ਕਲਾਕ੍ਰਿਤੀਆਂ ਨੂੰ ਲੁਕਾਉਣ ਲਈ, ਅਤੇ ਦੂਜਾ ਜੋ ਇੱਕ ਸਟੀਲਥੀ ਟਰਿੱਗਰ ਵਜੋਂ ਕੰਮ ਕਰਦਾ ਹੈ - ਇੱਕ 'ਨੌਕ' ਜੋ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਤਿਆਰ ਕੀਤੇ TCP ਪੈਕੇਟ ਦੇਖੇ ਜਾਣ ਤੋਂ ਬਾਅਦ ਹੀ ਰਿਮੋਟ ਕਮਾਂਡ ਕਾਰਜਕੁਸ਼ਲਤਾ ਨੂੰ ਜਗਾਉਂਦਾ ਹੈ। ਹਮਲੇ ਦੀ ਲੜੀ ਅਤੇ ਰੂਟਕਿਟ ਦੇ ਵਿਧੀ ਇੱਕ ਸੂਝਵਾਨ ਓਪਰੇਟਰ ਨੂੰ ਦਰਸਾਉਂਦੇ ਹਨ ਜੋ ਖੋਜ ਅਤੇ ਫੋਰੈਂਸਿਕ ਸਬੰਧਾਂ ਨੂੰ ਨਿਰਾਸ਼ ਕਰਨ ਲਈ ਕੰਟੇਨਰ ਦੁਰਵਰਤੋਂ, ਕਰਨਲ-ਪੱਧਰ ਦੀ ਛੁਪਣ ਅਤੇ ਲਚਕਦਾਰ ਨੈੱਟਵਰਕ ਐਕਟੀਵੇਸ਼ਨ ਨੂੰ ਮਿਲਾਉਂਦਾ ਹੈ।
ਵਿਸ਼ਾ - ਸੂਚੀ
ਇਨਫੈਕਸ਼ਨ ਵੈਕਟਰ ਅਤੇ ਸ਼ੁਰੂਆਤੀ ਤੈਨਾਤੀ
ਇਹ ਘੁਸਪੈਠ CVE‑2024‑23897 (CVSS 9.8) ਲਈ ਕਮਜ਼ੋਰ ਇੱਕ ਐਕਸਪੋਜ਼ਡ ਜੇਨਕਿੰਸ ਇੰਸਟੈਂਸ ਦੇ ਸ਼ੋਸ਼ਣ ਨਾਲ ਸ਼ੁਰੂ ਹੋਈ। ਉਸ ਪੈਰ ਤੋਂ, ਹਮਲਾਵਰਾਂ ਨੇ ਇੱਕ ਖਤਰਨਾਕ ਡੌਕਰ ਚਿੱਤਰ (kvlnt/vv, ਕਿਉਂਕਿ ਡੌਕਰ ਹੱਬ ਤੋਂ ਹਟਾਇਆ ਗਿਆ ਹੈ) ਨੂੰ ਕਈ ਕੁਬਰਨੇਟਸ ਕਲੱਸਟਰਾਂ ਵਿੱਚ ਧੱਕ ਦਿੱਤਾ। ਚਿੱਤਰ ਵਿੱਚ ਇੱਕ ਕਾਲੀ ਲੀਨਕਸ ਅਧਾਰ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ ਸੀ ਅਤੇ ਇੱਕ ਛੋਟਾ ਐਪਲੀਕੇਸ਼ਨ ਫੋਲਡਰ ਸੀ ਜਿਸਦਾ ਉਦੇਸ਼ ਸਥਿਰਤਾ, ਰਿਮੋਟ ਐਕਸੈਸ, ਅਤੇ ਇੱਕ ਸਟੇਜਡ ਬੈਕਡੋਰ ਡਾਊਨਲੋਡ ਸਥਾਪਤ ਕਰਨਾ ਸੀ।
ਮੈਲੀਸ਼ੀਅਸ ਡੌਕਰ ਚਿੱਤਰ ਦੇ ਅੰਦਰ
ਚਿੱਤਰ ਦੇ ਐਪ ਫੋਲਡਰ ਵਿੱਚ ਵੱਖ-ਵੱਖ ਭੂਮਿਕਾਵਾਂ ਵਾਲੀਆਂ ਤਿੰਨ ਮੁੱਖ ਫਾਈਲਾਂ ਸਨ:
start.sh — ਇੱਕ ਸ਼ੈੱਲ ਸਕ੍ਰਿਪਟ ਜੋ ਇੱਕ SSH ਸੇਵਾ ਲਾਂਚ ਕਰਦੀ ਹੈ ਅਤੇ ਬਾਕੀ ਦੋ ਹਿੱਸਿਆਂ ਨੂੰ ਚਲਾਉਂਦੀ ਹੈ।
ਲਿੰਕ — ਇੱਕ ਓਪਨ-ਸੋਰਸ ਪ੍ਰੋਗਰਾਮ (vnt) ਜੋ ਇੱਕ VPN/ਪ੍ਰੌਕਸੀ ਕਲਾਇੰਟ ਵਜੋਂ ਕੰਮ ਕਰਨ ਲਈ ਕੰਪਾਇਲ/ਪੈਕ ਕੀਤਾ ਗਿਆ ਹੈ, ਜੋ ਆਊਟਬਾਉਂਡ ਨੂੰ vnt.wherewego[.]top:29872 ਨਾਲ ਜੋੜਦਾ ਹੈ। ਇਹ ਹਮਲਾਵਰ ਨੂੰ ਕਿਤੇ ਵੀ ਸਮਝੌਤਾ ਕੀਤੇ ਹੋਸਟ ਤੱਕ ਪਹੁੰਚਣ ਅਤੇ ਇਸ ਰਾਹੀਂ ਦੂਜੇ ਟੀਚਿਆਂ ਵੱਲ ਮੋੜਨ ਦਿੰਦਾ ਹੈ।
ਐਪ — ਇੱਕ ਰਸਟ-ਅਧਾਰਿਤ ਡਾਊਨਲੋਡਰ (ਜਿਸਨੂੰ vGet ਕਿਹਾ ਜਾਂਦਾ ਹੈ) ਜੋ ਇੱਕ S3 ਬਕੇਟ ਤੋਂ ਇੱਕ ਇਨਕ੍ਰਿਪਟਡ vShell ਪੇਲੋਡ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ, ਫਿਰ 56.155.98[.]37 'ਤੇ ਇਸਦੇ ਕਮਾਂਡ-ਐਂਡ-ਕੰਟਰੋਲ (C2) ਸਰਵਰ ਨਾਲ ਇੱਕ WebSocket ਲਿੰਕ ਸਥਾਪਤ ਕਰਦਾ ਹੈ।
ਕੁਬਰਨੇਟਸ ਨੋਡਾਂ ਨੂੰ ਵਾਧੂ ਪੇਲੋਡ ਡਿਲੀਵਰ ਕੀਤੇ ਗਏ
ਖਤਰਨਾਕ ਚਿੱਤਰ ਦੇ ਨਾਲ, ਓਪਰੇਟਰਾਂ ਨੇ ਨੋਡਾਂ 'ਤੇ ਦੋ ਹੋਰ ਭਾਗ ਵੀ ਸੁੱਟੇ: ਇੱਕ ਡਰਾਪਰ ਜੋ ਇੱਕ ਹੋਰ vShell ਬੈਕਡੋਰ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਅਤੇ LinkPro, ਇੱਕ Golang-ਲਿਖਿਆ ਰੂਟਕਿੱਟ। LinkPro ਨੂੰ ਦੋ ਮੋਡਾਂ ਵਿੱਚੋਂ ਇੱਕ ਵਿੱਚ ਚਲਾਉਣ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ - ਪੈਸਿਵ (ਰਿਵਰਸ) ਜਾਂ ਐਕਟਿਵ (ਫਾਰਵਰਡ) - ਇਸਦੀ ਸੰਰਚਨਾ ਦੇ ਅਧਾਰ ਤੇ। ਪੈਸਿਵ ਮੋਡ ਵਿੱਚ, ਇਹ ਇੱਕ ਵਿਸ਼ੇਸ਼ ਨੈੱਟਵਰਕ ਪੈਕੇਟ ਦੁਆਰਾ ਕਿਰਿਆਸ਼ੀਲ ਹੋਣ ਦੀ ਉਡੀਕ ਕਰਦਾ ਹੈ; ਐਕਟਿਵ ਮੋਡ ਵਿੱਚ, ਇਹ C2 ਨਾਲ ਹੀ ਸੰਪਰਕ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ। ਫਾਰਵਰਡ ਮੋਡ ਪੰਜ ਟ੍ਰਾਂਸਪੋਰਟ ਪ੍ਰੋਟੋਕੋਲ (HTTP, WebSocket, UDP, TCP, DNS) ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਰਿਵਰਸ ਮੋਡ ਸੰਚਾਰ ਨੂੰ HTTP ਤੱਕ ਸੀਮਿਤ ਕਰਦਾ ਹੈ।
ਲਿੰਕਪ੍ਰੋ ਕਿਵੇਂ ਬਣਿਆ ਰਹਿੰਦਾ ਹੈ
ਮਾਲਵੇਅਰ ਦਾ ਸਮੁੱਚਾ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਅਤੇ ਨਿਰੰਤਰਤਾ ਵਿਵਹਾਰ ਇੱਕ ਸਪਸ਼ਟ ਕ੍ਰਮ ਦੀ ਪਾਲਣਾ ਕਰਦਾ ਹੈ:
- EBPF ਮੋਡੀਊਲ ਨੂੰ ਹਾਈਡ ਕਰੋ ਇੰਸਟਾਲ ਕਰੋ। ਇਸ ਮੋਡੀਊਲ ਵਿੱਚ Tracepoint ਅਤੇ Kretprobe eBPF ਪ੍ਰੋਗਰਾਮ ਸ਼ਾਮਲ ਹਨ ਜੋ LinkPro ਦੀਆਂ ਪ੍ਰਕਿਰਿਆਵਾਂ ਅਤੇ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਨੂੰ ਛੁਪਾਉਣ ਲਈ ਵਰਤੇ ਜਾਂਦੇ ਹਨ।
- ਜੇਕਰ Hide eBPF ਮੋਡੀਊਲ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨਾ ਅਸਫਲ ਹੋ ਜਾਂਦਾ ਹੈ — ਜਾਂ ਜੇਕਰ ਇਸਨੂੰ ਅਯੋਗ ਕਰ ਦਿੱਤਾ ਗਿਆ ਹੈ — ਤਾਂ /etc/libld.so 'ਤੇ ਇੱਕ ਸਾਂਝੀ ਲਾਇਬ੍ਰੇਰੀ ਸਥਾਪਿਤ ਕਰੋ ਅਤੇ ਉਸ ਮਾਰਗ ਨੂੰ /etc/ld.so.preload ਵਿੱਚ ਇੱਕ ਫਾਲਬੈਕ ਲੁਕਾਉਣ ਵਿਧੀ ਵਜੋਂ ਸ਼ਾਮਲ ਕਰੋ।
- ਰਿਵਰਸ (ਪੈਸਿਵ) ਓਪਰੇਸ਼ਨ ਲਈ, ਨੌਕ ਈਬੀਪੀਐਫ ਮੋਡੀਊਲ ਸਥਾਪਿਤ ਕਰੋ। ਨੌਕ ਵਿੱਚ ਇੱਕ ਐਕਸਡੀਪੀ ਪ੍ਰੋਗਰਾਮ ਅਤੇ ਇੱਕ ਟੀਸੀ ਪ੍ਰੋਗਰਾਮ ਹੁੰਦਾ ਹੈ, ਇਸ ਲਈ ਸੀ2 ਚੈਨਲ ਇੱਕ ਖਾਸ 'ਮੈਜਿਕ ਪੈਕੇਟ' ਪ੍ਰਾਪਤ ਕਰਨ ਤੋਂ ਬਾਅਦ ਹੀ ਕਿਰਿਆਸ਼ੀਲ ਹੁੰਦਾ ਹੈ।
- ਇੱਕ systemd ਸੇਵਾ ਬਣਾ ਕੇ ਸਥਿਰਤਾ ਸਥਾਪਤ ਕਰੋ।
- C2 ਤੋਂ ਪ੍ਰਾਪਤ ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ।
- ਬੰਦ ਹੋਣ 'ਤੇ ਜਾਂ ਸਿਗਨਲ ਹੋਣ 'ਤੇ (SIGHUP, SIGINT, SIGTERM), eBPF ਮੋਡੀਊਲ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰੋ ਅਤੇ /etc/libld.so ਪ੍ਰੀਲੋਡ ਸੋਧ ਨੂੰ ਹਟਾਓ/ਰੀਸਟੋਰ ਕਰੋ ਤਾਂ ਜੋ ਸਿਸਟਮ ਆਪਣੀ ਪੁਰਾਣੀ ਸਥਿਤੀ ਵਿੱਚ ਵਾਪਸ ਆ ਜਾਵੇ।
ਮੈਜਿਕ ਪੈਕੇਟ ਅਤੇ ਨੌਕ ਐਕਟੀਵੇਸ਼ਨ ਵਿਧੀ
ਲਿੰਕਪ੍ਰੋ ਦਾ ਪੈਸਿਵ ਐਕਟੀਵੇਸ਼ਨ ਇੱਕ ਸਟੀਕ TCP ਪੈਕੇਟ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ: ਕੋਈ ਵੀ TCP ਪੈਕੇਟ ਜਿਸਦਾ ਵਿੰਡੋ ਆਕਾਰ 54321 ਦੇ ਬਰਾਬਰ ਹੁੰਦਾ ਹੈ, ਨੂੰ 'ਮੈਜਿਕ ਪੈਕੇਟ' ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਨੌਕ ਉਸ ਪੈਕੇਟ ਦਾ ਪਤਾ ਲਗਾਉਂਦਾ ਹੈ, ਤਾਂ ਇਹ ਸਰੋਤ IP ਨੂੰ ਸਟੋਰ ਕਰਦਾ ਹੈ ਅਤੇ ਇਸਨੂੰ ਇੱਕ ਘੰਟੇ ਦੀ ਮਿਆਦ ਦੇ ਨਾਲ ਟੈਗ ਕਰਦਾ ਹੈ। ਉਸ ਸਰੋਤ ਤੋਂ ਬਾਅਦ ਦੇ TCP ਪੈਕੇਟਾਂ ਦੀ ਨਿਗਰਾਨੀ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਅਤੇ, ਜਦੋਂ ਢੁਕਵਾਂ ਹੁੰਦਾ ਹੈ, ਨੌਕ ਹੈਡਰਾਂ ਨੂੰ ਦੁਬਾਰਾ ਲਿਖਦਾ ਹੈ ਤਾਂ ਜੋ ਓਪਰੇਟਰ ਦੇ ਟ੍ਰੈਫਿਕ ਨੂੰ ਲਿੰਕਪ੍ਰੋ ਦੇ ਸੁਣਨ ਵਾਲੇ ਪੋਰਟ (2333) 'ਤੇ ਰੀਡਾਇਰੈਕਟ ਕੀਤਾ ਜਾ ਸਕੇ। ਆਊਟਬਾਉਂਡ ਪੈਕੇਟਾਂ ਨੂੰ ਅਸਲ ਪੋਰਟ ਨੂੰ ਨੈੱਟਵਰਕ 'ਤੇ ਵਾਪਸ ਪੇਸ਼ ਕਰਨ ਲਈ ਐਡਜਸਟ ਕੀਤਾ ਜਾਂਦਾ ਹੈ (ਸਰੋਤ ਪੋਰਟ 2233 'ਤੇ ਦੁਬਾਰਾ ਲਿਖਿਆ ਜਾਂਦਾ ਹੈ)। ਇਰਾਦਾ ਸਿੱਧਾ ਪਰ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੈ: ਹਮਲਾਵਰ ਨੂੰ ਕਿਸੇ ਵੀ ਪੋਰਟ ਰਾਹੀਂ ਲਿੰਕਪ੍ਰੋ ਤੱਕ ਪਹੁੰਚਣ ਦੀ ਆਗਿਆ ਦਿਓ ਜੋ ਫਰੰਟ-ਐਂਡ ਫਾਇਰਵਾਲ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਹੋਸਟ ਦੀ ਅੰਦਰੂਨੀ ਨੈੱਟਵਰਕ ਗਤੀਵਿਧੀ ਨਾਲ ਬਾਹਰੀ ਫਾਇਰਵਾਲ ਲੌਗਾਂ ਨੂੰ ਜੋੜਨਾ ਮੁਸ਼ਕਲ ਬਣਾਉਂਦਾ ਹੈ।
ਲਿੰਕਪ੍ਰੋ ਆਪਣੇ ਆਪ ਨੂੰ ਕਿਵੇਂ ਲੁਕਾਉਂਦਾ ਹੈ
ਲਿੰਕਪ੍ਰੋ ਦੋ-ਪੱਧਰੀ ਛੁਪਾਉਣ ਦੀ ਰਣਨੀਤੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ:
ਕਰਨਲ/eBPF ਲੁਕਾਉਣਾ : Hide eBPF ਮੋਡੀਊਲ Tracepoint ਅਤੇ Kretprobe ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਸਥਾਪਿਤ ਕਰਦਾ ਹੈ ਜੋ ਸਿਸਟਮ ਕਾਲਾਂ ਨੂੰ ਰੋਕਦੇ ਹਨ ਜਿਵੇਂ ਕਿ getdents (ਫਾਈਲਾਂ/ਡਾਇਰੈਕਟਰੀਆਂ ਨੂੰ ਲੁਕਾਉਣ ਲਈ) ਅਤੇ sys_bpf (ਆਪਣੇ BPF ਪ੍ਰੋਗਰਾਮਾਂ ਨੂੰ ਲੁਕਾਉਣ ਲਈ)। ਇਸ ਪਹੁੰਚ ਲਈ CONFIG_BPF_KPROBE_OVERRIDE ਸਮਰਥਿਤ ਕਰਨਲ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
ਯੂਜ਼ਰ-ਸਪੇਸ LD_PRELOAD ਫਾਲਬੈਕ : ਜੇਕਰ ਕਰਨਲ ਸਮਰੱਥਾ ਮੌਜੂਦ ਨਹੀਂ ਹੈ, ਤਾਂ LinkPro ਇੱਕ ਸਾਂਝੀ ਲਾਇਬ੍ਰੇਰੀ (libld.so) ਲਿਖਦਾ ਹੈ ਅਤੇ ਇਸਦਾ ਮਾਰਗ /etc/ld.so.preload ਵਿੱਚ ਰੱਖਦਾ ਹੈ। ਕਿਉਂਕਿ /etc/ld.so.preload ਨਿਰਧਾਰਤ ਲਾਇਬ੍ਰੇਰੀ ਨੂੰ ਹਰੇਕ ਗਤੀਸ਼ੀਲ ਤੌਰ 'ਤੇ ਲਿੰਕ ਕੀਤੀ ਪ੍ਰਕਿਰਿਆ (ਜੋ /lib/ld-linux.so ਅਤੇ glibc ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹਨ) ਵਿੱਚ ਲੋਡ ਕਰਨ ਦਾ ਕਾਰਨ ਬਣਦਾ ਹੈ, ਇਮਪਲਾਂਟ ਕੀਤਾ libld.so libc ਫੰਕਸ਼ਨਾਂ ਨੂੰ ਜਲਦੀ (glibc ਦੇ ਆਪਣੇ ਵਿਵਹਾਰ ਤੋਂ ਪਹਿਲਾਂ) ਹੁੱਕ ਕਰਦਾ ਹੈ ਅਤੇ libc ਕਾਲਾਂ ਤੋਂ ਵਾਪਸੀ ਨੂੰ ਉਹਨਾਂ ਕਲਾਕ੍ਰਿਤੀਆਂ ਨੂੰ ਲੁਕਾਉਣ ਲਈ ਬਦਲਦਾ ਹੈ ਜੋ ਇਸਦੀ ਮੌਜੂਦਗੀ ਨੂੰ ਪ੍ਰਗਟ ਕਰਨਗੀਆਂ।
ਰੂਟਕਿਟ ਸਮਰੱਥਾਵਾਂ ਅਤੇ ਕਮਾਂਡ ਸੈੱਟ
ਲਿੰਕਪ੍ਰੋ ਇੰਟਰਐਕਟਿਵ ਅਤੇ ਆਟੋਮੇਟਿਡ ਰਿਮੋਟ ਐਕਸ਼ਨ ਦੋਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਇਸਦੀਆਂ ਲਾਗੂ ਕੀਤੀਆਂ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਹਨ:
- ਇੱਕ /bin/bash ਸੂਡੋ-ਟਰਮੀਨਲ ਸ਼ੁਰੂ ਕਰਨਾ ਅਤੇ ਇੰਟਰਐਕਟਿਵ ਸ਼ੈੱਲ ਸੈਸ਼ਨ ਚਲਾਉਣਾ।
- ਮਨਮਾਨੇ ਸ਼ੈੱਲ ਕਮਾਂਡਾਂ ਨੂੰ ਲਾਗੂ ਕਰਨਾ।
- ਫਾਈਲਾਂ ਅਤੇ ਡਾਇਰੈਕਟਰੀਆਂ ਦੀ ਗਿਣਤੀ ਕਰਨਾ ਅਤੇ ਫਾਈਲ ਓਪਰੇਸ਼ਨ ਕਰਨਾ।
- ਡਿਸਕ ਤੇ ਫਾਈਲਾਂ ਡਾਊਨਲੋਡ ਕਰਨਾ ਅਤੇ ਲਿਖਣਾ।
- ਪਿਵੋਟਿੰਗ ਅਤੇ ਲਿਵਿੰਗ-ਆਫ-ਦ-ਲੈਂਡ ਪ੍ਰੌਕਸੀਇੰਗ ਲਈ ਇੱਕ SOCKS5 ਪ੍ਰੌਕਸੀ ਸੁਰੰਗ ਸਥਾਪਤ ਕਰਨਾ।
ਨੈੱਟਵਰਕ ਪ੍ਰੋਟੋਕੋਲ ਸਹਾਇਤਾ ਅਤੇ C2 ਵਿਵਹਾਰ
ਐਕਟਿਵ (ਫਾਰਵਰਡ) ਮੋਡ ਵਿੱਚ ਲਿੰਕਪ੍ਰੋ ਲਚਕਦਾਰ ਹੈ: ਇਹ HTTP, WebSocket, UDP, TCP, ਜਾਂ DNS ਟ੍ਰਾਂਸਪੋਰਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ। ਪੈਸਿਵ (ਰਿਵਰਸ) ਮੋਡ ਵਿੱਚ ਇਸਦਾ ਸੰਚਾਰ HTTP ਤੱਕ ਸੀਮਤ ਹੈ ਪਰ ਸਟੀਲਥ ਤੋਂ ਲਾਭ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਸਿਰਫ਼ ਨੌਕ ਮੈਜਿਕ ਪੈਕੇਟ ਦੁਆਰਾ ਇੱਕ ਅਸਥਾਈ ਇੱਕ ਘੰਟੇ ਦੀ ਕਮਾਂਡ ਵਿੰਡੋ ਖੋਲ੍ਹਣ ਤੋਂ ਬਾਅਦ ਹੀ ਸੁਣਦਾ ਹੈ।
ਵਿਵਹਾਰ ਨੂੰ ਸਾਫ਼ ਅਤੇ ਅਣਇੰਸਟੌਲ ਕਰੋ
ਜੇਕਰ ਪ੍ਰਕਿਰਿਆ ਸਮਾਪਤੀ ਸਿਗਨਲ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ, ਤਾਂ LinkPro ਦਾ ਉਦੇਸ਼ ਨਿਸ਼ਾਨਾਂ ਨੂੰ ਹਟਾਉਣਾ ਹੈ: ਇਹ ਸਥਾਪਿਤ eBPF ਮੋਡੀਊਲਾਂ ਨੂੰ ਅਣਇੰਸਟੌਲ ਕਰਦਾ ਹੈ ਅਤੇ /etc/libld ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ ਜਾਂ ਰੀਸਟੋਰ ਕਰਦਾ ਹੈ, ਇਸਨੂੰ ਇਸਦੀ ਪਿਛਲੀ ਸਥਿਤੀ ਵਿੱਚ ਸਮੂਹਬੱਧ ਕਰਦਾ ਹੈ ਤਾਂ ਜੋ ਸਿਸਟਮ ਬਿਨਾਂ ਕਿਸੇ ਬਦਲਾਅ ਦੇ ਦਿਖਾਈ ਦੇਵੇ। ਇਹ ਜਾਣਬੁੱਝ ਕੇ ਸਫਾਈ ਰੁਟੀਨ ਇੱਕ ਓਪਰੇਟਰ ਨੂੰ ਚੋਰੀ ਕਰਨ ਅਤੇ ਲੰਬੇ ਸਮੇਂ ਦੇ ਫੋਰੈਂਸਿਕ ਪੈਰਾਂ ਦੇ ਨਿਸ਼ਾਨਾਂ ਨੂੰ ਘੱਟ ਕਰਨ ਬਾਰੇ ਚਿੰਤਤ ਦਰਸਾਉਂਦਾ ਹੈ।
ਕਾਰਜਸ਼ੀਲ ਸੰਦਰਭ ਅਤੇ ਵਿਸ਼ੇਸ਼ਤਾ
ਇਸ ਮੁਹਿੰਮ ਵਿੱਚ ਇੱਕ ਉੱਚ-ਗੰਭੀਰਤਾ ਵਾਲੇ ਜੇਨਕਿੰਸ ਐਕਸਪਲਾਈਟ, ਖਤਰਨਾਕ ਕੰਟੇਨਰ ਚਿੱਤਰ, ਮਲਟੀਪਲ ਬੈਕਡੋਰ ਵੇਰੀਐਂਟ, ਅਤੇ ਕਰਨਲ-ਪੱਧਰ ਦੇ ਸਟੀਲਥ ਦੀ ਵਰਤੋਂ ਕੀਤੀ ਗਈ - ਇੱਕ ਅਜਿਹਾ ਸੁਮੇਲ ਜੋ ਇੱਕ ਪ੍ਰੇਰਿਤ, ਸਮਰੱਥ ਓਪਰੇਟਰ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦਾ ਹੈ। ਕੋਈ ਨਿਸ਼ਚਿਤ ਵਿਸ਼ੇਸ਼ਤਾ ਜਨਤਕ ਨਹੀਂ ਕੀਤੀ ਗਈ ਹੈ; ਹਾਲਾਂਕਿ, ਟੂਲਸੈੱਟ ਅਤੇ ਪ੍ਰੌਕਸੀਇੰਗ ਅਤੇ ਨਿਰੰਤਰ ਰਿਮੋਟ ਐਕਸੈਸ ਲਈ ਸਮਝੌਤੇ ਦੀ ਸਪੱਸ਼ਟ ਵਰਤੋਂ ਵਿੱਤੀ ਤੌਰ 'ਤੇ ਪ੍ਰੇਰਿਤ ਗਤੀਵਿਧੀ (ਪਿਵੋਟਿੰਗ, ਵਾਧੂ ਘੁਸਪੈਠ ਲਈ ਪ੍ਰੌਕਸੀਇੰਗ, ਜਾਂ ਪਹੁੰਚ ਦੀ ਮੁੜ ਵਿਕਰੀ) ਦਾ ਜ਼ੋਰਦਾਰ ਸੁਝਾਅ ਦਿੰਦੀ ਹੈ।
ਕਰਨਲ ਨਿਰਭਰਤਾ ਅਤੇ ਫਾਲਬੈਕ ਵਿਵਹਾਰ
ਕਿਉਂਕਿ LinkPro ਆਪਣੇ ਸਟੀਲਥੀ ਕਰਨਲ ਇੰਟਰਸੈਪਸ਼ਨ ਲਈ BPF kprobe ਓਵਰਰਾਈਡ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ 'ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ, ਇਹ ਸਿਰਫ਼ ਉਦੋਂ ਕਰਨਲ-ਪੱਧਰ ਦੀ ਲੁਕਾਉਣ ਦੀ ਤਕਨੀਕ ਲਾਗੂ ਕਰਦਾ ਹੈ ਜਦੋਂ ਹੋਸਟ ਕਰਨਲ CONFIG_BPF_KPROBE_OVERRIDE ਨੂੰ ਐਕਸਪੋਜ਼ ਕਰਦਾ ਹੈ। ਜਿੱਥੇ ਉਹ ਕਰਨਲ ਸਮਰੱਥਾ ਗੁੰਮ ਹੈ, LinkPro ਜਾਣਬੁੱਝ ਕੇ LD_PRELOAD ਸ਼ੇਅਰਡ-ਲਾਇਬ੍ਰੇਰੀ ਵਿਧੀ 'ਤੇ ਵਾਪਸ ਆ ਜਾਂਦਾ ਹੈ ਤਾਂ ਜੋ ਆਪਣੇ ਆਪ ਨੂੰ ਯੂਜ਼ਰ ਸਪੇਸ ਵਿੱਚ ਲੁਕਾਇਆ ਜਾ ਸਕੇ, ਵਾਤਾਵਰਣ ਦੀ ਇੱਕ ਵਿਸ਼ਾਲ ਸ਼੍ਰੇਣੀ ਵਿੱਚ ਛੁਪਾਉਣਾ ਯਕੀਨੀ ਬਣਾਇਆ ਜਾ ਸਕੇ।
ਸਮਾਪਤੀ ਨੋਟ
ਲਿੰਕਪ੍ਰੋ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਕਿਵੇਂ ਆਧੁਨਿਕ ਘੁਸਪੈਠ ਕੰਟੇਨਰ ਸਮਝੌਤਾ, ਸਟੇਜਡ ਲੋਡਰ, ਕਰਨਲ ਇੰਸਟਰੂਮੈਂਟੇਸ਼ਨ (eBPF), ਅਤੇ ਚਲਾਕ ਨੈੱਟਵਰਕ ਟ੍ਰਿਕਸ (ਮੈਜਿਕ-ਪੈਕੇਟ ਐਕਟੀਵੇਸ਼ਨ ਅਤੇ ਪੋਰਟ-ਰੀਰਾਈਟਿੰਗ) ਨੂੰ ਜੋੜ ਸਕਦੇ ਹਨ ਤਾਂ ਜੋ ਸਟੀਲਥ ਅਤੇ ਲਚਕਤਾ ਬਣਾਈ ਰੱਖੀ ਜਾ ਸਕੇ। ਖੋਜ ਅਤੇ ਉਪਚਾਰ ਲਈ ਅਣਅਧਿਕਾਰਤ eBPF ਪ੍ਰੋਗਰਾਮਾਂ, /etc/ld.so.preload ਵਿੱਚ ਅਚਾਨਕ ਐਂਟਰੀਆਂ, ਅਸਾਧਾਰਨ ਸਿਸਟਮਡ ਸੇਵਾਵਾਂ, ਅਤੇ ਦਰਸਾਏ ਬੁਨਿਆਦੀ ਢਾਂਚੇ ਨਾਲ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਲਈ ਧਿਆਨ ਨਾਲ ਜਾਂਚ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ (ਫੋਰੈਂਸਿਕ ਸੂਚਕਾਂ ਵਿੱਚ IP 56.155.98[.]37, ਪੋਰਟ 29872, 2333, 2233, ਅਤੇ ਹਟਾਏ ਗਏ ਡੌਕਰ ਚਿੱਤਰ ਨਾਮ kvlnt/vv ਸ਼ਾਮਲ ਹਨ)।