This file is indexed.

/usr/share/doc/ruby-packetfu/examples/ackscan.rb is in ruby-packetfu 1.1.8-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/env ruby
require 'packetfu'
# Portscanning!
# Run this on one machine
#cap = Capture.new(:iface=>'wlan0') # or whatever your interface is
#cap.show_live(:filter => 'src net 209.85.165')
# Run this on another:
#cap = Capture.new(:iface=>'wlan0') # or whatever your interface is
#cap = Capture.new(:iface=>'wlan0') # or whatever your interface is
# Run this on the third
def do_scan
	puts "Generating packets..."
	pkt_array = gen_packets.sort_by {rand}
	puts "Dumping them on the wire..."
	inj = PacketFu::Inject.new(:iface => ARGV[0])
	inj.array_to_wire(:array=>pkt_array)
	puts "Done!"
end

def gen_packets
	config = PacketFu::Utils.whoami?(:iface=>ARGV[0])
	pkt = PacketFu::TCPPacket.new(:config=>config, :flavor=>"Windows")
	pkt.payload ="all I wanna do is ACK ACK ACK and a RST and take your money"
	pkt.ip_daddr="209.85.165.0"	# One of Google's networks
	pkt.tcp_flags.ack=1
	pkt.tcp_dst=81
	pkt_array = []
	256.times do |i|
	 pkt.ip_dst.o4=i
	 pkt.tcp_src = rand(5000 - 1025) + 1025
 	 pkt.recalc
 	 pkt_array << pkt.to_s
 	end
 	pkt_array
end

do_scan