第八章 Linux操作系统安全攻防

1.1 Linux操作系统基本框架概述

1.1.1 Linux操作系统发展与现状

在统一内核代码库的基础上,Linux开源社区根据不同用户群体的需求,也发展出数量众多的操作系统发行版,流行的包括Ubuntu、Debian、Fedora、CentOS、RHEL、OpenSUSE和Slackware等。Linux操作系统之所以会成为目前最受关注的系统之一,主要原因是它的开放源代码与免费。

1.1.2 Linux的优势

①跨平台的硬件支持(Linux操作系统的内核大部分是用C语言编写的,并采用了可移植的UNIX标准应用程序接口)

②丰富的软件支持

③多用户多任务(多个用户可以在同一时间以网络联机的方式使用计算机系统)

④可靠的安全性(利用Linux自带防火墙、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性)

⑤良好的稳定性(Linux内核源代码是以标准规范的32位(在64位CPU上是64位)的计算机来做的最佳化设计,可确保其系统的稳定性)

⑥完善的网络功能

1.1.3 Linux系统结构

一套基于Linux内核的完整操作系统叫做Linux操作系统,Linux操作系统的结构包括Linux内核,一些GUN运行库和工具,命令行Shell,图形界面X窗口系统及相应桌面环境,并包含数千种从办公包、编译器、文本编辑器、科学工具到网络服务的应用软件。Linux操作系统内核的总体结构属于一种典型的宏内核结构,并非Linux的前驱——Minix所采用的微内核结构。在Linux内核中,在硬件抽象层的各类设备驱动程序可以完全访问硬件设备,方便地以模块化形式设置,并在系统运行期间可直接通过LKM机制装载或卸载。在硬件抽象层之上是内核服务功能模块,包括进程管理、内存管理、文件系统、设备控制与网络这五个子系统;而这些内核模块通过系统调用接口向用户态的GUN运行库及工具、命令行Shell、X窗口以及应用软件提供服务。

1.2 Linux操作系统安全机制

1.2.1 Linux操作系统的核心安全机制

身份认证、授权与访问控制、安全审计。

1.2.2 Linux身份认证机制

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

1.2.3 Linux用户

在Linux系统中以用户作为执行进程完成特定操作任务的主体:①Root根用户②普通用户③系统用户。Linux用户信息保存在系统的/etc/password文件中,具体包括用户名、每个用户唯一的uid、使用Shell类型、用户初始目录等,而加密口令字则存放于/etc/shadow文件中,只对Root可读。

1.2.4 Linux用户组

Linux用户组其实就是具有相同特征的用户账号集合,用于简化整个系统的用户权限管理。Linux用户组信息保存在系统的/etc/group文件中,包括用户组名称、用户组gid及用户组所包含的用户名列表,用户组加密口令字则保存在/etc/gshadow文件中。可以使用id-a命令来查询和显示当前用户所属组,并通过groupadd命令添加用户组,使用usermod-G group_name user name向特定组来添加用户。

1.3 Linux系统远程攻防技术

1.3.1 远程网络上入侵Linux系统的主要方法

①对Linux系统各种网络服务的身份认证过程所涉及的用户口令字进行猜测攻击

②发掘Linux系统某个监听网络服务的安全漏洞并进行利用,从而为攻击者提供本地Shell的访问权

③通过网页木马、发送欺诈邮件、提供特洛伊木马程序等技术和社会工程学手段

④在Linux系统作为连接多个网络的路由器,或者打开“混杂模式”实施网络嗅探的监听器时,可能遭受攻击者特意构造的数据包攻击,从而被攻击者取得访问权

1.3.2 自动化的远程口令猜测工具

①Brutus:号称最快最灵活的远程口令猜测破解工具

②THC Hydra:非常快速的网络身份认正口令猜测破解工具

③Cain and Abel:“黑界神兵”,对Linux下的SSH和各类网络应用服务的远程口令猜测也具有非常好的支持

1.3.3 Linux网络服务远程渗透攻击

Linux系统安全漏洞、渗透攻击与补丁更新过程 针对Linux系统网络服务的远程渗透攻击 Linux内核中的网络协议栈实现 LAMP Web网站构建解决方案中的网络服务 FTP。Samba等文件共享服务 电子邮件收发服务 其他网络服务

1.3.4 针对网络服务远程渗透攻击的安全防范措施

①禁用所有不必要的网络服务

②尽量选择更安全的网络协议与服务软件,并使用最佳安全实践进行部署

③及时更新网络服务版本

④使用xinetd、防火墙为Linux网络服务添加网络访问控制机制

⑤建立入侵检测与应急响应计划流程

