信息安全兴趣小组-基础培训第5讲

一、Linux操作系统

  • 除了Windows系统以外,经常使用的一个系统,用于服务器、开发较多。
  • 是基于Unix的系统,实际上Linux发展到今天已经不是特指某一款操作系统,而是一个操作系统的集合。
  • 本文所说的Linux操作系统指的是“Linux发行版”。
  • Linux发行版的主要分类:
    • 基于Debian:GNU的Linux标准,软件包格式为deb。其衍生的发行版版有Ubuntu、Kali等。
    • 基于Redhat:Redhat公司的Linux标准,软件包格式为rpm。其衍生的发行版有Fedora、CentOS、openSUSE等。
    • 其他Linux系统:例如Oracle Linux。
  • Linux Kernel:Kernel即内核,内核指的是操作系统中最核心的一部分。Linux Kernel是完全开放源代码的,可以到 The Linux Kernel Archives 网站查看其源代码或者下载下来进行编译。
  • 使用环境:Linux是支持桌面GUI环境的,主要实现有GNU的GNOME桌面、KDE和Ubuntu的Unity桌面等。但是更多的时候我们是在“命令行”下使用Linux,我们称为Shell。Shell英文意为“壳”,形象的表述了Shell是Linux Kernel的外层。

二、使用Linux Shell

  • 一般情况下,当Linux引导完成后,如果系统默认systemd对象不是GUI。Linux Kernel就会装载好Shell环境,引导用户登录到Shell。输入用户名和密码(密码不会显示)之后即可登录。
  • Linux基本命令:下周考Linux,我会再发一篇博文/推送去总结Linux的基本命令,到时候大家可以去看。

三、Linux系统管理

  • Linux的最高权限用户名叫root,在Linux系统中root用户具有至高无上的权限,它可以更改任何一个用户的密码而无需输入原来的密码;还可以新建用户、删除用户、管理外设和网络、管理软件包等。所以root用户的安全对于Linux系统来说至关重要。
  • Linux的其他用户:管理员用户可以凭借自己的密码来执行sudo指令,来完成一些root用户才能完成的工作,同时也可以借此修改root的密码;而普通用户则没有这个权利。对于每一个用户而言,最简单的禁止其登录的方式就是不为其设置密码,它就没办法登录。当然还有其他办法,比如说设置用户默认shell为/sbin/nologin也可以做到这一点。同时Linux的用户都是属于某个组的。
  • Linux中的文件夹是一种特殊的文件,文件名为.的文件代表的是当前文件夹,文件名为..的文件代表的是当前文件夹的上一层文件夹。这实际上就形成了一个树状的数据结构。实际上正是如此,所有Linux的文件和文件夹都在根目录/下面。
  • Linux权限管理
    • Linux对权限的管理有很严格的规定。在Linux中文件有所有者和权限。可以用chmod命令修改文件权限,用chown命令修改文件所有者。
    • 对于一个文件,它的权限有三种:读取、写入、执行。对于以上三种权限又对所有者、所有者所在的组和其他所有用户进行了区分。
    • 所以我们用这样的方式描述一个文件的权限:例如rwxr-xr-x,代表了该文件的所有者可以对文件进行读取、写入和执行,而所有者所在组的用户和其他用户只能读取和执行。
    • 这种表达方式有时候也用三位数字来表示:r=4、w=2、x=1,所以刚刚的文件权限就是755,因为r+w+x = 7,而r+x = 5,这样不会引起歧义。

四、Kali系统简介

  • Kali系统是一个基于Debian的Linux发行版,主要为渗透测试和在线取证提供了一套完善的环境,项目主页为 Kali Linux | Penetration Testing and Ethical Hacking Linux Distribution。集成了很多工具,使用起来事半功倍。
  • nmap:nmap是一个常用的网络扫描工具,最常用的功能是可以列出目标服务器所有开放的端口,使用方法如下:
nmap -v 域名/IP地址
  • 注意:不要随意对未授权的服务器进行扫描。这里以我自己的服务器xiaolus.cn为例子:
nmap -v xiaolus.cn
  • 结果如下:
Starting Nmap 7.60 ( https://nmap.org ) at 2017-11-15 21:14 CST
Initiating Ping Scan at 21:14
Scanning xiaolus.cn (119.28.189.159) [4 ports]
Completed Ping Scan at 21:14, 0.23s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 21:14
Completed Parallel DNS resolution of 1 host. at 21:14, 0.57s elapsed
Initiating SYN Stealth Scan at 21:14
Scanning xiaolus.cn (119.28.189.159) [1000 ports]
Discovered open port 80/tcp on 119.28.189.159
Discovered open port 443/tcp on 119.28.189.159
Completed SYN Stealth Scan at 21:14, 11.33s elapsed (1000 total ports)
Nmap scan report for xiaolus.cn (119.28.189.159)
Host is up (0.0017s latency).
Not shown: 998 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
443/tcp open  https
Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 12.68 seconds
           Raw packets sent: 2010 (88.384KB) | Rcvd: 11 (448B)
  • 这说明目标服务器至少放通了80和443端口,是一个Web服务器。
  • burpsuite:burpsuite是一个网络抓包工具,还可以进行爆破、漏洞扫描等等,功能十分强大。不过如果想使用全部功能需要用Pro版本,因为Kali的开源免费特性所以只提供了免费版本。
  • 在使用burpsuite的proxy功能之前需要配置代理,可以对某个浏览器(例如Kali下的Firefox)配置HTTP代理,当然如果Kali虚拟机不做其他事情的话也可以应用全局代理,在GNOME的网络设置中可以找到代理的配置。
  • 一般将代理配置为转发到本机127.0.0.1的某个端口,默认为8080端口。但是如果在Windows上使用的话8080端口经常被Oracle Database或者Tomcat甚至是迅雷占用,所以可以自行更改,注意修改之后也要更改burpsuite proxy的Options。
  • 同时在关闭burpsuite之后要恢复原来的代理设置,否则的话会因为找不到代理服务器而无法上网。