kali linux

news2024/11/6 17:33:15

一、Kali Linux文件系统

二、终端窗口基础

 清除命令行

新建终端 

TAB自动补全

关闭终端窗口

重启/关闭

最近使用的命令

<>重定向

 tmux终端窗口

开始tmux

Tmux快捷键

三、管理用户和组

用户命令

Kali Linux操作系统安全命令

密码设置 

 切换用户

查看当前用户信息

列出登陆用户

 删除 test 账户

四、操作文件和文件夹

五、处理远程连接

六、Kali Linux系统管理处理

七、Kali Linux中的网络


感谢您观看我的博客和我一起学习,本章学习的一个基本目录

一、Kali Linux文件系统
二、终端窗口基础
三、管理用户和组
四、操作文件和文件夹
五、处理远程连接
六、Kali Linux系统管理处理
七、Kali Linux中的网络

一、Kali Linux文件系统

理解Kali Linux中文件系统的结构至关重要。

Kali linux的目录结构基于Unix文件系统层次结构标准(Unix Filesystem Hierarchy Standard, FHS),这就是Kali Linux中目录的结构。

在Windows中,根目录是c:\,但在Kali Linux中,它是一个正斜杠(/)

不要将术语根目录根用户的主目录(即/root)混淆,因为它们是两个不同的东西;后者是根用户的主目录。谈到根用户,

有必要了解这个用户相当于Windows操作系统上的Administrator用户

在Kali 2020.1版本中,Offensive Security在默认情况下引入了非root用户,这意味着如果您想要运行高权限工具,则需要执行sudo命令。

要获得Kali Linux文件系统目录的可视化表示,请打开终端窗口并执行ls命令以列出根系统目录的内容。请注意,默认情况下,您将位于用户主目录中。要更改它,必须执行cd /命令:

ls    //查看当前目录下的文件

/bin

        (二进制文件):此目录保存Linux二进制文件,例如我们前面执行的ls命令。

/sbin

        (系统二进制文件):该目录包含作为管理命令的系统二进制文件(例如,fdisk)。

/dev

         (devices):该目录包含设备配置文件(例如/dev/null)。

/sys:

        类似于/dev,其中包含有关设备和驱动程序的配置。

/etc

        (等等):这个目录包含所有的管理系统文件(例如,/etc/passwd显示了Kali中的所有系统用户)。

/lib

        (libraries):该目录包含/bin和/sbin目录下的二进制文件的共享库。

/proc

        (processes):该目录保存进程和内核信息文件。

/ lost+found:

        顾名思义,此目录包含已恢复的文件。

/mnt (mount):

        此目录包含挂载的目录(例如,远程文件共享)。

/media:

        这个目录存放可移动媒体挂载的目录(例如,DVD)。

/opt

         (option):用于安装附加软件包。此外,它也用于用户安装软件时(例如。(从GitHub下载的黑客工具)

/tmp

        (临时):这是一个临时使用的临时文件夹;每次重启后都会擦除内容。tmp文件夹是下载特权升级工具的好地方,一旦您获得了有限的shell。

/usr

        (用户):该目录包含多个子目录。实际上,/usr/share是一个您需要记住的文件夹,因为您在Kali Linux中使用的大多数工具(例如,Nmap, Metasploit等)都存储在那里,并且它包含wordlists字典文件(/usr/share/wordlists/)。

/home:

        这是Kali Linux用户的主目录(例如,/home/john/)。

/root:

        root用户的主目录。srv (serve):这个文件夹保存一些与系统服务器功能相关的数据(例如,FTP服务器的数据)。

/var

        (variable):此文件夹保存数据库、日志和网站的变量数据。例如,/var/www/html/包含Apache web服务器的所有文件。

/ run

        (runtime):此目录包含运行时系统数据(例如,当前登录的用户)。

二、终端窗口基础

作为初学者,从桌面打开终端窗口,可以使用Ctrl+Alt+T组合键,只需在它后面加上-h或- - help(有些命令只需要使用其中一个)。例如,如果您想查看cat命令的不同选项,只需在终端窗口中键入cat——help即可获得有关此工具所需的所有帮助。在下一个命令(cat -h)中,您将看到-h选项对cat命令不起作用。相反,我使用了-help选项。(cat命令经常用于在终端窗口中显示文本文件的内容。)

cat -h

cat --help

 

 清除命令行

如果要清除终端窗口文本,请执行clear命令或按Ctrl+L来完成任务。 

clear

 

新建终端 

如果你要打开一个新的窗口可以使用快捷键ctrl+alt+t来完成

TAB自动补全

为了自动完成输入(例如,文件名或命令名),我使用Tab键。如果多个文件以相同的文本开头怎么办?然后,如果按两次Tab键,终端窗口将显示所有的选项。(理解本章的最好方法是打开终端窗口,一边阅读说明一边练习。) 

例如输入cle  按第一次tab,它会自动补全

再按一次TAB键,就会出现一个列表,多次按tab的时候就可以快速的命令切换

关闭终端窗口

  要在任何工具运行时停止执行,您可以使用Ctrl+C快捷键来停止

exit

关闭终端窗口用命令exit,或者快捷键ctrl+D键 来关闭终端窗口

重启/关闭

reboot

 要从终端窗口重新启动Kali Linux,必须使用reboot命令

poweroff

关闭Kali Linux,必须使用poweroff命令。

最近使用的命令

history

现在,要获取最近执行的命令列表,必须使用history命令

查看命令 

cat 文件名   //查看当前文件所在的目录

<>重定向

< 覆盖内容到文本
>覆盖内容文件的反向操作【可以理解为查看覆盖的内容】

touch test.txt   //创建了一个test文件
cat > test.txt

此时发现可以往里面写东西,随便输入了几个字母,输入完了之后,按ctrl+c结束输入 

cat < test.txt

就可以看到在里面添加的内容 

 


您需要注意的另一个重定向是命令管道。总而言之,你可以组合每个命令的输出,并使用|字符将其发送给下一个命令: 

$command 1| command2 | command3 ...

 例如,我将读取一个文件,然后对结果进行排序,最后使用grep命令过滤掉一些文本字符串(目标是提取以单词test开头的文件):

cat ls_file.txt | sort | grep test

 tmux终端窗口

Tmux是一个特殊的终端窗口,允许您在当前终端会话中管理多个窗口。解释它的最好方法是通过例子

开始tmux

tmux

要启动Tmux,只需在终端窗口中输入Tmux。在终端窗口的底部,您将注意到已为打开的窗口选项卡分配了一个数字和一个名称。

 假设您参与了一个项目,并且希望在一个窗口中运行Nmap,在另一个窗口中再运行Metasploit,以此类推。这就是Tmux很方便的地方,因为您可以同时在多个窗口/会话上工作。

Tmux快捷键

在Tmux中,必须使用Ctrl+B来指示要执行Tmux操作(命令)。实际上,组合键Ctrl+B是默认的组合键。您始终可以在配置文件中更改Tmux的默认配置。要改变这种行为并分配Ctrl+A而不是Ctrl+B,那么您必须第一次自己创建配置文件。要完成这项工作

有两个选项可以在Tmux中创建配置文件。

第一种方法是添加一个名为~/.tmux.conf的用户特定文件

第二种方法是在/etc/tmux.conf下添加一个全局文件(对所有用户)。在我的情况下(对于这个例子),我将在/etc/tmux.conf下添加配置文件(并且我将在其中添加键绑定的配置):

touch /etc/tmux.conf
echo unbind C-b>> /etc/tmux.conf
echo set -g prefix C-a>> /etc/tmux.conf
echo bind C-a send-prefix>> /etc/tmux.conf

此时,配置文件已经修改完成了,打开终端页面输入tmux启动

 

给窗口重命名 按住 ctrl+a +, 此时就可以重命名

 将名字叫做 test1

安装tmux

sudo apt-get install tmux

创建 一个名字为 windows 的窗口
 

tmux new-session -s windwos1 #创建新的session,session名为windwos1


上下分割:

        

tmux split-window  #上下分割

左右分割:

        按ctrl+a +% 

tmux split-window -h

以上是关于tumx使用的一些常用快捷键 

三、管理用户和组

理解用于管理用户和组的命令非常重要,因为您将在本书后面学习特权升级时使用这些信息。本章中的所有命令将在使用Kalil Linux(作为渗透测试的操作系统)时对您的约定有很大帮助。

用户命令

低权限用户在执行系统命令前必须带sudo(且低权限用户必须在sudo组中才能执行sudo)。如果要使用sudo命令,系统将要求您输入帐户密码。例如,如果您想执行fdisk系统工具来显示kali连接的设备,则使用以下命令:

fdisk -l

Kali Linux操作系统安全命令

要向Kali添加一个新用户(在本例中,Gus将是用户),请使用useradd命令。同时,你需要用-G选项选择sudo组,用-s选项选择shell类型: 

useradd -m [用户名] -G [组名称 ] -s [脚本类型]

对于我们的例子,它看起来像这样:

useradd -m Gus -G sudo -s /bin/bash

 

密码设置 

接下来,让我们使用passwd命令为新用户设置一个密码: 

passwd [要更改密码的用户名]
passwd Gus

 


 切换用户

要切换到我们之前创建的新用户Gus,我们使用su命令(注意用户如何在终端窗口文本中更改并变为Gus@kali):

su Gus

 

要使用sudo命令了解当前用户的能力,需要执行sudo -l来获得正确的信息: 

sudu -l

查看当前用户信息

使用id命令查询当前用户信息。

id

 

列出登陆用户

要列出当前登录的用户,请使用w或who(详细信息较少):

 要删除一个用户(在这个例子中我们要删除的用户是test),执行userdel命令:

 删除 test 账户

sudo userdel test

要列出最近登录Kali系统的用户,使用最后一个命令:

last

 

请注意,Kali中的所有用户都存储在一个配置文件/etc/passwd中使用cat命令显示其内容: 

cat /etc/passwd

前面的命令将列出所有用户,甚至包括系统用户。为了过滤内容并限制人类用户的结果,在grep命令中使用|将输出筛选: 

cat /etc/passwd | grep "/bin/bash"

 把存在/bin/bash目录的用户筛选出来

组织的命令

        添加一个新的组

 在Kali Linux中添加一个新组,使用groupadd命令:

groupadd [新组名]
sudo groupadd hackers  #创建了一个名叫hackers的组

 

 将用户加入组

 要将用户(本例中为Gus)加入到我们之前创建的hackers组,请执行usermod命令:

usermod -aG [组名] [用户名]
 sudo usermod -aG hackers Gus  

要列出在Kali Linux中创建的所有组,请打开文件/etc/group.同样,使用cat命令完成工作

cat /etc/group

在Kali管理密码

您可能希望像以前那样恢复根用户。要恢复此帐户,您需要首先设置其密码。要修改用户密码,必须使用passwd命令:

sudo passwd root

现在要使用强大的root帐户,您必须使用su命令切换用户:

sudo su root

从现在开始,在登录屏幕上,您可以选择根帐户而不是非根用户。最后,要列出Kali Linux中的所有用户凭据,可以在/etc/shadow文件中显示它们。使用grep命令获取Gus的用户钥密:

cat /etc/shadow | grep "Gus" #查看Gus用户的钥密

四、操作文件和文件夹

Kali Linux中的文件和文件夹管理 

        显示文件和文件夹

列出任意目录中的文件子文件夹,使用ls命令完成工作(我经常使用它来获得更简单的输出)。但是有时候,ls命令本身是不够的,所以您可能需要添加几个选项来获得更好的输出清晰度。你可以使用的第一个选项是

-a命令(包括隐藏文件在内的所有内容)

第二个选项是-l命令(格式化列表):

ls

ls -a   #显示隐藏文件

ls -l  #显示文件详细信息

 

请注意,文件名前以点字符开头意味着文件名是隐藏的(例如,.bash_history)。此外,在权限之前的最左边,字母d表示它是目录而不是文件。最后,你可以通过指定目标文件夹的路径列出与当前目录不同的另一个目录的内容:

ls -la [目标文件名称]

权限

对于权限,同样的原则适用于文件目录。为了简化它,

将权限分为三类:

读 R

写 W

执行 X

权限语法为下

使用者权限:r/w/x 同组用户:r/w/x 所有人:r/w/x/

让我们来看一个实际的例子。假设你创建了一个简单的shell脚本来打印“test”(使用echo命令),并且你想要显示它的权限(注意这个例子使用了终端窗口内的root用户): 

echo 'echo test' >test.sh 

ls -la |grep 'test.sh'

 

从前面的输出结果中,我们可以看到以下内容:对于root用户,由于一开始就有rw,所以可以读写。对于同组用户,他们只能读取这个文件。对于系统上的其他人,他们只能读。 

假设你想执行这个文件,你是创建它的人,并且您是主根。你认为你能够做到这一点吗(根据以前root用户的权限)?

./test.sh

实际上,根没有执行它的权限,要根据公式(r=4, w=2, x=1)更改前一个文件的权限,使用如下命令:

chmod 774 test.sh  #为这个文件 添加774的权限

ls -la | grep 'test.sh'  #筛选出 test.sh这个文件

 

./test.sh

 

还有另一种快捷方式,它允许执行文件,而不是计算每个文件的数量。我们只需要在chmod命令中添加+x(但是要小心,因为当你执行这个命令时,你也会给每个人执行权限):

chmod +x test.sh

ls -la | grep 'test.sh'  #筛选出 test.sh这个文件

在Kali操作文件 

        要在Linux中创建一个空文件,可以使用touch命令:

touch [文件名称] 

要快速将文本插入到文件中,可以使用echo命令。在本章的后面,你将学习如何使用文本编辑器编辑文本文件: 

echo 'text to add' > [文件名]

要了解Linux系统中的文件类型,可以使用file命令: 

file [文件名]

让我们在终端窗口中将所有命令集合在一起: 

touch test.txt #创建名为test.txt的文件

 

echo test > test.txt #将test写入test.txt文档

 

file test.txt  #查看文件格式

要在Kali中复制一个文件,必须使用cp命令来完成这项工作:

cp [源文件路径] [目标文件路径] 
cp test.txt /home/Gus #将test文件 复制到 /home/Gus

 

ls /home/Gus #查看目录下文件

 

要在Windows操作系统中移动文件,必须使用mv命令: 

mv [源文件路径] [目标文件路径]
mv test.txt Documents/ #将文件移动到Documents目录下

 

ls Documents/  #查看目录中的内容

 

要删除刚才在kali主目录中复制的文件,使用rm命令:

rm [你要删除的文件名]
rm /home/Gus/test.txt #删除目录下文件

 

要重命名前一个文件,我们使用与移动文件相同的mv命令: 

mv [原文件名] [新文件名]
#先切换到指定目录下

cd /home/Gus/Documents

#将目录下的test.txt 修改成hello.txt

mv test.txt hello.txt

#查看文件

ls

搜索文件

在Kali中有多种搜索文件的方法;三个常见的命令是

locatefindwhich

可以使用locate命令快速定位要查找的文件。您需要知道locate命令将其数据存储在数据库中,因此在进行搜索时,您将更快地找到结果。首先,您需要使用updatedb命令为locate命令更新数据库:

$updateab

 

 现在,我们可以使用locate命令开始搜索:

locate [要搜索的文件名]
locate test.sh

可以对locate命令使用-n开关,过滤输出结果的数量:

locate -n [i] [搜索规则]
locate *.conf -n 3 #搜索以.conf为后缀的文件,展示3条

如果使用grep命令来筛选的话会更精确

要查找应用程序路径,请使用which命令。这个命令将使用$PATH环境变量来查找您要查找的结果。例如,要查找Python的安装位置,您可以执行以下操作:

which [应用程序名称]
which python

Linux系统将使用$PATH执行二进制文件,理解这一点很重要。如果你在终端窗口中运行它,它会显示你应该保存你的程序/脚本的所有目录(如果你想在不指定路径的情况下执行它们):

$PATH

让我们来看一个实际的例子;我保存了test.sh文件在我的主目录下。由于主文件夹不在$PATH变量中,这意味着我只能在指定路径的情况下执行它,否则它将失败: 

test.sh

./test.sh

查找具有更灵活选项的文件的另一个有用命令是find命令。使用查找工具的优点是,它允许添加更细粒度的过滤器来查找您要查找的内容。例如,要在根目录下查找file1 .txt,使用如下命令:

find /root -name "file1.txt"

 

假设您想列出系统中的大文件(1GB以上):

find / -size +1G 2> /dev/null

注意:在 后面附加 2> /dev/null 能清除打印结果和过滤掉错误

下面是一个方便的查找过滤器,用于在Linux中搜索setuid文件以进行特权升级(您将在第10章“Linux特权升级”中了解所有细节):

find / -perm -u=s -type f 2>/dev/null

文件压缩

压缩有多种方法(压缩算法)来压缩文件;我将在本节中介绍的扩展名为.tar、.gz、.bz2和.zip。

下面是压缩和提取不同类型存档的命令列表:

举例

        使用tar扩展压缩:

        

tar cf compressed.tar [生成压缩包的名字]

tar xf compressed.tar #解压缩

练习

从文件中创建压缩后的tar.gz文件:

tar cfz compressed.tar.gz compressed 

 

解压压缩后的tar.gz文件:

tar xfz compressed.tar.gz

 

创建压缩后的。txt.gz文件。

gzip file.txt > compressed.txt.gz

 

解压压缩后的tar.gz文件:

gzip -d compressed.tar.gz

 

让我们提取rockyou。 tar .gz 文件最初是在 Kali 中压缩的:
 gzip -d /usr/share/wordlists/rockyou.tar.gz

 

文件获取

创建压缩的.tar。 bz2 文件:

tar xfj compressed.tar.bz2  compressed

tar xfj compressed.tar.bz2

Zip压缩

        

zip compressed.zip compressed

 

unzip compressed.zip 

在Kali操作目录 

要打印当前工作目录,必须使用pwd命令来完成这项工作(不要将pwd命令与passwd命令混淆;这是两个不同的东西):

pwd #查看当前所在目录

你可以用..返回一个向上的目录。事实上,你可以添加任何你想要的,直到你到达系统根目录,/:

cd ../../ #一个../表示向上个目录退一级

作为最后一个提示,对于cd命令,您可以使用~字符直接转到当前用户的主目录:

cd ~

要在根目录下创建一个名为test的目录,使用mkdir命令:

mkdir [要创建的目录名]

复制移动重命名目录,请对文件命令使用相同的命令。有时你必须添加-r(它代表递归)开关来涉及子目录:、

cp -r [源目录路径][目标目录路径]
mv -r[源目录路径][目标目录路径
mv -r[源目录路径][目标目录路径

要删除一个文件夹,必须在rm命令中添加-r开关来完成任务:

rm -r [要删除的文件夹路径]

在Kali Linux中管理文本文件

了解如何在Kali Linux中处理文件是您在工作中经常遇到的问题。在本节中,您将了解可用于完成这项工作的最常用命令。有许多方法可以在终端窗口上快速显示文本文件。90%的情况下,我使用cat命令来实现这个目的。如果你想显示一个大的文本文件(例如,一个密码的字典文件)怎么办?然后您有三种选择:头、尾和多命令和少命令。重要的是要注意,您可以使用grep命令过滤掉您正在使用的结果找的。例如,识别文件内部的gus123这个词。TXT的字典文件,您可以执行以下操作
/usr/share/wordlists# cat rockyou.txt | grep gus123

head命令将在文本文件中从顶部开始显示7行,并且您可以通过添加-n选项指定要显示多少行:

head -n [i] [文件名称]

 head -n 7 rockyou.txt  #显示文件中的前7行数

tail命令将显示文件中的最后7行,您也可以使用-n开关指定行数:

tail -n [i] [文件名称]
tail -n 7 rockyou.txt

要浏览大文件,请使用more命令。您需要按回车键或键盘上的空格键向前走一步。按B键可以让你后退。最后,要搜索文本,按/(正斜杠)和Q键退出:

more [文件名称]
less 就像 more 命令;它允许您查看文件的内容并在其中导航。 more 和 less 之间的主要区别在于 less 命令比 more 命令更快,因为它不会立即加载整个文件,并且它还允许您使用 Page Up/Down 键在文件内导航:
less [文件名称]

要对文本文件进行排序,只需使用sort命令:

sory [文件名称] > [已排序的文件名称]
sort file1.txt >file1_sorted.txt

要删除文本文件中的重复项,必须使用unig命令:

uniq [文件名称] > [已经去掉重复的文件名称]

uniq file2.txt > file2_uniq.txt

您将学习如何使用sort和unig命令一起创建自定义密码字典文件。


Vim编译器和nano编译器

对于终端窗口,我们有两个流行的文本编辑器,vim和nano。大多数情况下,您可以在文本编辑器中处理以下四个任务:

打开/创建文本

修改文本

保存并退出

Nano比vim容易。你可以选择其中的任何一种;这是个人喜好的问题。

要打开/创建一个文本文件,使用以下命令:

vim [文件名称]

nano [文件名称]

打开文本文件后,您需要开始进行更改:

在nano中,你可以自由输入你的文字。

在vim中,您需要按键盘上的I键以进入插入模式。

如果你想在你的文件中搜索一个特定的单词,使用这些命令:

在nano中,按Ctrl+W。在vim中,这取决于你所处的模式。

如果你在插入文本模式,然后按Esc键,然后按/后面跟着你想要搜索的单词。

如果你是在普通模式下,然后按/跟你想要搜索的单词。

保存并退出文本编辑器

在nano中,按Ctrl+O保存,按Enter键执行保存任务,然后按Ctrl+X退出。

在vim中,首先确保您处于正常模式(如果不是,然后按Esc键返回正常模式),然后使用:wq。w是“写”,q是“退出”。

搜索和过滤文本

在文本文件的世界中还需要学习的一件事是搜索机制,搜索和过滤文本的方法有很多种,但流行的有以下几种:

        grep

        awk

        cut

我经常使用grep命令。filter命令的结构如下:

grep [选项] [模式] [文件名称]

假设您想在从根系统(/)开始的所有文件中搜索单词password。

grep -irl "password"

以下是这些选项的含义:

        -i:忽略大小写并包含所有大写/小写字母

        -r:在子文件夹中递归搜索

        -l:打印过滤器匹配的文件名

再举一个例子,假设你想计算单词password在字典文件rock .txt中出现的次数:

cd /usr/share/wordlists/  #切换到目录

 

grep -c "password" rockyou.txt  #筛选 password个数

awk命令是过滤文本文件的高级工具,它使用以下模式:

awk /[搜索条件]/ [选项] [文件名称]

例如,假设你想在/etc/ passwd文件中搜索文本root:

awk '/root/' /etc/passwd

让我们再进一步接受挑战吧。假设你想在/etc/shadow文件中提取root的密码(你可以先打印整个内容,这样你就可以看到前后的差异): 

awk '/root/' /etc/shadow

awk -F ':' '/root/{print $2}' /etc/shadow

我们知道影子文件使用 : 分隔符来分隔各个部分,因此我们使用 -F' 来完成工作。然后,我们告诉工具仅打印分隔符的第二部分(打印 $2),即哈希密码内容。另一种流行的提取子字符串的方法是 cut 命令。在下面的示例中,我们使用 cat 命令打开影子文件;然后使用 grep 命令过滤掉 root 帐户,最后使用提取密码的 cut 命令:
cat /etc/shadow | grep "root" | cut -d ":" -f 2

安全外壳

SSH协议是一种安全连接,允许您在Linux主机(在本例中是Kali)上远程执行命令。缺省情况下,SSH是一个TCP协议,工作端口为22。有两种方法可以连接到远程SSH服务器: 

使用用户名/密码凭证

使用公钥/私钥(无密码)

带凭据的SSH

让我们首先从使用密码的方法开始。缺省情况下,除root帐号外的所有用户帐号都可以远程登录SSH。

ssh 用户名@kali的ip 地址

我这边是用的xshell。刚开始可能 连接不上,会出现22号端口被占用的现象,解决方法

Xshell连接(虚拟机)VMware work station 22(端口)错误的解决方案_xshell无法连接22端口_YJlio的博客-CSDN博客我这个已经是链接好的状态了

无密码SSH

使用公钥和私钥,远程用户可以通过SSH方式登录。这种方法比密码方式更安全,因为没有人能够使用暴力破解技术远程进入您的服务器。当涉及到公钥/私钥机制时,存在很多误解。在接下来的步骤中,我从头开始开发了一个示例,以便您可以直观地了解实际情况:以下是客户机机器信息:

以下我用了 两台机器做测试  一台名字叫做yanglijie另外一台是Gus

要实现两台主机之间免密登陆

首先在yanglijie的终端生成钥密

ssh-keygen -t rsa #-t表示类型选项,这里采用rsa加密算法

将yanglijie终端生成好的钥密复制到Gus

ssh-copy-id Gus@192.168.247.128

这样两台主机之间就不用输入密码了

Kali Linux系统管理

使用Kali Linux作为渗透测试工具,必须知道如何处理它的系统,包括如何启动Apache web服务器或检查其状态。这样的例子不胜枚举。不要担心,稍后我们将介绍您作为渗透测试人员会遇到的最常见的场景。

Linux主机信息

hostname #查看主机信息

如果您想更改Kali主机名该怎么办?然后你需要编辑它的配置文件/etc/hostname(输入你想要的计算机名,不要忘记保存并重启你的主机)。

Linux操作系统信息

了解Linux主机的操作系统信息对于权限升级至关重要。这样您就可以知道所使用的版本是否容易受到特权升级的攻击(我们将在第10章中详细讨论这个主题)。为了显示Linux操作系统的操作系统信息(在我们的例子中是Kali Linux),我使用uname命令,同时显示/etc/issue配置文件的内容:

uname -a #查看系统信息

 

cat /etc/issue #查看issue目录

Linux硬件信息

有时,您可能会使用与您的PC或VM硬件相关的特殊命令。要获取Linux主机的CPU信息,需要打开/proc/ cpuinfo:

cat /proc/cpuinfo

要获取您的Kali主机的内存条信息,那么您需要打开配置文件/proc/meminfo: 

 cat /proc/meminfo

要显示附加的设备(例如,磁盘驱动器,分区等),那么您可以选择两个命令:fdisk(显示更多信息)或lsblk:

fdisk -l

lsblk

要显示USB设备的列表(例如,鼠标,键盘,u盘等),那么你必须执行1susb命令:

lsusb

要将所有挂载的目录显示到文件系统中,需要执行mount命令:

mount

 管理运行中的服务

服务是可以在您的Kali Linux机器上运行的服务器,例如SSH, web, FTP等。渗透测试中的一个常见任务是在您的Kali上运行web服务器,以便您可以在获得远程shell后将文件传输到受害机器(我将在本书后面详细介绍)。因此,例如,在您的Kali Linux上启动web服务器(供您参考,这不是启动服务的唯一方法,但这是我最喜欢的方法,因为它很容易记住):

service apache2 start   #启动apache2

以下是关于管理服务您需要了解的其余命令:

获取服务的状态(启动、停止):

service [服务名称] status
systemctl status [服务名称]

启动服务:

service [服务名称] start
systemctl start [服务名称]

停止服务服务器。

service [服务名称] stop

systemctl stop [服务名称]

重新启动服务。

service [服务名称] restart

systemctl restart [服务名称]

启用服务在启动时自动启动。

systemctl enable [服务名称]

禁用服务在启动时自动启动。

systemctl disable [服务名称]

包管理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1115175.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么MySQL使用B+树索引,而不使用其他作为索引呢?

索引介绍 索引是一种用于快速查询和检索数据的数据结构&#xff0c;其本质可以看成一种排序号的数据结构。 索引的作用相当于书的目录。打个比方&#xff1a;在查字典的时候&#xff0c;如果没有目录&#xff0c;那我们就只能一页一页地去查&#xff0c;速度很慢。如果有目录…

怎么把图片转换成ico图标文件?

环境&#xff1a; Win10 专业版 问题描述&#xff1a; 怎么把图片转换成ico图标文件 解决方案&#xff1a; 要将图片转换为 ico 图标文件&#xff0c;可以使用以下几种方法&#xff1a; 方法 1&#xff1a;使用在线转换器 1.访问在线 ico 转换器&#xff0c;例如&#xf…

others-AppLovin广告接入

title: others-AppLovin广告接入 categories: Others tags: [广告, AppLovin] date: 2023-10-20 10:07:01 comments: false mathjax: true toc: true others-AppLovin广告接入 前篇 官方 - https://www.applovin.com/ Android sdk - https://github.com/AppLovin/AppLovin-MAX…

03-Android App logger策略

背景 经常会为log定位而烦恼。比如&#xff1a;同一个类&#xff0c;一样的log输出&#xff0c;无法定位到Log输出的行。 方案 1.java StackTraceElement 通过java StackTraceElement获取类名&#xff0c;以及log输出行 2. 具体实现 NonNullprivate static String getSour…

基于金枪鱼群优化的BP神经网络(分类应用) - 附代码

基于金枪鱼群优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码 文章目录 基于金枪鱼群优化的BP神经网络&#xff08;分类应用&#xff09; - 附代码1.鸢尾花iris数据介绍2.数据集整理3.金枪鱼群优化BP神经网络3.1 BP神经网络参数设置3.2 金枪鱼群算法应用 4.测试结果…

FreeRTOS入门教程(互斥锁的概念和函数使用)

文章目录 前言一、互斥锁的概念二、互斥锁相关函数三、使用互斥锁完成同步四、FreeRTOS中互斥锁存在的问题五、优先级反转和优先级继承六、死锁七、递归锁总结 前言 本篇文章带大家学习什么是互斥锁&#xff0c;并且学习一下互斥锁中一些函数的使用方法。 一、互斥锁的概念 …

修改java项目启动后在jps展示的名称

文章目录 问题在服务器上启动jar包的时候,通过jps查看java进程只展示个 jar解决,指定jar包的全路径jps查看maven打包修改jar名称 问题在服务器上启动jar包的时候,通过jps查看java进程只展示个 jar 解决,指定jar包的全路径 java -jar /root/test/aaa.jarjps查看 494976 aaa.ja…

OpenCV实现物体尺寸的测量

一 &#xff0c;项目分析 物体尺寸测量的思路是找一个确定尺寸的物体作为参照物&#xff0c;根据已知的计算未知物体尺寸。 如下图所示&#xff0c;绿色的板子尺寸为220*300&#xff08;单位&#xff1a;毫米&#xff09;&#xff0c;通过程序计算白色纸片的长度。 主要是通过…

DatenLord前沿技术分享 No.38

达坦科技专注于打造新一代开源跨云存储平台DatenLord&#xff0c;通过软硬件深度融合的方式打通云云壁垒&#xff0c;致力于解决多云架构、多数据中心场景下异构存储、数据统一管理需求等问题&#xff0c;以满足不同行业客户对海量数据跨云、跨数据中心高性能访问的需求。在本周…

WebGIS面试(第二期)

一、简介 近期看到好多小伙伴在寻找WebGIS方面的面试题&#xff0c;正好本人之前也因自己面试分享过一些面试题&#xff0c;秋招目前逐步也快结束了&#xff0c;所以我现在慢慢整理一些包括自己面试以及网上公开的一些我认为有用的面试题&#xff0c;仅供参考&#xff0c;大多…

吃鸡游戏出现msvcp140.dll缺失的四个解决方法

首先&#xff0c;让我们了解一下什么是MSVCP140.dll。MSVCP140.dll是Microsoft Visual C 2015 Redistributable Package的一部分&#xff0c;它是一组C库文件&#xff0c;用于支持使用Visual Studio 2015开发的应用程序。如果你的程序需要这些库文件来正常运行&#xff0c;那么…

结构体内存对齐规则

✨前言✨ &#x1f4d8; 博客主页&#xff1a;to Keep博客主页 &#x1f646;欢迎关注&#xff0c;&#x1f44d;点赞&#xff0c;&#x1f4dd;留言评论 ⏳首发时间&#xff1a;2023年10月20日 &#x1f4e8; 博主码云地址&#xff1a;博主码云地址 &#x1f4d5;参考书籍&…

【量化交易笔记】10.建立最简单的交易策略

概述 量化说得简单一些用策略进行股票交易&#xff0c;在实施交易之前&#xff0c;需要制定策略&#xff0c;并回测试共效果 为了把交易说明清楚&#xff0c;将这个过程&#xff0c;能简单&#xff0c;就简单&#xff0c;总之&#xff0c;简单&#xff0c;简单再简单。 以下主…

NodeJS的初使用,以及引入第三方插件和安装淘宝镜像的教程

NodeJs 命令 npm init -y 生成package.json文件npm i jquery --save–dev 开发依赖(jQuery后面还可以跟模块,可以有多个)npm i jquery --save 生产依赖npm i jquery --D 开发依赖npm uninstall jquery 卸载删除npm i 把删掉的模块,全部重新加载回来 1.介绍 1.什么是NodeJs?…

SystemVerilog Assertions应用指南 Chapter 1.16“ended”结构

1.16“ended”结构 到目前为止,定义的序列都只是用了简单的连接( concatenation)的机制。换句话说,就是将多个序列以序列的起始点作为同步点,来组合成时间上连续的检查。SVA还提供了另种使用序列的结束点作为同步点的连接机制。这种机制通过给序列名字追加上关键词“ ended”来…

python二次开发Solidworks:修改实体尺寸

立方体原始尺寸&#xff1a;100mm100mm100mm 修改后尺寸&#xff1a;10mm100mm100mm import win32com.client as win32 import pythoncomdef bin_width(width):myDimension Part.Parameter("D1草图1")myDimension.SystemValue width def bin_length(length):myDime…

OpenGL —— 2.6、绘制一个正方体并贴图(附源码,glfw+glad)

源码效果 C源码 纹理图片 需下载stb_image.h这个解码图片的库&#xff0c;该库只有一个头文件。 具体代码&#xff1a; vertexShader.glsl #version 330 corelayout(location 0) in vec3 aPos; layout(location 1) in vec2 aUV;out vec2 outUV;uniform mat4 _viewMatrix; u…

手帐怎么做?推荐这10款手帐达人都在用的好用软件!

手帐是一种强大的可视化方式&#xff0c;可以记录你的观察、日常的思考&#xff0c;并随时间的推移来衡量你的进步。在各种手帐软件的帮助下&#xff0c;创建并完全自定义你的手帐变得比以往任何时候都更容易。 有无数的手帐软件可供选择&#xff0c;满足各种需求。但在众多的…

基于Java的勤工助学管理系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序&#xff08;小蔡coding&#xff09; 代码参考数据库参考源码获取 前言 &#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作者&am…

京东数据分析:2023年9月京东洗烘套装品牌销量排行榜!

鲸参谋监测的京东平台9月份洗烘套装市场销售数据已出炉&#xff01; 根据鲸参谋平台的数据显示&#xff0c;今年9月份&#xff0c;京东平台洗烘套装的销量为7100&#xff0c;环比下降约37%&#xff0c;同比增长约87%&#xff1b;销售额为6000万&#xff0c;环比下降约48%&#…