总结Linux基础知识和常用渗透命令!!!

总结Linux基础知识和常用渗透命令!!!_第1张图片

作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,本文详细讲解了Linux相关知识点及Web渗透免了高龄。如果想玩好Kali或渗透,你需要学好Linux及相关命令,以及端口扫描、漏洞利用、瑞士军刀等工具。安全领域通常分为网络安全(Web渗透)和系统安全(PWN逆向)两个方向。Web安全想要入门容易,想成为大佬难,通常分为三个阶段,第一个阶段是脚本小子,通过弱口令等操作拿权;第二个阶段是代码审计或自己写代码进行Web渗透;第三个阶段是进行漏洞挖掘,通过更深入的分析发现0day漏洞或APT攻击,以及提交安全报告获得奖金等。

文章目录
一.Linux介绍
二.Linux安装
1.版本及磁盘分区
2.安装Linux系统
三.Linux系统基础设置
1.安装虚拟工具及文件共享
2.远程连接
3.登录密码爆破
4.系统目录结构
四.常用命令
1.命令格式和基础命令
2.目录操作命令 ls\cd\du\mkdir
3.文件操作命令touch\vi\cp\rm\mv\find
4.文本编辑查看命令vi\cat\wc
5.压缩文件命令gzip\bzip2\tar
6.安装升级软件rpm\yum\apt-get
7.用户账号命令useradd\userdel
8.网络配置ifconfig\hostname\route\netstat
9.权限控制chmod
五.LAMP网站搭建
六.总结

作者作为网络安全的小白,分享一些自学基础教程给大家,主要是关于安全工具和实践操作的在线笔记,希望您喜欢。同时,更希望您能与我一起操作和进步,后续将深入学习网络安全和系统安全知识并分享相关实验。总之,希望该系列文章对博友有所帮助,写文不易,大神们不喜勿喷,谢谢!如果文章对您有帮助,将是我创作的最大动力,点赞、评论、私聊均可,一起加油喔~

如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,
帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,
又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,
想转行怕学不会的,都可以加入我们644956177。
群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

安全工具:https://github.com/eastmountyxz/NetworkSecuritySelf-study

一.Linux介绍

Linux是一套免费使用和自由传播的操作系统内核,是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系统内核。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统内核。

总结Linux基础知识和常用渗透命令!!!_第2张图片

作为Web渗透的初学者,Linux基础知识和常用命令是我们的必备技能,我们不能只会操作Windows相关的工具。一方面很多网站都是基于Linux环境搭建,比如LAMP,其安全性更好;另一方面,很多命令或工具都集成在了Linux相关环境中,比如Kali等。

常见的操作系统包括:

  • Windows
  • Linux
  • Unix
  • Mac OS

Unix是由美国电话电报公司AT&T贝尔实验室的两个工程师所创造的操作系统,它允许计算机同时处理多用户和程序。目前大型政府单位、大型企业、航空公司、金融机构多在使用该操作系统,但其价钱昂贵,但性能和稳定性非常好。

为什么世界上有了很棒的Unix,还要发展Linux呢?
20世纪80年代,计算机硬件的性能不断提高,PC的市场不断扩大,当时可供计算机选用的操作系统主要有Unix、DOS和MacOS这几种。Unix价格昂贵,不能运行于PC;DOS显得简陋,且源代码被软件厂商严格保密;MacOS是一种专门用于苹果计算机的操作系统。此时,计算机科学领域迫切需要一个更加完善、强大、廉价和完全开放的操作系统。

由于供教学使用的典型操作系统很少,因此当时在荷兰当教授的AndrewS.Tanenbaum编写了一个操作系统,名为MINIX,为了向学生讲述操作系统内部工作原理。MINIX虽然很好,但只是一个用于教学目的的简单操作系统,而不是一个强有力的实用操作系统,然而最大的好处就是公开源代码。全世界学计算机的学生都通过钻研MINIX源代码来了解电脑里运行的MINIX操作系统,芬兰赫尔辛基大学大学二年级的学生Linus Torvalds就是其中一个,在吸收了MINIX精华的基础上,Linus于1991年写出了属于自己的Linux操作系统,版本为Linux0.01,这是Linux时代开始的标志。他利用Unix的核心,去除繁杂的核心程序,改写成适用于一般计算机的X86系统,并放在网络上供大家下载,1994年推出完整的核心Version1.0,至此,Linux逐渐成为功能完善、稳定的操作系统,并被广泛使用。

总结Linux基础知识和常用渗透命令!!!_第3张图片

Linux为什么会引起如此强烈的反响呢?因为Unix有版权,爱好编程的狂热分子在研究Unix的时候很容易吃上官司 ,而Linux是遵循GPL协议的,可以免费使用,让黑客们尽情的施展(这里的黑客指那些技术大牛,不是指那些利用计算机干坏事的人)。于是Linux提供内核(Kernel),GNU提供外围软件,就这样GNU/Linux诞生了。总之,Linux是一款免费共享、稳定性好、支持开源(Open Source)的操作系统,适合个人用户或黑客使用。

Linux发展历程如下。

  • 1991年:第一个版本0.0.2发布,代码只有约一万行
  • 1992年:Linux0.96拥有4万行代码,大约1000人使用且大部分是黑客
  • 1993年:Linux0.99发布,代码量10万行,用户约2万,采用GUN的GPL协议,从此迅速发展

Linux操作系统由内核及应用程序组成,不同的厂商根据各自的需要将各种应用软件和Linux内核打包成一个Linux发行版本。Linux常见发行版本包括:

  • RedHat
  • Linux
  • SuSE
  • Linux
  • Ubuntu
  • Linux
  • Debian
  • GUN/Linux Mandrake
  • Linux
  • Turbolinux
  • CentOS

