利用nc当作备用shell管理方案.

ssh 有时候真的就是连不上了,然后是没什么然后了呢. 或者手残改错配置然后重新sshd了.
所以这时候需要备用的远程管理工具.nc是最好的选择,一般服务器都是 内网的,如果跳板机也管理不了呢.

安装 (服务端 客户端 都装)

yum install nc -y
apt install netcat -y

这里你需要知道的一些事情

理想中的 nc -l -vv -p 5555 -e /bin/bash
在Linux的大部分发行版中都默认编译了nc,但也许是出于安全考虑,发行版中默认编译的nc往往没有-e选项(没有define一个
GAPING_SECURITY_HOLE常量),也就是说我们不能通过-e选项绑定目标的shell,使得我们在利用上受到限制.

# 绕过这个问题
mknod /tmp/backpipe p 2>/dev/null
/bin/bash 0</tmp/backpipe |  nc -l 127.0.0.1 -vnp 5000  >/tmp/backpipe 

配置

#!/bin/bash
mknod /tmp/backpipe p 2>/dev/null
ps -C nc >/dev/null
if [ $? -eq 1 ] ;then
/bin/bash 0</tmp/backpipe |  nc -l 127.0.0.1 -vnp 5000  >/tmp/backpipe &
fi

用crontab -e 添加 一个定时任务,每分钟检查一次
* * * * * bash /root/ncloop.sh

服务端使用 nps打洞 做转发到内网机器即可.

 root@MbookV1:/mnt/c/Users/makeit/Documents# nc 服务器ip 5555
ls
AppFile
assistant
baiduRSapi
cloudflare.sh
Desktop
Documents

其它再补充吧,吃饭了

posted @ 2019-09-13 18:41  lvusyy  阅读(335)  评论(0编辑  收藏  举报