更多互联网新鲜资讯、工作奇淫技巧关注原创【飞鱼在浪屿】(日更新)

SCP等工具受限
在安全环境中部署的计算机服务器,可能允许SSH会话,但禁止SCP,SFTP,并且不能再没有登录shell执行远程命令(意味着不能这样 ssh system1 'cat payload' | ssh system2 'cat > payload')。
通常使用SSH网关和防火墙实施这种受限访问。SSH网关提供对远程系统的受控访问。防火墙可以确保只有通过SSH网关连接到远程系统。强制用户仅通过SSH网关连接到远程系统。
通过打印数据传输文本
即使在没有登录shell的情况下禁止执行远程命令,以及不能使用SCP,SFTP,只要在终端上获得登录shell并且可以在终端上打印数据,我们就已经能够将数据从远程系统传输到本地系统终端。
假设远程系统和本地系统都类似于Unix,则以下步骤显示了实现此目的的一种方法:
1.使用连接到远程系统,ssh并通过管道输出Tee将整个会话写入本地系统上的文本文件。
ssh user@host | tee ssh.txt
即通过Jumphost或SSH网关连接到远程系统。
在远程系统中,创建一个10 MB的文件作为要传输的文件。head -c 10485760 /dev/urandom > /tmp/payload
如果有实际文件,可以跳过此步骤。
3 计算文件上的校验和。稍后将使用它来验证整个文件是否正确传输。
sha1sum /tmp/payload
4. 打印文件的Base64表示形式。
base64 /tmp/payload
根据网速,这可能需要几秒钟到几分钟才能完成。
5. 结束SSH会话。
exit
6. 在本地系统上,提取Base64编码的有效负载并对其进行解码。假设远程系统上的shell提示符以美元符号(即$)结尾,则以下命令将执行此操作。
sed '1,/$ base64/d;/$ exit/,$d' ssh.txt | base64 --decode > payload
7. 提取对原始文件计算的校验和。
grep -A 1 sha1sum ssh.txt
8. 计算解码后的有效载荷上的校验和。
sha1sum payload
确保此步骤中的校验和与上一步中的校验和相匹配。
上面的步骤假定使用sha1sum命令来计算校验和。如果此命令不可用,请使用 sha1,shasum或其他适合此目的的命令。如果担心冲突,有sha256sum,sha256,shasum -a 256等来代替的命令。


还没有评论,来说两句吧...