findwebshell使用手冊

0x00 概述

findWebshell是一款基于python開發(fā)的webshell檢查工具,可以檢查任意類型的webshell后門。

該工具具有一定的擴展能力,能夠通過字典添加以及插件開發(fā)兩種方式,對findwebshell進行擴展。

0x01 安裝

本工具的安裝方法比較簡單,因為是基于python開發(fā)的小工具,只要有python運行環(huán)境就可以了。

findwebshell

PS:源碼有些地方存在錯誤,需要修改。

plugins/php_packshell-plugin.py的第12行,多一個分號
plugins/php_include_file-plugin.py的第29行,少一個r

0x02 測試環(huán)境

測試環(huán)境:

  1. 運行環(huán)境:Ubuntu Server 12.04 LTS
  2. web服務器:apache2
  3. web應用:dvwa
  4. webshell:一句話木馬+中國菜刀

這樣的測試環(huán)境里,我們藏進去一個一句話木馬webshell(自留)以及一個文件包含webshell(dvwa自帶)。

0x03 使用方法

命令行參數(shù)

  • -h 幫助
  • -p PATH, --path=PATH 待掃描的web應用目錄路徑PATH
  • -o OUTPUT, --output=OUTPUT 創(chuàng)建文件格式為html的,文件名為OUTPUT的webshell掃描報告,默認為report.html
  • -e php|asp|aspx|jsp|all, --ext=php|asp|aspx|jsp|all 定義待掃描的文件格式

示例

python main.py -e php -p /path/to/web/applcation -o output

測試環(huán)境掃描

python main.py -e php -p /home/crazydog/workspace/src/DVWA-1.9/ -o output

掃描結(jié)果如下:

0x04 開發(fā)擴展

findWebshell具有擴展能力,該能力可以通過字典添加和插件開發(fā)的方式來實現(xiàn)。

字典添加

后門敏感關鍵字

directory/目錄下的文件sensitiveWord.py定義的是后門中的敏感關鍵字,可以手動添加,格式通常為{"關鍵字":"類型"}

其原理是某些后門文件中包含有指明后門相關信息的特有敏感字符,接著我們將這些敏感字符添加到字典之中,其中敏感詞分為php,jsp,asp,aspx四種字典。

文件如下:

#/usr/bin/env python
#coding=utf8

"""
    后門中包含的特有敏感字符
    自行手動添加各個類型后門到字典中,格式{"關鍵字":"類型"}
"""

#php敏感字符列表
php_sensitive_words = {
    "www.phpdp.org":"PHP神盾加密后門",
    "www.phpjm.net":"PHP加密后門"
}

#asp敏感字符列表
asp_sensitive_words = {
}

#aspx敏感字符列表
apsx_sensitive_words = {
}

#jsp敏感字符列表
jsp_sensitive_words = [
]

webshell列表

在在directory/目錄下的文件webshell.py定義了webshell列表。

其原理是定義了一個列表,列表中的文件名可能是潛在的已知webshell名以及明顯的木馬名字列表,需要關注。其中webshell類型分為php,jsp,asp,aspx四種。

文件如下:(我們可以在列表中添加可疑的文件名)

#!/usr/bin/env python
#coding=utf8

"""
    文件名包含明顯的木馬名字和已知webshell名列表
"""
#php的
php_webshell = [
"phpspy.php",
"yijuhua.php",
"houmeng.php",
"backdoor.php",
"后門.php",
"xxoo.php",
"一句話.php"
]

#asp的
asp_webshell = [
]

#aspx的
aspx_webshell = [
]

#jsp的
jsp_webshell = [
]

插件開發(fā)

命名規(guī)范

命名格式:網(wǎng)頁程序類型_后門類型-plugin.py

php_eval_assert-plugin.py php_preg_replace-plugin.py asp_execute-plugin.py

函數(shù)規(guī)范以及返回值

函數(shù)名: def judgeBackdoor(fileCtent):

存在后門則應返回后門類型,不存在則返回None。

我們擴展的插件基本上是基于一個原理,即通過正則表達式在讀入的文件內(nèi)容篩選出可疑的字段,從而判斷是否存在特定類型的webshell,這樣的方式一般需要較為強大的webshell特征代碼儲備,但是其本身還是對文件內(nèi)容的掃描,并沒有基于行為等。

0x04 優(yōu)缺點

優(yōu)點

  1. 開源
  2. 文件小,掃描速度快
  3. 容易擴展,存在字典方式和插件方式,這兩種方式。

缺點

  1. 字典方式和插件方式都是靜態(tài)的,是基于對webshell文件名、敏感文件內(nèi)容文本或者webshell內(nèi)容中的特征代碼的識別。其實現(xiàn)方式還是比較簡單粗暴的。
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • (源自摘抄整理)https://www.91ri.org/11494.html Webshell實現(xiàn)與隱藏探究 一...
    JackyTsuuuy閱讀 21,220評論 2 13
  • sqlmap用戶手冊 說明:本文為轉(zhuǎn)載,對原文中一些明顯的拼寫錯誤進行修正,并標注對自己有用的信息。 ======...
    wind_飄閱讀 2,207評論 0 5
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當給sq...
    xuningbo閱讀 10,567評論 2 22
  • 一套實用的滲透測試崗位面試題,你會嗎? 1.拿到一個待檢測的站,你覺得應該先做什么? 收集信息 whois、網(wǎng)站源...
    g0閱讀 5,165評論 0 9
  • 作者:Gilberto Najera-Gutierrez譯者:飛龍協(xié)議:CC BY-NC-SA 4.0 簡介 這章...
    三月行者閱讀 1,974評論 2 7

友情鏈接更多精彩內(nèi)容