• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Статья Sacrifice - URL обфускатор

Приветствую всех! Я искал в интернете инструменты для обфускации url адресов, но я не нашел таких, и решил написать свой.
Найти вы его сможете тут
Код:
https://git.codeby.net/Tayrus/Sacrifice/
Или внизу статьи.

Обычно я объясняю свой код, но не сегодня)

Для работы нужен python3 версии, библиотеки colorama и termcolor.

Запустим скрипт:

2018-11-08_13-06-34.png


Пока что я добавил 2 метода обфускации, но если этот проект будет пользоваться спросом, то ВОЗМОЖНО добавлю еще пару методов.

Я выбираю 1 метод, далее нас просят ввести адрес сайта куда будет вести ссылка:

2018-11-08_13-07-11.png


Я выбрал facebook.com. Теперь мы можем смешать наш адрес с адресом google.com(можете изменить на свой):

2018-11-08_13-07-21.png


Скрипт нам выдал ссылку. Вставим ее в адресную строку и посмотрим куда она нас приведет:

2018-11-08_13-07-38.png


Жмем "Enter":

2018-11-08_13-07-49.png


Открылся facebook.com.

Теперь давайте попробуем 2-ой метод, ссылка будет вести на github и миксовать мы не будем:

2018-11-08_13-08-27.png


Вставляем ссылку в адресную строку:

2018-11-08_13-08-44.png


Жмем "Enter":

2018-11-08_13-08-54.png


На этом все!)
Код:
#Добавил еще метод
from termcolor import *
import colorama
import socket
import math

colorama.init()

select = 0
res = 0
payload = 0
addr = 0
mixing = 0

def banner():
    s = """
      _____  ____    __  ____   ____  _____  ____   __    ___
     / ___/ /    |  /  ]|    \ |    ||     ||    | /  ]  /  _]
    (   \_ |  o  | /  / |  D  ) |  | |   __| |  | /  /  /  [_
     \__  ||     |/  /  |    /  |  | |  |_   |  |/  /  |    _]
     /  \ ||  _  /   \_ |    \  |  | |   _]  |  /   \_ |   [_
     \    ||  |  \     ||  .  \ |  | |  |    |  \     ||     |
      \___||__|__|\____||__|\_||____||__|   |____\____||_____|
                                                            
    """

    cprint(s,'green')
    cprint('                             Author: @Tayrus','red')

def selector():
    global select
    global payload
    global mixing
    print ('\n')
    cprint('Выберите тип обфускации:','green')
    print ('\n')
    cprint('[1] Hexadecimal','green')
    cprint('[2] Octal','green')
    cprint('[3] Decimal','green')
    select = input(': ')
    if not select == '1' and not select == '2' and not select == '3':
        cprint ('Ты выбрал неправильные значения!','red')
        exit()
    print ('\n')
    cprint('Введите адресс сайта:','green')
    payload = input(': ')
    print ('\n')
    cprint('Миксовать наш payload(1 или 0)?:','green')
    mixing = input(': ')

def check():
    global select
    if select == '1':
        Hexadecimal()
    if select == '2':
        Octal()
    if select == '3':
        Decimal()
    if mixing == '1':
        mix()

def getIp():
    global addr
    addr = socket.gethostbyname(payload)


def Hexadecimal():
    global res
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(hex, numbers))
    print('\n')
    if mixing == '0':
        cprint(res,'green')

def Octal():
    global res
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    res = 'http://' + '.'.join(map(oct, numbers))
    res = res.replace('o','')
    if mixing == '0':
        cprint(res,'green')

def Decimal():
    global res
    count = 0
    addr2 = addr.split('.')
    numbers = [int(c) for c in addr2]
    for x in numbers:
        if count == 0:
            res = x * math.pow(16,6)
        if count == 1:
            res += x * math.pow(16,4)
        if count == 2:
            res += x * math.pow(16,2)
        if count == 3:
            res += x
        count += 1
    res = 'http://' + str(int(res))
    if mixing == '0':
        cprint(res,'green')


def mix():
    res3 = 'http://google.com@' + res[7:]
    cprint(res3,'green')

def main():
    banner()
    selector()
    getIp()
    check()

if __name__ == '__main__':
    main()

PS github и facebook были для примера, вместо них возможно должны быть ваши сайты или C2 и т.п
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!