20211916 2021-2022-2 《网络攻防实践》第七次作业

1.实践内容
1.1 Linux远程口令字猜测攻击

  • Linux系统主要支持telnet、rogin、rsh和SSH协议的网络远程控制,这些协议对远程用户进行身份认证。
  • 通过前面提到的服务嗅探用户账户名或者使用缺省内件账户的用户名进行密码猜测。
  • 通常针对使用弱口令的的账户破解。
  • 除了SSH网络服务之外,还可以通过对HTTP/HTTPS、FTP等用于自己账户体系和身份认证机制的网络服务进行猜测。
  • 口令猜测的常用工具如下:Brutus、THC Hydra、Cain and Abel等工具。
  • 防御远程口令猜测技术
    • 确保每个用户都有自己的有效账户和口令字,而不是都使用一个Root特权账户
    • 特权账户应避免远程直接登录,只能在本地登录
    • 口令长度至少达到8个字符,包含字母、数字和标点符号
    • 对多次认证失败进行纪录,并在多次无效登录之后断掉连接
    • 不要再自己登录的所有系统上都使用相同的口令字
    • 不要笔录自己的口令字
    • 使用基于公开密钥证书的身份认证机制
    • 修改网络服务的默认端口

1.1.1 网络服务远程渗透攻击

  • Linux内核中的网络协议栈攻击
  • LAMP WEB网站中的网络服务攻击
  • FTP、Samba等文件共享服务
    • FTP服务一般监听TCP20和21号端口,其中21号端口用于控制命令传输,而20号端口则用于数据传输
    • Samba是用来连接Linux等类UNIX的操作系统与微软的windows系统SMB/CIFS网络协议相连接的网络服务,在TCP445端口上监听
  • 电子邮件收发服务
  • 其他网络服务的攻击
  • 网络服务远程渗透攻击的安全防范措施
    • 禁用不必要的网络服务
    • 尽量选择更安全的网络协议和服务软件
    • 及时更新网络服务版本
    • 使用xinetd(网络守护进程服务程序)、防火墙为Linux网络服务添加网络访问控制
    • 建立入侵检测与应急响应计划流程

1.1.2 攻击Linux客户端程序和用户

  • 攻击Linux平台上的客户端程序
  • 攻击Linux系统用户
    • 获取系统管理员信息,结合社会工程学
    • 攻陷一些软件发行和分发站点,对站点上提供的软件进行特洛伊木马化,木马化版本在运行时引入后门,让未经授权的用户远程获得系统的Root权限
  • 客户端与用户攻击的安全防范措施
    • 了解社会工程学知识,提高抗欺骗能力
    • 及时更新软件
    • 在下载软件的时候通过官方下载渠道,并校验MD5

1.1.3 攻击路由器和监听器

  • 攻击Linux路由器与防火墙
  • 攻击Linux下运行的监听器和入侵检测器,如Libpcap抓包库、tcpdump命令行程序、wireshark软件、snort入侵检测系统等等
  • 针对路由器和监听器攻击的防范措施
    • 网络管理员增强安全意识,关注厂商的安全威胁报告
    • 及时进行固件的升级
    • 掌握攻击者的入侵渗透手段,并进行渗透测试

2.实践过程

(1)使用Metasploit进行Linux远程渗透攻击

任务:使用Metasploit渗透测试软件,攻击Linux靶机上的Samba服务Usermap_script安全漏洞,获取目标Linux靶机的主机访问权限。实践步骤如下:

启动Metasploit软件,可根据个人喜好使用msfconsole、msfgui、msfweb之一;

首先,通过命令msfconsole启动渗透软件,通过命令use exploit/multi/samba/usermap_script使用渗透攻击模块。

设置攻击的PAYLOAD为cmd/unix/reverse

设置攻击参数RHOST为靶机地址set RHOST 192.168.200.125,并通过run开始攻击

成功拿到靶机权限

(2)实践作业:攻防对抗实践

攻击方:使用 Metasploit ,选择 Metasploitable 靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得root权限。

防守方:使用 tcpdump/wireshark/snort 监听获得网络攻击的数据包文件,结合 wireshark/snort 分析攻击过程,获得攻击者的IP、目标IP和端口、攻击发起时间、攻击利用漏洞、使用Shellcode、以及成功之后在命令行输入的信息。

本任务选择攻击的漏洞为任务一所攻击漏洞,因此攻击操作与任务一相同,下面主要对Wireshark抓包内容进行分析。

我重复实践一,并进行数据抓包

攻击后查看数据包,在下图中:

首先攻击机向靶机发送一个SMB的Negotiate Protocol Request(协商协议请求)数据包,并列出攻击机所支持的SMB协议版本

服务器响应一个SMB的Negotiate Protocol Response(协商协议响应)数据包

攻击机向靶机发起一个Session setup X request(会话设置请求)数据包,会话的用户身份为:anonymous(匿名用户)

靶机确认身份后发送一个Session Setup X Response(会话设置响应)数据报同意本次连接。

我认为攻击时间应该是在经过三次tcp握手协议后的,第一个SMB开始的。

  • 由上图也可得出,攻击者的IP地址192.168.200.6,端口44059;目标IP地址192.168.200.125,端口139
  • 攻击利用了139端口漏洞。139端口属于TCP服务,在Unix中用于Samba服务。开启139端口虽然可以提供共享服务,但是常常被攻击者利用,以此获取用户名和密码。
  • 查看攻击成功建立连接使用的shellcode

通过进一步的tcp流分析,我们可以看到成功之后在本地执行命令的信息。

3.学习中遇到的问题及解决

问题1:一开始kali攻击机ping不了靶机。

解决:因为上次实验换成了桥接模式,这次再把kali的网络适配器改回原来的NAT模式就行。

4.学习感想和体会

上次学习了windows系统的漏洞,这次学习了linux系统的漏洞,感觉还是有一定差别的。

posted @ 2022-04-25 20:33  banlichestnut  阅读(44)  评论(0编辑  收藏  举报