1.4 Linux系统本地安全攻防技术

1.4.1 Linux本地特权提升

需要Root权限配置与管理系统时,通过su或者sudo命令提升至Root用户帐户。攻击者在得到本地受限用户访问权之后,最简单的特权提升途径就是能够破解出Root用户的口令,然后执行su或者sudo命令进行提升。读取口令字密文文件/etc/shadow本身就需要攻击者具有Root特权。通过利用一些以Root特权运行服务中存在的文件任意读/写漏洞,攻击者还是可以先获取到/ect/shadow文件,然后通过破解口令字将自身权限提升至Root特权用户。 第二种特权提升途径是发掘并利用su或者sudo程序中的安全漏洞。攻击者在Linux系统上进行本地特权提升目前最为流行的途径是直接攻击那些具有Root特权程序中的任意代码执行漏洞,让它们替攻击者打开具有Root权限的Shell命令行连接。根据受攻击目标程序的类型,这类途径又分为攻击用户态SUID特权提升漏洞以及攻击Linux内核代码特权提升漏洞。在用户态被设置了SUID位的网络服务与程序,可以在运行过程中提升至文件拥有的权限,来执行一些系统资源相关的操作。 最后一种本地特权提升技术则利用了系统中的一些配置不当,通过从系统中搜索全局可写的敏感文件与目录位置并加以利用,仅拥有首先用户权限的攻击者可能让操作系统或特权程序执行一些他们所预期的操作,从而获得特权提升的机会。

1.4.2 Linux系统上的消踪灭迹

清理系统日志,有效抹除掉自己的行动踪迹。查看/etc/syslog.conf配置内容来了解系统当前正在实施的审计事件类型以及日志的存储位置。还需清理在shell程序中所输入的命令历史记录。

Kali视频学习(31-35)

漏洞利用之SET

Social Engineering Toolkit(SET)是一个开源、Python驱动的社会工程学渗透测试工具。提供了非常丰富的攻击向量库。是开源的社会工程学利用套件,通常结合metasploit来使用。

输入1,回车

1.鱼叉式钓鱼攻击

2.网站攻击

3.介质感染攻击

4.创建Payload并监听

5.群发邮件攻击

6.基于Arduino的攻击

7.短信欺骗攻击

8.无线接入点攻击

9.二维码攻击

10.powershell攻击

11.第三方模块

嗅探欺骗与中间人攻击

Linux下的中间人攻击套路是一样的,这里介绍进行ARP欺骗、DNS欺骗和嗅探以及会话劫持的方法。

为Kali设置开启端口转发

设置ssltrip,让sslrtip在8081端口监听

ettercap的配置:配置文件是/etc/ettercap/etter.conf,首先要将ec_uid、ec_gid都变为0

将下面Linux分类下的if you use iptables这一行,将注释去掉,保存退出

打开图形化界面 ettercap -G

选择嗅探网卡 默认eth0

打开ettercap,选择sniff选项-unified sniffing-选择网卡-hosts选项:先scan for hosts,等扫描完了选host list

权限维持之后门

权限维持包含Tunnel工具集、Web后门、系统后门三个子类。其中系统后门与Web后门统称为后门,都是为渗透测试后,为方便再次进入系统而留下的恶意程序。

1、WEB后门

(1)Weevely

Weevely是一款使用python编写的webshell工具(集webshell生成和连接于一身,仅限于安全学习教学之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限于php),某些模块在win上无法使用。

生成一个php后门,weevely generate test ~/1.php, test为密码,在本地生成~/1.php

后门上传到web,使用weevely连接

(2)WeBaCoo(Web Backdoor Cookie)script-kit

是一个小巧的、隐蔽的php后门,它提供了一个可以连接远程web服务器并执行php代码的终端。WebaCoo使用HTTP响应头传送命令结果,shell命令经base64编码后隐藏在Cookie中。

2、系统后门

(1)Cymothoa系统后门

cymothoa -10500 -s -0 -y 2333 (注入2333端口),如果成功,可以连接2333端口返回一个shell

(2)dbd理解为加密版的nc

监听端:dbd -l -p 2333 -e /bin/bash -k password

攻击端:dbd 127.0.0.1 2333 -k password

(3)sbd和dbd用法相同

(4)U3-Pwn

与Metasploit Payload结合使用的工具,菜单可以单刀多针对移动光驱设备如光驱镜像,u盘等。

(5)Intersect

执行后门,在目标机上执行 1.py -b,则生成一个bind shell后门,如果之前设置好remote host和remote port,也可以设置为reverse shell,此时连接后门端口成功,返回shell

权限维持之Tunnel

