◆宋 超 王克垒
(无锡旅游商贸高等职业技术学校 江苏 214000)
网络安全是当前社会的热点,培养安全意识要从小、从学校抓起,2019 年“网络信息安全”首次成为全国中职学校的新增专业,网络靶机是一类的带有漏洞的主机系统,它是网络安全专业学生很好的实践平台,能帮助学生认识信息收集、漏洞检测,入侵系统、后门植入等黑客攻击的整个流程,提高学生对网络安全知识内容的理解程度,然而如何搭建一个网络靶机的环境,却是摆在广大中职网络安全课程任课教师面前的一道难题。
ExploitDB 是一个面向全世界黑客的漏洞提交平台https://www.exploit-db.com/,该平台会公布最新漏洞的相关情况,这些可以帮助企业改善公司的安全状况,同时也以帮助安全研究者和渗透测试工程师更好地进行安全测试工作。
本文以Linux 系统中常见的proftp 服务为例,阐述了如何从ExploitDB 网站上下载并配置proftp 服务的漏洞版本,搭建一个网络靶机的环境,最后使用攻击机kali Linux 成功入侵, 从而为中职安全课程网络靶机的搭建提供一条思路。
proftp 是一个Linux 平台上文件传输服务,目前最新版本为1.3.7。Proftp 作为历史悠久且广泛应用的一种服务,在其使用过程中由于其版本设计缺陷出现了很多问题,如2019 年7 月爆出的CVE-2019-12815 漏洞影响了100 多万台服务器,如2016 年 网上爆出的ProFtpd<=1.3.5 mod_copy 未授权文件复制漏洞以及2015 年 proftpd v1.3.5a 堆溢出漏洞等。以下以 Proftp 1.3.3 backdoored 漏洞为例介绍如何从exlpoit-db 网站下载、配置漏洞版本搭建网络靶机。
(1)在exlpoit-db 网站上下载环境和攻击模块
进入www.exploit-db.com 网站在search 输入proftp 如下图所示,其中D 表示攻击机(kali、backtrack5)可使用的攻击模块、A 显示的是网络靶机(Linux 或windwows)使用的漏洞版本,分别点击下载在电脑出现两个文件 16921.rb ,backdoored_proftpd-1.3.3c.
tar.gz,其中是前者是攻击机使用的ruby 渗透模块,后者是网络靶机需要安装的漏洞服务的压缩包文件(图1)。
图1 proftp 服务漏洞搜索
(2)在网络靶机中安装和配置有漏洞的proftp 服务
在Vmware 中打开一台CentOS6.0 的虚拟机,以此作为网络靶机,将带有漏洞的
proftp 服务压缩包在CentOS6.0 系统中解压指令如下:
[root@localhost] #tar -xzvf backdoor-proftped-1.3.3(压缩包在桌面),
接着设置proftp 的安装目录:[root@localhost] #./configure --prefix = /root/proftp
由于在CentOS 中要安装proftp 服务就必须下载安装GCC 编辑器、编译、安装如下:
[root@localhost]#yum install gcc*&& make &&make install
在 proftp 服务的安装目录中修改 proftp 的配置文件:[root@localhost etc]#vi proftpd.conf 将文件30 行 Group 后对应的值改成nobody(系统中没有设定ftp 服务用户组所以配置文件设置成nobody),运行proftp 软件并查看端口如下:
[root@localhost backdoored_proftpd-1.3.3c]# ./proftpd &&netstat -anlt |grep 2121 端口是ftp 默认端口,回显结果为listen。
(3)在攻击机加载漏洞模块设置参数进行攻击
在Vmware 中打开一台Kali Linux 或BackTrack5(Kali Lin ux 或BackTrack5 是著名的网络渗透集成工具内含metasploit),将16921.rb 放入kali 的/usr/share/metasploit-framework/exploits/mo dules/unix/ftp 的目录下(此目录是metsploit 中存放攻击模块的默认位置),在Linux 中输入msfconsole 进入metasploit,查找并利用16921.rb 指令:
msf > use exploit/unix/ftp/16921,输入 show options 这时可以看到这个模块的参数只有设置RHOST 一项,即只需设置网络靶机的地址,值得注意的是网络靶机和渗透机必须相通,set rhost网络靶机地址后exploit 攻击,稍等片刻之后输入id 就会出现如下代码:
uid=0(root)gid=0(root)groups=0(root),99(nobody)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
这时已经成功入侵网络靶机并获得了最高权限,此外为了保证入侵的成功可以尝试不同的 payloads 即攻击载荷,比如cmd/unix/bind_perl、cmd/unix/reverse_perl 等。
我们对kali 攻击机exploit 指令之后进行抓包,在wireshark中显示如图2:
图2 Wireshark 抓包显示
从图中可以看出攻击机首先ftp 连接网络靶机,靶机则回显ftp 服务的版本信息1.3.3c,之后攻击机发送了一段指令“HELP ACIBITCHEZ”给靶机,而靶机回复如下代码:
在代码中靶机会反弹一个4444 端口给攻击机,攻击机通过此端口获得了靶机的shell 权限。可见“HELP ACIBITCHEZ”是预先植入到proftp 中的后门指令。
以上本文介绍了如何从exlpoit-db 网站下载漏洞环境、以proftp 后门漏洞为例部署了网络靶机,介绍了黑客入侵的全过程,最后分析了proftp 后门漏洞产生的原理。总之,部署网络靶机在中职网络安全课程实施中是一项富有挑战的事。