首页 > 所有文章 > 行业 >文章详情

获取ip 端口(怎么查找电脑的IP地址和端口)

时间:2024-02-13 17:49:36 浏览量:320

安全资产端口监控

一、前言

在安全运营工作中,受商业化产品的易用性、投入成本、时间成本等因素的限制,无法全面满足如资产端口监控、仿冒APP排查、大文件下载链接(预防DDOS)等针对企业安全资产风险排查的运营需求。因此自研灵活的运营支撑工具是安全运营体系建设工作不可或缺的一部分,运营工具的建设可以扩大安全风险发现覆盖率,提升主动发现能力,本次分享在银行安全运营实战中的第一款自研工具-《安全资产端口监控》。

二、解决场景

互联网系统的端口暴露在外,有可能会导致被不法分子入侵,使得用户的业务和数据受损,尤其是高危服务,更加容易被突破。那么随着日常安全运营的实战需要,IT资产的暴露面统计与监控对于企业安全建设就显得尤为重要了。常态化的监控可以发现各个IP的端口实际开放情况,比照企业内部端口开放登记信息,就可以发现高危端口和未授权端口暴露情况,及时发现与处理危险端口是阻断不法分子进一步渗透利用的有效手段,同时端口开放情况统计也可以减少企业安全运营的成本投入,好钢用在刀刃上,按需做好安全防护措施,进一步提高安全运营的成效。

三、技术实现

Python编程语言:

1) Nmap模块:nmap大家身为安全工作者应该都比较熟悉了,是用于扫描端口开放情况的一款神器,本次使用的是Python中的nmap模块,适用于利用nmap编写程序,具体用法和参数与nmap命令行模式相同,详情请参照nmap手册。

2) 多进程Process模块:由于扫描量巨大,所以使用多进程Process模块可以启用更多的进程同时间进行nmap扫描,提高效率的必备方法之一,一般普通8G内存开个50-100进程是没问题的。

3) Openpyxl模块:可以读取和保存Excel表格的模块,用于收录目标与记录结果,以EXCEL表格形式进行操作,更加方便美观。

网络安全:

4) Nmap参数:由于nmap工具涉及的用法太多,此处仅展示使用到的用法

-sP (Ping扫描):Nmap仅仅进行ping扫描 (主机发现),然后打印出对扫描做出响应的那些主机。

-Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。

-P0 (无ping):跳过Nmap发现阶段,使不使用ping扫描要看目标中是否可能存在禁ping的IP。

-sV (版本探测):打开版本探测,您也可以用-A同时打开操作系统探测和版本探测。

--host-timeout (放弃低速目标主机)

因性能较差或不可靠的网络硬件或软件、带宽限制、严格的防火墙等原因, 一些主机需要很长的时间扫描。这些极少数的主机扫描往往占据了大部分的扫描时间。因此,最好的办法是减少时间消耗并且忽略这些主机,使用--host-timeout选项来说明等待的时间(毫秒)。

-p 指定端口:对于常见的高危端口进行指定扫描,增加发现风险效率,多个端口使用引文逗号隔开

5) 常见的高危端口:可根据需要自己指定,监控发现的根本目的在于发现高危服务,高危端口只是高危服务的默认常见的出口而已,所以你可以根据需要增加或者删除高危端口列表,本次只是列举一些常见的高危端口以及对应的高危服务,详情如下,

四、工具运行逻辑

注意事项:

1) 非实时性 :频率越高,扫描感知效率越高,但是会造成大量扫描数据,对于程序来说需要大量内存,对于目标来说早就发现了扫描攻击,所以必须为扫描的源IP地址增加白名单,频率可以定为晚上1点-5点进行扫描,避开正常业务高峰时期,另外重保或者护网期间建议暂停扫描,否则很可能会引起不必要的问题。

2) 准确性 :由于全端口扫描需要大量的扫描时间,如果目标IP数量过多,那么我们就不得不设定一个最大超时时间,以免程序因时间过长而崩溃,支撑自研工具的硬件仅仅是普通PC端的配置,所以还是要结合一下效率问题。

3) 程序中断问题 :如果扫描程序因某种原因崩溃,只需要查看一下扫描进度,调整一下扫描的顺序,让程序继续从断点处运行即可,无需重新从第一个目标开始扫描。

4) 结果样例



五、成果应用

1.端口分布统计 :全端口扫描可获取企业IP 端口的分布情况,统计出企业IT资产最原始的暴露面,开放的端口与企业内部登记信息必须完全一致,出现未授权端口,应及时进行核实排查,排除黑客攻击行为;出现新增的端口代表着新上线的服务(新上线的服务往往会出现相当多的漏洞),应及时通知安全测试人员进行渗透测试。

2.高危端口处置 :高危端口本身并不是具有危险的,而是高危端口所默认对应的服务是危险性较高的,比如22端口默认对应的就是SSH远程连接服务,一旦被黑客破解,服务器将瞬间沦陷,危险性非常之高。一旦发现端口对应的服务属于不合适外网暴露的,应尽快找到对应系统的负责人进行沟通,建议视情况关闭该端口以及对应的服务或者增加安全防护措施也是可行的,不同于其他技术漏洞的响应评估流程,关闭高危端口应当立即做出响应,及时进行复测,确保排除风险,日后进行持续重点监控。

3.反馈改进 :毕竟自研工具属于根据需求编写的简单程序,存在很多的不足与改进方向,可以根据具体的事件反馈进行改进,比如频率、格式、效率、准确性等方面可根据需要自行完善,需要什么功能基本都可以通过编程来实现。除了工具的改进外,应急响应的流程也需要随着安全建设逐步完善,如何做到及时高效的应急响应各个企业都有自己的一套方法,建立全面的资产地图可以帮助我们更快定位系统管理员,尽快进行漏洞整改。

六、总结

端口监控的意义在于,如果把一个服务器比作一座城池,那么端口就代表着城门,高危端口就代表着密道,城门(正常端口)有大量的士兵(安全防护)守护,一般不会出现问题,但是每个门都得根据重要性来部署防护才行,而密道(高危端口)往往不会有士兵守护,一旦被敌人利用,城池(服务器)将很容易被入侵。所以对于端口的监控就在于全面把握自身的防御部署,尽可能地避免出现脆弱暴露面,更加不允许出现未授权端口开放