总结Linux基础知识和常用渗透命令!!!_第4张图片
Linux优点包括:

  • 免费开源
  • 多用户、多任务
  • 支持多平台
  • 可靠的安全稳定性能
  • 丰富的网络功能
  • 良好的界面

Linux比Windows安全性更好,针对Linux的病毒和木马比较少,开源使得Linux的漏洞也更少。经过多年的发展,Linux的应用更广,服务器使用Linux后的稳定性和安全性更高,数据库、ERP、企业级Office、网站管理、RAS计算等也都开始使用Linux。当前,大部分大型互联网公司都在使用Linux提供的Web服务,包括Google搜索服务、QQ服务器、国家邮政局等都在使用Linux系统。

在安全领域,Linux主要的应用包括:

  • 系统管理
  • 服务搭建
  • 渗透测试
  • 网络维护

最后,如何学习Linux呢?

  • 从命令开始打好基础
  • 选择一本好书,如《Linux鸟哥私房菜》
  • 养成在命令行下工作的习惯
  • 学习shell命令解释器
  • 在Linux论坛获取帮助
  • 结合Web渗透学习专业英语

二.Linux安装

1.版本及磁盘分区
Linux内核版本由团队统一发布,其格式为:

XX.YY.XX:主版本号.次版本号.修复次数
次版本号为偶数表示稳定版,奇数表示开发版(修复BUG)

比如kernel 2.6.32,其中主版本号是“2”,次版本号是“6”,修复次数是32,由于次版本号为偶数,即稳定版。内核表示操作系统核心代码。

总结Linux基础知识和常用渗透命令!!!_第5张图片

Linux中将硬盘、分区等设备均表示为文件,磁盘分区表示如下图所示:

总结Linux基础知识和常用渗透命令!!!_第6张图片

数字表示分区,前4个为主分区,5是逻辑分区。硬盘和分区结构如下图所示:

总结Linux基础知识和常用渗透命令!!!_第7张图片

Linux中默认使用的文件系统类型包括:

  • EXT4:第3代扩展(Extended)
  • 文件系统 SWAP:交换文件系统

Linux支持的其他文件系统类型包括:

  • FAT16、FAT32、NTFS
  • XFS、JFS

如果在Windows系统中,我们选中磁盘右键属性即可查看文件类型,比如NTFS。

总结Linux基础知识和常用渗透命令!!!_第8张图片

2.安装Linux系统

安装步骤为:

  • 插入安装光盘,引导安装程序(设置主机引导设备为光盘驱动且从光盘启动主机)
  • 检测安装光盘的完整性 配置安装程序(显示语言、键盘类型、磁盘初始化、分区、时区、管理员口令等)
  • 复制文件并完成安装过程
  • 初始化Linux系统

总结Linux基础知识和常用渗透命令!!!_第9张图片

初始化Linux系统操作包括:

  • 用户许可协议
  • 网络防火墙配置
  • SELinux配置
  • Kdump配置
  • 系统日期和时间设置
  • 添加系统用户
  • 声卡测试

总结Linux基础知识和常用渗透命令!!!_第10张图片

三.Linux系统基础设置

注意:作者虽然使用Kali系统,但其语法和命令均是Linux,
读者也可以安装RedHat等。

1.安装虚拟工具及文件共享
很多同学都会疑惑,如何在主机Windows系统和虚拟机Linux系统之间传输文件呢?这里需要安装虚拟工具及文件共享设置。

第一步,在虚拟机中点击“安装 VMware Tool”选项。

第二步,输入命令查看光驱挂载目录,并去到光驱指定目录。

  • df - T 查看光驱挂载目录
  • mount /dev/sr0 /media 挂载Linux系统外的文件
  • umount /dev/sr0 卸载Linux系统外的文件,即光驱
  • cd /mdeia 访问指定目录
  • ls 文件查看,发现其是一个压缩文件

总结Linux基础知识和常用渗透命令!!!_第11张图片
第三步,解压tar文件至“root”目录。需要注意,当我们输入“tar zxvf VM * ”时,按下Tab键,它会自动补全后续的字符串,方便我们操作。

  • tar zwvf VMwareTools-10.0.10-4301679.tar.gz -C /root

总结Linux基础知识和常用渗透命令!!!_第12张图片

第四步,cd去到root目录下,并运行安装VMware Tool。注意,输入“./vmware-install.pl”也可以Tab键补全,之后的安装全部按回车键选择默认即可。

  • cd vmware-tools-distrib/
  • ls
  • ./vmware-install.pl

总结Linux基础知识和常用渗透命令!!!_第13张图片
第五步,输入“reboot”重启系统即可。

总结Linux基础知识和常用渗透命令!!!_第14张图片

文件直接拖动复制过来即可。

2.远程连接

我们尝试用Windows远程连接Kali系统。这里采用mantra浏览器进行远程连接,这是Web渗透常用的一款浏览器,读者也可以使用其他工具,比如xshell、putty、xmanager。

OWASP Mantra是由Mantra团队开发,面向渗透测试人员、Web 开发人员和安全专业人员的安全工具套件,它是基于浏览器Chromium和Firefox,包括扩展程序和脚本集合。

总结Linux基础知识和常用渗透命令!!!_第15张图片
第一步,调用命令查看开放端口,发现22远程连接端口未开放,安装SSH并开放端口。
注意,yum是Centos上的包管理,kali需要使用apt-get进行软件安装。

  • netstat -tnlp 查看开tcp端口
  • apt-get install openssh-server 安装ssh
  • /etc/init.d/ssh start 开启ssh

