小迪安全v2023学习笔记(八十四讲)——协议安全桌面应用hydra爆破未授权检测
文章目录
- 前记
- 服务攻防——第八十四天
- 端口协议&桌面应用&QQ&WPS等RCE&hydra口令猜解&未授权检测
- 端口检测 - 口令爆破&未授权
- 常见端口
- 测试思路
- 弱口令爆破
- FTP:文件传输协议
- RDP:Windows远程桌面协议
- VNC:远程桌面控制协议
- SSH:Linux安全外壳协议
- 未授权访问
- 工具使用
- rsync:Linux数据备份
- 桌面应用 - QQ&WPS&向日葵
- QQ RCE 漏洞复现
- 向日葵 RCE 漏洞复现
前记
- 今天是学习小迪安全的第八十四天,本节课是服务攻防的最后一讲,主要内容是端口协议的安全以及桌面应用安全
- 这节课感觉比较水,最重要的就是了解了解思路吧
服务攻防——第八十四天
端口协议&桌面应用&QQ&WPS等RCE&hydra口令猜解&未授权检测
端口检测 - 口令爆破&未授权
常见端口
测试思路
- 对于这种协议类的漏洞,一般就三种思路:
- 爆破登录账号密码:用户使用的是弱口令可以尝试爆破
- 未授权访问:多数由于配置不当造成某些任意用户登录
- 所承载的软件存在Nday:比如关于FTP的Wing FTP Server、Microsoft IIS FTP等软件爆过RCE漏洞
- 在实战中也基本就这三种打法
弱口令爆破
- 一款老牌的协议爆破工具,
kali
自带,下载地址:https://github.com/vanhauser-thc/thc-hydra - 和他类似功能的工具还有:
- 美杜莎:同样也是kali自带的一款爆破工具
- CrackMapExec:一款爆破工具,但并非kali自带,需要下载,但是目前已停止维护
- 这里我们主要是讲hydra的使用,其他两个工具也是差不多的,主要命令如下:
-s PORT 可通过这个参数指定非默认端口
-l LOGIN 指定破解的用户,对特定用户破解
-L FILE 指定用户名字典
-p PASS 小写,指定密码破解,少用,一般是采用密码字典
-P FILE 大写,指定密码字典
-e ns 可选选项,n:空密码试探,s:使用指定用户和密码试探
-C FILE 使用冒号分割格式,例如“登录名:密码”来代替-L/-P参数
-M FILE 指定目标列表文件一行一条
-o FILE 指定结果输出文件
-f 在使用-M参数以后,找到第一对登录名或者密码的时候中止破解
-t TASKS 同时运行的线程数,默认为16
-w TIME 设置最大超时的时间,单位秒,默认是30s
-v / -V 显示详细过程
server 目标ip
- service 指定服务名,支持的服务和协议:
telnet ftp pop3[-ntlm] imap[-ntlm] smb smbnt http-{head|get} http-{get|post}-form http-proxy cisco cisco-enable vnc ldap2 ldap3 mssql mysql oracle-listener postgres nntp socks5 rexec rlogin pcnfs snmp rsh cvs svn icq sapr3 ssh smtp-auth[-ntlm] pcanywhere teamspeak sip vmauthd firebird ncp afp
等等
FTP:文件传输协议
hydra -l [用户名] -P [字典路径] [IP] ftp -V -t 4
-
比如这里我们用服务器开一个FTP服务,设置登录账号密码:
-
如果它成功跑出账号密码,就会直接停止并显示:
-
这里尽量 -t 设置一下爆破的线程,太快了容易被ban以及连接超时的问题;然后也尽量使用代理池去爆破,代理池推荐:网络安全向:2025年最新IP代理池工具吐血推荐!-CSDN博客
RDP:Windows远程桌面协议
hydra -l administrator -P [字典路径] [IP] rdp -V -t 4
-
我们本机是开启了这个3389端口的,但是密码有点复杂所以爆破不出来:
-
RDP协议是Windows独有的访问控制协议,因此这里用户名一般可以固定是
administrator
VNC:远程桌面控制协议
- 上面的RDP是微软专门为Windows设计的,如果其他操作系统需要远程桌面控制,可以通过VNC协议来实现
- 如果启动这个服务,一般会监听5900端口,因此我们可以尝试爆破:
hydra -P [字典路径] [IP] vnc -V -t 4
- 这里因为我本地没开启这个服务,所以它爆破不出来,但是如果碰到了就这样尝试爆破就行了
- 如果成功获取账号密码,那我们可以使用
VNC Viewer
这款软件去直接连接:
SSH:Linux安全外壳协议
hydra -l [用户名] -P [字典路径] [IP] ssh -V -t 4
-
这里就直接爆破就完事了,一般这个都是开启的,但一般也都爆破不出来,有两种情况:
- 对方使用公私钥对验证身份:跑路
- 对方使用账号密码验证身份:可以尝试爆破
-
如果爆破成功就可以直接使用命令连接了:
ssh [用户名]@[目标IP]
- 或者使用shell工具进行连接
未授权访问
工具使用
- 这里的未授权访问主要是关于一些协议类的未授权,主要是匿名登录的情况
- 一般是通过工具进行检测,这里推荐两款工具:
-
unauthorizedV2:这个是小迪演示的,比较简单,但是包括的协议也还比较全,想检测什么直接点击一下就好了
-
UnauthorizedScan:是上面这款工具的升级版,可以自定义端口,能够批量检测,并且支持代理
-
rsync:Linux数据备份
-
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。
-
其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件
-
这里我们使用
vulfocus
中的靶场作为演示,了解一下即可:
-
我们先判断目标是否存在rsync未授权,输入如下命令:
rsync rsync://目标IP:873
-
出现上面这种输出就说明存在未授权,当然也可以直接用工具检测:
-
可以看到是存在未授权的,于是我们就尝试利用,读取文件目录:
rsync rsync://目标IP:873/src
- 或者下载文件:
rsync rsync://目标IP:873/src/etc/passwd ./ # ./表示下载到本地当前路径
- 又或者上传文件:
rsync -av [本地文件名] rsync://目标IP:873/src/[文件路径]
- 这里需要注意的是rsync只能进行这三种操作,而且不能直接读取文件,也不能覆盖创建文件
- 所以如果我们想要利用的话,可以尝试创建后门,有两种方式:
- 如果目标搭建了网站,我们可以尝试上传
webshell
连接 - 如果没有的话,可以创建计划任务尝试反弹shell
- 如果目标搭建了网站,我们可以尝试上传
- 如果是后者,可以通过如下命令上传一个新的计划任务:
rsync -av shell rsync://120.27.220.186:57830/src/etc/cron.hourly
- 不过这里固定了每小时执行一次,当然也可以是每分钟执行一次
桌面应用 - QQ&WPS&向日葵
QQ RCE 漏洞复现
-
这个就简单看一看就好了,现在也用不到了,复现也没有什么意义,主要还是理解思路
-
漏洞信息:
-
首先是准备一个批处理文件,当然也可以是一个程序:
-
将他发送给自己,在聊天中回复这个文件:
-
将最后一次发送的信息给目标,然后它点击这个对话之后就会在本地下载这个
1.bat
文件,并执行:
-
我们就可以利用这个特性去让他下载CS的恶意exe文件,让其上线
向日葵 RCE 漏洞复现
- 这个也没什么演示的,主要是官方已经强制要求用户更新至最新版本,所以不存在旧版软件了
- 那这个漏洞存不存在,也没什么利用的必要了