🐸Linux服务-SSH攻防
SSH是一种网络协议,用于计算机之间的加密登录。
#连接服务器
ssh root@123.123.123.123
#禁止询问过程
ssh -o StrictHostKeyChecking=no root@192.168.250.14
#远程执行命令
ssh root@192.168.250.14 "id"
#远程主机运行本地脚本
ssh root@192.168.250.14 /bin/bash < test.sh
#挂载远程目录
Centos7:yum install fuse-sshfs
Kali:apt install sshfs
sshfs 10.1.1.1:/data /mnt配置文件
/etc/ssh/sshd_config
#首次登录不显示检查提示
StrictHostKeyChecking no
PermitRootLogin yes #ubuntu默认不允许root登录
PermitEmptyPasswords no #空密码连接
UseDNS yes #提高速度
GSSAPIAuthentication yes #提高速度,解决ssh登录缓慢的问题常用选项
常用工具
密钥的登录
Pssh
基于python编写的自动化运维工具,但在2012 年 2 月 3已再不更新了。
安装:yum -y install pssh
场景:获得了内网10+台以上主机,但每一次都需要登录并执行whoami之后截图写报告;
plink
pscp非交互文件互传
pscp.exe是putty里面的一个工具,脱网的情况下利用这个工具上传其它工具。
X 协议转发
什么是X11-forwarding?
X11 中的 X 指的就是 X 协议;11 指的是采用 X 协议的第 11 个版本。
使用X Server开启图形化
隧道转发
什么是SSH隧道?
隧道是一种把网络协议封装进另外一种网络协议进行传输的技术,SSH隧道通常会绑定一个本地端口,所有发向这个端口的数据包,都会被加密并透明地传输到远端系统。
SSH隧道时所用到的一些选项具体用途说明
-C 压缩传输,加快传输速度
-f 在后台对用户名密码进行认证
-N 仅仅只用来转发,不用再弹回一个新的shell -n 后台运行
-q 安静模式,不要显示任何debug信息
-l 指定ssh登录名
-g 允许远程主机连接到本地用于转发的端口
-L 进行本地端口转发
-R 进行远程端口转发
-D 动态转发,即socks代理
-T 禁止分配伪终端
-p 指定远程ssh服务端口
本地端口转发
场景:边界Linux服务器,允许SSH登录访问,不想传任何代理工具的情况下使用SSH隧道代理。
问题:
普通用户与root用户都可以吗?
可以
SSH在这个过程中做了哪些事?
加密、转发、解密、通讯
缺点:每个服务都需要配置不同的端口转发
优点:
不用任何代理工具
本地隧道是访问特定SSH客户机进行通信的过程,允许你连接到内网机器。
Cetnos7肉鸡:192.168.3.17 (外网)
内网RDP:192.168.3.21 (内网)
Attack:192.168.3.20 (攻击者,外网)
Kali操作:
Kali操作:
远程端口转发
缺点:
每个服务都需要配置不同的端口转发
容易被发现,通过ps、lsof等命令查看
需要交互式终端
问题:
在肉鸡上连接外网VPS要给于普通权限用户,并且最好VPS是一次性使用,如vultr主机,用完就删。
普通用户与root用户都可以吗?
可以
本地端口转发与远程的区别是?
本地:我连接服务器,远程:服务器连接我
如何在WebShell上不传任何工具,使用SSH隧道?
root权限,直接反弹shell,通过反弹的Shell来执行远程端口转发。
Apache权限,无法执行。
动态端口转发
Last updated
Was this helpful?