安装VMware,kali,Ubuntu

此教程网上很多,在这不多赘述。

一、Linux 常用命令

mkdir 命令

mkdir命令用于创建目录。
用法:mkdir [选项] [目录名]
参数:-p 创建多级目录,如果目录名称不存在,就新建一个。

ls 命令

ls命令用于显示指定工作目录下之内容(列出指定目录所含之文件及子目录),ls命令的输出信息可以进行彩色加亮显示,以区分不同类型的文件。
用法:ls [选项] [目录]
参数:

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,也将文件型态、权限、拥有者、文件大小等资讯详细列出
  • -h 以容易理解的格式列出文件大小

pwd 命令

pwd命令以绝对路径的方式显示用户当前工作目录。命令将当前目录的全路径名称(从根目录)写入标准输出。全部目录使用/分隔。第一个/表示根目录,最后一个目录是当前目录。执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称。
用法:pwd

cd 命令

cd命令用于切换当前工作目录。
用法:cd [目录]
用法:cd [绝对路径]
用法: .代表当前目录,..代表上一级目录,cd ~用于切换至登录用户家目录。cd -用于回到上一个目录。

touch 命令

touch命令用于创建一个空白的新文件,如果同名文件已存在,则修改其时间属性。
用法: touch [选项] [文件名]

cp 命令

cp命令主要用于复制文件或目录。
用法:cp [选项] [源文件] [目录]
参数:

  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。(递归)
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。(保持默认属性)

mv 命令

mv命令用来为文件或目录改名、或将文件或目录移入其它位置。

用法:mv [选项] [源文件/源目录] [目录]
参数:

  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。(直接覆盖不询问)
  • -n: 不要覆盖任何已存在的文件或目录。(不覆盖已存在的文件)

rm命令

rm命令用于删除文件或者目录

用法:rm [选项] [文件\目录]

  • -i删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。
    注意:rm -rf是一条危险的命令,代表递归删除某文件,如rm -rf /是递归删除根目录下的所有目录和文件,该命令不会询问,一旦执行系统将崩溃。

Linux 获取命令帮助的方式

使用-h,–helpman可以查看命令的帮助文件。

绝对路径与相对路径

绝对路径就是你的主页上的文件或目录在硬盘上真正的路径,linux的绝对路径是指从根目录说起的。万物起源为/目录 。
例如: /dev/somedir/…、/etc/password

而相对路径则是从当前目录说起: 即 ./。例如在当前目录为根的情况下的./usr/bin和usr/bin是一个目录。

2.1 Tab键的使用

tab键的两大作用:

  • tab补全:只需输入文件或目录名以及命令的前几个字符,然后按TAB键,如无相重的,完整的文件名或者命令立即自动在命令行出现;如有相重的,再按一下TAB键,系统会列出当前目录下所有以这几个字符开头的名字。
  • tab键查看:在命令行下,只需输入例如m,再连续按两次TAB键,系统将列出所有以m开头的命令,(包括自定义的Bshell命令函数),对查找某些记不清楚的命令特有用。熟练使用tab键可提高工作效率。

2.2 四个特殊的文件名

  1. . #代表当前目录
  2. .. #代表上一级目录
  3. - #代表上一个工作的目录
  4. ~ #代表家目录(root为/root,其他用户在/home下)

2.3 文本查看相关命令

cat 命令
cat命令用于打开文件查看文件内容。

用法:cat [选项] [文件]

2.4 echo 命令

echo命令用于输出指定内容。
用法:echo '[文本]'
>>>也可以将输出内容写入到文件中。

  1. > #为覆盖
  2. >> #为追加

使用>>>可以将命令的输出结果保存于文件中。

2.5 more 命令

more命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是,按空格键Space就往下一页显示,按Enier键显示文本的下一行内容,按 b键就会往回(back)一页显示,按q键退出。
用法:more [选项] [文件]

