ζ༼Ɵ͆ل͜Ɵ͆༽ᶘ

МАС адрес

0 комментов
07.12.2020
3 мин чтения

В качестве языка программирования будем использовать Python(возможно потом рассмотрим и другие языки, но это не точно). Естественно все атаки не стоит производить со своего компьютера, т.к. это может быть опасно для вас, поэтому я буду использовать одноплатный компьютер Raspberry Pi с установленным в заранее Kali Linux. Подробный процесс установки, вы можете прочитать вот в этой статье. Все атаки в данной серии статей будут осуществляться внутри локальной сети(Wi-Fi).


Начнем с понятия MAC адрес.

Что это вообще такое? MAC - адрес представляет собой уникальную комбинацию цифр и букв длиной 48 символов. Фактически, это аппаратный номер оборудования (компьютера, сервера, роутера, порта коммутатора, да чего угодно), который, внимание, присваивается сетевой карте устройства еще на фабрике, то есть в момент производства. Его можно сравнить с серией и номером паспорта. Именно такая комбинация цифр есть только у вас и все. Роутер как раз и различает устройства по этому адресу.

Вот пример MAC адреса: 00-50-B6-5B-CA-6A


Как узнать его?

Для этого надо ввести в командной строке следующую команду

Для UNIX/Linux

ifconfig -a

Для Windows

ipconfig /all

Изменяем MAC адрес

Для этого будем использовать Python. Сначала я привету полный код(он под операционную систему Linux), а потом разберем его.

import subprocess
import random


def banner():
    print(r"""
        _   _   _     _   _   _   _   _   _   _     _   _   _   _   _
       / \ / \ / \   / \ / \ / \ / \ / \ / \ / \   / \ / \ / \ / \ / \
      ( M | a | c ) ( C | h | a | n | g | e | r ) ( L | i | n | u | x )
       \_/ \_/ \_/   \_/ \_/ \_/ \_/ \_/ \_/ \_/   \_/ \_/ \_/ \_/ \_/
    """)

banner()

interface = input("Enter Interface Name  (Enter command ifconfig in terminal to check):")
my_list = ['a', 'b', 'c', 'd', 'e', 'f',1,2,3,4,5,6,7,8,9,0]

random_mac = f"{random.choice([0])}{random.choice(['a','b','f'])}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}"


print("1.Do You want Random Mac (Enter 1): ")
print("2.Do You want Custom Mac (Enter 2): ")
user_choice = int(input("Enter Your Choice : "))


if user_choice == 1:
    print("[+] Changing Mac Address For " + interface +" to "+random_mac)
    subprocess.call("ifconfig "+interface +" down",shell=True)
    subprocess.call("ifconfig "+interface +" hw ether "+random_mac ,shell=True)
    subprocess.call("ifconfig "+interface +" up\n",shell=True)
    subprocess.call("ifconfig",shell=True)

elif user_choice == 2:
    user_mac = input("Enter Mac in XX:XX:XX:XX:XX:XX format : ")
    if len(user_mac ) == 17 :
        print("[+] Changing Mac Address For " + interface +" to "+user_mac)
        subprocess.call("ifconfig "+interface +" down",shell=True)
        subprocess.call("ifconfig "+interface +" hw ether "+user_mac,shell=True)
        subprocess.call("ifconfig "+interface +" up",shell=True)
        subprocess.call("ifconfig",shell=True)
    else:
        print("Please Enter In the format ")

elif user_choice not in [1,2]:
    print("Please choose from the above option Only")

Разбор:

Предварительно вам предстоит установить библиотеку subprocess. Она будет основным звеном, почти во всех программах.

Функция bunner исключительно для красоты, так что не обращайте на нее внимание.

В строчках, представленных ниже мы сначала предлагаем пользователю проверить текущий адрес, создаем массив для генерации навого адреса и саму генерацию

interface = input("Enter Interface Name  (Enter command ifconfig in terminal to check):")
my_list = ['a', 'b', 'c', 'd', 'e', 'f',1,2,3,4,5,6,7,8,9,0]

random_mac = f"{random.choice([0])}{random.choice(['a','b','f'])}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}:{random.choice(my_list)}{random.choice(my_list)}"

Далее спрашиваем пользователя как он хочет изменить свой адрес: рандомно или на какой-то конкретный.

А потом выполняется простая операция при помощи библиотеки subprocess.

subprocess.call("ifconfig "+interface +" down",shell=True)
subprocess.call("ifconfig "+interface +" hw ether "+random_mac ,shell=True)
subprocess.call("ifconfig "+interface +" up\n",shell=True)
subprocess.call("ifconfig",shell=True)

Мы выключаем нашу сеть, меняем мак адрес и включаем ее заново


Итог

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

3
Сегодня
День улёта