password
icon
URL
type
date
summary
status
slug
tags
category
传统的互联网通信使用明文传输数据,内容一旦被截获就会完全暴露,存在很多安全隐患。SSH协议通过对网络数据进行加密和验证,建立SSH客户端和SSH服务器之间的安全隧道,在不安全的网络环境中为网络服务提供了安全的传输通道。

2.0 SSH速览

SSH最常用的场景是远程登录和文件传输。在SSH协议出现之前,Telnet广泛应用于远程登录场景,为远程管理网络设备提供了极大便利,而FTP作为常用的文件传输协议,兼具操作简单和传输效率高的优点,但它们都存在相同的问题,即明文传输数据带来的安全隐患。SSH采用加密传输数据、提升认证强度等手段,克服了Telnet和FTP应用中的安全性问题,实现了安全的远程登录和文件传输业务。
notion image
SSH常用场景

SSH是如何工作的?

SSH由服务器和客户端组成,为建立安全的SSH通道,双方需要先建立TCP连接,然后协商使用的版本号和各类算法,并生成相同的会话密钥用于后续的对称加密。在完成用户认证后,双方即可建立会话进行数据交互。SSH的工作流程包括如下几个阶段。
notion image
SSH工作流程
notion image
SSH密钥交换
 

常用SSH连接工具:PuTTY和OpenSSH

由于SSH是一套协议标准,需要依赖基于SSH实现的工具完成SSH客户端和SSH服务器之间的连接,PuTTY和OpenSSH应运而生。
PuTTY是Windows上经典的免费SSH连接工具,通常用于使用SSH协议远程登录设备,最新版本可以在PuTTY官网下载。
OpenSSH是SSH协议的开源实现,支持在Unix操作系统上运行,最新版本可以在OpenSSH官网下载。目前Windows10已经包含OpenSSH客户端和服务器软件,可在“设置—应用—应用与功能—可选功能”中搜索安装。
 

基础用法

1.SSH登录远程服务器
例如,登录到IP地址为192.168.1.1的服务器,用户名为hacker:
2. 指定端口连接
如果远程服务器SSH服务不是运行在默认的22端口,可以使用-p参数指定端口:
例如,使用端口2222:
3. 使用密钥文件登录
为了提高安全性,可以使用密钥对而不是密码进行认证。使用-i参数指定私钥文件路径:
例如:
4. 执行远程命令
SSH可以在登录远程服务器后执行命令。只需在ssh命令后面直接添加要执行的命令即可:
例如,查看远程服务器的当前日期:
5. 端口转发
SSH端口转发是一种将远程服务器上的端口转发到本地机器或反之的技术,非常适用于通过SSH隧道访问受限制的网络资源。
  • 本地端口转发:
    • 例如,将本地的8888端口转发到远程服务器192.168.1.1上的80端口:
  • 远程端口转发:
    • 例如,将远程服务器的9999端口转发到本地机器的80端口:
6. 使用SSH复制文件
  • 使用scp命令复制文件到远程服务器:
    • 例如:
  • 从远程服务器复制文件到本地:
    • 例如:
以上是SSH的一些基础用法。掌握这些技能,可以帮助你更安全、高效地管理远程服务器。🔐

2.1隐藏 SSH

阻止您出现在wwho命令中,并停止将主机记录到~/.ssh/known_hosts
PTY 和颜色让您倍感舒适ssh [email protected]::
 

2.2 通过 1 个 SSH/TCP 连接的多个 shell

与目标有一个 TCP 连接,并允许多个用户借助同一个 TCP 连接来打开更多 shell 会话。
创建主连接:
使用上面的相同(单个)Master-TCP 连接创建更多 shell 会话(无需密码/身份验证):
可以与thcssh结合来隐藏utmp。
 

2.3 SSH 隧道

我们一直使用它来规避本地防火墙和 IP 过滤:
您或任何其他人现在可以通过端口 31337 连接到您的计算机,并通过隧道连接到 1.2.3.4 端口 80,并显示源 IP“server.org”。另一种无需服务器的替代方案是使用gs-netcat
聪明的黑客使用键盘组合~C动态创建这些隧道,而无需重新连接 SSH。 (感谢 MessedeDegod)。
我们用它来让朋友访问不在公共互联网上的内部机器:
连接到 server.org:31338 的任何人都将通过您的计算机通过端口 80 隧道连接到 192.168.0.5。另一种无需服务器的替代方案是使用gs-netcat
 

