您好,欢迎光临有路网!
网络攻击与防御实训
QQ咨询:
有路璐璐:

网络攻击与防御实训

  • 作者:王群、徐鹏、李馥娟
  • 出版社:清华大学出版社
  • ISBN:9787302522720
  • 出版日期:2019年03月01日
  • 页数:279
  • 定价:¥49.50
  • 猜你也喜欢

    分享领佣金
    手机购买
    城市
    店铺名称
    店主联系方式
    店铺售价
    库存
    店铺得分/总交易量
    发布时间
    操作

    新书比价

    网站名称
    书名
    售价
    优惠
    操作

    图书详情

    内容提要
    基于“授之以渔”的理念,本书不以黑防工具的用法介绍为主,而是着重展现每一个案例入侵的完整过程,分析其中使用的手法、思路。 本书不是教授黑客技术的教材,期望通过阅读本书而能够入侵其他的计算机是不现实的。通过阅读本书,读者可以了解黑客入侵的过程、手法,进而建立**防范意识及提高**防范能力。
    文章节选
    第3章Linux操作系统攻防实训
    “一切皆文件”是Linux的基本思想,包括命令、硬件和软件设备、进程等,对于操作系统内核而言都被视为拥有各自特性或类型的文件。Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获取,并可以任意修改其源代码。正是由于“一切皆文件”和开源这两大特点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行修改和完善,这让Linux吸收了无数程序员的智慧,在发展中不断壮大,已成为目前在服务器应用领域占用率*高的操作系统,也被互联网资源的提供者视为***可靠的操作系统。不过,“**”这一概念在互联网应用中是相对的,即在互联网中不存在**的**,各类攻击行为在Linux系统中仍然存在,只是攻击的方式和难度不同而已。
    3.1Linux基本命令的使用
    3.1.1预备知识: Linux的字符终端

    Linux系统的字符终端窗口为用户提供了一个标准的命令行接口,在字符终端窗口中,会显示一个Shell提示符,通常为“$”。用户可以在提示符后输入带有选项和参数的字符命令,并能够在终端窗口中看到命令的运行结果,此后,将会出现一个新的提示符,标志着新命令行的开始。字符终端窗口中出现的Shell提示符因用户不同而有所差异,其中,普通用户的命令提示符为“$”,**管理员用户的命令提示符为“#”,这两个符号之间所表示的用户身份的差别,在Linux攻防中是非常重要的。因为在Linux用户的提权攻击过程中,当同一用户账户在不同时间段登录系统后,如果在字符终端窗口中提示符从“$”变为“#”,说明提权操作成功。
    Linux系统中的命令是区分大小写的。在Linux命令行中,可以使用Tab键来自动补齐命令,即可以只输入命令的前几个字母,然后按Tab键,系统将自动补齐该命令; 如果命令不止一个,则显示所有和输入字符相匹配的命令。按Tab键时,如果系统只找到一个和输入字符相匹配的目录或文件,则自动补齐; 如果没有匹配的内容或有多个相匹配的名称,系统将发出警鸣声,再按一下Tab键将列出所有相匹配的内容,以供用户利用向上或向下的光标键来选择。
    Linux可以翻查曾经执行过的历史命令。如果要在一个命令行上输入和执行多条命令,可以使用分号来分隔命令,如“cd /;ls”; 如果要使程序以后台方式执行,只需在要执行的命令后跟上一个“&”符号即可。
    3.1.2实验目的和条件
    1. 实验目的
    通过本实验,使读者掌握以下内容。
    (1) Linux命令行的操作方法。
    (2) 文件目录类命令的使用方法。
    (3) 系统信息类命令的使用方法。
    (4) 进程管理类命令的使用方法。
    2. 实验条件
    本实验需要在一台运行Linux操作系统的计算机上完成,这台计算机既可以是一台物理机,也可以是一台虚拟机(在实验中,如果没有特殊要求,建议使用虚拟机)。本实验使用的Linux操作系统为Red Hat。
    3.1.3实验过程
    步骤1: 进入实验用的Red Hat操作系统后,在命令行终端���口中可以输入简单的命令,如图31所示。


    图31Linux的字符操作界面


    在命令行中,先来熟悉一些简单的命令,并了解这些命令的用途。其中,浏览目录类命令主要包括pwd、cd、ls,浏览文件类命令主要包括cat、more、less、head、tail,目录操作类命令主要包括mkdir、rmdir,文件操作类命令主要包括cd、rm、diff、tar、mv、whereis、grep。
    步骤2: 在图32中,开始演示浏览目录类命令pwd、cd、ls的使用。其中,“ls la /home/”命令为列出home目录中包含隐藏文件在内的所有文件。其他浏览目录类命令希望读者自己动手进行练习。


    图32浏览目录


    步骤3: 在图33中,开始演示浏览文件类命令cat、more、less、head、tail的使用。



    图33浏览文件


    步骤4: 在图34中,开始演示目录操作类命令mkdir、rmdir的使用。


    图34目录操作


    步骤5: 在图35中,开始演示文件操作类命令cd、rm、diff、tar、mv、whereis、grep的使用。


    图35文件操作


    在Linux操作系统中,还有以下一些常用的命令。
    dmesg: 显示系统诊断信息、操作系统版本号、物理内存大小及其他信息。
    df: 查看文件系统的各个分区占用情况。
    du: 查看某个目录中的各级子目录使用硬盘空间数。
    free: 查看系统内存、虚拟内存的大小及占用情况。
    date: 查看和设置当前日期和时间。
    cal: 显示指定月份或年份的日历。
    clock: 显示系统时钟。
    ps: 查看系统进程。
    kill: 向进程发送强制终止信号。
    killall: 根据进程名发送终止信号。
    nice: 指定运行程序优先级。
    renice: 根据进程的进程号来改变进程的优先级。
    top: 实时监控进程状态。
    bg、jobs、fg: 控制进程显示。
    3.1.4任务与思考
    考虑到部分读者对Linux操作系统的命令行操作不熟悉,本实验主要通过对常用命令的学习,使读者逐渐熟悉Linux的操作环境,并初步掌握一些常用命令的功能和使用方法。
    Linux在服务器应用中占有**的优势,目前DNS、DHCP、NAT等大量的互联网基础信息服务都构建在Linux操作系统之上,同时Web、Email、FTP等服务平台也主要选择Linux操作系统。对于网络攻防的学习来说,读者必须通过系统学习来掌握Linux操作系统的相关操作,同时对Linux的工作机制有一个全面深入的认识。其中包括Linux操作系统在进程与线程管理、内存管理、系统管理、设备控制、网络、系统调用等方面形成的特有工作机制,掌握这些工作机制为全面学习Linux操作系统的功能及应用特点是非常有帮助的。
    请读者借助各类工具,通过查阅相关文献,并进行实验操作,来掌握与Linux工作机制相关的内容。
    3.2Linux用户和组的管理
    3.2.1预备知识: Linux用户和组的管理特点

    Linux操作系统是一个多用户、多任务的操作系统,允许多个用户同时登录到同一个系统,使用系统资源。为了使所有用户的工作顺利进行,保护每个用户的文件和进程,规范每个用户的权限,需要区分不同的用户,因此产生了用户账户和组群。
    用户账户是用户的身份标识,用户通过用户账户可以登录到系统,并且访问已经被授权的资源。系统依据账户来区分属于每个用户的文件、进程、任务,并给每个用户提供特定的工作环境,使每个用户的工作都能各自独立不受干扰地进行。
    Linux系统下的用户账户分为普通用户账户和**用户账户(root)两种类型。其中,**用户账户又称为根用户或管理员账户,可以对普通用户和整个系统进行管理。Linux系统下的账户管理具有以下特点。
    (1) 组群也称为工作组,是具有相同特性的用户的逻辑集合,使用组群有利于系统管理员按照用户的特性组织和管理用户,提高工作效率。
    (2) 在为资源授权时可以把权限赋予某个组群,组群中的成员即可自动获得这种权限。
    (3) 一个用户账户至少属于一个用户组,当某一用户账户属于多个组群的成员时,其中某个组群是该用户的主组群(私有组群),其他组群是该用户的附属组群(标准组群)。
    (4) 每一个用户都有一个**的身份标识,称为用户ID(UID); 每一个用户组也有一个**的身份标识,称为用户组ID(GID)。其中,root用户的UID为0。
    (5) 普通用户的UID可以在创建时由管理员指定,如果不指定,用户的UID默认从500开始顺序编号。
    Linux系统下,用户账户文件有以下两个。
    (1) /etc/passwd文件: 用户账户信息。
    (2) /etc/shadow文件: 用户口令。
    Linux系统下,组群文件有以下3个。
    (1) /etc/group文件: 组群账户信息。
    (2) /etc/gshadow文件: 组群口令、管理员等管理信息。
    (3) /etc/login.defs文件: 设置用户账户限制的文件,该文件中的配置对root用户无效。
    3.2.2实验目的和条件
    1. 实验目的
    通过本实验,使读者掌握以下内容。
    (1) 用户和组群的配置文件。
    (2) Linux下用户的创建、管理和维护。
    (3) Linux下组群的创建、管理和维护。
    (4) 用户账户管理器的使用方法。
    2. 实验条件
    本实验中所使用的Linux操作系统为Red Hat,既可以运行在物理机上,也可以运行在虚拟环境中。对于初学者来说,建议在VMware等虚拟机环境中安装Linux操作系统,进行相关的实验。
    3.2.3实验过程
    步骤1: 使用“cat/etc/passwd”命令查看/etc/passwd文件,如图36所示。


    图36查看/etc/passwd文件


    需要说明的是,/etc/passwd文件每行使用“:”分隔几个域,真正的密码保存在shadow文件中。
    步骤2: 使用“cat/etc/shadow”命令查看/etc/shadow文件,如图37所示。


    图37查看/etc/shadow文件


    需要说明的是,所有用户对passwd文件均可读取,但只有root用户对shadow文件可读,因此密码存放在shadow文件中更**。
    步骤3: 使用“cat/etc/group”命令查看/etc/group文件。用户的组账户信息放在group文件中,任何用户都可以查看且用“:”将几个域分开,如图38所示。


    图38查看/etc/group文件


    步骤4: 使用“cat/etc/gshadow”命令查看/etc/gshadow文件。gshadow文件用于存放组群的加密口令、组管理员等信息,只有root用户可读,用“:”分割成4个域,如图39所示。



    图39查看/etc/gshadow文件


    步骤5: 使用“useradd”或“adduser”命令创建新用户,其命令格式为:



    useradd [选项] username




    例如,创建一个名称为cloud用户,如图310所示。


    图310创建新用户


    需要说明的是,如果系统中创建的用户名已经存在,将出现如图311所示的提示信息。


    图311当要创建的用户在系统中存在时出现的提示信息


    “useradd”命令的选项含义。
    vc comment: 用户的注释性信息。
    vd home_dir: 指定用户的主目录。
    ve expire_date: 禁用账号的日期,格式为: YYYYMMDD。
    vf inactive_days: 设置账户过期多少天后,用户账户被禁用。
    vu UID: 指定用户的UID。
    vg initial_group: 用户所属主组群的组群名称或GID。
    vG grouplist: 用户所属的附属组群列表。
    vm: 如果用户主目录不存在,则创建它。
    vM: 不要创建用户主目录。
    vn: 不要为用户创建用户私人组群。
    vp: 加密的口令。
    vr: 创建UID小于500的不带主目录的系统账号。
    vs: 指定用户的登录Shell,默认为/bin/bash。
    步骤6: 新建用户user1,UID为510,指定其所属的私有组为cloud(cloud组的标志符为1001),用户的主目录为/home/user1,用户的Shell为/bin/bash,用户的密码为123456,账户永不过期,如图312所示。


    图312新建用户


    步骤7: 新建了用户后,要为用户设置口令,未设置口令的用户不能登录系统,使用user1来登录系统(logout注销后,再使用user1用户登录),如图313所示。


    图313为新建用户设置口令


    步骤8: 请读者重新使用root账户登录,来指定和修改user1用户账户口令: passwd,如图314所示。


    图314指定和修改user1用户账户口令


    需要说明的是,**用户root可以为自己和其他用户设置口令,而普通用户只能为自己设置口令。
    步骤9: 创建组群命令“groupadd”或“addgroup”。现在创建一个组群testgroup,如图315所示。


    图315创建组群


    步骤10: 使用“tail l /etc/group”命令查看新建的组群信息,如图316所示。


    图316查看新建的组群信息


    步骤11: 修改组群、gid、组群名称,如图317所示。


    图317修改组群、gid、组群名称
    目录
    第1章网络攻防基础实训 1.1中断攻击: UDP Flood拒绝服务攻击与防范 1.1.1预备知识: DoS/DDoS 1.1.2实验目的和条件 1.1.3实验过程 1.1.4任务与思考 1.2篡改攻击: ARP欺骗攻击 1.2.1预备知识: ARP欺骗攻击 1.2.2实验目的和条件 1.2.3实验过程 1.2.4任务与思考 1.3端口扫描: 利用Nmap工具进行端口扫描 1.3.1预备知识: Nmap工具介绍 1.3.2实验目的和条件 1.3.3实验过程 1.3.4任务与思考 1.4离线攻击工具: 彩虹表破解 1.4.1预备知识: 彩虹表 1.4.2实验目的和条件 1.4.3实验过程 1.4.4任务与思考 1.5电子邮件攻击: 利用社会工程学工具发送恶意邮件 1.5.1预备知识: 社会工程学与电子邮件攻击 1.5.2实验目的和条件 1.5.3实验过程 1.5.4任务与思考 第2章Windows操作系统攻防实训 2.1数据处理**: 文件加密 2.1.1预备知识: 数据加密 2.1.2实验目的和条件 2.1.3实验过程 2.1.4任务与思考 2.2Windows口令破解 2.2.1预备知识: 获取SAM文件的内容 2.2.2实验目的和条件 2.2.3实验过程 2.2.4任务与思考 2.3IIS日志分析: 手动清除IIS日志 2.3.1预备知识: 日志的功能 2.3.2实现目的和条件 2.3.3实验过程 2.3.4任务与思考 2.4针对注册表的攻防 2.4.1预备知识: 了解注册表 2.4.2实验目的和条件 2.4.3实验过程 2.4.4任务与思考 2.5针对组策略的攻防 2.5.1预备知识: 了解组策略 2.5.2实验目的和条件 2.5.3实验过程 2.5.4任务与思考 2.6Windows Server的**配置 2.6.1预备知识: Windows Server的网络功能 2.6.2实验目的和条件 2.6.3实验过程 2.6.4任务与思考 2.7Windows登录**的实现 2.7.1预备知识: 登录**介绍 2.7.2实验目的和条件 2.7.3实验过程 2.7.4任务与思考 2.8利用samba漏洞进行渗透 2.8.1预备知识: 了解Windows系统漏洞 2.8.2实验目的和条件 2.8.3实验过程 2.8.4任务与思考 2.9ARP和DNS欺骗攻击的实现 2.9.1预备知识: ARP和DNS欺骗原理 2.9.2实验目的和条件 2.9.3实验过程 2.9.4任务与思考 第3章Linux操作系统攻防实训 3.1Linux基本命令的使用 3.1.1预备知识: Linux的字符终端 3.1.2实验目的和条件 3.1.3实验过程 3.1.4任务与思考 3.2Linux用户和组的管理 3.2.1预备知识: Linux用户和组的管理特点 3.2.2实验目的和条件 3.2.3实验过程 3.2.4任务与思考 3.3Linux文件权限管理 3.3.1预备知识: Linux文件权限管理的特点 3.3.2实验目的和条件 3.3.3实验过程 3.3.4任务与思考 3.4Linux系统日志的清除 3.4.1预备知识: Linux系统日志的特点 3.4.2实验目的和条件 3.4.3实验过程 3.4.4任务与思考 3.5使用John the Ripper破解Linux系统密码 3.5.1预备知识: John the Ripper介绍 3.5.2实验目的和条件 3.5.3实验过程 3.5.4任务与思考 3.6Meterpreter键盘记录 3.6.1预备知识: Metasploit框架介绍 3.6.2实验目的和条件 3.6.3实验过程 3.6.4任务与思考 第4章恶意代码攻防实训 4.1脚本病毒编写实验 4.1.1预备知识: 脚本的攻防 4.1.2实验目的和条件 4.1.3实验过程 4.1.4任务与思考 4.2木马攻防实验 4.2.1预备知识: 网页木马的攻击原理 4.2.2实验目的和条件 4.2.3实验过程 4.2.4任务与思考 4.3木马隐藏分析 4.3.1预备知识: 木马的隐藏方式 4.3.2实验目的和条件 4.3.3实验过程 4.3.4任务与思考 4.4木马攻击辅助分析: 文件、注册表修改监视 4.4.1预备知识: 木马攻击辅助分析工具介绍 4.4.2实验目的和条件 4.4.3实验过程 4.4.4任务与思考 4.5远程入侵 4.5.1预备知识: Metaspolit工具使用方法 4.5.2实验目的和条件 4.5.3实验过程 4.5.4任务与思考 4.6脚本及恶意网页攻击 4.6.1预备知识: 脚本及恶意网页 4.6.2实验目的和条件 4.6.3实验过程 4.6.4任务与思考 第5章Web服务器攻防实训 5.1主机扫描: 路由信息的收集 5.1.1预备知识: 路由信息 5.1.2实验目的和条件 5.1.3实验过程 5.1.4任务与思考 5.2主机扫描: 主机探测 5.2.1预备知识: 主机扫描方法 5.2.2实验目的和条件 5.2.3实验过程 5.2.4任务与思考 5.3端口扫描: Zenmap工具的应用 5.3.1预备知识: 端口扫描 5.3.2实验目的和条件 5.3.3实验过程 5.3.4任务与思考 5.4系统类型探测: 主机系统识别 5.4.1预备知识: 主机探测 5.4.2实验目的和条件 5.4.3实验过程 5.4.4任务与思考 5.5漏洞扫描: Web**漏洞扫描及审计 5.5.1预备知识: Web漏洞的获取方法与w3af 5.2.2实验目的和条件 5.5.3实验过程 5.5.4任务与思考 5.6XSS跨站脚本攻击 5.6.1预备知识: 关于DVWA 5.6.2实验目的和条件 5.6.3实验过程 5.6.4任务与思考 5.7针对MS SQL的提权操作 5.7.1预备知识: MS SQL提权 5.7.2实验目的和条件 5.7.3实验过程 5.7.4任务与思考 第6章Web浏览器攻防实训 6.1Burp Suite漏洞扫描使用 6.1.1预备知识: Burp Suite工具介绍 6.1.2实验目的和条件 6.1.3实验过程 6.1.4任务与思考 6.2Web**漏洞学习平台: WebGoat的使用 6.2.1预备知识: WebGoat介绍 6.2.2实验目的和条件 6.2.3实验过程 6.2.4任务与思考 6.3Cookie对象操作 6.3.1预备知识: 关于Cookie 6.3.2实验目的和条件 6.3.3实验过程 6.3.4任务与思考 6.4网络钓鱼攻击 6.4.1预备知识: 了解网络钓鱼 6.4.2实验目的和条件 6.4.3实验过程 6.4.4任务与思考 6.5XSS获取Cookie攻击 6.5.1预备知识: ZvulDrill、WampServer和XSS平台 6.5.2实验目的和条件 6.5.3实验过程 6.5.4任务与思考 第7章移动互联网应用攻防实训 7.1程序加壳 7.1.1预备知识: 逆向工程 7.1.2实验目的和条件 7.1.3实验过程 7.1.4任务与思考 7.2Android手机木马程序设计 7.2.1预备知识: Android木马程序设计方法 7.2.2实验目的和条件 7.2.3实验过程 7.2.4任务与思考 7.3IDA破解实例 7.3.1预备知识: 逆向工程分析法 7.3.2实验目的和条件 7.3.3实验过程 7.3.4任务与思考 7.4服务端漏洞: 密码找回逻辑漏洞检测和重现 7.4.1预备知识: Android模拟器 7.4.2实验目的和条件 7.4.3实验过程 7.4.4任务与思考 7.5反编译、篡改漏洞检测和重现 7.5.1预备知识: 反编译 7.5.2实验目的和条件 7.5.3实验过程 7.5.4任务与思考

    与描述相符

    100

    北京 天津 河北 山西 内蒙古 辽宁 吉林 黑龙江 上海 江苏 浙江 安徽 福建 江西 山东 河南 湖北 湖南 广东 广西 海南 重庆 四川 贵州 云南 西藏 陕西 甘肃 青海 宁夏 新疆 台湾 香港 澳门 海外