→W.A.S.T.E
→to Encapsulate as Default
Peenemuende Packet Launcher
[Image shows Pt. Julian and Alejo preparing for a test launch]
''' Peenemuende Packet Launcher vP2.0 CopyFlight Pt. Julian Oliver. W.A.S.T.E 2608 You may redistribute this software under the terms of the Peenemuende Public License. It may not be used for war, merchant archaeology, historical revisionism and nor may it be used with citations other than those of Wernher Von Braun. This program is distributed in the hope that it will be taken seriously, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Peenemuende Public License for more details. This wrapper requires Steghide, Hexdump, Scapy and Python to function. It has been tested on a GNU/Linux system in fragile weather. ''' from scapy import * import os import time said = "Nature does not know extinction; all it knows is transformation. \ Everything science has taught me, and continues to teach me, strengthens \ my belief in the continuity of our spiritual existence after death. \ -Wernher von Braun" memory = 'braun.txt' heard = open(memory, 'w') heard.write(said) heard.close() # store the memory seen = 'site.jpg' # load image of site seen by enemy buried = 'buried.jpg' # bury memory in site hide = raw_input('please supply pass phrase to secure data at site: ') #dest = raw_input('please supply network target: ') #dest = 'nasa.com' # NASA is our destination dest = 'www.darpa.mil' #DARPA is our destination def makeSecret(embedFile, stegFile, coverFile, passPhrase): try: os.popen("/usr/bin/steghide --embed -ef " +embedFile +" -cf " +coverFile +" -sf " +stegFile +" -p " +passPhrase) print "######################################"'\n'\ "# data successfully embedded in site #"'\n'\ "######################################"'\n' os.popen('/usr/bin/hexdump ' +stegFile +' > ' +'payload.txt') except: print "##################################"'\n'\ "# could not embed data in site #"'\n'\ "##################################"'\n' def sendPayload(target): makeSecret(memory, buried, seen, hide) payload = open('payload.txt', 'r').read() pmp = IP(dst=target)/TCP()/payload #create a peenemuende packet #send(pmp) # launch payload. sr1(pmp) # launch payload and return confirmation if target is hit. time.sleep(1) print "\nSuccessfully sent payload to ", dest, '\n' time.sleep(1) print "Presenting payload\n" time.sleep(1) pmp.display() sendPayload(dest)
location1: (Origin - Launch)
51.168 North 13.801 East
location2: (Destination - Target)
54°0'09.4” North 13°8'04.7” East
Our first test covered a very small distance (30cm aprox.) as you can see in the image below.
It was a success so we carried on to the second one.
We moved onto a second experiment, one of us set up on determining the maximum distance we could cover via the PING echo response. We wanted to determine the proper TTL (Time To Live) value. The test was failure. Below is the log of the ping command on the second machine, it was a moving target so its clear that at the end the ping responses where slow. Since we lost the connection between the first and the second machine (the ad-hoc network mode didn't persist) we could'nt make a proper second launch.
Last login: Sun Jan 27 12:06:03 on console
_ 10.0.0.2 ping statistics _
5 packets transmitted, 0 packets received, 100% packet loss
sh-3.2# ping 10.0.2.2
PING 10.0.2.2 (10.0.2.2): 56 data bytes
64 bytes from 10.0.2.2: icmp_seq=0 ttl=64 time=1.072 ms
64 bytes from 10.0.2.2: icmp_seq=1 ttl=64 time=0.888 ms
64 bytes from 10.0.2.2: icmp_seq=2 ttl=64 time=0.901 ms
64 bytes from 10.0.2.2: icmp_seq=3 ttl=64 time=1.783 ms
64 bytes from 10.0.2.2: icmp_seq=4 ttl=64 time=0.901 ms
64 bytes from 10.0.2.2: icmp_seq=5 ttl=64 time=0.988 ms
After moving the target for around 150mts, what you read above and below is the report of a PING command. It began to be unstable after the first 80mts but was still possible to get an ECHO in the limits of around a 150mts at the other side of one of the protection walls: 10% packet loss round-trip min/avg/max/stddev = 0.409/1.711/88.860/6.081 ms
check the entire PING log here
64 bytes from 10.0.2.2: icmp_seq=1432 ttl=64 time=42.942 ms
64 bytes from 10.0.2.2: icmp_seq=1434 ttl=64 time=18.338 ms
64 bytes from 10.0.2.2: icmp_seq=1437 ttl=64 time=27.716 ms
64 bytes from 10.0.2.2: icmp_seq=1438 ttl=64 time=43.185 ms
64 bytes from 10.0.2.2: icmp_seq=1442 ttl=64 time=3.500 ms
64 bytes from 10.0.2.2: icmp_seq=1443 ttl=64 time=8.035 ms
64 bytes from 10.0.2.2: icmp_seq=1458 ttl=64 time=17.338 ms
64 bytes from 10.0.2.2: icmp_seq=1459 ttl=64 time=3.544 ms
64 bytes from 10.0.2.2: icmp_seq=1494 ttl=64 time=3.422 ms
^C
— 10.0.2.2 ping statistics —
1556 packets transmitted, 1388 packets received, 10% packet loss
round-trip min/avg/max/stddev = 0.409/1.711/88.860/6.081 ms