Π‘Π΅ΡΠ΅Π²ΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²Π»ΠΈΡΠ½ΠΈΠ΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΡΠ΅ΡΠ²ΠΈΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΡΡ Ρ ΡΠ΅ΡΡΡ. Π§Π΅ΠΌ ΠΌΠ΅Π½ΡΡΠ΅ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ, ΡΠ΅ΠΌ Π²ΡΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ ΡΠΏΡΠ°Π²Π΅Π΄Π»ΠΈΠ²ΠΎ Π΄Π»Ρ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²ΠΈΡΠ°, Π½Π°ΡΠΈΠ½Π°Ρ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ° ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ
ΠΈΠ»ΠΈ ΡΠ΅ΡΠ΅Π²ΡΠΌ Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΠΌ.
Π₯ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ ΡΠ»ΡΠΆΠΈΡ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ
ΠΈΠΌΠ΅Π½ (DNS). DNS ΠΏΠΎ ΠΏΡΠΈΡΠΎΠ΄Π΅ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ, ΠΊΠΎΡΠ½Π΅Π²ΡΠ΅ ΡΠ·Π»Ρ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΠ°Π·Π±ΡΠΎΡΠ°Π½Ρ ΠΏΠΎ Π²ΡΠ΅ΠΉ ΠΏΠ»Π°Π½Π΅ΡΠ΅. Π§ΡΠΎΠ±Ρ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΉΡΠΈ Π½Π° Π»ΡΠ±ΠΎΠΉ ΡΠ°ΠΉΡ, ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΅Π³ΠΎ IP-Π°Π΄ΡΠ΅Ρ.
Π― Π½Π΅ Π±ΡΠ΄Ρ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ Π²Π΅ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡ ΠΎΠ΄Π° ΠΏΠΎ βΠ΄Π΅ΡΠ΅Π²Ρβ Π΄ΠΎΠΌΠ΅Π½Π½ΡΡ Π·ΠΎΠ½, Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΡΡ ΡΠ΅ΠΌ, ΡΡΠΎ Π΄Π»Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½Π° Π² IP-Π°Π΄ΡΠ΅Ρ Π½Π°ΠΌ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ DNS ΡΠ΅Π·ΠΎΠ»Π²Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΡΠΏΠΎΠ»Π½ΠΈΡ Π²ΡΡ ΡΡΡ ΡΠ°Π±ΠΎΡΡ Π·Π° Π½Π°Ρ.
ΠΡΠ°ΠΊ, Π³Π΄Π΅ ΠΆΠ΅ Π²Π·ΡΡΡ Π°Π΄ΡΠ΅Ρ DNS ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ°?
- ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π°Π΄ΡΠ΅Ρ ΡΠ²ΠΎΠ΅Π³ΠΎ DNS ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ°.
- ΠΠ°ΠΉΡΠΈ Π² ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ΅ Π°Π΄ΡΠ΅Ρ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ°.
- ΠΠΎΠ΄Π½ΡΡΡ ΡΠ²ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ Π² Π²Π°Ρ Π΄ΠΎΠΌΠ°ΡΠ½ΠΈΠΉ ΡΠΎΡΡΠ΅Ρ.
ΠΡΠ±ΠΎΠΉ ΠΈΠ· ΡΡΠΈΡ Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°ΡΡΡΡ Π±Π΅Π·Π·Π°Π±ΠΎΡΠ½ΡΠΌ ΡΠ΅ΡΡΠΈΠ½Π³ΠΎΠΌ ΠΏΠΎ Π²ΡΠ΅ΠΌΠΈΡΠ½ΠΎΠΉ ΠΏΠ°ΡΡΠΈΠ½Π΅, Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΏΠΎΡΡΠ΅Π±Π½ΠΎΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π² IP, ΡΠΎ ΠΊ Π²ΡΠ±ΠΎΡΡ ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ° ΡΡΠΎΠΈΡ ΠΏΠΎΠ΄ΠΎΠΉΡΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ.
ΠΠ°ΠΊ Ρ ΡΠΆΠ΅ ΠΏΠΈΡΠ°Π», ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠ° ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅ΡΠ°, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ², Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Π²ΠΎΡ Ρ ΡΡΠΈΠΌ ΡΠΏΠΈΡΠΊΠΎΠΌ. ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· Π½ΠΈΡ ΠΌΠΎΠ³ΡΡ ΠΎΠΊΠ°Π·Π°ΡΡΡΡ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΈΠΌΠ΅ΡΡ Π»ΡΡΡΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΠ²ΡΠ·Π½ΠΎΡΡΡ, ΡΠ΅ΠΌ ΡΠ΅Π·ΠΎΠ»Π²Π΅Ρ βΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡβ.
ΠΠΎΠ³Π΄Π° ΡΠΏΠΈΡΠΎΠΊ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ, ΡΠΎ Π΅Π³ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΌΠΎΠΆΠ½ΠΎ βΠΏΡΠΎΠΏΠΈΠ½Π³ΠΎΠ²Π°ΡΡβ ΡΡΠΊΠ°ΠΌΠΈ ΠΈ ΡΡΠ°Π²Π½ΠΈΡΡ Π²ΡΠ΅ΠΌΡ Π·Π°Π΄Π΅ΡΠΆΠ΅ΠΊ, Π½ΠΎ Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡ Π±Ρ Π²Π·ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ, ΡΠΏΠΎΠΌΡΠ½ΡΡΡΠΉ Π²ΡΡΠ΅, ΡΠΎ ΡΡΠΎ Π·Π°Π½ΡΡΠΈΠ΅ ΡΠΆΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΌΠ°Π»ΠΎΠΏΡΠΈΡΡΠ½ΡΠΌ.
ΠΠΎΡΡΠΎΠΌΡ Π΄Π»Ρ ΠΎΠ±Π»Π΅Π³ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ, Ρ ΠΏΡΠ΅ΠΈΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠΉ ΡΠΈΠ½Π΄ΡΠΎΠΌΠΎΠΌ ΡΠ°ΠΌΠΎΠ·Π²Π°Π½ΡΠ° Π½Π°Π±ΡΠΎΡΠ°Π» Π½Π° Go proof-of-concept ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ΄Π΅ΠΈ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ
Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΠΌΠ΅ΡΠ° Ρ Π½Π΅ Π±ΡΠ΄Ρ ΠΏΡΠΎΠ²Π΅ΡΡΡΡ Π²Π΅ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π·ΠΎΠ»Π²Π΅ΡΠΎΠ², Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΡΡΡ Π»ΠΈΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΌΠΈ.
$ get-closer ping -f dnsresolver.txt -b=0 --count=10
Closest hosts:
1.0.0.1 [3.4582ms]
8.8.8.8 [6.7545ms]
1.1.1.1 [12.6773ms]
8.8.4.4 [16.6361ms]
9.9.9.9 [40.0525ms]
Π ΡΠ²ΠΎΡ Π²ΡΠ΅ΠΌΡ, ΠΊΠΎΠ³Π΄Π° Ρ Π²ΡΠ±ΠΈΡΠ°Π» Π΄Π»Ρ ΡΠ΅Π±Ρ ΡΠ΅Π·ΠΎΠ»Π²Π΅Ρ, ΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π»ΡΡ Π»ΠΈΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΎΠΉ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ² (1.1.1.1, 8.8.8.8, 9.9.9.9),- Π²Π΅Π΄Ρ ΠΎΠ½ΠΈ ΡΠ°ΠΊΠΈΠ΅ ΠΊΡΠ°ΡΠΈΠ²ΡΠ΅, Π΄Π° ΠΈ ΡΠ΅Π³ΠΎ ΠΆΠ΄Π°ΡΡ ΠΎΡ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ Π½Π΅ΠΊΡΠ°ΡΠΈΠ²ΡΡ Π°Π΄ΡΠ΅ΡΠΎΠ².
ΠΠΎ ΡΠ°Π· ΠΏΠΎΡΠ²ΠΈΠ»ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΡΠ°Π²Π½ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ, ΡΠΎ ΠΏΠΎΡΠ΅ΠΌΡ Π±Ρ Π½Π΅ ΡΠ°ΡΡΠΈΡΠΈΡΡ ΡΠΏΠΈΡΠΎΠΊβ¦
ΠΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π» ΡΠ΅ΡΡ, ΠΌΠ½Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π±ΠΎΠ»ΡΡΠ΅ βΡΠ΅Π·Π΅ΡΠ²Π½ΡΠΉβ Π°Π΄ΡΠ΅Ρ Cloudflare, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π²ΠΎΡΠΊΠ½ΡΡ Π² spb-ix, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π»Ρ ΠΌΠ΅Π½Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±Π»ΠΈΠΆΠ΅, ΡΠ΅ΠΌ msk-ix, Π² ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΡΠΊΠ½ΡΡ ΠΊΡΠ°ΡΠΈΠ²ΡΠΉ 1.1.1.1
Π Π°Π·Π½ΠΈΡΠ°, ΠΊΠ°ΠΊ Π²Ρ Π²ΠΈΠ΄ΠΈΡΠ΅, ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½Π°Ρ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Π΄Π°ΠΆΠ΅ ΡΠ°ΠΌΠΎΠΌΡ Π±ΡΡΡΡΠΎΠΌΡ Π»ΡΡΠΈΠΊΡ ΡΠ²Π΅ΡΠ° Π½Π΅ ΡΠ΄Π°Π΅ΡΡΡ Π΄ΠΎΠ±Π΅ΠΆΠ°ΡΡ ΠΈΠ· ΠΠΈΡΠ΅ΡΠ° Π΄ΠΎ ΠΠΎΡΠΊΠ²Ρ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ΅ΠΌ Π·Π° 10 ΠΌΡ.
ΠΠΎΠΌΠΈΠΌΠΎ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΏΠΈΠ½Π³Π°, Π² PoC Π΅ΡΡΡ Π΅ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ°Π²Π½ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ ΠΈ ΠΏΠΎ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π°ΠΌ, ΡΠ°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ http ΠΈ tcp, Π° ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ΅ΠΌΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΌΠ΅Π½ΠΎΠ² Π² IP ΡΠ΅ΡΠ΅Π· ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΉ ΡΠ΅Π·ΠΎΠ»Π²Π΅Ρ.
Π ΠΏΠ»Π°Π½Π°Ρ Π΅ΡΡΡ Π·Π°Π΄Π°ΡΠ° ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠ·Π»ΠΎΠ² ΠΌΠ΅ΠΆΠ΄Ρ Ρ ΠΎΡΡΠ°ΠΌΠΈ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ traceroute, ΡΡΠΎΠ±Ρ Π±ΡΠ»ΠΎ ΠΏΡΠΎΡΠ΅ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ Ρ ΠΎΡΡΡ, Π΄ΠΎ ΠΊΠΎΡΠΎΡΡΡ ΠΈΠΌΠ΅Π΅ΡΡΡ Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡΠΎΡΠΊΠΈΠΉ ΠΏΡΡΡ.
ΠΠΎΠ΄ ΡΡΡΠΎΠΉ, Π½Π΅ Ρ
Π²Π°ΡΠ°Π΅Ρ ΠΊΡΡΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ, Π½ΠΎ Π²ΠΏΠΎΠ»Π½Π΅ ΡΠ½ΠΎΡΠ½ΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π½Π° ΡΠΈΡΡΡΡ
Π΄Π°Π½Π½ΡΡ
. ΠΡΠ΄Ρ ΠΏΡΠΈΠ·Π½Π°ΡΠ΅Π»Π΅Π½ Π·Π° Π»ΡΠ±ΠΎΠΉ ΡΠΈΠ΄Π±Π΅ΠΊ, Π·Π²Π΅Π·Π΄Ρ Π½Π°
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com