网络安全常见隐患及防护措施

作为从业8年的网安人,日常工作处理和应对各类网络安全问题,积累下一些经验和心得体会想借FB平台分享给大家,希望能帮助和启发到大家。

主要遇到的问题主要有弱口令、命令执行、文件上传、信息泄露,最后是自己处置这些问题的一些心得体会,讨论和构思如何去防护这些网络安全常见隐患。

1.弱口令

1673513469_63bfc9fd3b2d706384c99.png!small

首先,我们思考一下,上图中传统的弱口令防护思路,是否有效?是否真的科学合理?

1673513573_63bfca6564c4ca58c5d69.png!small

这里,还是推荐我们按照上图的防御思路,从多因素认证、防爆破、防懒人角度进行正确全面的防御。

1673513727_63bfcaffbfe2ffaf8d1c6.png!small

上图是我平常会用到的一些社工库,可以看到这是已经泄露并PO在网上的数据库,拿到这些信息,就非常容易的去撞库,从而获得大量可利用的账号密码、真实个人信息,
如姓名、电话、身份ID。

1673513876_63bfcb94cf9c2c536c470.png!small

1673513886_63bfcb9eb415c48cbb916.png!small

1673513891_63bfcba379cb58140a3b3.png!small

这里有一些网上可以下到的库和工具,结合起来很容易利用和破解一些弱口令。对于企业来说上图的库非常简单,毕竟入职的时候hr要求填写那么多信息,可以参考上图的字典工具进行构建。但有一点需要注意,这个构建是by人的,即A的个人信息构建出A的弱密码,而不是B的。信息间没必要重叠,否则会增加密码库大小,且意义不大。

2.命令执行

命令执行就是黑客可以直接在Web应用中执行系统命令,从而获取敏感信息或者拿下shell权限

。命令执行漏洞可能造成的原因是Web服务器对用户输入命令安全检测不足,导致恶意代码被执行

最常见的命令执行漏洞是发生在各种Web组件,包括Web容器、Web框架、CMS软件、安全组件等。

一般来说,命令执行可以做的操作包含添加文件、删除文件、修改文件,这对系统的破坏力就很大了。

1673514188_63bfcccc547a7dbf1b426.png!small

1673514212_63bfcce4c96ee935dd025.png!small

比如DIR直接显示文件目录和列表。

一般我们对客户,建议除了自身对安全漏洞的修复,就是通过如下策略为正统的处方。尽量规避关停站点、关停网络这种江湖郎中的做法,不能解决实际问题。

1673514416_63bfcdb0e393e43d49ffb.png!small

3.文件上传

漏洞简介

文件上传,顾名思义就是上传文件的功能行为,之所以会被发展为危害严重的漏洞,是程序没有对访客提交的数据进行检验或者过滤不严,可以直接提交修改过的数据绕过扩展名的检验。文件上传漏洞是漏洞中最为简单猖獗的利用形式,一般只要能上传获取地址,可执行文件被解析就可以获取系统WebShell。

漏洞原理

网站WEB应用都有一些文件上传功能,比如文档、图片、头像、视频上传,当上传功能的实现代码没有严格校验上传文件的后缀和文件类型时,就可以上传任意文件甚至是可执行文件后门。

漏洞危害

恶意文件传递给解释器去执行,之后就可以在服务器上执行恶意代码,进行数据库执行、服务器文件管理,服务器命令执行等恶意操作。根据网站使用及可解析的程序脚本不同,可以上传的恶意脚本可以是PHP、ASP、JSP、ASPX文件。

需要注意的是图片后缀也是可以改的,一句话木马(shell.php)就可以藏在图片中上传。

其实,上传漏洞与SQL注入或 XSS相比 , 其风险更大 ,获得服务器权限最快最直接,如果 Web应用程序存在上传漏洞 ,
攻击方甚至可以直接上传一个webshell到服务器上 。

实际工作中,容易产生文件上传类漏洞的系统如下图所示。

1673514615_63bfce776a3f0119f61c9.png!small

解决该类问题,关键在于在代码未判断文件类型或者文件类型限制不完全,一般这种是黑名单或者没有限制,建议添加白名单限制参数数组,固定为图片或文本格式文件。