2.6 Linux 系统目录结构

  • /bin目录下包含了用户命令文件,也就是shell命令。
  • /boot包含了系统启动过程中所需要的所有内容。
  • /dev目录是设备文件或者专有文件的存放位置。
  • /etc目录包含了系统的配置文件。
  • /root用户专有的家目录。一个用户对自己的家目录拥有绝对的控制权。
  • /run是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
  • /lib目录里面存放着共享库和内核模块。在系统的启动阶段和运行根文件系统的各种命令时,都需要用到这些共享库,所以必须与根文件放在一起。
  • /media与/mnt是常见的挂载点.
  • /opt目录系统附加软件的存放地址
  • /sbin目录必备的系统软件存放处。用户系统维护的软件和某些只限root用户使用的命令存储在/sbin /usr/sbin以及/usr/local/sbin目录下。
  • /srv目录某些服务进程启动以后,他们需要读取的数据会放在srv目录中。
  • /tmp目录存放临时文件。任何程序都不用对/tmp目录下的任何文件或目录负责。
  • /var目录包含着系统中绝大多数的随时变化着的数据,比如系统日志。/var的某些内容是不能共享给其他系统的,典型的就是/var/logs /var/run。当然某些是可以共享的,如/var/spool/news。

2.7 编辑器

  • VI 编辑器
    在命令行执行vi [文件名]命令可进入vi编辑器并编辑文件,如果没有同名文件则创建。
    输入字母i进入编辑模式
    ESC 回到一般模式
    一般模式下按:进入命令模式
    命令模式下常用指令:
  1. w # 保存 write
  2. q # 退出 quit
  3. wq # 保存并退出
  4. q! # 不保存强制退出
  5. set nu # 显示行号
  6. wq! # 强制保存并退出

二、Kali Linux 安装 Burp Suite

查看Java安装版本是否正确

  1. java --version

安装BurpSuite专业版


官网下载BurpSuite,选择Professionalv2021.12.jar下载

BurpSuite激活工具(keygen.jar)在此获取
汉化Jar包在此获取:https://github.com/funkyoummp/BurpSuiteCn/releases/
1、解压缩 Burp-Suite-main.zip

  1. unzip Burp-Suite-main.zip


2、opt目录创建BurpSuitePro,将文件拷贝至/opt/BurpSuitePro

  1. sudo mkdir /opt/BurpSuitePro
  2. cp -r BurpSuiteCnV2.0.jar /opt/BurpSuitePro
  3. cp -r Burp-Suite-main/keygen.jar Burp-Suite-main/loader.jar /opt/BurpSuitePro
  4. cp -r burpsuite_pro_v2021.12.jar /opt/BurpSuitePro


3、运行注册机,运行BurpSuite

  1. 1.运行注册机
  2. java -jar keygen.jar
  3. 2.运行BurpSuite
  4. java --illegal-access=permit -Dfile.encoding=utf-8 -javaagent:/opt/BurpSuitePro/loader.jar -noverify -jar /opt/BurpSuitePro/burpsuite_pro_v2021.12.jar



● 激活过程
○ 从 keygen.jar 复制许可证并粘贴到 Burp Suite Pro 中,然后单击下一步
○ 在 Burp Suite Pro 的右下角选择Manual Activation Option
○ 从 BurpSuite Pro 复制许可证请求并粘贴到 keygen.jar 的 Activation Request
○ 从 keygen.jar 的复制Activation Response并粘贴到 BurpSuite Pro,然后下一步直到完成

设置启动快捷方式

1、删除burpsuite社区版

  1. cd /usr/bin
  2. sudo rm -rf burpsuite


2、新建burpsuite

  1. apt-get update
  2. apt install mousepad
  3. sudo mousepad burpsuite

3、添加如下内容

  1. #!/bin/sh
  2. java --illegal-access=permit -Dfile.encoding=utf-8 -javaagent:/opt/BurpSuitePro/loader.jar -javaagent:/opt/BurpSuitePro/BurpSuiteCnV2.0.jar -noverify -jar /opt/BurpSuitePro/burpsuite_pro_v2021.12.jar


4、给予burpsuite执行权限

  1. chmod +x burpsuite


5、添加BrupSuite快捷访问

  1. cd /usr/share/applications

  2. sudo mousepad kali-burpsuite.desktop

  3. 找到Exec= 这行,修改为

  4. Exec=sh -c "/usr/bin/burpsuite"


6、完工通过桌面快捷方式进行启动

三、dpkg 命令

dpkg 是为”Debian”操作系统专门开发的套件管理系统,用于软件的安装,更新和移除。能被dpkg命令安装的软件包一般以.deb为文件后缀。

  1. dpkg -i # 安装软件包
  2. dpkg -r # 移除软件(保留配置)
  3. dpkg -P # 移除软件(不保留配置)
  4. dpkg -c # 列出deb包的内容
  5. dpkg -l # 配合|grep,查找主机包
  6. dpkg -s # 查找包的详细信息
  7. dpkg -L # 查看已安装的软件包,都存在系统哪有文件
  8. dpkg -S # 显示指定包的状态信息

