zoukankan      html  css  js  c++  java
  • 利用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
    

    其它再补充吧,吃饭了

  • 相关阅读:
    C#-使用Tuple传递多个参数
    CentOS 常用命令
    C#-ToString格式化
    java面对对象(六)--内部类、匿名内部类
    JAVA面对对象(五)——接口
    JAVA面对对象(四)——抽象类
    JAVA面对对象(三)——Super、static、final关键字
    Mybatis缓存
    重启博客
    某大神的装修笔记
  • 原文地址:https://www.cnblogs.com/lovesKey/p/11517360.html
Copyright © 2011-2022 走看看