rlogin介绍
远程登录(rlogin)是一个UNIX命令,在远程服务端的话,是一个服务,它允许授权用户进入网络中的其它UNIX机器并且就像用户在实际现场操作一样。一旦我们使用rlogin这条命令,登录到开启rlogin服务的主机,那这个时候,用户就可以操作主机允许的任何事情
对IP地址进行探测,探测出rlogin这样的服务,它开启的是513端口,以及512是它验证的端口
nmap 192.168.42.137
我们确认了目标开放了rlogin服务
探测目标rlogin
使用nmap -sV -p 512,513 IP地址,探测目标rlogin版本信息。
512用于对远程执行的进程进行验证,513反弹bash shell,执行对应的命令。
nmap -sV -p 512,513 192.168.1.106
512用于验证,因为我们要用于远程命令执行,登录系统,513验证完之后,进行连接,通过513端口,进行对应的命令
rlogin最高权限登录
使用 rlogin -l root IP地址 使用最高权限登录系统
rlogin -l root 192.168.1.106
id
我们可以在登录反弹的界面,执行id
rlogin --'h'
这边可以改变,它的端口,默认对应的是513,它产生的原因是在rlogin服务端启动之后,默认选项,或者配置错误,使得我们的root用户,不需要密码,即可登录,这是它漏洞产生的原因
我们重新登录,使用wireshark进行抓包
我们看到这里有TCP进行连接验证,这里有root用户名,在传输,传输完成之后,就会开始反弹shell,以上就是我们使用最高权限登录
rlogin -i msfadmin -p 513 192.168.1.106
rlogin指定用户名,登录过程中,要输入对应的密码,才能登录,在第一次验证成功之后,我们后面在登录的时候,就不需要验证了
防御修复
由此,我们发现rlogin服务,是非常存在隐患
1、从原因出发,添加root登录需要验证密码,密码正确之后,才能进行登录
2、rlogin是一个比较古老的协议,我们完全可以使用当前更加安全的协议,来代替,我们可以关闭rlogin服务,改用ssh等来管理服务器,这个时候,不当是安全性得到了保障,以及它传输的协议,也不会被人轻易的窃取,因为它都经过对应的加密