1、系统信息
由于我们将使用许多不同的 Linux 系统,因此我们需要了解有关系统的结构和信息、其进程、网络配置、用户、目录、用户设置和相应的参数。以下是帮助我们获取上述信息的必要工具列表。它们中的大多数是默认安装的。
命令 | 描述 |
whoami | 显示当前用户名。 |
id | 返回用户身份 |
hostname | 设置或打印当前主机系统的名称。 |
uname | 打印有关操作系统名称和系统硬件的基本信息。 |
pwd | 返回工作目录名称。 |
ifconfig | ifconfig 实用程序用于为网络接口分配或查看地址和/或配置网络接口参数。 |
ip | Ip 是一种用于显示或操作路由、网络设备、接口和隧道的实用程序。 |
netstat | 显示网络状态。 |
ss | 另一个用于调查套接字的实用程序。 |
ps | 显示进程状态。 |
who | 显示登录者。 |
env | 打印环境或设置并执行命令。 |
lsblk | 列出阻止设备。 |
lsusb | 列出 USB 设备 |
lsof | 列出打开的文件。 |
lspci | 列出 PCI 设备。 |
<1、找出机器硬件名称并将其作为答案提交。 答案:x86_64
命令:uname -m
<2、htb-student 的主目录的路径是什么? 答案:/home/htb-student
命令:pwd
命令:cat /etc/passwd
<3、htb-student 邮件的路径是什么? 答案:/var/mail/htb-student
命令:env | grep mail
<4、为 htb-student 用户指定了哪个 shell? 答案:/bin/bash
命令:cat /etc/passwd
<5、系统安装了哪个内核版本?(格式:1.22.3) 答案:4.15.0
命令:uname -r
<6、MTU 设置为 1500 的网络接口的名称是什么? 答案:ens192(最大传输单元MTU(Maximum Transmission Unit,MTU),是指网络能够传输的最大数据包大小,以字节为单位。MTU的大小决定了发送端一次能够发送报文的最大字节数。如果MTU超过了接收端所能够承受的最大值,或者是超过了发送路径上途经的某台设备所能够承受的最大值,就会造成报文分片甚至丢弃,加重网络传输的负担。如果太小,那实际传送的数据量就会过小,影响传输效率。)
命令:ifconfig -a
2、导航
ls命令语法
ls [选项] [目录或文件名]
参数:
-a:--all的缩写,显示所有的文件,包括隐藏文件(以.开头的文件),参考示例1。(常用)
-A:--almost-all的缩写,显示所有的文件,包括隐藏文件,但不包括表示当前目录.和上级目录..这两个文件,参考示例2。
-c:和-lt一起使用:显示列表并且以ctime(文件状态最后改变时间)排序。和-l一起使用:显示ctime并且以文件名排序。其他情况,以ctime排序。参考示例3。
-d:--directory的缩写,仅列出目录本身,而不是列出目录里的内容列表,参考示例4。(常用)
-f:直接列出结果,而不进行排序(ls默认会以文件名排序)
--color[=WHEN]:是否根据文件类型显示颜色,WHEN可以为never、always或者auto
--full-time:以完整的实际模式显示(包含年月日时分),类似与ls -l --time-style=full-iso
<1、htb-user 的主目录中隐藏的 “history” 文件的名称是什么? 答案:.bash_history
命令:ls -a
<2、“/etc” 目录中的 “sudoers” 文件的索引号是什么? 答案:147627
Cd /etc
Ls -I |grep sudoers
3、使用文件和目录
<1、“/var/backups” 目录中最后修改的文件的名称是什么? 答案:apt.extended_states.0
命令:ls -l 可以查看文件最后修改时间
<2、“/var/backups” 目录中的 “shadow.bak” 文件的 inode 编号是多少? 答案:265293
命令:ls -i |grep shadow.bak
4、查找文件和目录
<1、2020 年 3 月 3 日之后创建的小于 28k 但大于 25k 的配置文件名称是什么? 答案:00-mesa-defaults.conf
命令:find / -type f -name "*.conf" -newerct "2020-03-03" -siz e +25k -size -28k
<2、系统上存在多少个扩展名为 “.bak” 的文件? 答案:4
命令:locate .bak
<3、提交 “xxd” 二进制文件的完整路径。 答案:/usr/bin/xxd
命令:which xxd
5、文件描述符和重定向
<1、系统上存在多少个文件扩展名为 “.log” 的文件? 答案:32
命令: find / -type f -name "*.log" 2>/dev/null | wc -l
6、筛选内容
<1、在所有接口上侦听目标系统上有多少个服务?(不仅仅是在 localhost 和 IPv4 上) 答案:7
命令:ss -l -4 | grep -v "127\.0\.0" | grep "LISTEN" | wc -l
<2、确定 ProFTPd 服务器在哪个用户下运行。提交用户名作为答案。 答案:proftpd
命令:cat /etc/proftpd/proftpd.conf | grep "User"
<3、使用 Pwnbox(不是目标机器)的 cURL 获取 Inlanefreight – Protected by Wordfence 网站的源代码,并过滤该域名的所有唯一路径。提交这些路径的数量作为答案。 答案:34
命令:
curl Inlanefreight – Protected by Wordfence | grep -Eo "https:\/\/.{0,3}\.inlanefreight\.com[^\"\']*" |sort -u |wc -l
7、用户管理
<1、需要设置哪个选项才能使用 “useradd” 命令为新用户创建主目录? 答案:-m
<2、需要设置哪个选项才能使用 “usermod” 命令锁定用户帐户?(选项的加长版) 答案:--lock
<3、需要设置哪个选项才能使用 “su” 命令以其他用户身份执行命令?(选项的加长版) 答案:--command
8、服务和流程管理
<1、使用“systemctl”命令列出所有服务单元,并提交单元名称,并提交描述为“加载由 snapd 内部管理的 AppArmor 配置文件”作为答案。 答案:snapd.apparmor.service
命令: systemctl list-units --all | grep "Load AppArmor profiles managed internally by snapd"
9、“dconf.service”的服务类型是什么? 答案:dbus
命令: systemctl show -p Type dconf.service
10、
<1、找到一种方法,在 Pwnbox 或本地 VM 中使用 “npm” 启动一个简单的 HTTP 服务器。提交在端口 8080 上启动 Web 服务器的命令(使用 short 参数指定端口号)。 答案:http-server -p 8080
<2、找到一种方法,在 Pwnbox 或本地 VM 中使用 “php” 启动一个简单的 HTTP 服务器。提交在 localhost (127.0.0.1) 端口 8080 上启动 Web 服务器的命令。 答案:php -S 127.0.0.1:8080
11、
<1、我们的 Pwnbox 中有多少个分区?(格式: 0) 答案:3
命令:lsblk