总结Linux基础知识和常用渗透命令!!!_第16张图片

安装ssh并开启后,我们发现22端口已经处于监听状态。

总结Linux基础知识和常用渗透命令!!!_第17张图片

总结Linux基础知识和常用渗透命令!!!_第18张图片
第二步,设置sshd_config配置文件。
此时远程连接可能会报错“Unable to make a connection. Please try again.”,可能是由于sshd设置不允许root用户远程登录。ssh连接可以远程管理Linux设备,默认端口是22,安装好系统默认是不开启的,需要修改配置文件。

  • vi /etc/ssh/sshd_config 修改/etc/ssh/sshd_config配置文件
    在这里插入图片描述

找到“#PasswordAuthentication yes”并把#的注释去掉。

总结Linux基础知识和常用渗透命令!!!_第19张图片

将“PermitRootLogin without-password”修改为“PermitRootLogin yes”。

总结Linux基础知识和常用渗透命令!!!_第20张图片

总结Linux基础知识和常用渗透命令!!!_第21张图片

修改完后,按ESC键,输入“:wq!”保存退出,然后启动ssh服务。

  • /etc/init.d/ssh start

总结Linux基础知识和常用渗透命令!!!_第22张图片

查看ssh状态,此时处于激活状态。

  • 总结Linux基础知识和常用渗透命令!!!_第23张图片

接着设置开机自动启动。

update-rc.d ssh enable
在这里插入图片描述

最后输入“reboot”重启系统并且使用工具进行远程连接。

第三步,调用Mantra浏览器进行远程连接。

总结Linux基础知识和常用渗透命令!!!_第24张图片
注意:SSH远程连接总是超时,而且一直未解决,还是太菜!o(╥﹏╥)o

3.登录密码爆破

如果我们丢失Linux密码,如何进行爆破登录呢?

第一步,在开机自检后,出现grub引导界面时,按E键进入编辑模式。

总结Linux基础知识和常用渗透命令!!!_第25张图片

总结Linux基础知识和常用渗透命令!!!_第26张图片

第二步,再次按下E键,接着在下图中输入“空格+s”并按下回车键。。

总结Linux基础知识和常用渗透命令!!!_第27张图片

第三步,选择第二个,按下B键盘。

总结Linux基础知识和常用渗透命令!!!_第28张图片

第四步,输入“passed root”,重新设置新密码。

总结Linux基础知识和常用渗透命令!!!_第29张图片

第五步,输入新密码登录即可。

总结Linux基础知识和常用渗透命令!!!_第30张图片

4.系统目录结构

Linux目录结构如下图所示,其中最顶层“/”是根目录。熟悉Linux目录非常重要,不同的目录有不同的作用。比如,搭建网站有对应的目录,代码审计同样需要熟悉目录,文件扫描更需要知道不同目录存放的文件及相关信息。

总结Linux基础知识和常用渗透命令!!!_第31张图片

Linux根目录中输入“ls”可以查看目录结构。

在这里插入图片描述
各目录的功能及含义如下:

  • bin:Binary的缩写,存放普通用户可执行的一些命令,命令是以文件形式存储,如cat、ls、pwd等。

总结Linux基础知识和常用渗透命令!!!_第32张图片

  • boot:存放系统装载引导程序、设备启动核心文件,如内核、initrd以及grub.
  • dev:Device(设备)的缩写,存放Linux的外部设备,包括光盘、硬盘、U盘,
  • dev/sr0代表光驱。在Linux中访问设备的方式和访问文件的方式是相同的。

总结Linux基础知识和常用渗透命令!!!_第33张图片

  • etc:非常重要的一个目录,存放所有系统管理所需要的配置文件和子目录。

总结Linux基础知识和常用渗透命令!!!_第34张图片
home:非常重要的一个目录,存放普通用户的家目录,该目录名通常以用户的账号命名的,相当于Windows系统的用户目录。
root:专门存放管理员用户的信息目录,也称作超级权限者的用户主目录。
lib:存放系统最基本的动态连接共享库文件,类似于Windows里的DLL文件,比如静态库“.aa”、动态库“.dll”、“.so”(share object共享库)、/lib/modules内核模块文件等。几乎所有的应用程序都需要用到这些共享库。
lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
总结Linux基础知识和常用渗透命令!!!_第35张图片

media:挂载外部存储介质,比如移动设备、光驱等。linux会把识别的设备挂载到这个目录下。
mnt:挂载额外的临时文件,比如将光驱挂载在/mnt上,然后进入该目录查看光驱里的内容。
opt:可选目录,用于安装第三方软件或程序。比如你安装一个ORACLE数据库则就可以放到这个目录下,默认是空的。
proc:伪文件系统,生成开机临时文件。它是系统内存的映射,可以通过直接访问这个目录来获取系统信息。
总结Linux基础知识和常用渗透命令!!!_第36张图片

sbin:Super User的缩写,存放管理员可执行命令。
srv: 存放一些服务启动之后需要提取的数据。
总结Linux基础知识和常用渗透命令!!!_第37张图片

sys:文件系统的访问,用于查看内核态的一些驱动或设备等。
usr:非常重要的一个目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
– /usr/bin:系统用户使用的应用程序。
– /usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
– /usr/src:内核源代码默认的放置目录。
tmp:存放一些临时文件的。
var:非常重要的一个目录,存放系统库、系统日志(/var/message)、网站根目录(/var/www/html/)等。我们习惯将那些经常被修改的目录放在这个目录下。
run:临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向run。
总结Linux基础知识和常用渗透命令!!!_第38张图片

