find命令用于许多类型的搜索。在安全性方面,可能会发现自己在寻找没有owner(没有相应帐户)或者都是可写和可执行文件的文件。find命令很容易编写,但需要熟悉它的许多选项来定义要查找的内容。以下两个命令中的第一个将查找当前没有定义所有者的文件。 第二个将找到可能任何人都可以运行和修改的文件。
- $ sudo find /home -nouser
- $ sudo find / -perm -o=wx
请记住,第二个命令中的-o引用“其他”组,不是所有者,不是与文件关联的组。
file
file命令查看文件并根据其内容而不是其名称确定文件的类型。许多文件(如jpeg文件)在标识它们的文件的开头附近包含标识符。以下示例中的“.jpg”文件显然不是真正的jpeg文件,而是可执行文件 ,尽管它的名称包含jpg。
- jdoe@stinkbug:~$ ls -ltotal 24-rw-r--r-- 1 root root 0 Apr 13 09:59 empty-rwxr-xr-x 1 jdoe jdoe 18840 May 10 17:39 myphoto.jpg-rwx------ 1 jdoe jdoe 24 May 2 07:06 trythisjdoe@stinkbug:~$ file myphoto.jpgmyphoto.jpg: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=5d19f7a492405ea9b022a9aa8151f6fb4143633d, stripped
which
which命令标识在键入其名称时将运行的可执行文件。这并不总是你的想法。如果特洛伊木马程序已插入文件系统中的某个位置,该位置显示在合法帐户之前的搜索路径中,则会运行该木马程序。这是一个很好的理由,以确保搜索路径包含/usr/bin之类的目录,然后添加较少的标准位置,特别是在“.”(当前目录)之前。
- $ which date/usr/local/bin/date <=== probably not what we wanted
可以通过切换到用户并回显用户来检查用户的搜索路径:
- shs@stinkbug:~$ sudo su - nemonemo@stinkbug:~$ echo $PATH/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/snap/bin
即使用户的搜索路径设置在/etc/profile或/etc/bash.bashrc等系统文件中,它们也可能已被本地设置更改。
- $ which date/usr/local/bin/date<=== probably not what we wanted
SS
ss命令是一个用于调查套接字的工具,允许执行显示侦听端口和活动连接等操作。在不添加某些约束的情况下,ss将显示比可能想要查看的信息更多的信息。毕竟,操作系统的许多部分都通过套接字进行通信。如果要生成已建立的连接或侦听端口列表(即外部系统可用的服务),这些命令将非常有用。
建立连接:
- $ ss -tState Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 224 192.168.0.20:ssh 192.168.0.15:56647$ ss | grep ESTAB | grep tcptcp ESTAB 0 64 192.168.0.20:ssh 192.168.0.15:64885
监听端口:
- $ ss -ltnState Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:*LISTEN 0 5 127.0.0.1:631 *:* LISTEN 0 50 *:445 *:*LISTEN 0 50 *:139 *:*LISTEN 0 128 *:5355 *:*LISTEN 0 128 :::22 :::*LISTEN 0 5 ::1:631 :::*LISTEN 0 50 :::445 :::*LISTEN 0 128 :::5355 :::*LISTEN 0 50 :::139 :::*
请注意,端口631(CUPS)仅侦听环回接口(127.0.0.1)。
ufw
(编辑:ASP站长网)
|