ഒരു ദിവസം മുതലാളി ചോദ്യം ഉന്നയിക്കുമ്പോൾ: "എന്തുകൊണ്ടാണ് ചില ആളുകൾക്ക് വർക്ക് കമ്പ്യൂട്ടറിലേക്ക് വിദൂര ആക്സസ്, ഉപയോഗത്തിന് അധിക അനുമതികൾ ലഭിക്കാതെ?"
പഴുതുകൾ "അടയ്ക്കാൻ" ചുമതല ഉയർന്നുവരുന്നു.
നെറ്റ്വർക്കിൽ റിമോട്ട് കൺട്രോളിനായി ധാരാളം ആപ്ലിക്കേഷനുകൾ ഉണ്ട്: Chrome റിമോട്ട് ഡെസ്ക്ടോപ്പ്, അമ്മിഅഡ്മിൻ, ലൈറ്റ്മാനേജർ, ടീംവ്യൂവർ, എനിപ്ലേസ് കൺട്രോൾ, മുതലായവ. സേവനത്തിലേക്കുള്ള ആക്സസിനെ പ്രതിരോധിക്കാൻ Chrome റിമോട്ട് ഡെസ്ക്ടോപ്പിന് ഔദ്യോഗിക മാനുവൽ ഉണ്ടെങ്കിൽ, TeamViewer-ന് സമയത്തിനോ അഭ്യർത്ഥനകൾക്കോ ലൈസൻസിംഗ് നിയന്ത്രണങ്ങളുണ്ട്. നെറ്റ്വർക്കിൽ നിന്നും ഉപയോക്താക്കളിൽ നിന്നും ഒരു തരത്തിൽ അല്ലെങ്കിൽ മറ്റൊരു വിധത്തിൽ "പല്ല് പൊടിക്കുക" അഡ്മിൻമാരുമായി "ഷൈൻ" ചെയ്യുക, തുടർന്ന് വ്യക്തിഗത ഉപയോഗത്തിനായി പലരുടെയും പ്രിയങ്കരം - AnyDesk-ന് ഇപ്പോഴും പ്രത്യേക ശ്രദ്ധ ആവശ്യമാണ്, പ്രത്യേകിച്ചും ബോസ് "ഇല്ല!"
ഒരു നെറ്റ്വർക്ക് പാക്കറ്റിനെ അതിന്റെ ഉള്ളടക്കം ഉപയോഗിച്ച് തടയുന്നത് എന്താണെന്ന് നിങ്ങൾക്കറിയാമെങ്കിൽ നിങ്ങൾ അതിൽ തൃപ്തനാണെങ്കിൽ, ബാക്കിയുള്ള മെറ്റീരിയൽ
ഉദ്ദേശിച്ചിട്ടില്ല നിനക്കായ്.
വിപരീതത്തിൽ നിന്ന് പോകാൻ ശ്രമിക്കുന്നു, വാസ്തവത്തിൽ
ഒരിക്കൽ, ചില സംശയാസ്പദമായ സോഫ്റ്റ്വെയറുമായി ഞങ്ങളുടെ അടുത്ത് വന്ന "എനിപ്ലേസ് കൺട്രോൾ" തടയുന്നതിനുള്ള പ്രശ്നം ഞാൻ പരിഹരിച്ചു, കുറച്ച് ഐപികൾ തടയുന്നതിലൂടെ ഇത് പരിഹരിച്ചു (ഞാൻ ആന്റിവൈറസ് ബാക്കപ്പ് ചെയ്തു). AnyDesk-ലെ പ്രശ്നം, ഞാൻ ഒരു ഡസനിലധികം IP വിലാസങ്ങൾ സ്വമേധയാ ശേഖരിച്ചതിന് ശേഷം, എന്നെ മുട്ടയിട്ടു പതിവ് ജോലിയിൽ നിന്ന് ഒഴിഞ്ഞുമാറുക.
"C:ProgramDataAnyDesk"-ൽ ക്രമീകരണങ്ങളും മറ്റും ഉള്ള കുറേ ഫയലുകൾ ഉണ്ടെന്നും കണ്ടെത്തി. ad_svc.trace കണക്ഷനുകളെയും പരാജയങ്ങളെയും കുറിച്ചുള്ള ഇവന്റുകൾ ശേഖരിക്കുന്നു.
1. നിരീക്ഷണം
ഇതിനകം സൂചിപ്പിച്ചതുപോലെ, *.anydesk.com തടയുന്നത് പ്രോഗ്രാമിന്റെ പ്രവർത്തനത്തിൽ ഫലങ്ങളൊന്നും നൽകിയില്ല, വിശകലനം ചെയ്യാൻ തീരുമാനിച്ചു സമ്മർദ്ദകരമായ സാഹചര്യങ്ങളിൽ പ്രോഗ്രാം പെരുമാറ്റം. നിങ്ങളുടെ കൈകളിലെ Syinternals-ൽ നിന്നുള്ള TCPView, പോകൂ!
1.1 ഞങ്ങൾക്ക് താൽപ്പര്യമുള്ള നിരവധി പ്രക്രിയകൾ "തൂങ്ങിക്കിടക്കുന്നു" എന്ന് കാണാൻ കഴിയും, കൂടാതെ പുറത്ത് നിന്നുള്ള വിലാസവുമായി ആശയവിനിമയം നടത്തുന്ന ഒന്ന് മാത്രമേ ഞങ്ങൾക്ക് താൽപ്പര്യമുള്ളൂ. ഞാൻ കണ്ടതിൽ നിന്ന് അത് ബന്ധിപ്പിക്കുന്ന പോർട്ടുകൾ തിരഞ്ഞെടുത്തു: 80, 443, 6568. 🙂 ഞങ്ങൾക്ക് തീർച്ചയായും 80, 443 എന്നിവ തടയാൻ കഴിയില്ല.
1.2 റൂട്ടർ വഴി വിലാസം തടഞ്ഞ ശേഷം, മറ്റൊരു വിലാസം നിശബ്ദമായി തിരഞ്ഞെടുത്തു.
1.3 കൺസോൾ ആണ് ഞങ്ങളുടെ എല്ലാം! ഞങ്ങൾ PID നിർണ്ണയിക്കുന്നു, തുടർന്ന് AnyDesk സേവനം ഇൻസ്റ്റാൾ ചെയ്തതിൽ ഞാൻ അൽപ്പം ഭാഗ്യവാനായിരുന്നു, അതിനാൽ ഞങ്ങൾ തിരയുന്ന PID മാത്രമായിരുന്നു.
1.4 പ്രോസസ്സ് PID-ൽ നിന്ന് ഞങ്ങൾ സേവന സെർവറിന്റെ IP വിലാസം നിർണ്ണയിക്കുന്നു.
2. തയ്യാറാക്കൽ
ഐപി വിലാസങ്ങൾ തിരിച്ചറിയുന്നതിനുള്ള പ്രോഗ്രാം ഒരുപക്ഷേ എന്റെ പിസിയിൽ മാത്രമേ പ്രവർത്തിക്കൂ എന്നതിനാൽ, സൗകര്യത്തിനും അലസതയ്ക്കും എനിക്ക് നിയന്ത്രണങ്ങളൊന്നുമില്ല, അതിനാൽ സി#.
2.1 ആവശ്യമായ ഐപി വിലാസം തിരിച്ചറിയുന്നതിനുള്ള എല്ലാ രീതികളും ഇതിനകം അറിയാം, അത് നടപ്പിലാക്കാൻ അവശേഷിക്കുന്നു.
string pid1_;//узнаем PID сервиса AnyDesk
using (var p = new Process())
{p.StartInfo.FileName = "cmd.exe";
p.StartInfo.Arguments = " /c "tasklist.exe /fi "imagename eq AnyDesk.exe" /NH /FO CsV | findstr "Services""";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.StandardOutputEncoding = Encoding.GetEncoding("CP866");
p.Start();
string output = p.StandardOutput.ReadToEnd();
string[] pid1 = output.Split(',');//переводим ответ в массив
pid1_ = pid1[1].Replace(""", "");//берем 2й элемент без кавычек
}
അതുപോലെ, കണക്ഷൻ സ്ഥാപിച്ച സേവനം ഞങ്ങൾ കണ്ടെത്തുന്നു, ഞാൻ പ്രധാന ലൈൻ മാത്രം നൽകും
p.StartInfo.Arguments = "/c " netstat -n -o | findstr /I " + pid1_ + " | findstr "ESTABLISHED""";
അതിന്റെ ഫലം ഇതായിരിക്കും:
വരിയിൽ നിന്ന്, മുമ്പത്തെ ഘട്ടത്തിന് സമാനമായി, മൂന്നാം നിര എക്സ്ട്രാക്റ്റുചെയ്ത് “:” ന് ശേഷം എല്ലാം നീക്കംചെയ്യുക. തൽഫലമായി, ഞങ്ങൾക്ക് ആവശ്യമുള്ള ഐ.പി.
2.2 വിൻഡോസിൽ ഐപി തടയൽ. ലിനക്സിൽ ബ്ലാക്ക്ഹോളും ഐപ്റ്റബിളുകളും ഉണ്ടെങ്കിൽ, വിൻഡോസിൽ ഫയർവാൾ ഉപയോഗിക്കാതെ ഒരു ഐപി വിലാസം ഒരു വരിയിൽ തടയുന്ന രീതി അസാധാരണമായി മാറി,
എന്നാൽ എന്തെല്ലാം ഉപകരണങ്ങൾ ഉണ്ടായിരുന്നു...
route add наш_найденный_IP_адрес mask 255.255.255.255 10.113.113.113 if 1 -p
പ്രധാന പാരാമീറ്റർ "1 ആണെങ്കിൽ"ലൂപ്പ്ബാക്കിലേക്ക് റൂട്ട് അയയ്ക്കുക (റൂട്ട് പ്രിന്റ് പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ നിങ്ങൾക്ക് ലഭ്യമായ ഇന്റർഫേസുകൾ പ്രദർശിപ്പിക്കാൻ കഴിയും). പ്രധാനപ്പെട്ടത്! ഇപ്പോൾ പ്രോഗ്രാം ലോഞ്ച് ചെയ്യേണ്ടതുണ്ട് അഡ്മിനിസ്ട്രേറ്റർ അവകാശങ്ങൾക്കൊപ്പം, റൂട്ട് മാറ്റുന്നതിന് എലവേഷൻ ആവശ്യമായതിനാൽ.
2.3 തിരിച്ചറിയപ്പെട്ട IP വിലാസങ്ങൾ പ്രദർശിപ്പിക്കുന്നതും സംരക്ഷിക്കുന്നതും ഒരു നിസ്സാര ജോലിയാണ്, വിശദീകരണം ആവശ്യമില്ല. നിങ്ങൾ അതിനെക്കുറിച്ച് ചിന്തിക്കുകയാണെങ്കിൽ, നിങ്ങൾക്ക് ഫയൽ പ്രോസസ്സ് ചെയ്യാൻ കഴിയും ad_svc.trace AnyDesk തന്നെ, പക്ഷേ ഞാൻ അതിനെക്കുറിച്ച് ഉടൻ ചിന്തിച്ചില്ല + ഒരുപക്ഷേ അതിൽ ഒരു പരിമിതി ഉണ്ടായിരിക്കാം.
2.4 പ്രോഗ്രാമിന്റെ വിചിത്രമായ അസമമായ പെരുമാറ്റം, Windows 10-ൽ സേവന പ്രക്രിയ "ടാസ്കില്ലിംഗ്" ചെയ്യുമ്പോൾ, അത് യാന്ത്രികമായി പുനരാരംഭിക്കുന്നു, വിൻഡോസ് 8-ൽ അത് അവസാനിക്കുന്നു, കൺസോൾ പ്രക്രിയ മാത്രം അവശേഷിപ്പിച്ച് വീണ്ടും കണക്റ്റുചെയ്യാതെ, പൊതുവേ ഇത് യുക്തിരഹിതമാണ്, ഇത് കൃത്യമല്ല.
സെർവറിലേക്ക് കണക്റ്റുചെയ്തിരിക്കുന്ന ഒരു പ്രോസസ്സ് നീക്കംചെയ്യുന്നത്, അടുത്ത വിലാസത്തിലേക്ക് വീണ്ടും കണക്ഷൻ "നിർബന്ധിക്കാൻ" നിങ്ങളെ അനുവദിക്കുന്നു. മുമ്പത്തെ കമാൻഡുകളുടെ അതേ രീതിയിലാണ് ഇത് നടപ്പിലാക്കുന്നത്, അതിനാൽ ഞാൻ ഇത് തരാം:
p.StartInfo.Arguments = "/c taskkill /PID " + pid1_ + " /F";
കൂടാതെ, AnyDesk പ്രോഗ്രാം സമാരംഭിക്കുക.
//запускаем программу которая расположена по пути path_pro
if (File.Exists(path_pro)){
Process p1 = Process.Start(path_pro);}
2.5 ഞങ്ങൾ AnyDesk-ന്റെ നില ഒരു മിനിറ്റിൽ ഒരിക്കൽ പരിശോധിക്കും (അല്ലെങ്കിൽ കൂടുതൽ തവണ?), അത് കണക്റ്റുചെയ്തിട്ടുണ്ടെങ്കിൽ, അതായത്. കണക്ഷൻ സ്ഥാപിതമായി - ഈ ഐപി തടയുക, വീണ്ടും വീണ്ടും - ഇത് ബന്ധിപ്പിക്കുന്നത് വരെ കാത്തിരിക്കുക, തടയുക, കാത്തിരിക്കുക.
3. ആക്രമണം
കോഡ് "സ്കെച്ച്" ചെയ്തു, പ്രക്രിയ ദൃശ്യവൽക്കരിക്കാൻ തീരുമാനിച്ചു "+"കണ്ടെത്തിയതും തടഞ്ഞതുമായ ഐപി സൂചിപ്പിക്കുക, കൂടാതെ"."— AnyDesk-ൽ നിന്നുള്ള വിജയകരമായ അയൽപക്ക കണക്ഷൻ ഇല്ലാതെ ചെക്ക് ആവർത്തിക്കുക.
തൽഫലമായി…
AnyDesk 5, 6 എന്നിവയുടെ പതിപ്പുകളുള്ള വ്യത്യസ്ത Windows OS ഉള്ള നിരവധി കമ്പ്യൂട്ടറുകളിൽ പ്രോഗ്രാം പ്രവർത്തിച്ചു. 500-ലധികം ആവർത്തനങ്ങൾ, ഏകദേശം 80 വിലാസങ്ങൾ ശേഖരിച്ചു. 2500 - 87 എന്നിങ്ങനെ...
കാലക്രമേണ, തടഞ്ഞ ഐപികളുടെ എണ്ണം 100-ൽ എത്തി.
ഫൈനലിലേക്കുള്ള ലിങ്ക് ടെക്സ്റ്റ് ഫയൽ വിലാസങ്ങൾക്കൊപ്പം:
അതു ചെയ്തു! സ്ക്രിപ്റ്റ് വഴി പ്രധാന റൂട്ടറിന്റെ നിയമങ്ങളിൽ ഐപി വിലാസങ്ങളുടെ പൂൾ ചേർത്തു, കൂടാതെ AnyDesk-ന് ഒരു ബാഹ്യ കണക്ഷൻ സൃഷ്ടിക്കാൻ കഴിയില്ല.
ഒരു വിചിത്രമായ പോയിന്റ് ഉണ്ട്, പ്രാരംഭ ലോഗുകളിൽ നിന്ന് വിവരങ്ങൾ കൈമാറുന്നതിൽ വിലാസം ഉൾപ്പെട്ടിട്ടുണ്ടെന്ന് വ്യക്തമാണ് boot-01.net.anydesk.com. തീർച്ചയായും, ഞങ്ങൾ എല്ലാ *.net.anydesk.com ഹോസ്റ്റുകളെയും ഒരു പൊതു ചട്ടം പോലെ തടഞ്ഞു, പക്ഷേ അത് വിചിത്രമായ കാര്യമല്ല. ഓരോ തവണയും വ്യത്യസ്ത കമ്പ്യൂട്ടറുകളിൽ നിന്നുള്ള ഒരു സാധാരണ പിംഗ് ഉപയോഗിച്ച്, ഈ ഡൊമെയ്ൻ നാമം വ്യത്യസ്തമായ ഐപി നൽകുന്നു. Linux പരിശോധിക്കുന്നു:
host boot-01.net.anydesk.com
DNSLookup പോലെ അവർ ഒരു IP വിലാസം മാത്രമേ നൽകുന്നുള്ളൂ, എന്നാൽ ഈ വിലാസം വേരിയബിൾ ആണ്. ഒരു TCPView കണക്ഷൻ വിശകലനം ചെയ്യുമ്പോൾ, ഈ തരത്തിലുള്ള IP വിലാസങ്ങളുടെ PTR റെക്കോർഡുകൾ ഞങ്ങൾക്ക് തിരികെ ലഭിക്കും. റിലേ-*.net.anydesk.com.
സൈദ്ധാന്തികമായി: പിംഗ് ചിലപ്പോൾ ഒരു അജ്ഞാത അൺബ്ലോക്ക് ചെയ്ത ഹോസ്റ്റിലേക്ക് പോകുന്നതിനാൽ boot-01.net.anydesk.com നമുക്ക് ഈ ips കണ്ടെത്തി അവയെ തടയാം, Linux OS-ന് കീഴിൽ ഈ നടപ്പിലാക്കൽ ഒരു സാധാരണ സ്ക്രിപ്റ്റ് ആക്കാം, ഇവിടെ AnyDesk ഇൻസ്റ്റാൾ ചെയ്യേണ്ട ആവശ്യമില്ല. വിശകലനം കാണിക്കുന്നത് ഈ ഐപികൾ പലപ്പോഴും "വിഭജിക്കുന്നു"ഞങ്ങളുടെ ലിസ്റ്റിൽ നിന്ന് കണ്ടെത്തിയവ ഉപയോഗിച്ച്. ഒരുപക്ഷേ, അറിയപ്പെടുന്ന IP-കൾ "ക്രമീകരിക്കാൻ" തുടങ്ങുന്നതിന് മുമ്പ് പ്രോഗ്രാം ബന്ധിപ്പിക്കുന്നത് ഈ ഹോസ്റ്റിലേക്ക് മാത്രമായിരിക്കാം. ഹോസ്റ്റ് തിരയലുകളുടെ രണ്ടാം ഭാഗവുമായി ഞാൻ ലേഖനം പിന്നീട് ചേർക്കും, എന്നിരുന്നാലും ഇപ്പോൾ പ്രോഗ്രാം തന്നെ നെറ്റ്വർക്ക് ബാഹ്യ ജോയിനിനുള്ളിൽ ഇൻസ്റ്റാൾ ചെയ്യുന്നില്ല.
മുകളിൽ പറഞ്ഞതിൽ നിങ്ങൾ നിയമവിരുദ്ധമായി ഒന്നും കണ്ടിട്ടില്ലെന്ന് ഞാൻ പ്രതീക്ഷിക്കുന്നു, AnyDesk-ന്റെ സ്രഷ്ടാക്കൾ എന്റെ പ്രവർത്തനങ്ങളെ സ്പോർട്സ് മാന്ത്രികമായി പരിഗണിക്കും.
അവലംബം: www.habr.com