接着我们补充一个知识点:在命令行中“#”和“$”表示什么意思呢?
它表示管理员用户,而 $ 表示非管理员或普通用户。比如我们创建一个普通用户就是 $ ,在Web渗透中,比如反弹shell后面是 $ ,接着我们需要提权变成#,提升成管理员权限进行后续操作。

创建用户
adduser eatmount
使用用户
su - eastmount
查看id
cd /etc
id

我们创建的eastmount用户对应的符号为 $ ,并且对应的id值为1000。

总结Linux基础知识和常用渗透命令!!!_第39张图片

如果提权成功变为管理员,则对应的id值就是0,如下图所示:

总结Linux基础知识和常用渗透命令!!!_第40张图片

四.常用命令

写到这里,我们就开始详细讲解Linux的常用命令,接下来希望大家每个命令是实践下,为后续Web渗透打下扎实基础。Let’s GO!

1.命令格式和基础命令
Linux命令是用于实现某一类功能的指令或程序,其命令的执行依赖于解释器程序,如/bin/bash。

  • 内部命令:安装系统能执行的命令,shell解析器部分,比如ls、cat、cd。
  • 外部命令:安装Web应用程序产生的命令,大部分是对安装程序进行操作的。

Linux命令的通用格式为:


```php
命令关键字 [选项] [参数]
选项及参数含义:
    - 选项:用于调节命令的具体功能
    - 以“-”引导短格式选项(单个字符),比如“-l”
    - 以“--”引导长格式选项(多个字符),比如“--color”
    - 多个段格式选项可以写在一起,用一个“-”引导,比如“-al”
参数:命令操作的对象,如文件、目录名等

举个例子,“ls -al /home”查看home目录信息。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806195224790.png)


Linux命令行编辑的几个辅助操作包括:

 - Tab键:自动补全
 - 反斜杠“\”:强制换行
 - 快捷键Ctrl+U:清空至行首
 - 快捷键Ctrl+K:清空至行尾
 - 快捷键Ctrl+L:清屏,类似于clear
 - 快捷键Ctrl+C:取消本次命令编辑,强制中断程序的执行
 - 快捷键Ctrl+Z:强制中断任务

下面我先讲解几个Linux的基础命令。

**命令:help**
Linux内部帮助命令是help,其基本使用方法如下:

 - help
查看Bash内部命令的帮助信息
 - 命令 --help

查看外部命令帮助信息,适合大多数外部命令

 - 使用man命令阅读手册页

使用“↑”、“↓”方向键滚动文本,使用Page Up和Page Down键翻页,按Q或q键退出阅读环境,按“/”键后查看内容。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806195413581.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTEyOTg3Ng==,size_16,color_FFFFFF,t_70)
**命令:uname**
查看系统相关信息,常用命令选项:

 - -a:显示主机名、内核版本、硬件平台等详细信息
 - -r:显示内核版本号

该命令非常重要,我们在提权中可能会碰到uname命令。提权一般基于内核的本地溢出提权,如果想本地溢出,首先需要看到本地版本号。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806195507594.png)



命令:hostname
查看系统主机名,包括主机名称、所在域的名称。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806200110299.png)


命令:ifconfig
查看系统IP信息。

在这里插入图片描述


命令:cat /proc/cpuinfo
查看CPU信息。

命令:cat /proc/meminfo
查看内存信息。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806201049630.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTEyOTg3Ng==,size_16,color_FFFFFF,t_70)

命令:shutdown \ poweroff
关机操作,比如“shutdown -h now”。

命令:reboot \ shutdown
重启操作,比如“shutdown -r now”。

## 2.目录操作命令 ls\cd\du\mkdir
命令:pwd
查看工具目录(Print Working Directory)。

命令:cd
切换工作目录(Change Directory),其格式为:cd [目录位置]。

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200806201107373.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NTEyOTg3Ng==,size_16,color_FFFFFF,t_70)



**命令:ls**

```php
 - 用途:列表(List)显示目录内容
 - 格式:ls [选项]… [目录或文件名]
 - 常用格式选项:
 - -l:以长格式显示
 - -a:显示所有子目录和文件的信息,包括隐藏文件
 - -A:类似于“-a”,但不显示“.”和“…”目录的信息
 - -d:显示目录本身的属性
 - -h:以更易读的字节单位(K、M等)显示信息
 - -R:递归显示内容
 - –color:以颜色区分不同类型文件
 - 常用组合:ls -al

在Linux系统中,ls相当于DOS命令的dir,Linux的隐藏文件前面有个点“.test”,具体示例如下:

ls
查看当前目录
ls / 
查看根目录或文件
ls -al
查看文件所有信息,包括隐藏文件,并以长格式显示
ls -lh /
查看文件大小,以长格式显示

在Web渗透中,我们常用“ls -al”命令查看文件的权限信息。

总结Linux基础知识和常用渗透命令!!!_第41张图片
命令:du

  • 用途:主要用于查看文件大小,统计目录及文件的空间占用情况(Eatimate file space usage)。
  • 格式:du [选项]… [目录或文件名]
  • 常用格式选项:
  • -a:统计时包括所有的文件,而不仅仅只统计目录
  • -h:以更易读的字节单位(K、M等)显示信息
  • -s:只统计每个参数所占用空间总的大小
  • 常用组合:du -sh

当我们拿到服务器之后,需要对源码进行打包或数据库进行脱库,如果库太大,Sqlmap可能会跑崩,可以尝试du查看大小“du -sh /”,再用“gzip”压缩打包下载。

总结Linux基础知识和常用渗透命令!!!_第42张图片
命令:mkdir

  • 用途:常用命令,用于创建新的目录(Make Directory)
  • 格式:mkdir [-p] [/路径/]目录名
  • 常用命令:递归创建目录 mkdir -p /csdn/eastmount

