信息打点-主机架构&蜜罐识别&WAF识别&端口扫描&协议识别&服务安全
信息打点-主机架构&蜜罐识别&WAF识别&端口扫描&协议识别&服务安全
本节课涉及领域
web服务器和应用服务器这两个可以统称为中间件,分类的原因是因为支持运行的业务不一样,比如java的业务上面的web服务器就很麻烦,但是对于应用服务器就会很简单
1、Web服务器
网站常见端口就是80http还有443https
Apache、Nginx、IIS、lighttpd等
2、应用服务器:
特点,具有端口服务的开放,比如apache服务器,就只会开放网站协议的80端口,但是weblogic如果上面还有一个网站的话,除了软件本身的端口,还会开放一个网站的端口
Tomcat、Jboss、Weblogic、Websphere等
3、数据库类型:
也会开放端口,具体端口号看列表
Mysql、SqlServer、Oracle、Redis、MongoDB等
4、应用服务信息:
FTP文件传输协议、SSH(Linux服务器的远程链接协议)、RDP(Windows的远程链接协议,就是那个远程连接桌面那个东西,使用的话默认开启的就是3389)、SMB、SMTP邮件服务、LDAP、Rsync等
5、WAF信息:
创宇盾、宝塔、ModSecurity、玄武盾、OpenRASP等。
6、蜜罐信息:
HFish、TeaPot、T-Pot、Glastopf等
各个端口对应的服务及响应的渗透思路
端口 | 服务 | 渗透用途 |
---|---|---|
tcp 20,21 | FTP | 允许匿名的上传下载,爆破,嗅探,win提权,远程执行(proftpd 1.3.5),各类后门(proftpd,vsftp 2.3.4) |
tcp 22 | SSH | 可根据已搜集到的信息尝试爆破,v1版本可中间人,ssh隧道及内网代理转发,文件传输等等 |
tcp 23 | Telnet | 爆破,嗅探,一般常用于路由,交换登陆,可尝试弱口令 |
tcp 25 | SMTP | 邮件伪造,vrfy/expn查询邮件用户信息,可使用smtp-user-enum工具来自动跑 |
tcp/udp 53 | DNS | 允许区域传送,dns劫持,缓存投毒,欺骗以及各种基于dns隧道的远控 |
tcp/udp 69 | TFTP | 尝试下载目标及其的各类重要配置文件 |
tcp 80-89,443,8440-8450,8080-8089 | 各种常用的Web服务端口 | 可尝试经典的topn,vpn,owa,webmail,目标oa,各类Java控制台,各类服务器Web管理面板,各类Web中间件漏洞利用,各类Web框架漏洞利用等等…… |
tcp 110 | POP3 | 可尝试爆破,嗅探 |
tcp 111,2049 | NFS | 权限配置不当 |
tcp 137,139,445 | Samba | 可尝试爆破以及smb自身的各种远程执行类漏洞利用,如,ms08-067,ms17-010,嗅探等…… |
tcp 143 | IMAP | 可尝试爆破 |
udp 161 | SNMP | 爆破默认团队字符串,搜集目标内网信息 |
tcp 389 | LDAP | ldap注入,允许匿名访问,弱口令 |
tcp 512,513,514 | Linux rexec | 可爆破,rlogin登陆 |
tcp 873 | Rsync | 匿名访问,文件上传 |
tcp 1194 | OpenVPN | 想办法钓VPN账号,进内网 |
tcp 1352 | Lotus | 弱口令,信息泄漏,爆破 |
tcp 1433 | SQL Server | 注入,提权,sa弱口令,爆破 |
tcp 1521 | Oracle | tns爆破,注入,弹shell… |
tcp 1500 | ISPmanager | 弱口令 |
tcp 1723 | PPTP | 爆破,想办法钓VPN账号,进内网 |
tcp 2082,2083 | cPanel | 弱口令 |
tcp 2181 | ZooKeeper | 未授权访问 |
tcp 2601,2604 | Zebra | 默认密码zerbra |
tcp 3128 | Squid | 弱口令 |
tcp 3312,3311 | kangle | 弱口令 |
tcp 3306 | MySQL | 注入,提权,爆破 |
tcp 3389 | Windows rdp | shift后门[需要03以下的系统],爆破,ms12-020 |
tcp 3690 | SVN | svn泄露,未授权访问 |
tcp 4848 | GlassFish | 弱口令 |
tcp 5000 | Sybase/DB2 | 爆破,注入 |
tcp 5432 | PostgreSQL | 爆破,注入,弱口令 |
tcp 5900,5901,5902 | VNC | 弱口令爆破 |
tcp 5984 | CouchDB | 未授权导致的任意指令执行 |
tcp 6379 | Redis | 可尝试未授权访问,弱口令爆破 |
tcp 7001,7002 | WebLogic | Java反序列化,弱口令 |
tcp 7778 | Kloxo | 主机面板登录 |
tcp 8000 | Ajenti | 弱口令 |
tcp 8009 | tomcat Ajp | Tomcat-Ajp协议漏洞 |
tcp 8443 | Plesk | 弱口令 |
tcp 8069 | Zabbix | 远程执行,SQL注入 |
tcp 8080-8089 | Jenkins,JBoss | 反序列化,控制台弱口令 |
tcp 9080-9081,9090 | WebSphere | Java反序列化/弱口令 |
tcp 9200,9300 | ElasticSearch | 远程执行 |
tcp 11211 | Memcached | 未授权访问 |
tcp 27017,27018 | MongoDB | 爆破,未授权访问 |
tcp 50070,50030 | Hadoop | 默认端口未授权访问 |
识别-Web服务器-请求返回包
访问网站回显的信息,在这里就会暴露出服务器是什么,但是这只能针对web服务器,应用服务器就需要用到端口扫描才知道服务器是什么
识别-应用服务器-其他服务协议-端口扫描技术
端口扫描可以检测到下面的东西:
-Web中间件探针
-应用中间件探针
-数据库类型探针
-其他服务协议探针
工具:
Nmap:
https://nmap.org/download.html
nmap的使用参考:
https://blog.csdn.net/qq_53079406/article/details/125266331
https://blog.csdn.net/qq_53079406/article/details/125263917
更推荐使用
扫描模式,采用不同的协议,有时候是TCP的,有时候是ICMP的去扫
1、常规模式扫描
3、所有端口都扫,信息最全面
4、扫描不带ping的
5、带ping的扫描
6、快扫
7、加一些参数的快扫,扫描的信息可能就会全一些,比如说版本,这个用的最多
浏览器访问对应端口,只能访问http的
有三个状态,open,close,filtered
close:说明关闭了,压根没开,不用想了
filtered:说明有可能开了,但也有可能没开,造成这样的原因有可能是因为一些防护,防火墙应用导致的(防火墙关闭不代表完全不能通信,因为含有白名单),所以大部分都是开的,但是阻止了探测的流量进入,受到了一些保护
Masscan:
https://github.com/robertdavidgraham/masscan
扫描速度过快、只能检测到开启的端口
编译masscan:https://www.cnblogs.com/lzy575566/p/15513726.html
masscan需要编译,网上只有源码,编译的时候要修改这里,修改成自己的版本,就可以编译了
然后按照步骤改成这两个,选择生成解决方案,就编译成功了
网络空间:
属于被动收集,没做什么事情,通过网上的接口,平台,工具去查网上的信息,没有实际用自己的主机去接触到目标
搜索完之后,点击结果的ip聚合,就能看到
但是因为他的数据是一直在更新的一直在爬取,所以有可能输入目标后没有东西
考虑:
1、防火墙
2、内网环境:
因为内网环境会有一个外网的ip来进行交互,相当于走了一个代理,所以扫的ip扫的是外网的,内网环境是扫不到的
内网环境可能出现情况:明明数据库端口开的,网站也能正常打开,但是你对目标进行端口扫描,发现数据库端口没有开放(排除防火墙问题)
识别-WAF防火墙-看图&项目&指纹
WAF解释:
Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称:WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品。
WAF分类:
1、云WAF:
百度安全宝、阿里云盾、长亭雷池,华为云,亚马逊云等
价格相对于软件waf会贵
是防护等级最强的
是实时通讯的,有人登陆了账号会发短信啥的
2、硬件WAF:
绿盟、安恒、深信服、知道创宇等公司商业产品
中大型企业,政要,官方的机构会用
防护等级很强,但是可拓展性不强
3、软件WAF:
宝塔,安全狗、D盾等
个人网站,小中型企业喜欢用;非法的,黑色领域的,也会喜欢用这种
目前只有这个可以绕过
4、代码级WAF:
自己写的waf规则,防止出现注入等,一般是在代码里面写死的
识别
通过拦截的页面可以识别waf:
拦截页面,identywaf项目内置
识别项目:
1、wafw00f
https://github.com/EnableSecurity/wafw00f
2、identywaf
https://github.com/stamparm/identYwaf
3、还可以用网络空间引擎去查
识别-蜜罐平台-人工&网络空间&项目
蜜罐解释:
蜜罐是一种安全威胁的检测技术,其本质在于引诱和欺骗攻击者,并且通过记录攻击者的攻击日志来产生价值。安全研究人员可以通过分析蜜罐的被攻击记录推测攻击者的意图和手段等信息。攻击方可以通过蜜罐识别技术来发现和规避蜜罐。因此,我们有必要站在红队攻击者的角度钻研蜜罐识别的方式方法。
蜜罐分类:
根据蜜罐与攻击者之间进行的交互的程度可以将蜜罐分为三类:低交互蜜罐、中交互蜜罐、高交互蜜罐。当然还可以根据蜜罐模拟的目标进行分类,比如:数据库蜜罐、工控蜜罐、物联网蜜罐、Web蜜罐等等。
高交互:可以理解成一直忽悠攻击者,是根据分类的不同来设置不同的蜜罐
蜜罐产品:
蜜罐 | Quake系统搜索语法 |
---|---|
STRUTSHONEYPOT | app:"StrutsHoneypot" |
CONPOT HTTP 蜜罐 | app:"Conpot Http 蜜罐" |
CONPOT MODBUS 蜜罐 | app:"Conpot modbus 蜜罐" |
CONPOT S7 蜜罐 | app:"Conpot s7 蜜罐" |
KIPPO 蜜罐 | app:"kippo 蜜罐" |
HONEYPY HTTP 蜜罐 | app:"Honeypy Http 蜜罐" |
HONEYPY ES****蜜罐 | app:"Honeypy ES蜜罐" |
AMUN IMAP 蜜罐 | app:"amun imap 蜜罐" |
AMUN HTTP****蜜罐 | app:"amun http蜜罐" |
NEPENTHES NETBIOS****蜜罐 | app:"Nepenthes netbios蜜罐" |
NEPENTHES FTP 蜜罐 | app:"Nepenthes FTP 蜜罐" |
SSHESAME SSH 蜜罐 | app:"sshesame ssh 蜜罐" |
OPENCANARY****蜜罐管理后台 | app:"opencanary蜜罐管理后台" |
DIONAEA SIPD 蜜罐 | app:"Dionaea sipd 蜜罐" |
DIONAEA SMBD 蜜罐 | app:"Dionaea smbd 蜜罐" |
DIONAEA HTTP 蜜罐 | app:"Dionaea Http 蜜罐" |
DIONAEA MSSQL 蜜罐 | app:"Dionaea MSSQL 蜜罐" |
DIONAEA FTP 蜜罐 | app:"Dionaea ftp 蜜罐" |
DIONAEA MEMCACHED 蜜罐 | app:"Dionaea Memcached 蜜罐" |
KOJONEY SSH 蜜罐 | app:"Kojoney SSH 蜜罐" |
WEBLOGIC****蜜罐 | app:"weblogic蜜罐" |
MYSQL****蜜罐 | app:"MySQL蜜罐" |
HFISH****蜜罐 | app:"HFish蜜罐" |
HFISH****蜜罐管理后台 | app:"HFish蜜罐管理后台" |
HONEYTHING****物联网蜜罐 | app:"honeything物联网蜜罐" |
ELASTICSEARCH****蜜罐 | app:"elasticsearch蜜罐" |
HOSTUS****蜜罐 | app:"HostUS蜜罐" |
WHOISSCANME****蜜罐 | app:"whoisscanme蜜罐" |
未知蜜罐 | app:"未知蜜罐" |
COWRIE TELNETD****蜜罐 | app:"Cowrie telnetd蜜罐" |
GLASTOPF****蜜罐 | app:"glastopf蜜罐" |
识别原理:
https://mp.weixin.qq.com/s/jPz9hBmUypFyQlU27vglUg
识别技术:
搭建
大概了解组成功能等
像这种,会自动开启4433端口,那么如果在端口扫描的过程中发现了,那就可以知道开了蜜罐了
在这里可以管理那些端口对应的是什么蜜罐
在这里就可以看到被攻击的信息
识别项目
1、https://github.com/graynjo/Heimdallr:
要把这个设置打开
识别到蜜罐就会提示,但是会误报,而且误报率很高
2、https://github.com/360quake/quake_rs:
初始化步骤
quake.exe init apikey值
quake.exe honeypot 目标
3、人工
(1)端口多而有规律性:
因为不能占用正常使用的端口而导致的
这就是端口多,会出现很多的端口
(2)Web访问协议就下载:
这个是充分条件,就是出现了就一定是蜜罐,但是蜜罐不全有这个东西
意思就是说,我们会搞mysql,ssh的蜜罐,给攻击者一个可以爆破的地方,按常理来说,web是无法访问mysql协议的网站的,请求是没法解析的,但是蜜罐的特性,爆破会记录攻击者的账号密码,然后账号密码使用jsonp(类似于跳转,重定向的技术)去传输,这个传输是个web功能,所以当你用web协议去请求这个蜜罐的时候,反而请求会被解析然后去下载
(3)设备指纹分析:
这个就是设备指纹分析,最后那一栏是返回值
4、网络空间
鹰图,Quake