Linux查找疑似被挂木马文件方法以及Nginx根据不同IP做不同反向代理

一、先说被挂马的文件吧。

木马文件一般会伪装成正常文件,或者非可执行文件,以达到欺骗的目的。

比方说,伪装成icon图标文件。

找到一个伪装的文件,用编辑器打开,就会发现里面是源码。

这种的工作原理大概是,在某一个正常的文件中用include引入这个图标文件,

然后,文件中的代码就被不知不觉的跟随正常的应用文件执行了。

同时,为了达到隐藏的目的,include的代码也不是显式的写的。

例如:@include "\x2fh\x6fm\x65/\x77w\x77r\x6fo\x74/\x64e\x66a\x75l\x74/\x77p

这里有一点要注意,\xdd这样的写法,其中dd是16进制数,用这样的元字符来代替

相应的字母,以达到隐式拼接路径的目的。

下面说怎么查找:

我用的命令是:

grep --color -i -r -n "@include"  /home/

其他方法可查看这个链接

这样就可以在指定位置,比如“/home/”目录里查看所有包含“@include”的文件

然后用文本编辑器打开疑似木马文件的那个文件,看是否是代码。

如果是,找出其代表性的字符。比如,define的常量。

接下来就用类似上面的步骤,查找出具有相同特征的文件就行了。

二、用Nginx做反向代理

先上代码:

location / 
{
    proxy_redirect     off;
    proxy_set_header   Host             $host;
    proxy_set_header   X-Real-IP        $remote_addr;
    proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
    if ($remote_addr ~* 255.255.255.0){
        proxy_pass  http://127.0.0.1:8080;
        break;
    }
    proxy_pass  https://www.baidu.com;
}

其中如果是255.255.255.0这个IP来访问,则跳转到本地8080端口

前提是要打开并监听这个端口

如果不是,则跳转到百度

这里有一点要注意,if条件里面,如果包含路径,要用$request_uri来代替。

同时,如果if中不使用proxy_pass则不会执行if里面的配置。

也附上链接地址

posted @ 2018-02-26 19:26  浣溪山  阅读(599)  评论(0编辑  收藏  举报