1、端口信息收集
什么是端口:设备与外界通讯交流的出口。
端口分类:物理端口和逻辑端口
物理端口:又称为接口,是可见的,如计算机背板的RJ45网口、交换机路由器集线器等RJ45端口,以及电话使用的RJ11插口等。这些物理端口是设备之间连接和通讯的实体接口。
逻辑端口:主要是指TCP/IP协议中的端口,不可见,这是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。而是用于在计算机网络中标识和区分不同的服务和应用程序。每个逻辑端口都有一个唯一的端口号,用于标识和定位特定的服务或应用程序。
逻辑端口:分为公认端口(Well Known Ports)、注册端口(Registered Ports)以及动态和/或私有端口(Dynamic and/or Private Ports)。公认端口从0到1023,紧密绑定于一些服务,如HTTP服务的80端口、FTP服务的21端口等。注册端口从1024到49151,它们松散地绑定于一些服务,并可能用于多种目的。动态和或私有端口从49152到65535,理论上不应为服务分配这些端口,但实际上机器通常从1024起分配动态端口。
端口还可以分为TCP端口、UDP端口、IP端口和ICMP(Internet控制消息协议)端口等
端口信息收集的重要性:确定了目标大概的ip段后,可以先对ip的开放端口进行探测,一些特定服务可能开起在默认端口上,探测开放端口有利于快速收集目标资产,找到目标网站的其他功能站点。
1、常用渗透端口
21,22,23,1433,152,3306,3389,5432,5900,50070,50030,50000,27017,27018,11211,9200,9300,7001,7002,6379,5984,873,443,8000-9090,80-89,80,10000,8888,8649,8083,8080,8089,9090,7778,7001,7002,6082,5984,4440,3312,3311,3128,2601,2604,2222,2082,2083,389,88,512,513,514,1025,111,1521,445,135,139,53
2、渗透端口详情
1.web类(web漏洞/敏感目录)
第三方通用组件漏洞struts thinkphp jboss ganglia zabbix
80 web
80-89 web
8000-9090 web
2.数据库类(扫描弱口令)
1433 MSSQL
1521 Oracle
3306 MySQL
5432 PostgreSQL
3.特殊服务类(未授权/命令执行类/漏洞)
443 SSL心脏滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问
4.常用端口类(扫描弱口令/端口爆破)
21 ftp
22 SSH
23 Telnet
2601,2604 zebra路由,默认密码zebra
3389 远程桌面
5.端口合计详情
21 ftp
22 SSH
23 Telnet
80 web
80-89 web
161 SNMP
389 LDAP
443 SSL心脏滴血以及一些web漏洞测试
445 SMB
512,513,514 Rexec
873 Rsync未授权
1025,111 NFS
1433 MSSQL
1521 Oracle:(iSqlPlus Port:5560,7778)
2082/2083 cpanel主机管理系统登陆 (国外用较多)
2222 DA虚拟主机管理系统登陆 (国外用较多)
2601,2604 zebra路由,默认密码zebra
3128 squid代理默认端口,如果没设置口令很可能就直接漫游内网了
3306 MySQL
3312/3311 kangle主机管理系统登陆
3389 远程桌面
4440 rundeck 参考WooYun: 借用新浪某服务成功漫游新浪内网
5432 PostgreSQL
5900 vnc
5984 CouchDB http://xxx:5984/_utils/
6082 varnish 参考WooYun: Varnish HTTP accelerator CLI 未授权访问易导致网站被直接篡改或者作为代理进入内网
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
7778 Kloxo主机控制面板登录
8000-9090 都是一些常见的web端口,有些运维喜欢把管理后台开在这些非80的端口上
8080 tomcat/WDCP主机管理系统,默认弱口令
8080,8089,9090 JBOSS
8083 Vestacp主机管理系统 (国外用较多)
8649 ganglia
8888 amh/LuManager 主机管理系统默认端口
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
10000 Virtualmin/Webmin 服务器虚拟主机管理系统
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
28017 mongodb统计页面
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问
2、端口信息扫描工具
对192.168.10.131进行端口信息收集
2.1、nmap扫描端口和探测端口信息
端口状态:
常用参数,如:
nmap -sV 192.168.10.131
nmap -sT 192.168.10.131
nmap -Pn -A -sC 192.168.10.131
nmap -sU -sT -p0-65535 192.168.10.131
-sV
: 此选项告诉nmap
进行版本检测。这意味着nmap
将尝试确定目标主机上运行的各种服务的版本。-sT
: 此选项告诉nmap
仅进行 TCP 扫描。默认情况下,nmap
会同时进行 TCP 和 UDP 扫描,但此选项会限制扫描到 TCP。-Pn
: 跳过主机发现。这告诉nmap
假定目标主机是活动的,而不进行任何主机发现检查。这可以加快扫描速度,但也可能导致在目标主机实际不可达时产生错误。-A
: 这是一个全面的扫描,包括操作系统和服务检测。它会尝试确定目标主机的操作系统类型、版本以及运行的服务。-sC
: 启用默认的脚本扫描。nmap
带有许多 NSE (Nmap Scripting Engine) 脚本,这些脚本可以执行各种任务,如暴力破解、发现特定服务等。使用-sC
会运行nmap
默认的脚本集合。-sU
: 进行 UDP 扫描。-p0-65535
: 扫描从 0 到 65535 的所有端口。
如果需要扫描多个ip或ip段,可以将他们保存到一个txt文件中
nmap -iL ip.txt
-iL
: 这个选项告诉nmap
从一个文件中读取目标主机的列表,而不是直接在命令行中指定。
2.2、在线端口检测
2、网站信息收集
1、操作系统
2、 网站服务、容器类型
3、 脚本类型
4、数据库类型
5、CMS:内容管理系统,用于网站内容文章管理
5.1、CMScan
这是对大米cms网站进行的测试
5.2、Joomscan
JoomScan是一个开源的漏洞扫描工具,专门用于检测和分析Joomla CMS(内容管理系统)的漏洞。这个工具基于Perl编写,旨在实现漏洞检测的自动化,从而增强Joomla CMS开发的安全性。JoomScan能够无缝、轻松地对各种Joomla项目进行漏洞扫描,其轻量化和模块化的架构保证了在扫描过程中不会留下过多的痕迹。
会在reports文件中生成报告
5.3、wpscan
WPScan是一款黑盒漏洞扫描程序,它采用Ruby编程语言编写,主要用于检测WordPress网站的安全配置、主题、插件和用户权限等问题。WPScan是Kali Linux默认自带的一款漏洞扫描工具。
WPScan的功能非常强大,其数据库中包含了大量已知的WordPress漏洞信息,包括WordPress本身的漏洞、插件漏洞和主题漏洞。通过扫描目标网站,WPScan能够获取站点的用户名、已安装的所有插件和主题,以及存在漏洞的插件和主题,并提供详细的漏洞信息。此外,WPScan还支持对未加防护的WordPress站点进行暴力破解,尝试获取其用户名和密码。
基本用法
wpscan --url <目标网站URL> -e p #这条命令会扫描目标网站上已安装的插件,并列出可能的漏洞。
wpscan --url <目标网站URL> -e t #这条命令会扫描目标网站使用的主题,并检查是否有已知的安全问题。
wpscan --url <目标网站URL> --proxy <代理地址> #如果你需要通过代理服务器进行扫描,可以使用`--proxy`参数。
扫描的是大米cms,不是wordpress,所以最后中止了
5.4、TPscan
TPScan也是一个ThinkPHP漏洞扫描器,能够检测多种ThinkPHP的漏洞,基于python3
6、网站文件敏感文件
1. robots.txt 指导搜索引擎爬虫如何访问网站的哪些部分。它告诉爬虫哪些页面可以索引,哪些不可以
2. crossdomin.xml 这是一个跨域策略文件,用于指定哪些其他域可以访问该域上的资源。
3. sitemap.xml 提供了网站页面的列表,帮助搜索引擎爬虫更有效地索引网站内容。
4. 后台目录
5. 网站安装包
6. 网站上传目录
7. mysql管理页面
8. phpinfo 显示PHP配置信息的页面,包括安装的模块、环境变量等。
9. 网站文本编辑器
10. 测试文件
11. 网站备份文件(.rar、zip、.7z、.tar.gz、.bak)
12. DS_Store 文件 由macOS的Finder生成,用于存储文件夹的自定义属性,如窗口位置、图标位置等
13. vim编辑器备份文件(.swp)
14. WEB—INF/web.xml文件 Java Web应用的配置文件,定义了Servlet的映射、初始化参数、监听器等。
15 .git Git版本控制系统的目录,包含项目的历史记录、分支、提交等信息。
16 .svn Subversion(SVN)版本控制系统的目录,包含与版本控制相关的元数据和文件。
7、目录扫描工具
7.1、feroxbuster
用Rust编写的简单、快速、递归的内容发现工具,它常用于Kali Linux中。这个工具的主要功能是扫描网站中的目录、文件、子域名等,帮助安全测试人员和黑客发现可能存在的安全漏洞或敏感信息泄露。
安装feroxbuster
sudo apt install -y feroxbuster
feroxbuster -h 查看帮助
7.2、dirb
Web目录扫描工具,用于自动化地扫描Web服务器以查找隐藏的资源,如目录和文件
直接输入dirb获取用法
7.3、dirsearch
7.4、dirmap
-i 指定扫描的网站
在dirmap路径下有README.md文件,里面有使用方法
7.5、dirBuster
是一个多线程的基于Java的应用程序,设计用于暴力破解Web应用服务器上的目录和文件名。它是Owasp(Open Web Application Security Project)开发的一款专门用于探测网站目录和文件(包括隐藏文件)的工具。DirBuster支持基于字典的扫描方式,也支持纯暴力扫描,用户可以根据需要选择扫描类型。
8、网站WAF识别
什么是WAF:WAF,即:Web Application FireWall(Web应用防火墙)。可以通俗的理解为:用于保护网站, 防黑客、防网络攻击的安全防护系统;是最有效、最直接的Web安全防护产品。
WAF功能:
wafw00f的使用
WAFW00F是一个用于识别网站防火墙(WAF)的工具。它基于Python开发,可以通过发送HTTP请求并分析响应来探测网站是否存在防火墙,并识别出该防火墙的厂商及类型。
工作原理:
- 首先,它会发送一个正常的HTTP请求,并观察返回的响应中是否包含某些特征字符,从而尝试确定WAF的类型。
- 如果第一步不成功,WAFW00F会发送多个(可能是恶意的)HTTP请求,触发WAF的拦截机制,通过获取WAF返回的特征来判断其类型。
- 如果以上两步都未能成功识别WAF,WAFW00F会分析先前返回的响应,并使用一种简单的算法来猜测WAF或安全解决方案是否正在积极响应攻击。
进行安装wafw00f
python setup.py install
对百度进行测试
python main.py https://www.baidu.com
[*] Checking https://www.baidu.com:正在检查https://www.baidu.com这个网站。
[+] Generic Detection results::通用检测结果如下。
[*] The site https://www.baidu.com seems to be behind a WAF or some sort of security solution:这个网站https://www.baidu.com似乎使用了WAF或某种安全解决方案。
[~] Reason: The server header is different when an attack is detected.:原因是,当检测到攻击时,服务器头信息有所不同。
The server header for a normal response is "BWS/1.1", while the server header a response to an attack is "Apache",:正常响应的服务器头信息是BWS/1.1,而针对攻击的响应的服务器头信息是Apache。
[~] Number of requests: 7:发送了7个请求来得出这个结论。
使用nmap进行waf检测
nmap –p80,443 --script http-waf-detect ip
nmap –p80,443 --script http-waf-fingerprint ip
-p 指定端口号; --script使用脚本
---------------------------------------------------------------------------------------------------------------------------------
如果需要工具请私信我