杨明 杨夏柏
DOI:10.19850/j.cnki.2096-4706.2021.08.051
摘 要:信息安全行业对从业者的实践能力要求高,擅长培养个人实践能力的高职院校在信息安全人才培养过程中扮演着越来越重要的角色。高职院校信息安全人才培养应以渗透测试实训为主,文章分析了当前高职院校使用的信息安全实训平台,提出基于Metasploitable2、Windows和Kali等系统自主搭建实训平台,并对相关软件的使用做了介绍,阐述了自主平台可练习的实训项目,利用该平台演示了几个典型的渗透测试实例。
关键词:高职院校;信息安全;实训平台;Metasploitable2;Kali
中图分类号:TP393 文献标识码:A 文章编号:2096-4706(2021)08-0179-04
The Independent Construction of Information Security Training Platform in Higher Vocational Colleges
YANG Ming,YANG Xiabai
(Yunnan College of Finance and Economics,Kunming 650222,China)
Abstract:The information security industry has high requirements for practitioners' practical ability. Higher vocational colleges that are good at cultivating personal practical ability play a more and more important role in the training process of information security talents. The cultivation of information security talents in higher vocational colleges should focus on penetration test training. This paper analyzes the information security training platform used in higher vocational colleges,and proposes to build the training platform independently based on Metasploitabile2,Windows,Kali and other systems,and introduces the use of related softwares,expounds the practical training projects that can be practiced on the independent platform,uses the platform to demonstrate several typical instances of penetration testing.
Keywords:higher vocational college;information security;training platform;Metasploitable2;Kali
0 引 言
信息安全行業是高成长行业,人才缺口逐年递增,一般认为,信息安全入行门槛高,涉及计算机开发、网络、系统管理等方面,只有将诸方面的知识和技能融会贯通,才能在信息安全领域得心应手。绝大多数学生天生对黑客技术感兴趣,然而如果让他们一开始就接触枯燥晦涩的信息安全理论,他们就会望而却步。只有通过一个个生动有趣的实验来吸引他们,让其快速入门信息安全领域,他们才能逐步成长为信息安全人才。其实,社会对信息安全人才的需求是分层次的,信息安全领域不乏低学历的怪才、偏才,信息安全问题分析的独特视角更显重要。本科以上院校培养的是研究型、开发型人才,高职院校擅长培养实践型人才,在信息安全人才培养方面大有可为。
不知攻,岂知防,信息安全人才的培养应从渗透技术入手。渗透就是模仿黑客的攻击行为评估系统安全,然而,未经授权渗透真实环境属于违法行为,因此高职院校信息安全人才培养的重要一环是搭建信息安全实训平台,校企合作可为信息安全人才的培养提供实训平台,然而当前信息安全企业众多,其提供的实训平台良莠难辨,更关键的是价格昂贵,一个信息安全实训室的投入动辄数百万元,厂商的诉求是利益,因此他们的实训平台往往搭载了不必要的硬件设备。高职院校立足自身需求,利用学校网络和已有设备自主搭建信息安全实训平台就尤为迫切和必要,云南财经职业学院基于Metasploitable2、Windows、Kali等系统搭建靶机和攻击机,为师生学习信息安全知识、熟悉渗透测试的流程和方法、掌握渗透测试工具、演练攻防技术提供了一个低成本的实训平台。
1 Metasploitable2及其搭载的其他平台
Metasploitable是一个基于Ubuntu Linux的靶机系统,它开放了众多的高危端口,集齐了Linux操作系统大多数有安全漏洞的服务和软件且未打补丁,特别适合初学者练习渗透测试工具,了解漏洞利用的原理。虽然Metasploitable3早已问世,但它的安装和设置较为繁琐,这里仍使用Metasploitable2,
它的内核是2.6.24,Metasploitbale2是一个虚拟机文件,从网上下载解压之后无须安装,使用VmwareWorkstation等虚拟机软件直接打开其镜像文件即可使用,对初学者来说,此版本更为适合。
令人兴奋的是Metasploitable2还搭载了著名的Web专用靶场:DVWA和Mutillidae等。DVWA基于PHP和MySQL搭建,它为Web渗透提供了合法的测试环境,DVWA包含了10个漏洞模块、4种安全等级,有利于学习者从易到难进行学习,参考代码变化来理解漏洞利用的原理和Web应用安全防范的过程;Mutillidae与DVWA类似,它提供了OWASP(开放式Web应用程序安全项目)Top10漏洞的题集,还提供了点击劫持、表单缓存、HTML-5Web存储等较新兴的漏洞,Mutillidae也可自行调节三个等级的难度和三种提示模式,它还提供了大量的资料和视频链接等方便学习者参考。
2 攻击机的准备和实训平台可练习的项目
本科以上院校培养信息安全人才以算法设计、程序开发为主,而高职院校的信息安全人才培养以工具应用为主,信息安全工具种类繁多,版本复杂,且随着技术的进步还在不断推陈出新,在网上收集常见工具也非易事。可喜的是,有人将众多的渗透测试工具预装在一个Linux系统里,最典型的就是Kali Linux,Kali基于Debian Liux,内置了300多个渗透测试软件,涵盖了数字取证、无线网络、服务器、密码、系统漏洞等,更重要的是,Kali永远免费,在其官网http://www.kali.org下载安装后,即拥有了一个强大的渗透测试“武器库”。
需要注意的是,Metasploitable2所提供的漏洞均是Linux漏洞,真实环境中许多漏洞属Windows漏洞,如MS08-067、MS17-010(永恒之蓝)等。我们有必要在校园网的真机上、超融合服务器上或虚拟机上再安装WindowsXP、Windows7、Windows10、Windows2000、Windows Server 2003、Windows Server 2008、Windows Server 2012等不同版本的操作系统并发布各类Web应用,丰富渗透测试环境。实训平台搭建好之后,即可开启渗透之旅,练习各类渗透测试工具、进行攻防演练等,如图1所示。
3 渗透测试实例演示
3.1 使用Nmap探测开放端口
同一台服务器在网络上提供不同的服务需要依靠不同的端口来识别,端口就是外部客户机与服务器交流之门,门开得越多,可提供的服务也就越多,然而方便的同时也带来了风险,入侵者可通过开放的端口对服务器发起攻击。渗透测试的第一步是识别服务器开启了哪些端口和服务,Nmap是著名的网络扫描利器,系统管理员或攻击者可以利用Nmap发现某网络中正在运行的主机、扫描主机开放的端口、侦测所提供服务的版本、识别操作系统的类型及版本等。
将Kali和Metasploitable2置于同一网络,Metasploitable2的用户名和登录密码均为:msfadmin,本例中利用“vi/etc/network/interfaces”命令将Kali攻击机的IP设置为:172.16. 21.100,将靶机的IP设置为:172.16.21.200,在攻击机中输入命令可扫描靶机开放的端口,命令为:Nmap -p 0-65535 172.16.21.200。
命令中参数-p设置需要扫描的端口,此处扫描靶机的所有端口,扫描结束后,发现Metasploitable2靶机开放了众多端口,如表1所示,每一个开放的端口就是一个安全隐患。在安全测试中,至少有30%以上严重和高危的漏洞,都是基于服务端口配置不当所诱发的。
3.2 典型漏洞利用
操作系统级别的漏洞影响重大,攻击者一旦利用成功就可取得管理员权限,再复杂精妙的系统也是人编写的,人才是最大的漏洞,所以任何系统都可能存在漏洞。在此以SambaMS-RPCShell命令注入漏洞为例阐述漏洞利用过程,所用工具是Metasploit(渗透测试框架),Kali提供了Metasploit,Metasploitable最早就是为测试这个工具所设计的漏洞服务器。
Samba中负责SAM数据库更新用户口令的程序不经过滤就直接传输给/bin/bash,这就导致了低权限用户可以执行任意命令。
在Kali终端命令行,输入“msfconsole”打开MSF框架,执行search命令搜索漏洞模块、执行use命令装载渗透攻击模块,执行set命令设置本地及目标计算机IP和端口,执行exploit命令发起渗透攻击。如果攻击成功,利用whoami查看是否取得root权限,利用ifconfig查看是否受控计算机的IP地址,详细命令如图2所示。取得一个shell后,后渗透阶段的工作就是信息收集和提升低权限等。
3.3 弱口令爆破
Metasploitable2的口令设置相当糟糕,系统和数据库都有一个用户名和口令完全一致的账号(msfadmin),系统的其余账号也几乎全是弱口令,甚至ssh也没加密。利用Kali提供的medusa工具执行下列命令进行暴力破解:medusa -M ssh -h 172.16.21.200 -U/home/test/users.txt -P/home/test/pwords.txt命令中的users.txt为用户名字典,pwords.txt为口令字典,简单的字典可用vim编辑器直接编辑,较复杂的字典可到网上下载,命令执行结束即可获取ssh的账号密码,如图3所示,通过ssh远程登录就获得了服务器的控制权。
4 Web攻防实训
在网络上,一个单位通过Web应用(包括WWW、OA、E-mail等)与外界联系,攻击者往往通过Web攻陷相关服务器后,再通过它们与内网之间的关联渗透进入内网。因此Web是信息安全防范的首要阵地,Web攻防也是信息安全实训的重点。Metasploitable2预装了易受攻击的Web应用,系统启动后Web服务自动运行。访问Web应用不需要Kali,使用网内任意一台计算机打开浏览器,地址栏中輸入http://
Web渗透的核心技术包括SQL注入、XSS攻击、CSRF攻击、SSRF攻击、暴力破解、文件上传下载、命令执行漏洞攻击、逻辑漏洞攻击、XXE漏洞攻击和WAF绕过等,大多渗透技术可通过该平台来训练,此外,还可在网上下载现成的CMS整站,在校园网服务器上安装配置后可模拟真实环境,供学生练习Web攻防。
5 结 论
该实训平台搭建简单、运维方便、成本低廉而功能强大,可演练Kali内置的MSF渗透框架和诸多的渗透测试工具,如三大滲透测试工具:Nmap、BurpSuite、SQLMap,然而Metasploitable2虚拟系统中存在的某些漏洞年代已久远,漏洞利用价值不高,利用它搭建实训平台的目的主要是帮助师生快速入门信息安全领域,熟悉渗透测试的思路和流程。通过教师必要的指导和实训平台的训练,可激发学生的学习兴趣,让他们积极主动学习计算机、网络、操作系统和数据库等方面的知识和技能,学会编写程序,掌握网络攻防技术,成为专业的信息安全人才。教师亦可通过实训平台的训练储备专业知识、训练技能、积累经验,更好地为教学服务。
参考文献:
[1] 徐焱,李文轩,王东亚.Web安全攻防 [M].北京:电子工业出版社,2018.
[2] 乔明秋.Kali Linux渗透测试 [M].北京:机械工业出版社,2019.
[3] 钱雷,胡志齐.网络攻防技术 [M].北京:机械工业出版社,2019.
[4] Tr0e.渗透测试-Metasploitable2靶机[EB/OL].(2020-02-22)https://bwshen.blog.csdn.net/article/details/1044 47965.
[5] 黄洪,尚旭光,王子钰.渗透测试基础教程 [M].北京:人民邮电出版社,2018:137-143.
[6] 王学庆,罗尚平.Metasploit渗透攻击平台的设计与实现[J].乐山师范学院学报,2020,35(4):45-48.
作者简介:杨明(1973—),男,汉族,云南通海人,副教授,高级程序员,网络设计师,计算机工學硕士,研究方向:计算机网络和信息安全;杨夏柏(1968—),男,白族,云南大理人,教授,计算机工学硕士,研究方向:计算机网络。
收稿日期:2021-01-19
基金项目:云南省教育厅科学研究基金资助项目(2021J1282)