ANTICHAT

ANTICHAT (https://forum.antichat.io/index.php)
-   Песочница (https://forum.antichat.io/forumdisplay.php?f=189)
-   -   Подбор имен файлов (Linux) (https://forum.antichat.io/showthread.php?t=434927)

Filipp 24.12.2015 18:02

Существует папка на которую нет прав на чтение, но есть права на выполнение. Т.е я могу получать данные в каталоге только если сразу обращусь к имени файла/каталога. Там точно лежит бекап, однако имя файла я подобрать не могу. Возможно есть какая-то тулза которая будет брутить имена файлов? Конечно, такую можно написать самому, но зачем выдумывать велосипед если он возможно уже есть.

Поддерживаемые ЯП: python, perl, C++ (но компилятор не первой свежести).

PS: Я пробовал ставить *, не помогло.

CKAP 24.12.2015 19:08

Брутить имя файла? Ну не знаю... ты блок схему хотя бы примерную делал? Я просто даже в голове не могу себе представить. Допускаю проверку имён по дефолту. Но брут... Линукс допускает в имени файлов такое что брут может затянутся на 150 000 лет. Да и даже без спец символов... Где взять длину имени файла? Нее... это сложно.

Filipp 25.12.2015 12:51

Цитата:

Сообщение от CKAP

Брутить имя файла? Ну не знаю... ты блок схему хотя бы примерную делал? Я просто даже в голове не могу себе представить. Допускаю проверку имён по дефолту. Но брут... Линукс допускает в имени файлов такое что брут может затянутся на 150 000 лет. Да и даже без спец символов... Где взять длину имени файла? Нее... это сложно.

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

private_static 25.12.2015 16:03

Цитата:

Сообщение от Filipp

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

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

Filipp 25.12.2015 19:13

Цитата:

Сообщение от private_static

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

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

faza02 25.12.2015 19:14

брут имён файлов - крайности, а поднятие привилегий уже стало нормой?

Filipp 30.12.2015 10:43

Написал небольшую софтину на python'е (т.к он стоит почти на каждом unix'е), скорость довольно быстрая. Меньше чем за секунду чекает 20к вариантов. Может кому-то пригодиться:

Код:

#!/usr/bin/python
# -*- coding: utf-8 -*
import os
import sys

wordlist = open(sys.argv[1])
line = wordlist.readlines()
col = len(line)
wordlist.close()
for i in range(col):
    line [i] = line[i].strip()
    check = sys.argv[2] + line[i]
    if (os.path.exists(check)):
    print(check)


blackbox 30.12.2015 11:40

Цитата:

Сообщение от Filipp

Написал небольшую софтину на python'е (т.к он стоит почти на каждом unix'е), скорость довольно быстрая. Меньше чем за секунду чекает 20к вариантов. Может кому-то пригодиться:
Код:

#!/usr/bin/python
# -*- coding: utf-8 -*
import os
import sys

wordlist = open(sys.argv[1])
line = wordlist.readlines()
col = len(line)
wordlist.close()
for i in range(col):
    line [i] = line[i].strip()
    check = sys.argv[2] + line[i]
    if (os.path.exists(check)):
    print(check)


Получилось подобрать?

Filipp 30.12.2015 12:47

Цитата:

Сообщение от blackbox

Получилось подобрать?

Ну кое-что получилось. Я взял самый большой словарь с dirb'а и ним прогнал, пару интересных моментов нашло.

private_static 30.12.2015 17:59

Цитата:

Сообщение от Filipp

Написал небольшую софтину на python'е (т.к он стоит почти на каждом unix'е), скорость довольно быстрая. Меньше чем за секунду чекает 20к вариантов. Может кому-то пригодиться:
Код:

#!/usr/bin/python
# -*- coding: utf-8 -*
import os
import sys

wordlist = open(sys.argv[1])
line = wordlist.readlines()
col = len(line)
wordlist.close()
for i in range(col):
    line [i] = line[i].strip()
    check = sys.argv[2] + line[i]
    if (os.path.exists(check)):
    print(check)


на будущее

не обязательно считать длину списка и передавать её функции range() для создания нового списка по которому будет идти итерация

можно проще сделать

Код:

wordlist = open(sys.argv[1])
lines = wordlist.readlines()
for line in lines:
    print line



Время: 02:52