2.4 SSHocks4/5隧道

OpenSSH 7.6 添加了对动态转发的袜子支持。示例:通过服务器传输所有浏览器流量。
现在将您的浏览器配置为使用 SOCKS 127.0.0.1:1080。您的所有流量现在都通过server.org进行隧道传输,并将显示server.org的源 IP 。另一种无需服务器的替代方案是使用gs-netcat
这与上面的例子相反。它允许其他人访问您的本地网络或让其他人使用您的计算机作为隧道端点。
其他人配置 server.org:1080 作为他们的 SOCKS4/5 代理。他们现在可以连接到您的计算机有权访问的任何端口上的任何计算机。这包括访问本地网络上防火墙后面的计算机。另一种无需服务器的替代方案是使用gs-netcat
 

2.5 SSH 到 NAT 后面的主机

ssh-j.com提供了出色的中继服务:访问 NAT/防火墙后面的主机(通过 SSH)。
在 NAT 后面的主机上:创建到ssh-j.com的反向 SSH 隧道,如下所示:
然后从世界上任何其他地方使用此命令以“root”身份连接到“foobarblahblub”(NAT 后面的主机):
ssh 连接通过 ssh-j.com 进入反向隧道,到达 NAT 后面的主机。流量经过端到端加密,ssh-j.com 无法看到内容。
 

2.6 SSH 转向多个服务器

在使用远程服务器时,SSH ProxyJump 可以为您节省大量时间并减少麻烦。让我们假设这样的场景:
我们的工作站是 $local-kali,我们喜欢通过 SSH 连接到 $target-host。我们的工作站和 $target-host 之间没有直接连接。我们的工作站只能达到$C2。 $C2 可以到达 $internal-jumphost (通过内部 eth1),而 $internal-jumphost 可以通过 eth2 到达最终的 $target-host。
除了我们值得信赖的工作站之外,我们不会ssh在任何计算机上执行 - 您也不会(永远)。
这就是 ProxyJump 提供帮助的地方:我们可以通过两个中间服务器 $C2 和 $internal-jumphost 进行“跳转”(无需在这些服务器上生成 shell)。 ssh 连接在 $local-kali 和 $target-host 之间进行端到端加密,并且没有密码或密钥暴露给 $C2 或 $internal-jumphost。
我们也用它来在登录服务器时隐藏我们的 IP 地址。
 

2.7 SSHD 作为用户空间

可以以非 root 用户身份启动 SSHD 服务器,并使用它来多路复用或转发 TCP 连接(无需日志记录,并且当系统范围内的 SSHD 禁止转发/多路复用时),或者作为以非 root 用户身份运行的快速 exfil-dump 服务器。根:
SSF是通过 TLS 复用 TCP 的另一种方法。
 

欢迎访问我们的网站和关注我们的公众号,获取最新的技术共享内容、创新想法和安全知识。网站:https://hackerchi.top 微信公众号:黑客驰 互联网信息流:https://hackerchi.top/Feeds.html
notion image

💡
免责声明
本文为技术共享文章,仅有教育交流目的,不构成任何法律或专业建议。读者应自行承担使用该文章所产生的风险和责任。作者和组织不对使用该文章所引起的任何损失或损害负责。
本文严禁提供、讨论或鼓励任何网络安全违法行为。请遵守法律法规,进行合法的技术共享活动。
 
👉
请大家关注我们的公众号"黑客驰",收藏我们的文章,转发给你的朋友们,让更多的人了解到这些有用的知识!网站是实时更新的,公众号每天只有1次机会,不想错过关键内容的话,推荐您访问官网,如果能给个免费的赞!或者打赏点咖啡钱更好!阿哈哈哈哈
高级黑客技术-3.网络技巧高级黑客技术-1.bash / shell
Loading...
黑客驰
黑客驰
对黑客着迷的人💻
公告
公众号
公众号
 
“黑客”一词是由英语Hacker英译出来的,是指专门研究、发现计算机和网络漏洞的计算机爱好者。某些情况下,黑客也可泛指各领域专家。如,游戏黑客,销售黑客等。
 
我们遵守法律,进行教育目的的研究。违法行为请自负后果
 
专门利用计算机进行破坏或入侵他人的人是cracker,翻译成“骇客”,他们不是黑客。
2023-2024 黑客驰.

黑客驰 | 对黑客着迷的人💻

Powered by HyphenTech