权限维持包括Tunnel工具集、web后门、系统后门三个子类。Tunnel工具集包含了一系列用于建立通信隧道、代理的工具:

(1)Miredo

Miredo是一个网络工具,主要用于BSD和Linux的IPV6 Teredo隧道链接,可以转换不支持IPV6的网络连接IPV6,内核中需要有IPV6和TUN隧道支持。

(2)DNS2TCP

DNS tunnel即DNS通道。从名字上看就是利用DNS查询过程建立起隧道,传输数据。
在酒店等公共场所,通常有wifi信号,但当访问第一个网站时,可能会弹出窗口,需要输入用户名密码,登陆后才可以继续上网(该技术一般为透明http代理)。但有时会发现获取到的dns地址是有效的,并且可以进行dns查询,这时可以使用DNS tunnel技术来实现免费上网。
DNS tunnel原理
通过特定服务器,让局域网内的DNS服务器为我们实现数据转发。DNS tunnel实现的工具有很多,比如:OzymanDNS, tcp-over-dns, heyoks, iodine, dns2tcp

(3)iodine

(4)Proxychains

内网渗透测试经常会用到一款工具,如我们使用Meterpreter开设一个Socks4a代理服务,通过修改/etc/prosychains.conf配置文件,加入代理,即可使其他工具如sqlmap、namp直接使用代理扫描内网。
如proxychain namp 10.0.0.1/24

(5)Proxytunnel

Proxytunnel可以通过标准的Https代理来连接远程服务器,这是一个代理,实现了桥接的功能。特别用于通过SSH进行Http(s)传输
Prosytunnel可用于:
使用http(s)代理(http connect 命令)创建通讯通道
为OpwnSSH写一个客户端驱动,并创建基于SSH连接的http(s)代理
作为一个独立的应用,可以连接到远程服务器

(6)Ptunnel

借助ICMP数据包建立隧道通信

(7)Pwant

内网下通过UDP通信

(8)sslh
一个ssl/ssh端口复用工具,sslh可以在同一个端口上接受https,ssh和openvpn连接。这使得通过443端口连接ssh服务器或者openvpn服务器同时在该端口上提供https服务成为可能。sslh可以作为一个研究端口复用的例子。

逆向工程工具

逆向工程是根据已有的东西和结果,通过分析来推导具体的实现方法。比如看到别人的某个exe程序能够做出某种漂亮的动画效果,可以通过反汇编、反编译和动态跟踪等方法,分析出其动画效果的实现过程,这种行为就是逆向工程;不仅仅是反编译,而且还要推倒出设计,并且文档化,逆向软件工程的目的是使软件得以维护。

