信息打点-主机架构&蜜罐识别&WAF识别&端口扫描&协议识别&服务安全

发布时间 2023-09-07 15:57:16作者: Ais0329

信息打点-主机架构&蜜罐识别&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服务器-请求返回包

image-20230906155722838访问网站回显的信息,在这里就会暴露出服务器是什么,但是这只能针对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

更推荐使用

image-20230907095850177扫描模式,采用不同的协议,有时候是TCP的,有时候是ICMP的去扫

1、常规模式扫描

3、所有端口都扫,信息最全面

4、扫描不带ping的

5、带ping的扫描

6、快扫

7、加一些参数的快扫,扫描的信息可能就会全一些,比如说版本,这个用的最多

image-20230907110445354浏览器访问对应端口,只能访问http的

image-20230907110607375有三个状态,open,close,filtered

close:说明关闭了,压根没开,不用想了

filtered:说明有可能开了,但也有可能没开,造成这样的原因有可能是因为一些防护,防火墙应用导致的(防火墙关闭不代表完全不能通信,因为含有白名单),所以大部分都是开的,但是阻止了探测的流量进入,受到了一些保护

Masscan:

https://github.com/robertdavidgraham/masscan

扫描速度过快、只能检测到开启的端口

编译masscan:https://www.cnblogs.com/lzy575566/p/15513726.html

image-20230907100307651masscan需要编译,网上只有源码,编译的时候要修改这里,修改成自己的版本,就可以编译了

image-20230907100424456然后按照步骤改成这两个,选择生成解决方案,就编译成功了

网络空间:

属于被动收集,没做什么事情,通过网上的接口,平台,工具去查网上的信息,没有实际用自己的主机去接触到目标

搜索完之后,点击结果的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

识别技术:

搭建

大概了解组成功能等

https://hfish.net/#/

image-20230907133737166像这种,会自动开启4433端口,那么如果在端口扫描的过程中发现了,那就可以知道开了蜜罐了

image-20230907134531952在这里可以管理那些端口对应的是什么蜜罐

image-20230907134619405在这里就可以看到被攻击的信息

识别项目

1、https://github.com/graynjo/Heimdallr:

image-20230907135215193要把这个设置打开

识别到蜜罐就会提示,但是会误报,而且误报率很高

2、https://github.com/360quake/quake_rs:

初始化步骤

quake.exe init apikey值

quake.exe honeypot 目标

3、人工

(1)端口多而有规律性:

因为不能占用正常使用的端口而导致的

image-20230907143813699这就是端口多,会出现很多的端口

(2)Web访问协议就下载:

这个是充分条件,就是出现了就一定是蜜罐,但是蜜罐不全有这个东西

意思就是说,我们会搞mysql,ssh的蜜罐,给攻击者一个可以爆破的地方,按常理来说,web是无法访问mysql协议的网站的,请求是没法解析的,但是蜜罐的特性,爆破会记录攻击者的账号密码,然后账号密码使用jsonp(类似于跳转,重定向的技术)去传输,这个传输是个web功能,所以当你用web协议去请求这个蜜罐的时候,反而请求会被解析然后去下载

(3)设备指纹分析:

1694070826502这个就是设备指纹分析,最后那一栏是返回值

4、网络空间

鹰图,Quake