Академический Документы
Профессиональный Документы
Культура Документы
8663 Jan
1 00:03 badbuf
Phase
1:
Unauthenticated
Flying
Objects
(due
10/22/14,
before
class).
In
this
phase,
you
will
use
badbuf.c
to
create
a
login
program
that
listens
on
port
10551
and
checks
a
table
of
<name,password>
pairs
to
decide
whether
to
allow
access
to
the
drone
or
not.
Turn
in
all
source
code
(with
compilation
instructions)
and
data
files,
a
typescript
obtained
with
the
script
command
(demonstrating
that
you
have
authentication
working
show
both
a
success
a
failure,
and
show
how
to
add
a
user
name
and
update
a
password).
Phase
2:
Unprotected
Flying
Objects
(due
10/29/14,
before
class).
Since
you
are
acutely
(!)
aware
of
problems
with
the
badbuf
codes
input-checking,
you
decide
to
use
iptables
(see
man iptables
on
any
Linux
box)
to:
(1) force
all
traffic
to
initially
go
through
your
new
authentication
server
(2) filter
out
shellcode
used
to
attack
badbuf.c
In
addition,
to
secure
the
channel,
you
will
use
a
very
simple
form
of
cryptography,
where
the
characters
that
are
sent
between
the
client
and
the
drone
are
encrypted
by
adding
a
value
between
0
and
25
to
each
character
to
hide
the
cleartext
password.
Be
very
careful
with iptables
and
closing
the
telnet
port
until
you
are
sure
you
know
what
you
are
doing,
since
without
a
working
tenet
or
similar
way
to
reach
a
shell
you
cant
fix
things
(i.e.,
the
drone
is
bricked).
One
thing
I
suggest
is
to
set
up
a
safety
script
that
restores
the
original
iptables
values
after
5
minutes;
e.g.,
sleep 300; restore.
Turn
in
all
table
files
for
iptables,
one
or
more
typescripts
obtained
with
the
script
command
(demonstrating
that
you
have
set
up
iptables
to
deny
access
to
the
ordinary
root
telnet)
and
a
packet
capture
captured
with
tcpdump
that
demonstrates
that
the
encryption
is
in
place.