出现了“关闭”漏洞的任务。
有很多应用程序可用于通过网络进行远程控制:Chrome远程桌面,AmmyAdmin,LiteManager,TeamViewer,Anyplace Control等。如果Chrome远程桌面具有禁止使用该服务的正式手册,则TeamViewer在时间或要求上有许可证限制从网络和用户向管理员“咬牙”或“闪耀”,然后成为许多个人使用的最爱-AnyDesk到目前为止需要特别注意,特别是如果老板说“不!”
如果您知道什么阻止网络数据包的内容是什么,并且您对此感到满意,那么其余材料
都不适合您。 |
试图从相反的角度出发,该站点本身说应允许程序正常运行的内容分别是DNS记录* .net.anydesk.com被阻止。但是AnyDesk并不容易,它并不关心阻止域名。
更新15.08。
建议的正确解决方案以阻止AnyDesk prymalbeets123:
relays.net.anydesk.com
391 . , .
[bash#]host relays.net.anydesk.com
391 . , .
一旦我解决了一些可疑软件带来的阻止“ Anyplace Control”的问题,并通过仅阻止了几个IP就解决了(我为防病毒产品投了保险)。在我手动收集了十多个IP地址之后,使用AnyDesk进行的任务鼓励了我摆脱常规的体力劳动。
还发现在“ C:\ ProgramData \ AnyDesk”中,有许多带有设置等的文件,有关连接和失败的事件收集在ad_svc.trace文件中。
1.观察
如前所述,阻止* .anydesk.com在程序的工作中没有产生任何结果,因此决定分析程序在压力很大的情况下的行为。来自Sysinternals的TCPView随手可得!
1.1。可以看出,我们感兴趣的几个过程正在“挂起”,只有从外部连接到地址的过程才是我们感兴趣的过程。从我所看到的来看,它所连接的端口正在被整理:80、443、6568。:) 80和443我们绝对不能被阻塞。
1.2。通过路由器阻止地址后,将静默选择另一个地址。
1.3。控制台是我们的一切!我们确定了PID,在这里我很幸运,该服务分别安装了AnyDesk,所需的PID是唯一的PID。 | 1.4。我们通过进程PID来确定服务服务器的IP地址。 |
2.准备工作
由于用于检测IP地址的程序可能只能在我的PC上运行,因此C#对我的方便和懒惰没有任何限制。
2.1。已知已经实现了用于标识期望的IP地址的所有方法。
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\"\"";
其结果将是:
与上一步类似,从该行中提取第3列,并删除“:”之后的所有内容。结果,我们有了所需的IP。
2.2。Windows中的IP阻止。如果Linux具有Blackhole和iptables,则在Windows中发现在不使用防火墙的情况下将IP地址阻止为一行的方法在Windows中是不常见的,
但是使用了哪些工具...
route add __IP_ mask 255.255.255.255 10.113.113.113 if 1 -p
关键参数“ if 1 ”用于将路由发送到回送(您可以通过运行route print显示可用的接口)。重要!现在,该程序需要以管理员权限运行,因为更改路线需要提升权限。
2.3。显示和保存检测到的IP地址是一项艰巨的任务,不需要解释。如果您考虑一下,也可以处理AnyDesk本身的ad_svc.trace文件,但是我没有立即考虑过,也许对此有所限制。
2.4。该程序奇怪的不平衡行为是,当Windows 10中的服务的taskkill进程自动重启时,在Windows 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的状态,以及是否已连接,即 建立的连接-阻止此IP,然后再次遍历-等待直到其连接,阻止并等待。
3.攻击该
代码被“简化”,以可视化过程,决定“ + ”表示找到并阻止了IP,“ 。 ”-重复检查而未成功与AnyDesk建立连接。
→ 结果代码
...
该程序可在具有不同Windows操作系统,AnyDesk版本5和6的多台计算机上工作。在500次迭代中收集了大约80个地址。超过2500-87,依此类推...
随着时间的流逝,被阻止IP的数量达到100+。
链接到具有以下地址的最终文本文件(黑名单):>>一个<<和>>两个<< <<
完成!通过脚本将IP地址池添加到主路由器的规则中,而AnyDesk根本无法创建外部连接。
有一个奇怪的时刻,根据初始日志,很显然地址boot-01.net.anydesk.com参与了信息传输...当然,作为一般规则,我们禁止所有* .net.anydesk.com主机,但这并不奇怪。每次从不同的计算机正常ping时,此域名都会给出不同的IP。在Linux中
host boot-01.net.anydesk.com
签入:像DNSLookup一样,它只提供一个IP地址,但是该地址是可变的。在分析TCPView连接时,我们返回类型为Relay-*。Net.anydesk.com的IP地址的PTR记录。
从理论上讲:由于ping有时会到达未知的不受阻碍的主机boot-01.net.anydesk.com,因此我们可以找到这些ip并将其阻止,使该实现成为Linux OS下的常规脚本,因此您无需在此处安装AnyDesk。分析表明,这些IP通常“重叠”“使用从列表中找到的主机。也许这只是该主机,程序在开始搜索已知IP之前已连接到该主机。也许我稍后将在第二部分中补充搜索主机,尽管此刻程序本身并未安装在网络内部一般外部连接
更新08/15/2020:Habr用户@ prymalbeets123使我注意到一个事实,即主机为relays.net.anydesk.com对应于391个IP地址,可以在上面的链接中找到正确的文件及其列表。请注意,通过监视AnyDesk程序收集到的地址较少,但是通用391中没有包含这些地址,并且通过``左''域名来解决它们,事实证明,我也``收集了''发起与我的计算机的连接的地址:)。
希望您在上述内容中没有发现任何违法行为,AnyDesk的创建者将以运动的方式对待我的行为。