我的服务器被黑了,我现在正试图找到所有“奇怪”的文件。我在跑步:
find . -type f -name '*' | xargs grep -l "Mini Shell"
这个命令对我查找和删除恶意代码有很大帮助。
然而,这也给了我很多错误,它涵盖了我所有的外壳,我无法轻易找到找到的 grepped 文件。这是我看到的一个例子:
grep: Player: No such file or directory
grep: Quick: No such file or directory
grep: Start: No such file or directory
grep: Guide.pdf: No such file or directory
grep: ./domain1.pl/wp-content/themes/kingsize/images/social/1.: No such file or directory
grep: license.txt: No such file or directory
grep: ./domain1.pl/wp-content/themes/kingsize/documentation/Express: No such file or directory
grep: Install.xml: No such file or directory
grep: ./domain2.net/wp-content/plugins/google-analytics-for-wordpress/assets/dependencies/datatables/images/Sorting: No such file or directory
grep: icons.psd: No such file or directory
./domain3.in/admin/static/radio.php
在上面的文本中,只有 1 个恶意文件,这是我要查找的。所有其他消息都是垃圾。如何避免在 grep 查询中收到此类“没有此类文件或目录”消息?
就像它在找到带有空格的文件名时中断一样。
谢谢
无需像这样在“xargs”中使用“find”管道。
我会做什么(
-r
:递归):错误是由于您有一些文件名中有空格的文件
如果要处理每个文件,即使文件名中有特殊字符,我建议(
NULL byte
用作文件分隔符):find
仅当要检查的文件具有特定的文件扩展名时才有意义,例如.php
. 然后你可以使用-exec
参数find
:这将使查找修改后的文件比 grepping 所有文件快得多。
-name='*'
单独没有意义。-type f
将使执行find
更快一些,因为将省略目录。一般建议
如果您的服务器被黑客入侵,您首先必须找到攻击向量,否则您将再次被黑客入侵。此外,最好从头开始设置它并从备份中恢复您的 Web 应用程序,因为您不太可能找到攻击者更改的所有文件,因此可能有一个不稳定或不安全的系统。