如果是使用WEB中间件存在上传,或者是CMS存在文件上传漏洞,根据官方建议安装补丁升级版本,或者使用官方推荐的临时修改策略来限制问题的产生和利用。

当然,有钱购置防护的客户我们还是建议以下三种方案。

1673514801_63bfcf31231971218ae1b.png!small

这其中,沙箱防护功能能够对设备流量进行解析,提取出流量里的可疑文件。文件已经在本地沙箱防护数据库中标记为恶意文件,系统可根据设置的动作对恶意文件进行处理。

1673514898_63bfcf92ebd3b69d8eb78.png!small

当然,技术更牛,开发能力强的客户,还是推荐以上三种方式,比如遍历文件,就可以检查系统内是否存在恶意文件、计算校验就是校验文件hash值、文件恢复就还原最初版本,还原之后文件就剩初始文件,防止找不到恶意文件。

4.信息泄露

我们常遇到的信息泄露包括:

1、攻击者可直接下载用户的相关信息,包括网站的绝对路径、用户的登录名、密码、真实姓名、身份ID号、电话号码、邮箱、QQ号等。

2、攻击者通过构造特殊URL地址,触发系统web应用程序报错,在回显内容中,获取网站敏感信息。

3、攻击者利用泄漏的敏感信息,获取网站服务器web路径,为进一步攻击提供帮助。

给出的防护措施建议如下:

1、敏感数据密文存储。

2、敏感数据脱敏传输。

3、关闭业务系统的错误回显。

4、控制url的访问路径。

5、使用SSL/IPSEC VPN

5.安全防护杂谈

之前遇到一些客户,总会在安全防护这陷入一些误区,比如:

1、重点系统专家级防护,旁站系统菜鸟级防护

2、疯狂堆砌安全产品

3、过分依赖安全产品

4、侥幸心理开放高危端口

这里我一般会向客户提及木桶原理,防护过程中只要一个短板就可能全盘皆输,这里的短板就是我们风险评估中常说的脆弱性,而如果疯狂堆砌安全产品,会对系统流量瓶颈,对可用性造成影响和损害;过分依赖安全产品,殊不知我们目前市面上在售的很多安全产品本身也有漏洞,也可以被绕过,所以可以等级保护强调全面的安全,每个层面都要求建立起有效的防护体系。关于高危端口,这是攻击者们乐此不疲的,喜闻乐见的,比如勒索病毒,挖矿病毒已经造成巨大经济损失,这些都是利用高危端口进行入侵和破坏的。

网安工作中,当涉及到个人信息保护工作,由于个人隐私保护与生活息息相关,客户一般较为感兴趣,我通常会给客户建议以下几点:

1、不要登入可疑网站,不要打开或滥发邮件中不可信赖来源或电邮所载的URL链接,以免被看似合法的恶意链接转往恶意网站。

2、不要从搜索引擎的结果连接到银行或其他金融机构的网址。

3、不要轻信手机短信、其它形式发来的涉及自身安全、财务的信息。

4、以手工方式输入URL位址或点击之前已加入书签的链接

5、使用免费WIFI的时候,不要输入敏感信息

然后,就是大杀招了,每年HVV中都会面临的0DAY漏洞,总是让防守方头痛不已,措手不及。其实“0day”并不是某一种技术,也不是指某一种特定技术的漏洞,它在软件或系统中已经被发现,但官方还不知道或还没有发布相应补丁的漏洞。这样的漏洞危害最大,当然黑产地下产价值也就非常之高。

那么如何应对呢?我给我们客户的建议通常是你作为管理员或用户,最好的办法是永远不要使用未打补丁版本的软件。比如在 Linux
社区中,许多用户不会安装.0发行版。相反,他们将等待.1版本(例如Ubuntu
19.10.1)。通过避免最初发布的版本,可能会免受第一批产品中至少任何未发现的0day漏洞的影响。当然这并不意味着.1版本将修补所有的0day漏洞。经常在新闻中看到存在一段时间的软件中发现的新漏洞。另外还要建立实时监测、主动防御、系统加固等安全运维体系。

