Обнюхивать URL и параметры в scapy - PullRequest
0 голосов
/ 26 августа 2018

Когда я сниффинг использую питона с scapt, пароль зашифрован в хэше, но в Ettercap это нормально?

См. Эту картинку:

Here...

Внутри красной рамки вы видите имя пользователя, пароль и даже INFO. Помимо этого, пароль не шифруется хешами.

Но когда я использую питон, парользашифровано с помощью хэша?

Here...

Почему это происходит и как я могу это исправить?
Кстати, это код.

from scapy.all import *
import re

def get_credentials(source):
    username = None
    password = None
    userfields = ['username', 'user', 'name', 'login', 'nickname', 'userfield', 'login-name', 'log',
    "email", "login-id", 'user-name', 'userID', 'userid', 'user-id', 'login_name', 'login-name', 'login-user', 'login_user', 'account', 'acc-name',
    "account-user", "account-name"]
    passfields = ['passwords', 'pword', 'pwd', 'user-passwords', 'pass', '_password', 'password', 'password', 'pwords', 'login-passwords', 'login-pword', 'login-pwords', 'user-password', 'user-paswd']

    for login in userfields:
        user = re.search('(%s=[^&]+)' % login, source, re.IGNORECASE)
        if user:
            username = user.group()

    for p in passfields:
        passwd = re.search('(%s=[^&]+)' % p, source, re.IGNORECASE)
        if passwd:
            password = passwd.group()

    if username and password != None:
        return username, password

def ctp(pkt):
    if pkt.haslayer(Ether) and pkt.haslayer(Raw) and not pkt.haslayer(IP) and not pkt.haslayer(IPv6):
        pass

    if pkt.haslayer(TCP) and pkt.haslayer(Raw) and pkt.haslayer(IP):
        mains = str(bytes(pkt[TCP].payload))
        source = str(pkt[TCP].payload)
        creds = get_credentials(source)
        if creds != None:
            print(creds)
    else:
        pass

print('SNIFFING')
sniff(iface="lo", prn=ctp, store=0) # lo is my Local Loopback interface
...