环境
三台机器,分别为ubuntu(32位),kali(2017.1),windows10
分别查看ip如下:
记录如下:
Ubuntu:192.168.43.216
Kali:192.168.43.143
Windows:192.168.43.252
接下来开始实验
首先来到ubuntu
首先安装开启telnet server所需的软件
编辑此文件
输入一下内容并保存
编辑此文件
添加以下内容
重启服务
安装nmap,将会用到其端口探测功能
扫描本机23端口
从结果可以看到telnet server已经启动
我们先来利用telnet很常见的一种用法—检测远程主机端口是否开启(此处以ssh为例)
首先在ubuntu上安装ssh服务
安装完毕之后ssh服务就自动开启了,或者也可按照如下方式查看服务是否开启
显示active(running)则表示正常
接下来切换会kali
输入一下命令
可以看到,通过telnet的连接命令,在命令最后加上的需要探测的端口
回显的结果中可以看到目标机器上相应端口的情况,可以通过这个功能来抓取远程目标系统上运行的其它服务的banner
既然都使用kali了,顺便玩一把metasploit吧
启动msfconsole
我们使用msf下的一个模块对telnet服务进行爆破破解此处的user.txt和pass.txt需自行准备,此处为了效果我在字典中只加了简单的两条口令,其中已包含正确的用户名和密码
开始爆破之后效果如下
爆破成功之后会显示出正确的用户名和密码。
可以看到分别为yale和root
输入sessions -1即可直接telnet至目标机器
输入ifconfig查看
当然我们也可以把shell换成meterepreter
输入ctrl+z,然后输入y
然后输入以下命令
查看会话
指定会话进行连接
就拿到meterepreter了
接下来我们看看telnet最大的漏洞—明文传输
默认情况下,Telnet不会对通过连接发送的任何数据(包括密码)进行加密,因此通常可以窃听通信并稍后将密码用于恶意目的;任何访问使用Telnet的两台主机之间的网络的人都可以拦截在源和目的地之间传递的数据包并获取登录名,密码和数据信息
在kali中打开wireshark,开启监听
同时打开新终端进行telnet登录
登录成功后停止抓包
接下来回到wireshark查看报文
选中其中一条telnet报文,右键follow->tcp stream
可以看到在登录时的口令
分别为yale和root
这是因为telnet用明文登录协议对用户名和密码进行身份验证
正是由于telnet明文传输不安全的原因,所以后来产生了ssh
那么针对不安全的telnet,我们可以采取哪些措施呢?
为了安全,telnet服务器管理员可以将端口从默认转发到特定端口来运行服务
编辑此文件
将默认的232端口修改为2323
重启服务
在次使用nmap扫描,可以看到23端口关闭了
但是2323开放
通过这样子的操作就可以避免黑客通过默认的端口对telnet进行入侵
另外一方面我们可以通过iptables设置规则,设置只有特定ip能访问,不能访问等,即设置黑白名单
输入以下两条命令
表示接收.252机器上发给23端口的流量表示拒绝接收所有连接23端口的流量
由于第一条命令先输入,所以优先级较高。两条规则同时满足的情况只有:.252可以telnet,其他机器不行
在windows上是可以连接的
但是kali已经不能连接了
参考:
http://www.hackingarticles.in/penetration-testing-telnet-port-23/