四、apt 命令

apt是一个在Debian中的Shell前端软件包管理器。
apt命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。
apt命令执行需要超级管理员权限(root)

  1. apt-get install #安装软件包
  2. apt-get remove #仅卸载软件,但是并不卸载配置文件
  3. apt-get purge #卸载指令,同时卸载相应的配置文件
  4. apt-get update #将所有包的来源更新(更新源)
  5. apt-get upgrade #将系统中旧版本的包升级成最新的
  6. apt-cache search #用关键字搜索包
  7. apt-cache show #显示特定包的基本信息
  8. apt-cache depends #列出包的依赖
  9. apt-get clean #清理本地包占用的磁盘空间(/var/cache/apt/archives)
  10. apt-get autoremove #卸载软件的时候同时卸载那些当初作为依赖但是现在并不需要的包

Linux常用配置文件

/etc/passwd 文件

/etc/passwd文件中保存的就是系统中所有的用户和用户的主要信息,这个文件的内容非常规律,每行代表一个用户。

每行有七个字段,以:为分隔符,每个字段所代表的含义不同,拿root这一行来做解释

  • 第一个字段为:用户名名称
  • 第二字段为:密码表示,但是不是真正的密码,密码是在另一个文件当中,在早期的unix中,这里保存的就是真正的加密后的密码字符串
  • 第三个字段为:UID,也就是用户的ID
  • 第四字段为:GID,也称为用户的组ID
  • 第五个字段为:用户的说明
  • 第六个字段为:用户的家目录
  • 第七个字段为:shell,也可以理解为用户登录之后所拥有的权限

/etc/shadow 文件

/etc/shadow是用户保存密码的文件。
这个文件的每行代表一个用户,同样的也是以:为分隔符。
/etc/shadow这个文件有九个字段,以root这一行为例。

  • 第一字段为:用户名称
  • 第二个字段为:该用户加密后的密码,没有密码的用户则是*或者!!,是不能登录的
  • 第三个字段为:密码何时修改过,这里显示的数字是从1970 年 1 日 1 日作为标准时间算的,每过去一天时间戳加1.如- 果是10000的话,那么就是1970年1月1日后的第10000天
  • 第四个字段为:两次修改密码的时间间隔,如果是5,那么密码修改后5天内不能再更改,为0的话,是随时都可修改
  • 第五个字段为:密码的有效期,是从第三字段之后开始算的,默认是99999
  • 第六个字段为:密码到期修改前的警告天数,根据第五个字段算的,默认为7,则是到期前的7天开始警告
  • 第七个字段为:密码到期后的宽限天数,为0是到期立马失效,-1是永远不失效
  • 第八个字段为:用户失效的时间,同样是以时间戳表示的
  • 第九个字段:这个字段暂时没有功能

/etc/group 文件

linux用户组的所有信息都存放在/etc/group文件当中,也就是passwd文件中GID的来源。
/etc/group这个文件分为四个字段,也是以:为分隔符

  • 第一个字段:用户组名称
  • 第二个字段:用户组密码
  • 第三个字段:对应的GID
  • 第四个字段:用户列表,本字段可以为空

useradd 命令

useradd命令可用来建立用户帐号。帐号建好之后,再用passwd命令设定帐号的密码。而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。

创建新用户

useradd命令用于建立用户帐号。
案例:

1
useradd xiaobai            #创建用户xiaobai

userdel 命令

userdel命令可以删除用户,使用groupdel命令可以删除用户组。

1
2
userdel xiaobai
groupdel linshi

passwd 命令

passwd命令用于修改或添加用户的密码, 用法:passwd [user]
案例:

1
passwd    xiaoming

chmod 命令

chmod命令用来变更文件或目录的权限。 用法:chmod [-R] 755 filename 案例:

1
2
chmod 755 1.txt
chmod 777 1.txt

r=4(可读) w=2(可写) x=1(执行)

  • 可读可写可执行则为7(rwx)
  • 可读可写则为6(rw-)
  • 可读可执行则为5(r-x)
  • 可写可执行则为3(-wx)
  • 无论如何相加都不会出现重复的数字
权限 rwx
7 读 + 写 + 执行 rwx
6 读 + 写 rw-
5 读 + 执行 r-x
4 只读 r-
3 写 + 执行 -wx
2 只写 -w-
1 只执行 –x
0

使用-R参数代表递归,将目录以下所有文件都赋予同样的权限。