zoukankan      html  css  js  c++  java
  • 20169215 2016-2017-2 《网络攻防实践》/《网络攻击与防范》第八周学习总结

    20169215 2016-2017-2 《网络攻防实践》/《网络攻击与防范》第八周学习总结

    网络攻防环境的搭建与测试

    环境主要包括四台虚拟机,都采用桥接模式,并且需要将所有虚拟机IP地址设在一个网段,其中子网掩码为255.255.255.0

    • Linux攻击机:172.16.69.156
    • Linux靶机:172.16.69.153
    • Windows攻击机:172.16.69.140
    • Windows靶机:172.16.69.120

    然后测试连通性:

    1. Linux攻击机-Linux靶机
    2. Linux攻击机-Windows靶机
    3. Windows攻击机-Linux靶机
    4. Windows攻击机-Windows靶机

    实验中遇到的问题

    IP地址出现问题或不符合时候,需要修改IP。
    Linux下临时修改IP地址:

    ifconfig eth0 IP-adress mask
    

    Windows下修改IP地址:

    netsh interface ip set address "网络连接" static IP地址 子网掩码 默认网关 跳数
    

    教材学习内容总结

    Linux操作系统基本框架

    Linux操作系统优势
    Linux操作系统成为目前最受关注的系统之一,主要原因是它开放源代码并且免费使用,得到了用户基础,汇集了庞大的程序开发人员。除此之外,Linux还具有以下优势:

    • 跨平台的硬件支持;
    • 丰富的软件支持;
    • 多用户多任务;
    • 可靠的安全性;
    • 良好的稳定性;
    • 完善的网络功能。

    Linux操作系统的结构
    Linux操作系统的结构包括Linux内核,一些GUN运行库和工具,命令行shell,图形界面X窗口系统及相应桌面环境,以及各种服务应用软件。
    Linux操作系统内核总体结构属于一种典型的宏内核结构,其前去Minix采用微内核结构。Linux内核在系统运行期间可通过LKM机制装载卸载各种硬件抽象层中的设备驱动模块。硬件抽象层之上是内和服务功能模块,包括进程管理、内存管理、文件系统、设备控制与网络五个子系统,他们通过系统调用向用户态的GUN运行库及工具、命令行shell、X窗口以及应用软件提供服务。
    Linux内核采用抢占式多用户多进程模式。晋城市最基本的调度单元,维护一个进程控制块(PBC)结构,由内核schedule进程调度函数依据进程优先级和CPU等资源情况来选择进程进行执行。
    Linux内存管理模块允许多个进程安全地共享物理内存区域。用户态代码想要访问内核空间必须通过系统调用或者中断。内存管理模块为进程提供内存分配、内存回收、请求分页和交换页等系统调用服务。
    Linux内核采用了虚拟文件管理VFS机制,Ext家族文件系统是Linux内核中缺省采用的文件系统格式,使用索引节点来记录文件信息,包括文件长度、创建及修改时间、权限、所属关系、磁盘中位置等。
    Linux内核中通过设备驱动程序处理或管理硬件控制器。Linux支持三类硬件设备:字符设备、块设备和网络设备。
    Linux内核中网络模块提供了对各种网络标准的存取和各种网络硬件的支持。网络接口分为网络协议栈和网络驱动程序,网络协议栈负责实现每一种可能的网络传输协议,网络设备驱动程序负责与硬件设备通信。
    Linux内核通过进程与线程管理机制、内存管理机制、文件系统管理机制、设备控制机制、网络机制实现了操作系统基本的硬件管理与系统功能。

    Linux操作系统安全机制

    Linux身份认证机制
    Linux身份认证:Linux用户包括Root根用户、普通用户、系统用户。Linux用户信息保存在 /etc/passwd 文件中,加密口令字存放于 /etc/shadow 文件中。Linux用户组是具有相同特征的用户账号集合,用户组信息保存在 /etc/group 文件中,用户组加密口令字保存在 /etc/gshadow 中,可以使用id -a命令查询和显示当前用户所属组,通过groupadd命令添加用户组,使用usermod -G group_name user_name向特定用户组添加用户。
    Linux本地登录login进程通过Crypt()函数对用户输入的口令进行验证,并fork相应用户Shell的子进程,为了提高安全性,Crypt()函数引入了salt值
    Linux从UNIX集成了rlogin、rsh服务提供远程用户登录和访问,也支持telnet提供终端访问服务。目前Linux系统普遍使用SSH服务进行远程用户登录与网络访问。SSH提供两种方式的用户身份认证机制:基于口令的身份认证和基于非对称密钥的身份认证
    为了给不同的应用软件、网络服务提供统一的身份认证机制,Linux系统系统了统一身份认证中间件PAM,支持四种管理界面:

    1. 认证管理:主要接收用户名和密码,进而对该用户的密码进行认证,并负责设置用户的一些秘密信息
    2. 账户管理:主要是检查账户是否被允许登录系统,账号是否已经过期,账号的登录是否有时间段的限制
    3. 密码管理:主要是用来修改用户的密码
    4. 会话管理:主要是提供对绘画的管理和审计

    Linux授权与访问控制机制
    Linux通过VFS虚拟文件系统来实现对不同类别文件系统格式的支持,所有文件与设备资源的访问控制都通过VFS虚拟文件系统来实现,主要通过文件所有者、文件访问权限和一些特殊权限位来进行系统的授权与访问控制。

    Linux安全审计机制
    Linux安全审计机制主要通过三个主要日志子系统来实现:

    1. 连接时间日志
    2. 进程统计日志
    3. 错误日志记录

    Linux系统事件日志在文件系统中的存储路径集中在 /var/log 目录中。

    Linux系统远程攻防技术

    从远程网络上入侵Linux系统的主要方法有四种:

    1. Linux远程口令字猜测攻击
    2. Linux网络服务远程渗透攻击
    3. 攻击Linux客户端程序和用户
    4. 攻击Linux路由器和监听器

    Linux远程口令字猜测攻击
    互联网面临的攻陷系统最普遍的攻击模式是针对SSH、telnet、FTP、HTTP等服务的口令猜测攻击。Linux系统主要支持telnet、rlogin、rsh和SSH协议的网络远程控制,使用了Linux系统内置的用户名和口令对远程用户身份认证。Linux系统上的HTTP/HTTPS、FTP、SNMP、POP/SMTP、MySQL等网络服务拥有自己的用户账户体系和身份认证机制。
    针对弱口令账户,可以使用“撒网式”、字典攻击、暴力破解等口令猜测方式。
    比较流行的支持攻击者进行自动化的远程口令猜测的工具有:Brutus、THC Hydra、Cain and Abel等。

    Linux网络服务员称渗透攻击
    远程渗透最重要的供给渠道是对监听网络服务安全漏洞的渗透利用
    Linux内核中的网络协议栈实现是每个网络服务所依赖的基础平台。LAMP是目前最为流行的Web网站构建解决方案。Linux支持FTP、Samba(TCP445端口)、NFS等文件共享服务协议。ProFRPD是一款以安全性和灵活可配置性为射击目标的FTP服务软件,vs-ftpd是目前在Linux发行版中最受推崇的FTP服务程序。Sendmail服务是Linux上最流行的电子邮件收发服务。
    Linux上的其他网络服务:openssh(TCP 22)、openssl(TCP 443)、nfs(TCP/UDP 2049)、snmp(TCP 161/162)、sunrpc(TCP 111)、bind(TCP/UDP 53)、x-window(TCP 6000)。
    针对网络服务远程渗透攻击的安全防范措施包括:

    1. 禁用所有不必要的网络服务
    2. 尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署
    3. 及时更新网络服务版本
    4. 使用xinetd、防火墙为Linux网络服务添加网络访问控制机制
    5. 建立入侵检测与应急响应计划流程

    攻击Linux路由器和监听器
    Linux系统通过简单的配置“ip_forward=1”就能够以路由器模式运行,Linux内核中由net子系统的route.c来主要实现路由器的寻址与数据包的转发功能。还可以通过IPTables工具来配置内核中net子系统的netfilter模块来对通过路由转发的数据包进行控制与过滤。
    Linux系统上用来实施监听与入侵检测的主流开源软件包括Libpcap抓包库、tcpdump命令行程序、Wireshark网络监听与协议分析软件(需要超级用户权限)、Snort入侵检测系统(事实标准软件)。

    Linux系统本地安全攻防技术

    Linux本地特权提升
    攻击者得到本地受限用户访问权之后,最简单的特权提升途径就是能够破解出Root用户的口令,然后执行su或sudo命令进行提升,第二种特权提升途径是发掘并利用su或sudo程序中的安全漏洞。第三种是攻击Root特权程序,根据受攻击目标程序的类型,将攻击Root特权程序中任意代码执行漏洞的途径分为攻击用户态SUID特权提升漏洞以及攻击力Linux内核代码特权提升漏洞。第四种是利用系统中的配置不当,通过从系统中搜索全局可写的敏感文件与目录位置并加以利用

    Linux系统上消踪灭迹
    Linux系统的主要审计日志集中地/var/log目录下,主要有系统核心进程、syslogd与各个网络服务提供事件审计功能。在这个目录下,攻击者往往需要改动messages、auth、secure、wtmp、xferlog等日志文件。还需要清楚shell命令历史记录,通过“unset HISTFILE; unset SAVEHIST”命令来禁止shell的历史记录功能特性。

    Linux系统远程控制后门程序
    Linux系统上植入远程控制后门程序的类型主要有:特洛伊木马化的系统程序、命令行后门工具以及图形化后门工具。

    上周考试错题总结

    1. Linux命令使用more和less命令分页查看文件内容。
    2. meterpreter扩展工具Mimikatz可以用来抓取本地密码明文。
    3. Nercat和Meterpreter可以在Windows中进行远程控制。
    4. Windows系统默认开放的137(UDP)端口对应的服务是NetBIOS。
    5. Metasploit软件提供了CLI、Console、Web、GUI用户交互接口。
    6. Windows中可以用RegMon工具监控系统的注册表读写。
    7. Windows的NTFS文件系统基于ACL来保证文件资源读/写的安全性。
    8. Windows中,kernel32.dll和LASASS模块处在用户态下。

    学习进度条

    时间 学习内容 博客量
    第一周 Linux基础知识学习 1/1
    第二周 Kali视频1-5,课本一、二章内容 1/2
    第三周 Kali视频6-10,课本第三章内容 1/3
    第四周 Kali视频11-15,课本第四章内容 1/4
    第五周 Kali视频16-20,课本最后两章内容 1/5
    第六周 Kali视频21-25,课本五、六章内容 1/6
    第七周 Kali视频26-30,课本七章内容 1/7
    第八周 Kali视频31-35,课本八章内容 1/8

    参考资料

    1. 《网络攻防技术与实践》
  • 相关阅读:
    【React Native】某个页面禁用物理返回键
    【React Native】DeviceEventEmitter监听通知及带参数传值
    转载【React Native代码】手写验证码倒计时组件
    【React Native】 中设置 APP 名称、应用图标、为安卓添加启动图
    【React Native错误集】* What went wrong: Execution failed for task ':app:installDebug'.
    【React Native错误集】Import fails with "Failed to execute 'ImportScripts' on 'WorkerGlobalScope'"
    【React Native错误集】Android error “Could not get BatchedBridge, make sure your bundle is packaged properly” on start of app
    「React Native笔记」在React的 setState 中操作数组和对象的多种方法(合集)
    【React Native】Error: Attribute application@allowBackup value=(false) from AndroidManifest.xml
    坚果云如何使用二次验证码/谷歌身份验证器/两步验证/虚拟MFA?
  • 原文地址:https://www.cnblogs.com/308cww/p/6752229.html
Copyright © 2011-2022 走看看