1. crlf

    crlf Green member

    Joined:
    18 Mar 2016
    Messages:
    684
    Likes Received:
    1,515
    Reputations:
    460
    В процессе реализации кое какого концепта и наличия свободного времени, появилась мысль немного поговнокодить доработать один из гуёвых олдскульных веб-шеллов.

    Цель, решение проблем с детектами различными WAF/IDS, как реквестов, так и респонсов. В большинстве случаев, такое обнаружение влечёт за собой ответные меры от атакуемой стороны, что при пентестах и редтиминге не всегда позволительно и допустимо.

    WSO2 морально устарел и требует значительных доработок. b374k какой-то ненашенский и, как мне показалось, с большим оверхедом по функционалу. А вот нашумевший в своё время P.A.S., по своей задумке и устройству, очень даже подошёл. Хотя автор и прекратил поддержку своего продукта, но выпускать модификацию с дальнейшим порядковым номером, я не решился (не по Сеньке шапка). Поэтому, выражаю глубочайшее уважение @profexer и надеюсь, что он когда-нибудь продолжит свою замечательную работу.

    Форкалась версия 4.1.1b, исходники были взяты из репозитория @winstrool, за что ему спасибо :)

    General
    • Works on PHP >= 4.1.0
    • Doesn't use PHP sessions or store any data on a server
    • Uses asynchronous requests like a AJAX
    • Can use POST or GET request method
    • Can obfuscate requests
    • Can work in custom environment (aka SUID mode)
    • Supports 22 different charsets
    • Encrypts the source code with your key (password) at download
    • Resulting file doesn't contain encryption key (password) in any form
    • Has stealth mode
    • Working with different tasks without reload page and losing data
    • Can be switched from fixed to flexible view
    • Keyboard-only compatibility
    • Has message log
    • Shows server time
    File Manager
    • Can upload several files at once
    • Can create file, directory, symbolic and hard link
    • Can change files properties (path, modified date, permission, owner, group)
    • Can download files
    • Can delete files
    • Has files buffer:
      • mark, unmark, show marked files;
      • copy, move files from buffer to the current dir;
      • download files from buffer;
      • clear buffer;
    • Can search files:
      • in several paths;
      • with limited depth;
      • by name with wildcard and case-sensitive options;
      • by type (file, directory);
      • by mode (readable, writable, full access);
      • with SUID attribute;
      • by owner IDs with definition of intervals;
      • by group IDs with definition of intervals;
      • by created date with definition of intervals;
      • by modified date with definition of intervals;
      • by size with definition of intervals;
      • by specified text with regex and case-sensitive options;
    • Can save file with specified end of line
    • Fast change properties, download and delete specified file
    • Has breadcrumbs
    • Click on extension cell to copy file name
    • Press ESC to close current dialog
    • Press Alt+T to switch between opened dialogs
    SQL Client
    • DB support:
      • MySQL (mysql, mysqli, PDO)
      • MSSQL (mssql, sqlsrv, PDO, PDO SQLSRV, PDO DBLIB, PDO ODBC)
      • PgSQL (pg, PDO)
    • Tree view of database schema
    • Shows column data types
    • Can show only selected columns data
    • Can show tables row count
    • Can reload single base/scheme/table schema
    • Can dump multiple tables/schemes/bases
    • Can dump only selected schemes/tables/columns
    • Can dump to SQL or CSV format
    • Has pagination for some database types
    PHP Console
    • Isolates the results HTML code from the main page
    • Can be switched from vertical to horizontal composition
    • Press Ctrl+Enter to evaluate code
    Terminal
    • Can execute commands via specified command processor
    • Can execute commands via specified function
    • Type ? to show help
    • Has command history:
      • type history [N] to show command history, where optional parameter N is number of last commands;
      • press Up & Down keys to navigate from command history;
      • type ![N] to execute command, where N is:
        • ! to execute the last command;
        • N>0 to execute command #N from the command histroy;
        • N<0 to execute command #N from the end of the previous command;
    • Can create system report (type report ? to more info)
    • Can run Socks5 server:
      • throught Perl (type socks5.perl to more info);
      • throught Python (type socks5.python to more info);
    • Can bind port:
      • throught Perl (type bindport.perl to more info);
      • throught Python (type bindport.python to more info);
    • Can back connect:
      • throught Perl (type backconnect.perl to more info);
      • throught Python (type backconnect.python to more info);
    • Type cls or clear or press CTRL+L to clear output
    Information
    • Shows main server information
    • Shows PHP configuration without call phpinfo
    • Работа GET запросами (параметры в куках)
    • Переход в POST с возможностью отказаться
    • Обфускация ключей и значений запроса
    • Обфускация загружаемых файлов
    • Обфускация ответа от сервера
    • Авторизация по паролю
    • Авторизация по заголовку
    • Фикс дампа MySQL в режиме PDO
    • Переименованы "конструкторы в стиле PHP 4"
    • Выпилен pcntl_exec
    • opcache_invalidate после сохранения файла
    • Тёмный цветовой режим
    • Встроенный редактор кода Ace (загружается по запросу)
    • Добавлены расширения в именах файлов
    • Опция для отображения ctime
    • Опция для инвертирования вывода в терминале
    • Выпилены системные вызовы при старте скрипта
    • Фикс краша JS в файловом менеджере (на редких окружениях)
    • Фикс бага при перезагрузке файла
    • XHR вместо IFRAME для коммуникации по умолчанию
    • Клиентский реферер не отправляется
    • Удален заголовок X-Content-Type-Options в ответах
    • Clear output в PHP Console отмечен по умолчанию
    • Возможность установить вкладку по умолчанию
    • Встроенный скрипт safemode
    • Сортировка файлов (имя, расширение, размер и т.д.)
    • Чтение файлов .gz (без сохранения)
    • Исправление Show as HTML в PHP Console
    • Увеличение окна редактора файлов по двойному щелчку
    • Восстановление положения окна при уменьшении
    • Интервал перезагрузки файла (правый клик)
    • Загружать favicon.ico, если он существует
    • Выпилен expect
    • Сортировка по имени файла по умолчанию
    • Подсветка синтаксиса в консоли PHP
    • Уменьшение промпта терминала, если слишком длинное
    • Go! перемещена влево
    • Фикс PDO_PGSQL DSN
    • Изменение метода на странице с паролем (чтобы избежать кэширования)
    • Фикс Custom environment
    • Опция Global working dir (путь File Manager)
    • Фикс удаления одиночных директорий/файлов
    • Команда color в терминале
    • Песочница для Show as HTML ифрейма
    • Фикс мэтча для команды history
    • Поддерживаемые версии PHP: 5 >= 5.3, PHP 7, PHP 8
    [​IMG]
    [​IMG]
    [​IMG]
    [​IMG]
    Скрипт не работает и продолжает возвращать один и тот же ответ.
    • Возможно, на сервере включено кеширование GET запросов. Решение - отключить передачу параметров через куки и использовать POST запросы ($GLOBALS['COOKIE'] = false;).

    Повторяющиеся случайно запросы пароля.

    • Скорее всего, ваш IP адрес меняется с той же периодичностью. Если это так, нужно изменить $GLOBALS['REMOTE_ADDR'] на false.

    Как убрать предупреждение о лимите запроса?

    • Вы должны отключить передачу данных через куки в графическом интерфейсе. Или так: $GLOBALS['COOKIE'] = false;.

    Большие файлы не скачиваются.

    • Операция заворачивания файлов происходит на лету, поэтому требуется много оперативной памяти. Решение - отключить обфускацию, установив флажок "Skip response encoding" в графическом интерфейсе.

    Как установить авторизацию по заголовку?

    • $GLOBALS['SECHEAD'] = 'SECRET_9CA2100C44E50D81BB7E3EED84AF43F4'; и добавляйте его для каждого запроса в браузере (Secret-9ca2100c44e50d81bb7e3eed84af43f4: foobar). Без запроса пароля - $GLOBALS['PASSHASH'] = '';

    Переключение цветовой темы раздражает.

    • $GLOBALS['DARK'] = true;

    Как настроить редактор кода?

    • Вы можете разместить исходный код редактора на своем хосте и указать URL. MODE и THEME используются для установки значений по умолчанию во время инициализации редактора. Чтобы полностью исключить редактор, установите для переменной $GLOBALS['ACECONF'] значение array(). Установите DEFAULT в true, если вы хотите, чтобы редактор загружался автоматически.

    Элементы пользовательского интерфейса слишком малы.

    • Ctrl и + для увеличения / Ctrl и - для уменьшения / Ctrl + 0 для сброса

    Как убрать запрос пароля?
    • $GLOBALS['PASSHASH'] = '';

    Как изменить вкладку по умолчанию?
    • У вас есть 5 вариантов: tabFM, tabSQL, tabPHP, tabTrm, tabInf. Например: $GLOBALS['DEFAULT_TAB'] = 'tabFM';, чтобы запустить скрипт с вкладки File Manager.

    Send as и Load as кодировки не работают.
    • В настоящее время для функциональности вам следует отключить обфускацию запросов и ответов в графическом интерфейсе.
    • Репозиторий на GitHub
    • Перед использованием, будет не лишним вычистить все HttpOnly куки для домена, если таковые имеются.
    • Этот инструмент предназначен только для образовательных и тестовых целей и не предназначен для применения на практике, если у вас нет разрешённого доступа к системе.
    • This tool is for educational and testing purposes only and is not intended to be put into practise unless you have authorised access to the system.
    Скачать
     
    #1 crlf, 2 Jan 2020
    Last edited: 11 Jan 2025
    user100, hydra, gmiller and 21 others like this.
    1. RedHazard

      RedHazard Banned

      Joined:
      17 Apr 2011
      Messages:
      70
      Likes Received:
      14
      Reputations:
      8
      Красота! опробовал, очень зашло!
       
      1. crlf

        crlf Green member

        Joined:
        18 Mar 2016
        Messages:
        684
        Likes Received:
        1,515
        Reputations:
        460
        Тут оказывается, месяц назад, обзор подъехал от зарубежного коллеги: https://blog.sucuri.net/2020/10/p-a-s-fork-v-1-0-a-web-shell-revival.html :) Не все фишки заценили, но я рад, что им понравилось. В то же время очень жаль, что повод для этого обзора был печальный, так как инструмент обнаружили на скомпрометированном сайте, а это полностью противоречит условиям использования.
        Поэтому, хочу ещё раз напомнить, что этот скрипт предназначен только для легальных тестов на проникновение!
         
        1. dooble

          dooble Members of Antichat

          Joined:
          30 Dec 2016
          Messages:
          231
          Likes Received:
          601
          Reputations:
          145
          Осталось двойственное впечатление от статьи в бложике.
          Вроде бы ресерчили, вроде бы описали подробно, вроде бы работа в плюс.

          Но исходный код шелла выложен, пакер тоже был выложен, чего пытались найти?

          Автора доработок назвали "злоумышленником".
          ???
          О чем это?

          Скорее всего вот о чем: "Мы крутые спецы и у нас есть платный продукт, пройдите по ссылке и обязательно его купите, интернет полон злоумышленников, но вам не нужно думать и включать мозги, просто купите нашу поделку".

          По факту, они дважды проиграли КРЛФу.
          И это при условии, что он даже не включался в их игру.

          Во-первых, их работа выглядит, как потуги на ровном месте, а CRLF просто решал очередную (и не очень крупную) задачку, мимоходом, пришла мысль отрихтовать бывший хороший инструмент - сделал.
          И поделился с сообществом.
          Как спецы они выглядят слабее.

          Во-вторых, с моральной точки зрения они тоже выглядят хуже, хотя и пытались присвоить себе право судить других.
          Проигнорить их попытку опустить исследователя ниже себя - было правильным, они провалились от собственного действия.

          Да, есть этическая проблема, твой продукт могут использовать и для причинения ущерба.
          Но такая же дилемма стояла и перед создателями алфавита, разные слова можно написать при помощи букв, но злоумышленниками их мы не называем, не опускаемся до дебильного восприятия и оценок.

          На форуме много материала, который можно использовать для нанесения ущерба стороннему ресурсу. Но совсем не факт, что именно так он и используется всеми.
          И знаю совершенно точно, что много находок сделано исследователями, которые определенно не блечат.

          А доработка выложена автором в разделе "Этичный хакинг", а не в "Давай сломаем интернет".
           
          CyberTro1n, winstrool, Spinus and 5 others like this.
          1. crlf

            crlf Green member

            Joined:
            18 Mar 2016
            Messages:
            684
            Likes Received:
            1,515
            Reputations:
            460
            Обновлён упаковщик - packer.php. Добавлены различные варианты рандомизации генерируемого кода. Теперь в наличии четыре режима:

            ASCII // create_function
            ASCII PHP8 // eval
            PHAR // include + phar:// + PHAR контейнер
            ZIP // include + phar:// + ZIP контейнер

            У каждого варианта есть свои плюсы и минусы. Для использования требуется установленное расширение php-zip.
             
            Ravenous, Spinus, joelblack and 6 others like this.
            1. crlf

              crlf Green member

              Joined:
              18 Mar 2016
              Messages:
              684
              Likes Received:
              1,515
              Reputations:
              460
              Добавлены следующие изменения:
              • Опция для инвертирования вывода в терминале
              • Выпилены системные вызовы при старте скрипта
              • Фикс краша JS в файловом менеджере (на редких окружениях)
              Спасибо всем тем, кто слал баг-репорты и помогал отлавливать ;)
               
              1. crlf

                crlf Green member

                Joined:
                18 Mar 2016
                Messages:
                684
                Likes Received:
                1,515
                Reputations:
                460
                Аттач обновлён. Добавлено:
                • Фикс тёмного цветового режима
                • Улучшение рандомизации в пакере
                 
                eminlayer7788, Ups, VY_CMa and 4 others like this.
                1. crlf

                  crlf Green member

                  Joined:
                  18 Mar 2016
                  Messages:
                  684
                  Likes Received:
                  1,515
                  Reputations:
                  460
                  Версия 1.1 содержит следующие изменения:
                  • Встроенный редактор кода Ace (загружается по запросу)
                  • Добавлены расширения в именах файлов
                  • Фикс бага при перезагрузке файла
                  • XHR вместо IFRAME для коммуникации по умолчанию
                  • Клиентский реферер не отправляется
                  • Удален заголовок X-Content-Type-Options в ответах
                  • Clear output в PHP Console отмечен по умолчанию
                  • Добавлена опция iframe instead of xhr в графическом интерфейсе
                  • Добавлена опция Use cookie to request в графическом интерфейсе
                  • Invert terminal output перемещён на вкладку Terminal
                  • Мелкие декоративные изменения
                  В packer.php добавлено:
                  • eval() по умолчанию
                  • Несжатый ZIP
                  • Сжатый PHAR
                  • Мелкие улучшения рандомизации

                  Архив с файлами привычно в аттаче, а изменения можно посмотреть в репозитории инструмента.
                   
                  #8 crlf, 3 Jan 2023
                  Last edited: 5 Jan 2023
                  dooble, Baskin-Robbins and joelblack like this.
                  1. b3

                    b3 Banned

                    Joined:
                    5 Dec 2004
                    Messages:
                    2,170
                    Likes Received:
                    1,155
                    Reputations:
                    202
                    Прикольная штука, давно таким не пользовался, наверное даже не актуально такое сейчас, но штука все равно приятная, качественно сделано. Один только момент есть, нехватает ему Дроппера чтоб он работал по принципу stager и загружал себя кусками, тогда можно было бы сильно сократить код, возможно даже до одной функции которую можно было бы прятать в коде жертвы.
                     
                    dooble and crlf like this.
                    1. crlf

                      crlf Green member

                      Joined:
                      18 Mar 2016
                      Messages:
                      684
                      Likes Received:
                      1,515
                      Reputations:
                      460
                      Ага, всё чаще, от кейса к кейсу. Тут же, сам понимаешь, без претензий на универсальность, лишь небольшая попытка продлить жизнь хорошему инструменту. В текущем варианте помогает проскочить через многочисленные заслоны различных детекторов. А ещё им удобно пользоваться на своих впсках, что-то подредачить, загрузить, удалить.

                      Сам всякий раз диву даюсь, как хорошо @profexer его запилил. И всячески пытаюсь не влезать в тщательно выверенный код, на который, по моим прикидкам, потрачен не один десяток человеко-часов. Но, к сожалению, не всегда получается :( К примеру, редактор кода с подсветкой, пришлось костыльно вкорячивать прямо в DOM, чтоб ничего не сломать :(

                      В таком варианте проще написать с нуля и придётся отказываться от многих плюх, типа передачи параметров в заголовках, а заодно собрать огромную кучу подводных камней. Простейший принцип агентов хорошо изучен и обкатан, можно юзать тот же weevely. Но чтоб с гуём, красиво, да ещё универсально, слишком сложно и затратно.
                       
                      dooble and b3 like this.
                      1. navai

                        navai Member

                        Joined:
                        24 Dec 2008
                        Messages:
                        32
                        Likes Received:
                        15
                        Reputations:
                        0
                        Подскажите, как убрать пароль?
                         
                        1. crlf

                          crlf Green member

                          Joined:
                          18 Mar 2016
                          Messages:
                          684
                          Likes Received:
                          1,515
                          Reputations:
                          460
                          PHP:
                          $GLOBALS['PASSHASH'] = '';
                           
                          navai likes this.
                          1. crlf

                            crlf Green member

                            Joined:
                            18 Mar 2016
                            Messages:
                            684
                            Likes Received:
                            1,515
                            Reputations:
                            460
                            В версию 1.2 добавлено:
                            • Возможность установить вкладку по умолчанию
                            • Встроенный скрипт safemode
                            • Сортировка файлов (имя, расширение, размер и т.д.)
                            • Чтение файлов .gz (без сохранения)
                            • Исправление Show as HTML в PHP Console
                            • Увеличение окна редактора файлов по двойному щелчку
                            • Выпилен expect
                            • Сортировка по имени файла по умолчанию
                            • Улучшена обфускация JS
                            • Возможность загрузки AceJS по умолчанию
                            • Ctrl + S, чтобы сохранить файл в редакторе кода
                            • Ctrl + E, чтобы изменить перенос строки
                            • Подсказка по горячим клавишам редактора
                            • Небольшие исправления ошибок и улучшения
                            Архив с файлами привычно в аттаче, а изменения можно посмотреть в репозитории инструмента.
                             
                            #13 crlf, 19 Apr 2023
                            Last edited: 19 Apr 2023
                            QtQDuck, b3, whitehacker2 and 3 others like this.
                            1. crlf

                              crlf Green member

                              Joined:
                              18 Mar 2016
                              Messages:
                              684
                              Likes Received:
                              1,515
                              Reputations:
                              460
                              Небольшие изменения в версии 1.3:
                              • Восстановление положения окна при уменьшении
                              • Интервал для перезагрузки файла (правый клик)
                              • Загружать дефолтный favicon.ico, если он существует
                              • Мелкие исправления ошибок и улучшения
                               
                              navai and dooble like this.
                              1. crlf

                                crlf Green member

                                Joined:
                                18 Mar 2016
                                Messages:
                                684
                                Likes Received:
                                1,515
                                Reputations:
                                460
                                Изменения в 1.4:
                                • (!) Редактор кода загружается по умолчанию
                                • tabFM установлен по умолчанию
                                • Подсветка синтаксиса в консоли PHP
                                • Уменьшение промпта терминала, если слишком длинное
                                • Go! перемещена влево
                                • Фикс PDO_PGSQL DSN
                                Ссылка на скачивание в первом посте.
                                 
                                1. navai

                                  navai Member

                                  Joined:
                                  24 Dec 2008
                                  Messages:
                                  32
                                  Likes Received:
                                  15
                                  Reputations:
                                  0
                                  Скажите пожалуйста, в каких случаях, вкладка Terminal не является активной? Заметил, что на некоторых серверах её просто нет.
                                   
                                  1. winstrool

                                    winstrool ~~*MasterBlind*~~

                                    Joined:
                                    6 Mar 2007
                                    Messages:
                                    1,414
                                    Likes Received:
                                    911
                                    Reputations:
                                    863
                                    В тех случаях, когда отключены необходимые функции, на стороне сервера, которые могут интерпретировать терминал.
                                     
                                    _________________________
                                    dooble likes this.
                                    1. navai

                                      navai Member

                                      Joined:
                                      24 Dec 2008
                                      Messages:
                                      32
                                      Likes Received:
                                      15
                                      Reputations:
                                      0
                                      Можно ли самому докрутить так, чтобы вкладка PHP Console и Terminal были активны в вкладке File Manager, как это реализовано в оригинальном версии p.a.s , и команды выполнялись из директории file manager. Иначе приходится прописывать дополнительно директории в php скриптах , а в terminale дополнительно менять директорию. Сделать по дефолту чтобы terminal и php console были привязаны к file manager директории.
                                       
                                      1. crlf

                                        crlf Green member

                                        Joined:
                                        18 Mar 2016
                                        Messages:
                                        684
                                        Likes Received:
                                        1,515
                                        Reputations:
                                        460
                                        Изменения в 1.5:
                                        • Изменение метода на странице с паролем (чтобы избежать кэширования)
                                        • Фикс Custom environment
                                        • Опция Global working dir (путь File Manager)
                                        • Фикс удаления одиночных директорий/файлов
                                        • Команда color в терминале
                                        • Песочница для Show as HTML ифрейма
                                        • Фикс мэтча для команды history
                                        • Поддерживаемые версии PHP: 5 >= 5.3, PHP 7, PHP 8

                                        Ссылка на скачивание в первом посте.

                                        Хорошее предложение, сделано в виде опции Global working dir в настройках.
                                         
                                        joelblack and QtQDuck like this.