1、从根目录(/)使用ls命令来探索Linux的目录结构。使用cd命令进入每个目录,并运行pwd命令来验证你在目录结构中的位置。
首先,在根目录下使用 `ls` 命令查看目录内容,示例:
kali > ls
会列出根目录下的文件和子目录,如 `bin`、`boot`、`dev` 等。
接着,使用 `cd` 命令进入特定目录,例如进入 `/etc` 目录:
kali > cd /etc
此时可通过 `pwd` 命令验证位置:
kali:/etc > pwd
会显示当前所在的 `/etc` 目录。
若要从 `/etc` 目录向上移动一层到根目录,使用:
kali:/etc > cd ..
再用 `pwd` 验证:
kali > pwd
会显示 `/`。
也可直接使用以下命令从任意位置回到根目录:
kali > cd /
##2、使用 whoami 命令来验证你当前登录的用户是谁。
在终端输入 `whoami` 命令,若返回 `root`,则表示以 root 用户登录;若返回其他用户名,如 `OTW`,则表示以该用户名对应的用户登录。
##3、使用locate命令查找可用于密码破解的单词列表。
在终端中输入“locate wordlist”,即可查找Kali Linux中众多的密码列表。
##4、使用“cat”命令创建一个新文件,然后向该文件追加内容。请记住,“>”用于将输入重定向到文件,“>>”用于向文件追加内容。
# 文件操作示例
## 创建新文件示例
使用以下命令创建一个新文件并输入内容:
```bash
cat > hackingskills
输入内容如下:
Hacking is the most valuable skill set of the 21st century!
按下 Ctrl + D 退出。
追加内容示例
使用以下命令向文件追加内容:
cat >> hackingskills
输入内容如下:
Everyone should learn hacking
按下 Ctrl + D 退出。
5、创建一个名为 hackerdirectory 的新目录,并在该目录中创建一个名为 hackedfile 的新文件。现在将该文件复制到 /root 目录并将其重命名为 secretfile。
以下是完成该操作的命令步骤:
创建名为
的目录:
hackerdirectory
bash mkdir hackerdirectory
进入
目录:
hackerdirectory
bash cd hackerdirectory
创建名为
的文件:
hackedfile
bash touch hackedfile
复制
文件到
hackedfile
目录并命名为
/root
:
secretfile
bash cp hackedfile /root/secretfile
6、Navigate to /usr/share/metasploit-framework/data/wordlists. This is a directory of multiple wordlists that can be used to brute force passwords in various password-protected devices using Metasploit, the most popular pentesting and hacking framework.
导航到
目录。这是一个包含多个单词列表的目录,可使用最流行的渗透测试和黑客攻击框架 Metasploit 对各种受密码保护的设备进行密码暴力破解。
/usr/share/metasploit-framework/data/wordlists
7、使用 cat 命令查看文件 password.lst 的内容。
在命令行输入 cat password.lst 即可查看该文件内容。
8、使用more命令显示文件password.lst的内容。
使用命令:more password.lst
9、使用 less 命令查看 password.lst 文件。
在命令行中输入
即可查看该文件。
less password.lst
10、现在使用nl命令为password.lst文件中的密码添加行号。该文件中应该大约有88396个密码。
使用命令
为文件中的密码添加行号。
nl password.lst
11、使用tail命令查看password.lst文件中的最后20个密码。
在终端中输入命令:
tail -20 /usr/share/metasploit-framework/data/wordlists/password.lst
(假设
文件在指定目录下)
password.lst
12、使用cat命令显示password.lst文件内容,并通过管道操作找出所有包含123的密码。
在命令行中输入
即可实现使用
cat password.lst | grep 123
命令显示
cat
文件内容,并通过管道操作找出所有包含
password.lst
的密码。
123
13、查找你活跃网络接口的信息。
可以使用
命令来查找活跃网络接口的信息,在终端中输入
ifconfig
即可查询活跃网络连接。
ifconfig
14、将eth0接口的IP地址更改为192.168.1.1。
在终端中输入命令:ifconfig eth0 192.168.1.1
15、更改eth0接口的硬件地址。
可以使用
命令来更改。具体步骤为:
ifconfig
首先使用
命令的
ifconfig
选项关闭接口。 然后输入
down
命令,后跟接口名称、
ifconfig
(表示硬件)、
hw
(表示以太网)和新的伪造 MAC 地址。 最后使用
ether
选项将接口重新启用,使更改生效。
up
示例命令如下:
ifconfig eth0 down
ifconfig eth0 hw ether 00:11:22:33:44:55
ifconfig eth0 up
16、检查你是否有任何可用的无线接口处于活动状态。
可以使用
命令来检查是否有可用的无线接口处于活动状态。当输入该命令后,会显示无线接口及其关键数据。
iwconfig
例如:
kali > iwconfig
若输出中显示了类似
等无线接口的相关信息,则表明有可用的无线接口处于活动状态。
wlan0
17、将你的 IP 地址重置为 DHCP 分配的地址。
要从 DHCP 请求 IP 地址,可使用
命令,后跟要分配地址的接口。
dhclient
例如在 Kali 系统中,使用命令:
dhclient eth0
该命令会从指定的网络接口(这里是
)发送 DHCPDISCOVER 请求,然后从 DHCP 服务器接收一个提供(DHCPOFFER),并通过 DHCP 请求向 DHCP 服务器确认 IP 分配。
eth0
之后输入:
ifconfig
就能看到 DHCP 服务器已为网络接口
分配了新的 IP 地址、新的广播地址和新的网络掩码。
eth0
18、查找你喜欢的网站的名称服务器和电子邮件服务器。
可以使用
命令来查找网站的名称服务器和电子邮件服务器。要查找名称服务器,可在命令行输入:
dig
dig [网站域名] ns
要查找电子邮件服务器,可输入:
dig [网站域名] mx
例如查找
的名称服务器和电子邮件服务器,分别使用:
hackers-arise.com
dig hackers-arise.com ns
和
dig hackers-arise.com mx
19、将谷歌的 DNS 服务器添加到你的 /etc/resolv.conf 文件中,这样当你的系统无法使用本地 DNS 服务器解析域名查询时,就会引用该服务器。
可以在
文件中先保留本地 DNS 服务器设置,再添加如下行指定谷歌的公共 DNS 服务器:
/etc/resolv.conf
nameserver 8.8.8.8
然后保存文件;也可以通过命令行输入:
kali > echo "nameserver 8.8.8.8" >> /etc/resolv.conf
注意这里使用
符号是为了追加内容而不是替换,确保本地 DNS 服务器设置仍保留在文件中。
>>
20、从Kali仓库安装一个新的软件包。
要从Kali仓库安装新的软件包,可使用
命令。例如,要安装Synaptic,可使用命令
apt-get install
;若要安装Snort包,可直接使用
apt-get install synaptic
命令安装。如果要安装Oracle Java 8,在添加相应仓库到
apt-get install
文件后,使用
sources.list
命令进行安装。
apt-get install oracle-java8-installer
21、如何在基于Debian系统(如Kali Linux)中移除同一个软件包,以及如何同时移除其配置文件?
使用
命令并搭配
apt-get
选项,后跟要移除的软件名称,例如移除 Snort 可使用命令:
remove
kali > apt-get remove snort
若想同时移除配置文件,可使用
选项,如:
purge
kali > apt-get purge snort
22、更新你的软件源。
你可以通过输入
命令并紧跟关键字
apt-get
来更新你的系统。示例命令如下:
update
kali > apt-get update
此命令会搜索系统上的所有软件包,并检查是否有可用更新,若有则进行下载。
23、如何升级系统上现有的软件包?
要升级系统上现有的软件包,使用
命令。在输入
apt-get upgrade
之前,必须以 root 用户身份登录。
apt-get upgrade
此命令将升级系统上
所知的每个软件包,即仅升级存储在软件仓库中的软件包。
apt
升级可能很耗时,期间系统可能无法正常使用。执行命令后,系统会估算软件包所需的硬盘空间,若有足够硬盘空间且想继续升级,输入
即可。
Y
24、从 GitHub 上选择一款新软件并将其克隆到你的系统中。
可使用
命令将软件从 GitHub 复制到系统。例如克隆 bluediving,使用
git clone
后,可用
git clone
命令查看目标目录,若输出类似如下内容则表示克隆成功:
ls -l
total 80
drwxr-xr-x 7 root root 4096 Jan 10 22:19 bluediving
drwxr-xr-x 2 root root 4096 Dec 5 11:17 Desktop
...
即会创建一个名为
的新目录存放其文件。
bluediving
25、选择一个目录并对其执行长列表显示操作。记录文件和目录的权限。
该题是一个操作练习,需在Linux系统中进行实际操作。步骤为:
打开终端 使用
命令进入所选目录 然后使用
cd
命令进行长列表显示 查看并记录文件和目录权限
ls -l
26、选择一个你没有执行权限的文件,使用chmod命令给自己添加执行权限。尝试使用数字方法(777)和UGO方法。
数字方法:运行命令
chmod 777 文件名
UGO方法:运行
,其中“u”代表用户(所有者),“+”代表添加权限,“x”代表执行权限。
chmod u+x 文件名
27、在你的系统上使用
ps aux
命令运行
ps
命令,并记录第一个和最后一个进程分别是什么。
ps aux
ps
第一个进程通常是
(在较新的系统中可能是
init
),最后一个进程是用于显示进程列表的
systemd
命令本身。
ps aux
28、使用kill命令杀死占用最多资源的进程。
以下是调整为 Markdown 格式的原文内容:
可以先使用
命令识别出占用最多资源的进程及其 PID,若要确保进程被终止,可使用绝对终止信号 SIGKILL(编号为 9),命令格式为
top
;若使用默认信号 SIGTERM(编号为 15),可直接使用
kill -9 PID
(不提供信号标志时默认使用 SIGTERM)。例如,若占用最多资源的进程 PID 为 6996,使用绝对终止信号的命令为
kill PID
;使用默认信号的命令为
kill -9 6996
。
kill 6996
29、使用renice命令将一个正在运行的进程的优先级降低到+19。
要使用
命令将一个正在运行的进程的优先级降低到
renice
,需要知道该进程的 PID(进程 ID)。
+19
假设进程的 PID 是
,那么可以使用以下命令:
6996
renice 19 6996
30、使用more命令查看所有环境变量。
可以使用命令
来查看所有环境变量,包括 shell 变量、局部变量和 shell 函数等,该命令会逐行显示变量,方便查看。
set | more
31、使用 echo 命令查看 HOSTNAME 变量。
在命令行中输入 echo $HOSTNAME 即可查看 HOSTNAME 变量。
32、创建一个名为 MYNEWVARIABLE 的变量,并将你的名字存储在其中。
在命令行输入:
MYNEWVARIABLE="你的名字"
例如:
MYNEWVARIABLE="张三"
33、使用 echo 命令查看 MYNEWVARIABLE 变量的内容。
使用命令
来查看,示例如下:
echo $MYNEWVARIABLE
kali > echo $MYNEWVARIABLE
执行后会输出该变量的值。
34、导出变量 MYNEWVARIABLE,使其在所有环境中都可用。
在命令行输入“export MYNEWVARIABLE” 即可将该变量导出,使其在所有环境中可用。
35、使用 echo 命令查看 PATH 变量的内容。
在终端输入命令:
echo $PATH
系统会输出
变量的内容,如:
PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
36、将你的主目录添加到 PATH 变量中,以便主目录中的任何二进制文件都可以在任何目录中使用。
可以使用以下命令将主目录添加到
变量:
PATH
PATH=$PATH:/your_home_directory
其中
需要替换为你实际的主目录路径。
/your_home_directory
37、将你的 PS1 变量更改为“World’s Greatest Hacker:”。
在命令行输入类似
这样的命令来更改
PS1="World's Greatest Hacker:"
变量。
PS1
38、创建一个类似HelloHackersArise脚本的自定义问候脚本。
创建自定义问候脚本的步骤
打开文本编辑器,输入以下内容:
bash #! /bin/bash # 这是一个自定义问候脚本。 echo "你自定义的问候语,例如:Hello, World!"
保存文件,例如保存为
,可不加扩展名。
CustomGreeting
赋予执行权限,在命令行中使用
命令:
chmod
bash kali > chmod 755 CustomGreeting
运行脚本:
bash kali > ./CustomGreeting
39、从三个指定文件创建一个 tarball,将该 tarball 命名为 L4H,并关注这三个文件在打包成 tarball 时,它们的大小总和是如何变化的。
使用
命令创建 tarball,命令格式为:
tar
tar -cvf L4H 三个文件的具体名称
通常打包后文件会有显著开销,例如三个文件原本总和 35,094 字节,打包成
后变为 40,960 字节,增加了超 5,000 字节,但随着文件增大,开销占比会减小。
HackersArise.tar
40、使用 dd 命令对其中一个闪存驱动器进行逐位物理复制。
要使用
命令对闪存驱动器进行逐位物理复制,假设闪存驱动器为
dd
,可在命令行输入:
sdb
dd if=/dev/sdb of=/root/flashcopy
其中:
是物理“复制”命令;
dd
指定输入文件,
if
表示
/dev/sdb
目录下的闪存驱动器;
/dev
指定输出文件;
of
是要将物理副本复制到的文件名。
/root/flashcopy
还可使用
和
noerror
(块大小)等选项,若使用这些选项,命令示例为:
bs
dd if=/dev/media of=/root/flashcopy bs=4096 conv=noerror
41、使用挂载(mount)和卸载(umount)命令来挂载和卸载你的闪存驱动器。
挂载闪存驱动器:
假设闪存驱动器为
,挂载点为
/dev/sdc1
使用命令:
/media
mount /dev/sdc1 /media
卸载闪存驱动器:
假设闪存驱动器为
使用命令:
/dev/sdc1
umount /dev/sdc1
42、检查你的主硬盘上的可用磁盘空间。
可以使用
命令来检查磁盘空间信息。若不使用任何选项,
df
默认显示所有挂载驱动器的信息;若要检查特定驱动器,在
df
命令后跟上要检查的驱动器标识(例如
df
)。
df /dev/sdb
示例命令如下:
kali > df
该命令会输出类似如下格式的信息:
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 19620732 17096196 1504788 92% /
udev 10240 0 10240 0% /dev
--snip--
/dev/sdb1 29823024 29712544 110480 99% /media/USB3.0
其中 Available 列显示的就是可用磁盘空间,单位为 1KB 块。
43、使用fsck检查你的闪存驱动器是否有错误。
首先,要卸载设备,例如卸载闪存驱动器可使用命令:
umount /dev/sdb1
然后可添加
选项让
-p
自动修复设备问题,使用命令:
fsck
fsck -p /dev/sdb1
来检查设备是否有坏扇区或其他问题。
44、使用dd命令将一个闪存驱动器的全部内容(包括已删除的文件)复制到另一个闪存驱动器。
下面是给定的【文本内容】::假设源闪存驱动器为`/dev/sdb`,目标闪存驱动器为`/dev/sdc`,可使用命令:
dd if=/dev/sdb of=/dev/sdc
若要使用选项,如设置块大小为4096字节并在遇到错误时继续复制,命令为:
dd if=/dev/sdb of=/dev/sdc bs=4096 conv=noerror
45、使用lsblk命令来确定块设备的基本特性。
可在 Linux 系统中打开终端,输入
命令并回车执行,命令执行后会在终端显示系统中块设备的基本信息,如设备名称、挂载点、容量、分区等。
lsblk
46、使用locate命令查找所有与rsyslog相关的文件。
在 Kali 系统中,打开终端并输入以下命令:
locate rsyslog
结果如下:
/etc/rsyslog.conf
/etc/rsyslog.d
/etc/default/rsyslog
/etc/init.d/rsyslog
/etc/logcheck/ignore.d.server/rsyslog
/etc/logrotate.d/rsyslog
/etc/rc0.d/K04rsyslog
47、打开 rsyslog.conf 文件并将日志轮转设置为每周一次。
在
文件中进行修改,将 logrotate 相关配置里的轮转时间单位设置为每周,轮转次数相关设置根据需求调整。将时间单位设置为
/etc/rsyslog.conf
,若想每周轮转一次可设置
weekly
。
rotate 1
操作步骤如下:
使用
命令查找 rsyslog 相关文件,找到
locate
; 使用文本编辑器(如
/etc/rsyslog.conf
)打开该文件,修改 logrotate 相关配置,设置为
leafpad
和
weekly
; 保存修改后的文件。
rotate 1
48、使用shred命令粉碎并删除所有内核日志文件。
可以使用以下命令来粉碎并删除所有内核日志文件:
shred -f -n 10 /var/log/kern.log.*
选项用于在必要时更改文件权限以允许覆盖
-f
表示覆盖文件 10 次
-n 10
利用通配符来匹配所有相关的内核日志文件
/var/log/kern.log.*
49、尝试使用proxychains和Firefox浏览器访问你喜欢的网站。
可以按照以下步骤操作:
若不想使用 Tor,需在
文件中注释掉指向 Tor 默认配置(
proxychains.conf
)的行; 可前往 http://www.hidemy.name 查找代理 IP 地址,并添加到
127.0.0.1:9050
文件中,例如添加
proxychains.conf
类型的代理; 保存配置文件后,在终端输入命令:
socks4
bash kali > proxychains firefox [你喜欢的网站网址]
即可通过代理在 Firefox 中打开指定网站。
50、探索一些供应商提供的商业VPN服务。选择一个并试用免费版。
可选的商业 VPN 服务
以下是一些可选择的商业 VPN 服务:
IPVanish NordVPN ExpressVPN CyberGhost Golden Frog VPN Hide My Ass (HMA) Private Internet Access PureVPN TorGuard Buffered VPN
多数服务每年收费在 50 – 100 美元 之间,且很多提供 30 天免费试用 。
使用步骤
从中选择一个服务; 访问其官网; 按照官网提供的下载、安装和使用说明进行操作,以进行免费试用。
51、注册一个免费的 ProtonMail 账户,并向 occupytheweb@protonmail.com 发送一条安全问候信息。
访问 ProtonMail 官网 注册免费账户。 登录后撰写一条安全问候信息。 将信息发送至
。
occupytheweb@protonmail.com
52、运行 iwconfig 命令并记录任何无线网络适配器。
运行“kali >iwconfig”命令后,输出显示唯一具有无线扩展的网络接口是 wlan0,lo 和 eth0 都没有无线扩展。对于 wlan0,可知设备支持 802.11 IEEE 无线标准中的 b 和 g,无线扩展模式为“Managed”,无线适配器未连接到接入点,发射功率为 20 dBm。
53、使用iwlist命令查看范围内有哪些Wi-Fi接入点。
执行
命令后,输出应包含无线接口范围内的所有 Wi-Fi 接入点,以及每个接入点的关键数据,如接入点的 MAC 地址、工作的信道和频率、信号质量、信号强度、加密密钥是否启用以及 ESSID 等。示例输出如下:
iwlist
Frequency:2.412GHz (Channel 1)
Quality=70/70
Signal level=-38 dBm
Encryption key:off
ESSID:"Hackers - Arise"
54、使用nmcli连接到你的Wi-Fi接入点。
使用以下语法连接到接入点:
nmcli dev wifi connect AP-SSID password APpassword
例如,若有一个SSID为
的接入点,密码是
Hackers-Arise
,则输入:
12345678
nmcli dev wifi connect Hackers-Arise password 12345678
55、使用 hciconfig 启动你的蓝牙适配器,并使用 hcitool 扫描附近可发现的蓝牙设备。
使用命令
(假设蓝牙适配器名为
hciconfig hci0 up
)启动蓝牙适配器,若命令成功运行,将无输出,仅显示新的命令提示符;
hci0
使用
命令扫描附近处于发现模式的蓝牙设备。
hcitool scan
56、如何使用 l2ping 测试蓝牙设备是否在可到达的距离范围内?
使用
命令,语法为:
l2ping
l2ping MACaddress -c NumberOfPackets
例如:
kali > l2ping 76:6E:46:63:72:66 -c 3
根据输出判断设备是否在可到达距离内,若有响应则说明设备在范围内且可到达。