Updates to match the new Racket namespace
git-svn-id: file:///home/svn/framework3/trunk@8026 4d416f70-5f16-0410-b530-b9f4589650daunstable
parent
48c2184fb2
commit
68eb240639
|
@ -42,7 +42,7 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = '0.0.0.0'
|
n.l3.src_ip = '0.0.0.0'
|
||||||
n.l3.dst_ip = rhost
|
n.l3.dst_ip = rhost
|
||||||
n.l3.protocol = 17
|
n.l3.protocol = 17
|
||||||
|
@ -50,7 +50,7 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
n.l3.ttl = 128
|
n.l3.ttl = 128
|
||||||
n.l3.flags = 2
|
n.l3.flags = 2
|
||||||
|
|
||||||
n.l4 = Racket::UDP.new
|
n.l4 = Racket::L4::UDP.new
|
||||||
n.l4.src_port = 0
|
n.l4.src_port = 0
|
||||||
n.l4.dst_port = datastore['RPORT'].to_i
|
n.l4.dst_port = datastore['RPORT'].to_i
|
||||||
pkt = n.pack
|
pkt = n.pack
|
||||||
|
|
|
@ -56,14 +56,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = datastore['LHOST']
|
n.l3.src_ip = datastore['LHOST']
|
||||||
n.l3.dst_ip = ip
|
n.l3.dst_ip = ip
|
||||||
n.l3.protocol = 17
|
n.l3.protocol = 17
|
||||||
n.l3.id = rand(0xffff)+1
|
n.l3.id = rand(0xffff)+1
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::UDP.new
|
n.l4 = Racket::L4::UDP.new
|
||||||
n.l4.src_port = 123
|
n.l4.src_port = 123
|
||||||
n.l4.dst_port = 123
|
n.l4.dst_port = 123
|
||||||
n.l4.payload = ["\x17","\x97\x00\x00\x00"][rand(2)]
|
n.l4.payload = ["\x17","\x97\x00\x00\x00"][rand(2)]
|
||||||
|
|
|
@ -50,10 +50,10 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
print_status("SYN flooding #{rhost}:#{rport}...")
|
print_status("SYN flooding #{rhost}:#{rport}...")
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.dst_ip = rhost
|
n.l3.dst_ip = rhost
|
||||||
n.l3.protocol = 6
|
n.l3.protocol = 6
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = rand(65535)+1
|
n.l4.src_port = rand(65535)+1
|
||||||
n.l4.dst_port = rport
|
n.l4.dst_port = rport
|
||||||
n.l4.flag_syn = 1
|
n.l4.flag_syn = 1
|
||||||
|
|
|
@ -42,13 +42,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
connect_ip
|
connect_ip
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = datastore['SHOST'] || Rex::Socket.source_address(rhost)
|
n.l3.src_ip = datastore['SHOST'] || Rex::Socket.source_address(rhost)
|
||||||
n.l3.dst_ip = rhost
|
n.l3.dst_ip = rhost
|
||||||
n.l3.protocol = 6
|
n.l3.protocol = 6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.dst_port = rand(65535)+1
|
n.l4.dst_port = rand(65535)+1
|
||||||
n.l4.seq = rand(0x100000000)
|
n.l4.seq = rand(0x100000000)
|
||||||
n.l4.ack = rand(0x100000000)
|
n.l4.ack = rand(0x100000000)
|
||||||
|
|
|
@ -46,13 +46,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = datastore['SHOST'] || Rex::Socket.source_address(rhost)
|
n.l3.src_ip = datastore['SHOST'] || Rex::Socket.source_address(rhost)
|
||||||
n.l3.dst_ip = rhost
|
n.l3.dst_ip = rhost
|
||||||
n.l3.protocol = 6
|
n.l3.protocol = 6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = rand(65535)+1
|
n.l4.src_port = rand(65535)+1
|
||||||
n.l4.seq = rand(0x100000000)
|
n.l4.seq = rand(0x100000000)
|
||||||
n.l4.ack = rand(0x100000000)
|
n.l4.ack = rand(0x100000000)
|
||||||
|
|
|
@ -70,13 +70,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
def buildprobe(shost, smac, dhost)
|
def buildprobe(shost, smac, dhost)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
n.l2 = Racket::Ethernet.new(Racket::Misc.randstring(14))
|
n.l2 = Racket::L2::Ethernet.new(Racket::Misc.randstring(14))
|
||||||
n.l2.src_mac = smac
|
n.l2.src_mac = smac
|
||||||
n.l2.dst_mac = 'ff:ff:ff:ff:ff:ff'
|
n.l2.dst_mac = 'ff:ff:ff:ff:ff:ff'
|
||||||
n.l2.ethertype = 0x0806
|
n.l2.ethertype = 0x0806
|
||||||
|
|
||||||
n.l3 = Racket::ARP.new
|
n.l3 = Racket::L3::ARP.new
|
||||||
n.l3.opcode = Racket::ARP::ARPOP_REQUEST
|
n.l3.opcode = Racket::L3::ARP::ARPOP_REQUEST
|
||||||
n.l3.sha = n.l2.src_mac
|
n.l3.sha = n.l2.src_mac
|
||||||
n.l3.tha = n.l2.dst_mac
|
n.l3.tha = n.l2.dst_mac
|
||||||
n.l3.spa = shost
|
n.l3.spa = shost
|
||||||
|
@ -88,11 +88,11 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
pkt = capture.next
|
pkt = capture.next
|
||||||
return if not pkt
|
return if not pkt
|
||||||
|
|
||||||
eth = Racket::Ethernet.new(pkt)
|
eth = Racket::L2::Ethernet.new(pkt)
|
||||||
return if not eth.ethertype == 0x0806
|
return if not eth.ethertype == 0x0806
|
||||||
|
|
||||||
arp = Racket::ARP.new(eth.payload)
|
arp = Racket::L3::ARP.new(eth.payload)
|
||||||
return if not arp.opcode == Racket::ARP::ARPOP_REPLY
|
return if not arp.opcode == Racket::L3::ARP::ARPOP_REPLY
|
||||||
|
|
||||||
{:raw => pkt, :eth => eth, :arp => arp}
|
{:raw => pkt, :eth => eth, :arp => arp}
|
||||||
end
|
end
|
||||||
|
|
|
@ -167,14 +167,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
def buildprobe(shost, sport, dhost, dport)
|
def buildprobe(shost, sport, dhost, dport)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = shost
|
n.l3.src_ip = shost
|
||||||
n.l3.dst_ip = dhost
|
n.l3.dst_ip = dhost
|
||||||
n.l3.protocol = 0x6
|
n.l3.protocol = 0x6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = sport
|
n.l4.src_port = sport
|
||||||
n.l4.seq = rand(0x100000000)
|
n.l4.seq = rand(0x100000000)
|
||||||
n.l4.dst_port = dport
|
n.l4.dst_port = dport
|
||||||
|
@ -191,14 +191,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
begin
|
begin
|
||||||
Timeout.timeout(to) do
|
Timeout.timeout(to) do
|
||||||
pcap.each do |r|
|
pcap.each do |r|
|
||||||
eth = Racket::Ethernet.new(r)
|
eth = Racket::L2::Ethernet.new(r)
|
||||||
|
|
||||||
next if not eth.ethertype == 0x0800
|
next if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if not ip.protocol == 6
|
next if not ip.protocol == 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
|
|
||||||
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
||||||
|
|
||||||
|
|
|
@ -108,14 +108,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
def buildprobe(shost, sport, dhost, dport)
|
def buildprobe(shost, sport, dhost, dport)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = shost
|
n.l3.src_ip = shost
|
||||||
n.l3.dst_ip = dhost
|
n.l3.dst_ip = dhost
|
||||||
n.l3.protocol = 0x6
|
n.l3.protocol = 0x6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = sport
|
n.l4.src_port = sport
|
||||||
n.l4.seq = rand(0x100000000)
|
n.l4.seq = rand(0x100000000)
|
||||||
n.l4.ack = rand(0x100000000)
|
n.l4.ack = rand(0x100000000)
|
||||||
|
@ -134,13 +134,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
begin
|
begin
|
||||||
Timeout.timeout(to) do
|
Timeout.timeout(to) do
|
||||||
pcap.each do |r|
|
pcap.each do |r|
|
||||||
eth = Racket::Ethernet.new(r)
|
eth = Racket::L2::Ethernet.new(r)
|
||||||
next if not eth.ethertype == 0x0800
|
next if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if not ip.protocol == 6
|
next if not ip.protocol == 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
|
|
||||||
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
||||||
|
|
||||||
|
|
|
@ -109,14 +109,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
def buildprobe(shost, sport, dhost, dport)
|
def buildprobe(shost, sport, dhost, dport)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = shost
|
n.l3.src_ip = shost
|
||||||
n.l3.dst_ip = dhost
|
n.l3.dst_ip = dhost
|
||||||
n.l3.protocol = 0x6
|
n.l3.protocol = 0x6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = sport
|
n.l4.src_port = sport
|
||||||
n.l4.seq = rand(0x100000000)
|
n.l4.seq = rand(0x100000000)
|
||||||
n.l4.ack = 0
|
n.l4.ack = 0
|
||||||
|
@ -135,13 +135,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
begin
|
begin
|
||||||
Timeout.timeout(to) do
|
Timeout.timeout(to) do
|
||||||
pcap.each do |r|
|
pcap.each do |r|
|
||||||
eth = Racket::Ethernet.new(r)
|
eth = Racket::L2::Ethernet.new(r)
|
||||||
next if not eth.ethertype == 0x0800
|
next if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if not ip.protocol == 6
|
next if not ip.protocol == 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
|
|
||||||
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
||||||
|
|
||||||
|
|
|
@ -108,14 +108,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
def buildprobe(shost, sport, dhost, dport)
|
def buildprobe(shost, sport, dhost, dport)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = shost
|
n.l3.src_ip = shost
|
||||||
n.l3.dst_ip = dhost
|
n.l3.dst_ip = dhost
|
||||||
n.l3.protocol = 0x6
|
n.l3.protocol = 0x6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = sport
|
n.l4.src_port = sport
|
||||||
n.l4.seq = rand(0x100000000)
|
n.l4.seq = rand(0x100000000)
|
||||||
n.l4.flag_fin = 1
|
n.l4.flag_fin = 1
|
||||||
|
@ -135,13 +135,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
begin
|
begin
|
||||||
Timeout.timeout(to) do
|
Timeout.timeout(to) do
|
||||||
pcap.each do |r|
|
pcap.each do |r|
|
||||||
eth = Racket::Ethernet.new(r)
|
eth = Racket::L2::Ethernet.new(r)
|
||||||
next if not eth.ethertype == 0x0800
|
next if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if not ip.protocol == 6
|
next if not ip.protocol == 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
|
|
||||||
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
||||||
|
|
||||||
|
|
|
@ -66,13 +66,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
end
|
end
|
||||||
|
|
||||||
def parse_reply(r)
|
def parse_reply(r)
|
||||||
eth = Racket::Ethernet.new(r)
|
eth = Racket::L2::Ethernet.new(r)
|
||||||
return if not eth.ethertype == 0x0800
|
return if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
case ip.protocol
|
case ip.protocol
|
||||||
when 1
|
when 1
|
||||||
icmp = Racket::ICMP.new(ip.payload)
|
icmp = Racket::L4::ICMP.new(ip.payload)
|
||||||
reply = {:raw => r, :eth => eth, :ip => ip, :icmp => icmp}
|
reply = {:raw => r, :eth => eth, :ip => ip, :icmp => icmp}
|
||||||
reply[:type] = :icmp
|
reply[:type] = :icmp
|
||||||
return if(icmp.payload[4,2] != [datastore['ECHOID']].pack('n'))
|
return if(icmp.payload[4,2] != [datastore['ECHOID']].pack('n'))
|
||||||
|
@ -80,7 +80,7 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
reply[:external] = ip.src_ip
|
reply[:external] = ip.src_ip
|
||||||
return reply
|
return reply
|
||||||
when 6
|
when 6
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
reply = {:raw => r, :eth => eth, :ip => ip, :tcp => tcp}
|
||||||
reply[:type] = :tcp
|
reply[:type] = :tcp
|
||||||
reply[:internal] = Rex::Socket.addr_itoa(tcp.ack - 1)
|
reply[:internal] = Rex::Socket.addr_itoa(tcp.ack - 1)
|
||||||
|
|
|
@ -55,14 +55,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
def build_tcp_syn(dst)
|
def build_tcp_syn(dst)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = datastore['EHOST']
|
n.l3.src_ip = datastore['EHOST']
|
||||||
n.l3.dst_ip = dst
|
n.l3.dst_ip = dst
|
||||||
n.l3.protocol = 0x6
|
n.l3.protocol = 0x6
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::TCP.new
|
n.l4 = Racket::L4::TCP.new
|
||||||
n.l4.src_port = datastore['CPORT'].to_i
|
n.l4.src_port = datastore['CPORT'].to_i
|
||||||
n.l4.seq = Rex::Socket.addr_atoi(dst)
|
n.l4.seq = Rex::Socket.addr_atoi(dst)
|
||||||
n.l4.dst_port = datastore['RPORT'].to_i
|
n.l4.dst_port = datastore['RPORT'].to_i
|
||||||
|
@ -76,14 +76,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
def build_icmp(dst)
|
def build_icmp(dst)
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = datastore['EHOST']
|
n.l3.src_ip = datastore['EHOST']
|
||||||
n.l3.dst_ip = dst
|
n.l3.dst_ip = dst
|
||||||
n.l3.protocol = 0x1
|
n.l3.protocol = 0x1
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::ICMP.new
|
n.l4 = Racket::L4::ICMP.new
|
||||||
n.l4.type = 8
|
n.l4.type = 8
|
||||||
n.l4.id = rand(0x10000)
|
n.l4.id = rand(0x10000)
|
||||||
n.l4.seq = 1
|
n.l4.seq = 1
|
||||||
|
|
|
@ -102,13 +102,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
open_pcap
|
open_pcap
|
||||||
|
|
||||||
each_packet do |pkt|
|
each_packet do |pkt|
|
||||||
eth = Racket::Ethernet.new(pkt)
|
eth = Racket::L2::Ethernet.new(pkt)
|
||||||
next if not eth.ethertype == 0x0800
|
next if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if not ip.protocol == 6
|
next if not ip.protocol == 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
next if !(tcp.payload and tcp.payload.length > 0)
|
next if !(tcp.payload and tcp.payload.length > 0)
|
||||||
|
|
||||||
data = {:raw => pkt, :eth => eth, :ip => ip, :tcp => tcp}
|
data = {:raw => pkt, :eth => eth, :ip => ip, :tcp => tcp}
|
||||||
|
|
|
@ -303,13 +303,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
end
|
end
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = src_ip
|
n.l3.src_ip = src_ip
|
||||||
n.l3.dst_ip = target
|
n.l3.dst_ip = target
|
||||||
n.l3.protocol = 17
|
n.l3.protocol = 17
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
n.l4 = Racket::UDP.new
|
n.l4 = Racket::L4::UDP.new
|
||||||
n.l4.src_port = (rand((2**16)-1024)+1024).to_i
|
n.l4.src_port = (rand((2**16)-1024)+1024).to_i
|
||||||
n.l4.dst_port = 53
|
n.l4.dst_port = 53
|
||||||
n.l4.payload = req.encode
|
n.l4.payload = req.encode
|
||||||
|
|
|
@ -297,13 +297,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
end
|
end
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = src_ip
|
n.l3.src_ip = src_ip
|
||||||
n.l3.dst_ip = target
|
n.l3.dst_ip = target
|
||||||
n.l3.protocol = 17
|
n.l3.protocol = 17
|
||||||
n.l3.id = rand(0x10000)
|
n.l3.id = rand(0x10000)
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
n.l4 = Racket::UDP.new
|
n.l4 = Racket::L4::UDP.new
|
||||||
n.l4.src_port = (rand((2**16)-1024)+1024).to_i
|
n.l4.src_port = (rand((2**16)-1024)+1024).to_i
|
||||||
n.l4.dst_port = 53
|
n.l4.dst_port = 53
|
||||||
n.l4.payload = req.encode
|
n.l4.payload = req.encode
|
||||||
|
|
|
@ -140,13 +140,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
next if not d3
|
next if not d3
|
||||||
|
|
||||||
eth = Racket::Ethernet.new(d3)
|
eth = Racket::L2::Ethernet.new(d3)
|
||||||
next if eth.ethertype != 0x0800
|
next if eth.ethertype != 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if ip.protocol != 6
|
next if ip.protocol != 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
|
|
||||||
@http.each do |r|
|
@http.each do |r|
|
||||||
hit = nil
|
hit = nil
|
||||||
|
@ -162,18 +162,18 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
injpkt.bssid = pkt.bssid
|
injpkt.bssid = pkt.bssid
|
||||||
|
|
||||||
response = Racket::Racket.new
|
response = Racket::Racket.new
|
||||||
response.l2 = Racket::Ethernet.new("01234567890123")
|
response.l2 = Racket::L2::Ethernet.new("01234567890123")
|
||||||
response.l2.dst_mac = eth.src_mac
|
response.l2.dst_mac = eth.src_mac
|
||||||
response.l2.src_mac = eth.dst_mac
|
response.l2.src_mac = eth.dst_mac
|
||||||
response.l2.ethertype = 0x0800
|
response.l2.ethertype = 0x0800
|
||||||
|
|
||||||
response.l3 = Racket::IPv4.new
|
response.l3 = Racket::L3::IPv4.new
|
||||||
response.l3.src_ip = ip.dst_ip
|
response.l3.src_ip = ip.dst_ip
|
||||||
response.l3.dst_ip = ip.src_ip
|
response.l3.dst_ip = ip.src_ip
|
||||||
response.l3.protocol = ip.protocol
|
response.l3.protocol = ip.protocol
|
||||||
response.l3.ttl = ip.ttl
|
response.l3.ttl = ip.ttl
|
||||||
|
|
||||||
response.l4 = Racket::TCP.new
|
response.l4 = Racket::L4::TCP.new
|
||||||
response.l4.src_port = tcp.dst_port
|
response.l4.src_port = tcp.dst_port
|
||||||
response.l4.dst_port = tcp.src_port
|
response.l4.dst_port = tcp.src_port
|
||||||
response.l4.window = tcp.window
|
response.l4.window = tcp.window
|
||||||
|
@ -184,7 +184,7 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
response.l4.flag_ack = 1
|
response.l4.flag_ack = 1
|
||||||
response.l4.flag_psh = 1
|
response.l4.flag_psh = 1
|
||||||
|
|
||||||
response.l5 = Racket::RawL5.new
|
response.l5 = Racket::L5::RawL5.new
|
||||||
response.l5.payload = r["txresponse"]
|
response.l5.payload = r["txresponse"]
|
||||||
|
|
||||||
response.l4.fix!(response.l3.src_ip, response.l3.dst_ip, '')
|
response.l4.fix!(response.l3.src_ip, response.l3.dst_ip, '')
|
||||||
|
|
|
@ -74,13 +74,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
next if not d3
|
next if not d3
|
||||||
|
|
||||||
eth = Racket::Ethernet.new(d3)
|
eth = Racket::L2::Ethernet.new(d3)
|
||||||
next if eth.ethertype != 0x0800
|
next if eth.ethertype != 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if ip.protocol != 0x11
|
next if ip.protocol != 0x11
|
||||||
|
|
||||||
udp = Racket::UDP.new(ip.payload)
|
udp = Racket::L4::UDP.new(ip.payload)
|
||||||
|
|
||||||
dns = Net::DNS::Packet::parse(udp.payload)
|
dns = Net::DNS::Packet::parse(udp.payload)
|
||||||
|
|
||||||
|
@ -101,18 +101,18 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
injpkt.bssid = pkt.bssid
|
injpkt.bssid = pkt.bssid
|
||||||
|
|
||||||
response = Racket::Racket.new
|
response = Racket::Racket.new
|
||||||
response.l2 = Racket::Ethernet.new("01234567890123")
|
response.l2 = Racket::L2::Ethernet.new("01234567890123")
|
||||||
response.l2.dst_mac = eth.src_mac
|
response.l2.dst_mac = eth.src_mac
|
||||||
response.l2.src_mac = eth.dst_mac
|
response.l2.src_mac = eth.dst_mac
|
||||||
response.l2.ethertype = 0x0800
|
response.l2.ethertype = 0x0800
|
||||||
|
|
||||||
response.l3 = Racket::IPv4.new
|
response.l3 = Racket::L3::IPv4.new
|
||||||
response.l3.src_ip = ip.dst_ip
|
response.l3.src_ip = ip.dst_ip
|
||||||
response.l3.dst_ip = ip.src_ip
|
response.l3.dst_ip = ip.src_ip
|
||||||
response.l3.protocol = ip.protocol
|
response.l3.protocol = ip.protocol
|
||||||
response.l3.ttl = ip.ttl
|
response.l3.ttl = ip.ttl
|
||||||
|
|
||||||
response.l4 = Racket::UDP.new
|
response.l4 = Racket::L4::UDP.new
|
||||||
response.l4.src_port = udp.dst_port
|
response.l4.src_port = udp.dst_port
|
||||||
response.l4.dst_port = udp.src_port
|
response.l4.dst_port = udp.src_port
|
||||||
|
|
||||||
|
|
|
@ -44,13 +44,13 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
print_status("Sniffing HTTP requests...")
|
print_status("Sniffing HTTP requests...")
|
||||||
each_packet() do |pkt|
|
each_packet() do |pkt|
|
||||||
|
|
||||||
eth = Racket::Ethernet.new(pkt)
|
eth = Racket::L2::Ethernet.new(pkt)
|
||||||
next if not eth.ethertype == 0x0800
|
next if not eth.ethertype == 0x0800
|
||||||
|
|
||||||
ip = Racket::IPv4.new(eth.payload)
|
ip = Racket::L3::IPv4.new(eth.payload)
|
||||||
next if not ip.protocol == 6
|
next if not ip.protocol == 6
|
||||||
|
|
||||||
tcp = Racket::TCP.new(ip.payload)
|
tcp = Racket::L4::TCP.new(ip.payload)
|
||||||
next if !(tcp.payload and tcp.payload.length > 0)
|
next if !(tcp.payload and tcp.payload.length > 0)
|
||||||
|
|
||||||
if (tcp.payload =~ /GET\s+([^\s]+)\s+HTTP/smi)
|
if (tcp.payload =~ /GET\s+([^\s]+)\s+HTTP/smi)
|
||||||
|
|
|
@ -38,15 +38,15 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
open_pcap()
|
open_pcap()
|
||||||
|
|
||||||
r = Racket::Racket.new
|
r = Racket::Racket.new
|
||||||
r.l2 = Racket::Ethernet.new
|
r.l2 = Racket::L2::Ethernet.new
|
||||||
r.l2.ethertype = 0x0800
|
r.l2.ethertype = 0x0800
|
||||||
r.l2.src_mac = "00:41:41:41:41:41"
|
r.l2.src_mac = "00:41:41:41:41:41"
|
||||||
r.l2.dst_mac = "00:42:42:42:42:42"
|
r.l2.dst_mac = "00:42:42:42:42:42"
|
||||||
r.l3 = Racket::IPv4.new
|
r.l3 = Racket::L3::IPv4.new
|
||||||
r.l3.src_ip = "41.41.41.41"
|
r.l3.src_ip = "41.41.41.41"
|
||||||
r.l3.dst_ip = "42.42.42.42"
|
r.l3.dst_ip = "42.42.42.42"
|
||||||
r.l3.protocol = 17
|
r.l3.protocol = 17
|
||||||
r.l4 = Racket::UDP.new
|
r.l4 = Racket::L4::UDP.new
|
||||||
r.l4.src_port = 0x41
|
r.l4.src_port = 0x41
|
||||||
r.l4.dst_port = 0x42
|
r.l4.dst_port = 0x42
|
||||||
r.l4.payload = "SPOOOOOFED"
|
r.l4.payload = "SPOOOOOFED"
|
||||||
|
|
|
@ -35,14 +35,14 @@ class Metasploit3 < Msf::Auxiliary
|
||||||
|
|
||||||
n = Racket::Racket.new
|
n = Racket::Racket.new
|
||||||
|
|
||||||
n.l3 = Racket::IPv4.new
|
n.l3 = Racket::L3::IPv4.new
|
||||||
n.l3.src_ip = ip
|
n.l3.src_ip = ip
|
||||||
n.l3.dst_ip = ip
|
n.l3.dst_ip = ip
|
||||||
n.l3.protocol = 17
|
n.l3.protocol = 17
|
||||||
n.l3.id = 0xdead
|
n.l3.id = 0xdead
|
||||||
n.l3.ttl = 255
|
n.l3.ttl = 255
|
||||||
|
|
||||||
n.l4 = Racket::UDP.new
|
n.l4 = Racket::L4::UDP.new
|
||||||
n.l4.src_port = 53
|
n.l4.src_port = 53
|
||||||
n.l4.dst_port = 53
|
n.l4.dst_port = 53
|
||||||
n.l4.payload = "HELLO WORLD"
|
n.l4.payload = "HELLO WORLD"
|
||||||
|
|
Loading…
Reference in New Issue