而作为开发人员,最好的办法是用尽可能多的版本测试人员。这是开源软件比专有软件更具优势的地方。在源代码公开的情况下,任何人都可以审查和测试代码。另一方面,付费软件通常不会向公众发布Beta(贝塔公共测试版)。当应用程序的beta测试人员数量有限时,发现的bug较少,从而导致0day漏洞的可能性更高。总之开发人员需要先进行测试、测试和测试,然后再发布给公众。

好了,今天的分享就到这里,希望我的一些建议能够在网络安全防护工作中切实的帮助到大家,后续也会继续发表自己的一些经验杂谈,欢迎大家点赞评论,谢谢!

人员数量有限时,发现的bug较少,从而导致0day漏洞的可能性更高。总之开发人员需要先进行测试、测试和测试,然后再发布给公众。

好了,今天的分享就到这里,希望我的一些建议能够在网络安全防护工作中切实的帮助到大家,后续也会继续发表自己的一些经验杂谈,欢迎大家点赞评论,谢谢!

接下来我将给各位同学划分一张学习计划表!

学习计划

那么问题又来了,作为萌新小白,我应该先学什么,再学什么?
既然你都问的这么直白了,我就告诉你,零基础应该从什么开始学起:

阶段一:初级网络安全工程师

接下来我将给大家安排一个为期1个月的网络安全初级计划,当你学完后,你基本可以从事一份网络安全相关的工作,比如渗透测试、Web渗透、安全服务、安全分析等岗位;其中,如果你等保模块学的好,还可以从事等保工程师。

综合薪资区间6k~15k

1、网络安全理论知识(2天)
①了解行业相关背景,前景,确定发展方向。
②学习网络安全相关法律法规。
③网络安全运营的概念。
④等保简介、等保规定、流程和规范。(非常重要)

2、渗透测试基础(1周)
①渗透测试的流程、分类、标准
②信息收集技术:主动/被动信息搜集、Nmap工具、Google Hacking
③漏洞扫描、漏洞利用、原理,利用方法、工具(MSF)、绕过IDS和反病毒侦察
④主机攻防演练:MS17-010、MS08-067、MS10-046、MS12-20等

3、操作系统基础(1周)
①Windows系统常见功能和命令
②Kali Linux系统常见功能和命令
③操作系统安全(系统入侵排查/系统加固基础)

4、计算机网络基础(1周)
①计算机网络基础、协议和架构
②网络通信原理、OSI模型、数据转发流程
③常见协议解析(HTTP、TCP/IP、ARP等)
④网络攻击技术与网络安全防御技术
⑤Web漏洞原理与防御:主动/被动攻击、DDOS攻击、CVE漏洞复现

5、数据库基础操作(2天)
①数据库基础
②SQL语言基础
③数据库安全加固

6、Web渗透(1周)
①HTML、CSS和JavaScript简介
②OWASP Top10
③Web漏洞扫描工具
④Web渗透工具:Nmap、BurpSuite、SQLMap、其他(菜刀、漏扫等)

那么,到此为止,已经耗时1个月左右。你已经成功成为了一名“脚本小子”。那么你还想接着往下探索吗?

阶段二:中级or高级网络安全工程师(看自己能力)

综合薪资区间15k~30k

7、脚本编程学习(4周)
在网络安全领域。是否具备编程能力是“脚本小子”和真正网络安全工程师的本质区别。在实际的渗透测试过程中,面对复杂多变的网络环境,当常用工具不能满足实际需求的时候,往往需要对现有工具进行扩展,或者编写符合我们要求的工具、自动化脚本,这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制的脚本工具来实现各种目的,更是需要拥有编程能力。

零基础入门的同学,我建议选择脚本语言Python/PHP/Go/Java中的一种,对常用库进行编程学习
搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP,IDE强烈推荐Sublime;

Python编程学习,学习内容包含:语法、正则、文件、 网络、多线程等常用库,推荐《Python核心编程》,没必要看完

用Python编写漏洞的exp,然后写一个简单的网络爬虫

PHP基本语法学习并书写一个简单的博客系统

熟悉MVC架构,并试着学习一个PHP框架或者Python框架 (可选)

了解Bootstrap的布局或者CSS。

阶段三:顶级网络安全工程师

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

学习资料分享

当然,只给予计划不给予学习资料的行为无异于耍流氓,这里给大家整理了一份【282G】的网络安全工程师从入门到精通的学习资料包,可点击下方二维码链接领取哦。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值