The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

Пример поиска подозрительных php-файлов, содержащих очень длинные строки
Некоторые вирусные php-файлы содержат очень длинные строки в коде. Такие файлы
можно поискать однострочником:

   find ./ -name "*.php" -print0 |  wc -L --files0-from=- | sort -V | grep -E "^[0-9]{5,}+ \\./"

найденные файлы можно просмотреть визуально или проверить чем-то еще.
 
25.05.2015 , Автор: 100RAGE1
Ключи: php, find, virus / Лицензия: CC-BY
Раздел:    Корень / Безопасность / Шифрование, PGP

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Адекват (ok), 07:41, 27/05/2015 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    | xargs rm -rf
     
     
  • 2.9, Коля (?), 00:23, 31/05/2015 [^] [ответить]    [к модератору]
  • –1 +/
    Ага, ага. Рекурсивность применять к единичным файлам. Молодец
     
  • 1.2, Аноним (-), 10:39, 27/05/2015 [ответить] [показать ветку] [···]    [к модератору]
  • +/
    А как насчет чего-нибудь типа
    find ./ -name "*.php" -exec grep 'eval.*base64_decode' '{}' \+
     
     
  • 2.3, Аноним (-), 10:39, 27/05/2015 [^] [ответить]    [к модератору]
  • +/
    grep -l конечно
     
  • 2.7, Xasd (ok), 13:33, 29/05/2015 [^] [ответить]    [к модератору]
  • +/
    в PHP кстати огромное количество функций которые делают eval ..

    например, preg_replace ..

    не говоря уже о том что можно сделать:

    $a = 'pre';
    $b = 'g_replace';
    $c = $a.$b;
    $c(...);

     
  • 1.4, 100RAGE1 (?), 13:07, 27/05/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Поиск eval.*base64_decode и других масок мы реализовали в антивирусе, но он не влез в одну строку кода, как в примере =)
     
     
  • 2.8, aaaaaaa (?), 15:19, 30/05/2015 [^] [ответить]    [к модератору]  
  • +/
    таки поделитесь, будте любезы...
     
  • 1.5, 100RAGE1 (?), 13:14, 27/05/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Кстати можно одним grep-ом:
    grep -Ri -lsE --include="*.php" "eval.*base64_decode|^GIF89|Web Shell by|r57shell|c99 inj|default_action=.*FilesMan" ./
    и так далее добавляем маски
     
  • 1.6, stalker37 (?), 23:47, 27/05/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    ещё часто ловится вот такое вот:
    if (!$ind78f5022f) { $ind78f5022f = TRUE;assert("e"."v"."a"."l(b"."a"."s"."e"."6"."4_d"."e"."c"."o"."d"."e('ICR........
     
  • 1.10, Аноним (-), 07:22, 02/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Таких видов файлов достаточно много, у нас список шаблонов в текстовом файле. Также есть класс шаблонов, в которых учтено, что название переменной или функции может изменяться.
     
  • 1.11, vitalif (ok), 15:51, 04/06/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Есть вот такая штука, https://github.com/emposha/PHP-Shell-Detector
     
     
  • 2.12, George (??), 13:47, 08/06/2015 [^] [ответить]    [к модератору]  
  • +/
    Давно не обновлялось.
     
     
  • 3.15, Олег (??), 12:09, 07/10/2015 [^] [ответить]    [к модератору]  
  • +/
    Два дня назад, от 2015.10.07. Это слишком давно..
     
  • 2.13, Hile (?), 15:02, 28/09/2015 [^] [ответить]    [к модератору]  
  • +/
    https://revisium.com/ai/
     
  • 1.14, Олег (??), 12:08, 07/10/2015 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Спасибо помогло :)
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:



      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor