Python для хакера - Часть 4. Свой мини фреймворк.

  • Автор темы Gidroponika
  • Дата начала
G

Gidroponika


Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.



Содержание:
  1. 1.--- Предисловие автора.
  2. 2.--- Краткое введение.
  3. 3.--- Поговорим о функционале.
  4. 4.--- Приступаем к работе.

1. Предисловие автора.

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


2. Краткое введение.

Сегодня мы напишем весьма не большой, так сказать фреймворк) Думаю, такая работа может и растянуться на несколько статей. Все попытаюсь объяснять простым языком. И, как я упомянул ранее, к сложностям прибегать не будем (а если и прибегнем, то попытаюсь разжевать).



3. Поговорим о функционале.

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

Код:
1. IP адрес ресурса
2. CMS
3. Whois
4. Сканирование портов
5. Поиск интересных файлов
6. Содержимое robots.txt (если будет)
7. DNS lookup)
8. Поиск email'а администратора
9. Server

Со временем, возможно и дополним данный список. А теперь, конечно, приступаем к работе.

4. Приступаем к работе.

Наш фреймворк будет написан на python3 и чуть выше :) Для начала, создайте две папки. Одна из которых будет modules, а другая wordlists.
Также создаем главный файл в котором будем, в скором использовать все наши модули. Должно получиться примерно так


Посмотреть вложение 8826

Для начала, составим не сложный алгоритм для main.py

Код:
1. Получает на вход доменное имя ресурса
2. Отсылает его на вход различным модулям
3. Записывает в переменные результаты работы наших модулей
4. Вывод полученных данных

Первым модулем, который на вход будет получать доменное имя ресурса, будет модуль по определению IP адреса. Конечно, стоит узнать и сервер.

Создаем файл siteName.py в папке modules с следующим содержимым

Python:
import socket # импортируем библиотеки
import requests

def getIP ( domainName ): # данная функция использует библиотеку сокет для получения IP

    try:
        ip = socket.gethostbyname(domainName)
        return ip

    except:
        return "[Error]: ip not found!"

def getServerName ( siteName ): # данная функция, берет из HTTP заголовков имя сервера по средством requests

    try:
        content = requests.get( siteName )
        server = content.headers['Server']
        return server

    except:
        return "[Error]: Server not found!"

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

Python:
import modules.siteName

Теперь, давайте напишем не большое, основное меню. Но перед этим я, также написал вывод уже существующих модулей
Python:
import modules.siteName # инициализация нашего модуля

getIPaddr = modules.siteName.getIP
getServer = modules.siteName.getServerName

# список модулей
modulesList = r"""

            +-----------------------------------------+
            | [1] -- Get IP address.                            |
            | [2] -- Get Server Name.                        |
            +-----------------------------------------+

"""
# выводим список некоторых команд
print(r"""

            +-----------------------------------------+
            | [exit] -- exit ;)                                        |
            | [back] -- back on main menu               |
            | [modules] -- show modules                 |
            +-----------------------------------------+

""")



def setModule (): # функция направлена на выбор и использование модулей

    moduleNum = input("[Enter module num]: ")

    if moduleNum == "1":

        try:
            domain = input ( "[Enter domain]: " ) # запрашиваем у пользователя имя сайта
            ipSite = getIPaddr(domain) # отправляем имя нашему модулю

            print("-" * 60)
            print("[IP] == [{0}]".format(ipSite))
            print("-" * 60)

        except:
            print( "[Error]: Domain or ip not found!" )
 

    elif moduleNum == "2":

        try:
            site = input ( "[Enter domain]: " )
            url = "http://" + site
            server = getServer(url)
          
            print("-" * 60)
            print("[Server] == [{0}]".format(server))
            print("-" * 60)

        except:
            print( "[Error]: Domain or server not found!" )


    comand()

def comand (): # функция направлена на исполнение выбранной пользователем команды

    comand = input("[$] --> ")

    if comand == "exit": exit( "Close program... " )
    elif comand == "back": print(comand())
    elif comand == "modules":
      
        print ( modulesList )
        print ( setModule () )

    else:

        print ( "[Error]: Comand not found!" )
        print ( comand () )


print(comand())

В нашем не большом меню присутствует некоторый выбор команд и конечно, сами модули)
Первые уже подключены, давайте идти дальше!

Посмотреть вложение 8827

Думаю, что на этом можно и закончить, а завтра займемся поиском CMS, whois lookup и сканированием портов. Рекомендую повторить вам тему, про регулярки т.к. завтра они вам понадобятся. (Из-за нехватки времени, статья не получилась более обширней). Всем пока!)
 
Название темы
Автор Заголовок Раздел Ответы Дата
G Python для хакера - Часть 3. Сбор информации об IP и пробиваем номер сотового. Другие ЯП 1
G Python для хакера - Часть 2. Другие ЯП 1
G Python для хакера - Часть 1. Начало. Другие ЯП 5
G Бомбер для ПК на Python Spam/DDOS/Malware 3
I Python программист для разных задач. Ищу работу. Предлагаю свои услуги. 1
S Интересно CrazyPy - Пак самых нужных модулей для создания вирусов на python Другие ЯП 6
M TBomb: Ещё один бомбер на python для termux Другие ЯП 0
M СЛИВ КУРСА Development Script-Python для Начинающих (2019) Корзина 4
A Эликсир для программистов на Python Полезные статьи 0
M Python скрипт для создания базы ip по диапазону Бруты/Парсеры/Чекеры 0
Little_Prince Программирование на Python для тестировщиков Другие ЯП 0
Elliot_service Закрыто Пишу web-проекты | Копии сайтов | Поднимаю сервера | Маркетплейсы | ТГ Боты | Скрипты | Крипта | python, php, js, MySql, html/css Корзина 1
Little_Prince Интересно Напишу проекты [Open Bullet 1|2/Python 3] Бруты/Парсеры/Чекеры 0
CRC29A Ищу работу кодером [C++, Assembler, Python] Услуги дизайнеров/веб-разработчиков 1
C Layer 4 DDOS Tool Python Спам / Флуд / Ддос 0
A Пишем свой RAT на Python > {Часть 1} Уязвимости и взлом 3
A Требуются программисты Python, PHP, C++ Продажа софта 2
L Интересно Реверсим APK (Python-Kivy) Вирусология 4
ВЛАД013 ByPassCaptcha Python Другие ЯП 0
L Интересно Шифруемся используя python (Крипто контейнеры и DPAPI) Другие ЯП 0
Eteriass Интересно Metasploit и Python Уязвимости и взлом 2
Anorali Свой мини кейлоггер на python. Часть 3 Вирусология 2
Anorali Свой мини кейлоггер на python. Часть 2 Вирусология 0
Anorali Свой мини кейлоггер на python Вирусология 4
_ZerO_ Интересно Python и LongPoll VK, или как запустить скрипт ВК и настроит Другие ЯП 2
G Команда разработчиков - php, python, веб дизайн, программирование Ищу работу. Предлагаю свои услуги. 0
B нужна помощь Python | автоматизация работы в браузере Вопросы и интересы 1
E Интересно Бот с автооплатой на Python Другие ЯП 10
S Интересно Свой мини-рат на python + стиллер хрома v80 Софт от наших юзеров 8
M Декомпиляция Python Другие ЯП 1
M Спам комментариями в ВК {PYTHON} Другие ЯП 2
B [Udemy] Полное руководство по Python. Python Programming Bootcamp (2019) Другие ЯП 4
M Защищаем свой Python скрипт за пару минут Другие ЯП 0
M Разные винлокеры,на VBS и PYTHON Другие ЯП 0
B Клиент-серверная игра на Python Полезные статьи 0
B Python. Полное руководство (2019) Полезные статьи 1
B Основы языка Python (2019) Полезные статьи 0
E Не могу запустить Python на Kali Вопросы и интересы 1
D Кодер ищет проекты/работу [Asm/C/Python] Ищу работу. Предлагаю свои услуги. 0
A Что нового в Python 3.8? Полезные статьи 0
A Веб-очистка с BeautifulSoup в Python Другие ЯП 0
R Не изучай синтаксис, изучай псевдокод и программирование! *Python* Другие ЯП 3
S Вирус на Python Софт для работы с текстом/Другой софт 7
S Курсы по c++ , c# , php , python , css , html и т.д. С/C++ 4
G Многопоточный сканер портов на python Полезные статьи 2
G Пишем парсер на Python - грабим Proxy ч.2 Бруты/Парсеры/Чекеры 0
G Пишем парсер на Python - грабим Proxy ч.1 Бруты/Парсеры/Чекеры 2
G Создаём полиалфавитный шифр на Python С/C++ 1
G Пишем шифровальщик на python Полезные статьи 0
Traven Пишем спамер Telegram, на Python Другое 0

Название темы