当我们调用“mkdir /cdsn/eastmount”时会报错,因为根目录下没有“csdn”目录。如果想要连续递归创建多个目录,则需要增加“-p”参数,即“mkdir -p /csdn/eastmount”。

总结Linux基础知识和常用渗透命令!!!_第43张图片

如果想要连续创建两个目录,则使用如下方法:

在这里插入图片描述

3.文件操作命令touch\vi\cp\rm\mv\find

命令:touch

  • 用途:新建空文件,或更新文件时间标记
  • 格式:touch 文件名…

如果文件不存在则创建文件;如果文件存在,该命令的另一个作用是更新日期。在Web渗透中,该命令可以硬核的帮助我们创建文件或隐藏东西。比如我们上传了一个木马,它会有相应的新建日期,管理员很容易发现这些异常文件或信息。我们可以尝试将所有文件都更新到最新日期,调用“touch /var/www/html/*”命令实现,但其效果肯定不好,后面随着深入,会分享更好的方法。

总结Linux基础知识和常用渗透命令!!!_第44张图片
命令:ln

  • 用途:为文件或目录创建链接(Link),即快捷方式
  • 格式:ln [-s] 源文件或目录… 链接文件或目标目录
  • 常用格式选项:
    -s:建立符号链接文件(省略此项则建立硬链接)
    总结Linux基础知识和常用渗透命令!!!_第45张图片

br />

命令:cp

  • 用途:复制(Copy)文件或目录
  • 格式:cp [选项]… 源文件或目录… 目标文件或目标目录
  • 常用格式选项:
    -r:递归复制整个目录树
    -p:保持源文件的属性不变
    -f:强制覆盖目标同名文件或目录
    -i:需要覆盖文件或目录时进行提醒
    复制文件至指定位置:cp test.txt /var/www/html/

总结Linux基础知识和常用渗透命令!!!_第46张图片

如果我们需要复制目录的话,需要增加一个递归复制参数“-r”,比如:cp -r csdn /var/www/html/

在这里插入图片描述

参数“-f”表示强制复制,根目录是略过目录时使用。

命令:rm

  • 用途:删除(Remove)文件或目录
  • 格式:rm [选项]… 文件或目录
  • 常用格式选项:
    -f:强制删除文件或目录,不进行提醒
    -i:删除文件或目录时提醒用户确认
    -r:递归删除整个目录树
  • 常用命令:递归强制删除整个目录 rm -rf,但需慎用

总结Linux基础知识和常用渗透命令!!!_第47张图片

总结Linux基础知识和常用渗透命令!!!_第48张图片

命令:mv

  • 用途:移动(Move)文件或目录,相当于剪切,如果目标位置与源位置相同,相当于重命名
  • 格式:mv [选项]… 源文件或目录… 目标文件或目录 移动至“csdn”文件夹,如:mv test.txt /csdn
    总结Linux基础知识和常用渗透命令!!!_第49张图片

重命名文件,如:mv test.txt yxz.txt

总结Linux基础知识和常用渗透命令!!!_第50张图片

命令:find

  • 用途:用于查找文件或目录,取证也常用该命令
  • 格式:find [查找范围] [查找条件]
  • 常用格式选项:
    -name:按文件名称查找
    -size:按文件大小查找
    -user:按文件属性查找
    -type:按文件类型查找
    通过名字查某目录下所有文件,如:find /etc -name “m*.conf”,注意“*”表示通配符。

在这里插入图片描述

查找网站根目录下哪些文件是root,如:find / -user root
在Web渗透中,当某人上传文件并修改为root权限,我们管理员可以通过该命令查找来发现可疑文件,判断服务器是否被攻击。

总结Linux基础知识和常用渗透命令!!!_第51张图片

4.文本编辑查看命令vi\cat\wc

命令:vi

  • 用途:该命令是一个较大的UNIX命令,在启动时存在,用于编辑文件修改

  • 格式:vi [-options] [+[n]] [file]

  • 常用格式选项:

     -r:用于恢复系统突然崩溃时正在编辑的文件
     -R:用于以只读方式打开文件
     +n:用来指明进入vi后直接位于文件的第n行,如果不指定n,则位于最后一行
     首先,作者将帮助信息插入“eastmount.txt”文件,如下图所示:
     ls --help > eastmount.txt
    

总结Linux基础知识和常用渗透命令!!!_第52张图片

从第10行开始编辑,如:vi +10 eastmount.txt

总结Linux基础知识和常用渗透命令!!!_第53张图片

如何查看行号呢,设置命令:set nu

总结Linux基础知识和常用渗透命令!!!_第54张图片

注意,当我们输入vi进入的就是命令模式,无法进行修改。按下命令键“i”进入插入模式才能编辑,按esc退出当前模式。

在命令方式下使用某些命令会导致vi马上进入文本插入方式。在这种方式下用于的任何输入都被当作是文件的内容看待,并将其显示在屏幕上。命令包括:

  • a:在光标后附加文本
  • A:在文本行末附加文本
  • i:在光标前插入文本
  • I:在文本开始插入文本
  • o:在光标下插入新行
  • O:在光标上插入新行
    查看某个文字,如:/backups。停留在某行,按两次“D”键表示删除该行内容。“6DD”表示从当前行开始删除6行内容,比如10-15行。“YY”是复制,“P”是粘贴,“U”是撤销。

总结Linux基础知识和常用渗透命令!!!_第55张图片

底行模式:按下“ESC”键退出插入模式,在命令模式中输入“shift+:”进入底行模式,输入“10d”表示删除第10行内容,“10.15d”表示删除10-15行内容。“:10”表示光标跳转到第10行,“:…$d”表示从当前光标位置删除到最后,“ $ ”表示最后一行。

总结Linux基础知识和常用渗透命令!!!_第56张图片

搜索和替换:

/string:向前搜索指定字符串,搜索时忽略大小写 :set ic
n:搜索指定字符串的下一个出现位置
:%s/old/new/g:全文替换指定字符串
:n1,n2s/old/new/g:在一定范围内替换指定字符串
我们将“command”替换成“eastmount”,命令为:%s/command/eastmount/g
如果需要10至19行替换,命令为:10.19s/command/eastmount

总结Linux基础知识和常用渗透命令!!!_第57张图片

在这里插入图片描述

行命令下使用“q”命令退出vi,如果文件做过修改, 系统将作出提示并取消此次退出操作。行命令“x”相当于“:wq”命令,在命令方式下使用命令“ZZ”等效于“:x”命令。如果由于读写权限或是更新问题,导致vi拒绝执行保存文件或退出vi的命令,那么可以在命令后加一个“!”表示强制命令。

当我们vi完成修改,需要输入“:wq!”强制保存退出。

命令:cat

用途:显示出文件的全部内容
常用格式选项:
-n:给输出的所有行加上编号
合并文件:cat 1 2 > 3
将文件1和文件2合并到文件3中

命令:head
显示前10行内容

命令:tail
显示倒10行内容

命令:more
分屏查看内容,空格翻页

总结Linux基础知识和常用渗透命令!!!_第58张图片

命令:wc

  • 用途:统计文件中的单词数量、字节数和行数
  • 常用格式选项:
    -l:统计行数
    -w:统计单词数
    -c:统计字符数
    输出结果中105位行数、628位单词数、6502为字符数。

在这里插入图片描述

命令:history
查看历史命令

总结Linux基础知识和常用渗透命令!!!_第59张图片

5.压缩文件命令gzip\bzip2\tar

命令:gzip\bzip2

  • 用途:归档和压缩命令,只针对单个文件压缩
  • 格式:gzip 文件名 压缩文件,格式后缀为.gz
  • 格式:bzip2 文件名 压缩成的文件名,格式后缀为.bz2,它相对于gzip压缩率更高
  • 常用格式选项:
    -9:显示高压缩比
    -d:释放压缩文件
    输入命令“gzip -9 eastmount.txt eastmount.txt.gz”进行高度压缩,可以看到“eastmount.txt”已经不存在,新增加“eastmount.txt.gz”大小变小。

总结Linux基础知识和常用渗透命令!!!_第60张图片

解压缩命令:gzip -d eastmount.txt.gz

总结Linux基础知识和常用渗透命令!!!_第61张图片

命令:tar

  • 用途:归档命令,打包文件,释放归档文件,没有压缩功能
  • 格式:tar 选项 归档文件名 源文件或目录
  • 常用格式选项:
    -c:创建归档文件,扩展名为.tar
    -v:输出详细信息
    -f:表示使用归档文件
    -x:解开归档文件
    -t:列表查看包内文件(不释放解包)
    -p:解包时保留原始文件及目录的权限
    -C:解包时指定释放的目录文件夹
    -z:调用gzip程序进行解压或压缩
    -j:调用bzip2程序进行压缩或解压
    -cvf:创建归档文件
    -xvf:解包归档文件
    tar命令类似于Windows压缩工作WinRAR,但Linux压缩(gzip\bzip2)和打包(tar)文件是分开的。常用命令如下:
  • tar -cvf 4.tar 1 2 3
    将文件1、2、3打包归档为4.tar
  • tar -xvf 4.tar
    解压归档文件4.tar
  • tar -tvf 4.tar -r
    追加tar文件至归档结尾
  • tar -rvf 4.tar 5
    把文件5加入4.tar
  • -tar -cvzf test.tar.gz
    被压缩的文件1、文件2创建归档压缩文件,后缀为.gz
  • -tar -cvjf test.tar.bz2
    被压缩的文件1、文件2创建归档压缩文件,后缀为.bz2
  • tar -xvzf test.tar.gz -C /usr/src
    解压释放归档文件到/usr/src中
  • tar -xvjf test.tar.bz2 -C /usr/src
    解压释放归档文件到/usr/src中
    调用“tar -cvf test.tar yxz.txt eastmount.txt”命令将“yxz.txt”和“eastmount.txt”文件进行打包。

总结Linux基础知识和常用渗透命令!!!_第62张图片

删除源文件,我们再调用“tar -xvf test.tar”解开文档。

总结Linux基础知识和常用渗透命令!!!_第63张图片

接着往里面增加内容,命令为:tar -rvf test.tar csdn.txt

总结Linux基础知识和常用渗透命令!!!_第64张图片

通常我们会先打包文件,在对其进行压缩,命令为:gzip test.tar test.tar.gz

总结Linux基础知识和常用渗透命令!!!_第65张图片

删除文件之后解压,命令为:tar -zxvf test.tar.gz

总结Linux基础知识和常用渗透命令!!!_第66张图片

6.安装升级软件rpm\yum\apt-get

命令:rpm

  • 用途:安装、升级、卸载RPM软件
  • 格式:rpm [选项] RPM包文件
  • 常用格式选项:
    -i:安装一个新的rpm软件包
    -U:升级某个rpm软件,若原本未装,则进行安装
    -f:更新某个rpm软件,若原本未装,则放弃安装
    -e:卸载指定的rpm软件
  • 辅助选项
    -force:强制安装所指定的rpm软件包
    -nodeps:安装、升级或卸载软件包时,忽略依赖关系
    -h:以“#”号显示安装的进度
    -v:显示安装过程中的详细信息
    在Web渗透中,安装扫描器、后门常用安装软件包命令。

总结Linux基础知识和常用渗透命令!!!_第67张图片

安装:rpm -ivh man*.rpm

总结Linux基础知识和常用渗透命令!!!_第68张图片

卸载:rpm -e man

总结Linux基础知识和常用渗透命令!!!_第69张图片

命令:yum

  • 用途:样本源安装,比如:yum -y install man

总结Linux基础知识和常用渗透命令!!!_第70张图片

命令:apt-get

  • 用途:网络源下载软件,用法:apt-get install xxx

比如按照SSH,则输入“apt-get install openssh-server”命令。

总结Linux基础知识和常用渗透命令!!!_第71张图片

命令:dpkg

  • 用途:它是Debian的一个命令行工具,它可以用来安装、删除、构建和管理Debian的软件包。
  • 安装软件命令行:dpkg -i <.deb
    file name> 示例:dpkg -i avg71flm_r28-1_i386.deb、
  • 删除软件包(保留其配置信息)命令行:dpkg -r <.deb file name> 示例:dpkg -r avg71flm

补充一个命令,查看开启的服务,比如ssh,则输入“ls /etc/init.d”。

总结Linux基础知识和常用渗透命令!!!_第72张图片

7.用户账号命令useradd\userdel

命令:useradd

  • 用途:添加用户账号
  • 格式:useradd [选项] 用户名
  • 常用命令选项:
    -u:指定UID标记号
    -d:指定宿主目录,缺省为 /home/用户名
    -e:指定账号失效时间
    -g:指定用户的基本组名(或UID号)
    -G:指定用户的附加组名(或GID号)
    -M:不为用户建立并初始化宿主目录
    -s:指定用户的登录Shell
    创建用户命令如下图所示:

总结Linux基础知识和常用渗透命令!!!_第73张图片

修改密码及查看本机有哪些用户如下图所示,包括uid和gid。

总结Linux基础知识和常用渗透命令!!!_第74张图片

查看密码调用“cat /etc/shadow”,注意密码和用户名是分开的。

总结Linux基础知识和常用渗透命令!!!_第75张图片

命令:userdel

  • 用途:删除用户账号
  • 格式:useradd [-r] 用户名
  • 添加“-r”选项时,表示连用户的宿主目录一并删除

总结Linux基础知识和常用渗透命令!!!_第76张图片

8.网络配置ifconfig\hostname\route\netstat

命令:ifconfig

  • 用途:查看网络接口信息
  • 查看所有活动网络接口的信息格式:ifconfig 命令
  • 查看指定网络接口的信息格式:ifconfig 网络接口名

总结Linux基础知识和常用渗透命令!!!_第77张图片

修改ip地址,临时修改用于调试,重启后ip会恢复。其中,eth0以太网。

总结Linux基础知识和常用渗透命令!!!_第78张图片

关闭接口:ifconfig eth0 down

总结Linux基础知识和常用渗透命令!!!_第79张图片

开启接口:ifconfig eth0 up

总结Linux基础知识和常用渗透命令!!!_第80张图片

自动获取ip:dhclient eth0

创建多个IP逻辑接口:ifconfig eth0:1 192.168.44.140/24

总结Linux基础知识和常用渗透命令!!!_第81张图片

接着我们补充网卡类型。

  • eth0:以太网 lo:虚拟回环设备
  • ppp0:使用PPP协议的串口设备,通常指调制解调器
  • tr0:令牌环(Token Ring)
  • fddi0:光纤

命令:hostname

  • 用途:查看或设置当前主机名
  • 格式:hostname

在这里插入图片描述

命令:route

  • 用途:查看或设置主机中路由表信息
  • 格式:route [-n]

查看网关,其中0.0.0.0表示访问任何地址。

总结Linux基础知识和常用渗透命令!!!_第82张图片

命令:netstat

  • 用途:查看系统的网络连接状态、路由表、接口统计等信息
  • 格式:netstat [选项]
  • 常用选项:
    -a:显示所有活动连接
    -n:以数字形式显示
    -p:显示进程信息
    -t:查看TCP协议相关信息
    -u:查看UDP协议相关信息
    -r:显示路由表信息
    netstat是Web渗透中非常重要的一个命令,查看tcp协议的网关信息:netstat -tnlp。注意,“netstat -utnlp”相当于Windows的“netstat -an”命令。

在这里插入图片描述

网络接口配置文件为“/etc/sysconfig/network-scripts/目录下的”,其中“ifcfg-eth0”表示第1块以太网卡的配置文件,“ifcfg-eth1”表示第2块以太网卡的配置文件,可以对网络进行配置。

总结Linux基础知识和常用渗透命令!!!_第83张图片

命令:network

  • 用途:启用、禁用网络接口配置 重启network
  • 格式:service network restart

命令:ifdown eth0
禁用网络接口

命令:ifup eth0
启用网络接口

总结Linux基础知识和常用渗透命令!!!_第84张图片

域名解析配置文件为“/etc/resolv.conf”,保存本机需要使用的DNS服务器的IP地址。

在这里插入图片描述

9.权限控制chmod

命令:chmod

  • 用途:权限控制命令
  • Linux系统下文件权限显示如下图所示,第一个数字,数字代表的意义为:
    – 普通文件
    d 目录
    s socket套接字
    l 软链接
    p 管道
    c 字符设备
    b 块设备
    总结Linux基础知识和常用渗透命令!!!_第85张图片

权限分为读、写、执行,分别用一个数字代表。同时三个数字组合为一组分别表示用户、用户组、其他人的权限。显示的时候r表示文件可以被读(read),w表示文件可以被写(write),x表示文件可以被执行(如果它是程序的话)。修改的时候用数字,三位二进制刚好组成8进制。从右向左,x为第一位,十进制数字为1,w是第二位,十进制为2,r第三位,十进制为4。

总结Linux基础知识和常用渗透命令!!!_第86张图片

如下图所示,第一个7表示用户具有读、写、执行的权限,用户组和其他人都只有读和执行的权限。

总结Linux基础知识和常用渗透命令!!!_第87张图片

修改文件或者目录的权限,change permissions mode of a file简称chmod命令。这里设置每个人都有读写和执行权限。

1  chmod 777 rdp

在这里插入图片描述

在Web渗透中,上传木马可能会显示403,因为这个目录设置权限了,此时就需要使用该命令,如chmod 744 mm.jpg。如果需要设置某个目录下所有文件权限,则使用chmod -R 777 /csdn。

总结Linux基础知识和常用渗透命令!!!_第88张图片

五.LAMP网站搭建

LAMP(Linux+Apache+MySQL+PHP)搭建网站通常需要安装5个包,即调用“yum -y install httpd php php-mysql mysql mysq-server”。下面详细讲解在Kali中搭建LAMP网站的过程。

总结Linux基础知识和常用渗透命令!!!_第89张图片

第一步,启动apache。

1   service apache2 start
2   service apache2 status

总结Linux基础知识和常用渗透命令!!!_第90张图片

第二步,启动mysql

1   service mysql start

总结Linux基础知识和常用渗透命令!!!_第91张图片

第三步,验证数据库操作。

修改数据库密码
mysqladmin -uroot password 123456
访问数据库
mysql -uroot -p123456
查询数据库
show databases;

总结Linux基础知识和常用渗透命令!!!_第92张图片

使用数据库
use mysql;
查询表
show tables;
查询数据
select * from user;

总结Linux基础知识和常用渗透命令!!!_第93张图片

总结Linux基础知识和常用渗透命令!!!_第94张图片

第四步,使用cd命令切到网站目录,并插入HTML代码。

cd /var/www/html
ls
echo "Hello, this is eastmount CSDN" > index.html
cat index.html

在这里插入图片描述

浏览器打开如下图所示:

总结Linux基础知识和常用渗透命令!!!_第95张图片

第五步,如果外网无法访问,需要关闭防火墙“iptables -F”,比如XP访问。

总结Linux基础知识和常用渗透命令!!!_第96张图片

第六步, leafpad编辑index.html文件,修改为PHP文件。
注意,下面第二行代码少了一个“;",作者已修改。


	echo "Hi, My name is eastmount.";
	phpinfo();
?>

总结Linux基础知识和常用渗透命令!!!_第97张图片

phpinfo函数是读取网站的基本信息,之后保存并退出。接着修改后缀为php,使用mv命令,即:mv index.html index.php。

总结Linux基础知识和常用渗透命令!!!_第98张图片

之后用火狐浏览器访问,就会出现以下界面:

总结Linux基础知识和常用渗透命令!!!_第99张图片

注意,作者的Win10主机同样可以访问虚拟机中的该网站。

此时说明LAMP环境运行成功,可以使用命令 netstat -ant 查看端口状态:80端口为apache所使用,而3306端口为数据库mysql所使用。

总结Linux基础知识和常用渗透命令!!!_第100张图片

第七步,读者如果想搭建更好的网站,可以直接拖动已经创建好的网站模板至“/var/www/html”文件夹。

总结Linux基础知识和常用渗透命令!!!_第101张图片

如下图所示:
总结Linux基础知识和常用渗透命令!!!_第102张图片

如果提示权限不足,则使用“chmod -R 777 /var/www/html/xxx”即可。

第八部,读者如果想搭建多个网站,设置多个端口即可。

在这里插入图片描述

总结Linux基础知识和常用渗透命令!!!_第103张图片

通过不同端口访问不同的网站。

总结Linux基础知识和常用渗透命令!!!_第104张图片

后续深入会分享各个CMS模版,以及phpstudy和wordpress站点搭建、Web渗透等知识。

六.总结

如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,
帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,
又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,
想转行怕学不会的,都可以加入我们644956177。
群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!

写到这里,第二篇文章就介绍完毕,主要包括三部分内容:

  • 第一部分Linux基础知识,包括Linux安装、Linux介绍、版本及磁盘分区、安装虚拟工具及文件共享、远程连接、登录密码爆破、系统目录结构。
  • 第二部分详细讲解Web渗透常用的Linux命令,包括命令格式和基础命令、目录操作命令
    ls\cd\du\mkdir、文件操作命令touch\vi\cp\rm\mv\find、文本编辑查看命令vi\cat\wc、压缩文件命令gzip\bzip2\tar、安装升级软件rpm\yum\apt-get、用户账号命令useradd\userdel、网络配置ifconfig\hostname\route\netstat、权限控制chmod。
  • 第三部分讲解LAMP搭建网站。

希望这系列文章对您有所帮助,真的感觉自己技术好菜,要学的知识好多。这是第60篇原创的安全系列文章,从网络安全到系统安全,从木马病毒到后门劫持,从恶意代码到溯源分析,从渗透工具到二进制工具,还有Python安全、顶会论文、黑客比赛和漏洞分享。未知攻焉知防,人生漫漫其路远兮,作为初学者,自己真是爬着前行,感谢很多人的帮助,继续爬着,继续加油!

你可能感兴趣的:(Linux,软件测试,web,linux,软件测试,web)