(1)Edb-Debugger
EDB(Evan's Debugger)是一个基于Qt4开发的二进制调试工具,主要是为了跟OllyDbg工具看齐,通过插件体系可以进行功能的扩充,当前只支持Linux

(2)Ollydbg
经典的Ring3级调试器,是一个动态调试工具,将IDA与SoftICE结合起来的思想。在Kali下是Wine方式运行的Ollydbg

(3)jad

Java反编译工具


(4)Redare2

是一款开放源代码的逆向工程平台,它可以反汇编、调试、分析和操作二进制文件


(5)Recstudio2

一款反编译工具
(6)Apktool

GOOGLE提供的APK编译工具,能够反编译及回编译apk,同时安装反编译系统apk所需要的framework-res框架,清理上次反编译文件夹等功能


(7)Clang、Clang++

Clang是一个C语言、C++、Objective-C、Objective-C++语言的轻量级编译器,类似于gcc编译器

Clang++是clang的另一个升级版本,使用方法其实都是一样的,类似于gc++编译器


(8)D2j-des2jar

反汇编dex文件到jar文件,进而可以使用其他工具查看源代码


(9)Flasm

主要用于直接修改swf文件里的脚本actionscript。swf转fla文件的软件不能确保100%还原,如果只是修改as脚本代码,flasm是最佳的选择,因为他只修改脚本,资源数据不做修改

转载于:https://www.cnblogs.com/werr370/p/8969815.html

2017-2018-2 20179306 《网络攻防技术》第八周作业相关推荐

  1. 2017-2018网络攻防技术第八周作业

    课本第八章总结 1.Linux操作系统发展与现状 在统一内核代码库的基础上,Linux开源社区根据不同用户群体的需求,也发展出数量众多的操作系统发行版,流行的包括Ubuntu.Debian.Fedor ...

  2. 2017-2018-2 20179305《网络攻防技术》第二周作业

    Q1 国内外著名黑客介绍 1.国内著名黑客黄鑫简介 黄鑫,网名木马冰河,毕业于西安电子科技大学,职业是网络安全网站"安全焦点"冰河木马软件的创作者. 99年,木马虽然已经在黑客中间 ...

  3. 2018-2019-2 20189215 《网络攻防技术》第九周作业

    教材<网络攻防技术>第九.十章学习 第9章 恶意代码安全攻防 9.1 恶意代码基础知识 恶意代码是指使计算机按照攻击者的意图执行以达到恶意目标的指令集.类型包括:计算机病毒.蠕虫.恶意移动 ...

  4. 2017-2018-2 20179207 《网络攻防技术》第二周作业

    <网络攻防技术>教材 一.作业 第一章实践作业 攻击目标:获取异性同学的生肖.星座.出生日期.生辰八字. 攻击对象选择:选取一个仅仅认识但不熟知的异性同学.知道其微信. 所知信息:在微信朋 ...

  5. 网络攻防实践 第八周作业

    MarkdownPad Document 第八周作业 第一部分 #教材学习 1.1Linux操作系统概述 ubuntu.debian.fedora.centos.rhel.opensuse和stack ...

  6. 20189311《网络攻防》第八周作业

    学习<python黑帽子>七.八章 第7章 基于github的命令和控制 运行代码时报错: 查阅资料得知recurse()属性被移除,做一下修正: pull一下,发现多了两个文件: 可以看 ...

  7. 2017-2018-2 20179306 《网络攻防技术》第二周作业

    黑客信息 国内黑客介绍-万涛(老鹰) 老鹰,男,中国特色安全文化/黑客文化倡导者,祖籍广东广州东山区(现越秀区).出生于一个铁路职工家庭.青少年时期兴趣爱好广泛,喜爱绘画.文学.政治.历史. 大学在北 ...

  8. 20189317 《网络攻防技术》 第二周作业

    一.黑客信息 (1)国外黑客 1971年,卡普尔从耶鲁大学毕业.在校期间,他专修心理学.语言学以及计算机学科.也就是在这时他开始对计算机萌生兴趣.他继续到研究生院深造.20世纪60年代,退学是许多人的 ...

  9. 2018-2019-2 20189212 《网络攻防技术》第二周作业

    一.课程基础 1.Windows(BAT)编程 批处理常见命令: echo表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在 ...

  10. 2018-2019-2 20189212 《网络攻防技术》第九周作业

    <网络攻防>教材学习 第9章 恶意代码安全攻防 9.1恶意代码基础知识 9.1.1恶意代码定义与分类 恶意代码指的是使计算机按照攻击者的意图执行以达到恶意目标的指令集. 典型的攻击目标包括 ...

最新文章

  1. “接口”的定义及其与“抽象类”的区别
  2. 【干货】从小米发布会看:雷军的七个产品思维
  3. 局部配置和全局配置_06. 教你零基础搭建小程序(解读全局配置文件-tabBar字段)...
  4. MedMNIST:上海交大发布医学影像领域的MNIST(附下载)
  5. 【三维路径规划】基于matlab自适应遗传算法求解单无人机三维路径规划问题【含Matlab源码 214期】
  6. php策略模式作用,PHP设计模式之策略模式详解
  7. matlab 带通滤波函数,MATLAB窗函数实现带通滤波器
  8. 迅雷老版本总是提示升级,怎样关闭?
  9. VC6.0下配置opengl
  10. 差点被威金病毒搞死了……
  11. android hci设备,android-hci相关操作
  12. C#入门学习笔记(基于刘铁锰老师C#入门2014教学视频)【2】
  13. 中国书法列入非物质文化遗产
  14. SDNUOJ 1703.字谜|STL库中map的使用/map映射
  15. MakeCode图形化编程语言学习笔记:micro:bit编程练习题[图]
  16. Macbook特色功能,你知道几个
  17. 2020,是时候介绍一下自己!
  18. 致信oa系统服务器ip,致信客户端服务器ip
  19. 浅谈NP、P、NPC、NP-hard问题
  20. app保活面试题,Android动态换肤实现原理解析,再不刷题就晚了!

热门文章

  1. Scrapy Spiders
  2. html5开发app的视频教程及相关资料
  3. Dapper使用技巧和基础CRUD
  4. 计算机用户拒绝访问权限,解决局域网内拒绝访问无访问权限的问题
  5. Linux 账号管理与 ACL 权限配置
  6. 几乎所有食物的英文翻译
  7. My Twelfth Page - 环形链表Ⅱ - By Nicolas
  8. 获取当前时间,包括农历时间
  9. android 6.0小游戏,宝宝汽车小游戏
  10. Azkaban的安装