35.网络安全渗透测试—[信息收集篇4]—[端口扫描/常见端口服务]

本文阅读 6 分钟
首页 代码,C/C#/C++ 正文

我认为:无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!!

一、端口扫描

1、端口扫描相关概念:端口->服务

         一般在知道服务器开放了哪些端口后,就知道服务器开启了哪些服务。

(1)端口扫描的原理:         端口扫描,顾名思义,就是逐个对一段端口或指定的端口进行扫描。通过扫描结果可以知道一台计算机上都提供了哪些服务,然后就可以通过所提供的这些服务的己知漏洞就可进行攻击。其原理是当一个主机向远端一个服务器的某一个端口提出建立一个连接的请求,如果对方有此项服务,就会应答,如果对方未安装此项服务时,即使你向相应的端口发出请求,对方仍无应答,利用这个原理,如果对所有熟知端口或自己选定的某个范围内的熟知端口分别建立连接,并记录下远端服务器所给予的应答,通过查看一记录就可以知道目标服务器上都安装了哪些服务,这就是端口扫描,通过端口扫描,就可以搜集到很多关于目标主机的各种很有参考价值的信息。例如,对方是否提供FTP服务、WWW服务或其它服务。 (2)端口扫描的实质:         实质上,端口扫描包括向每个端口发送消息,一次只发送一个消息。接收到的回应类型表示是否在使用该端口并且可由此探寻弱点。

2、端口扫描工具的使用:nmap、御剑、单线程python脚本、多线程python脚本

(1)nmap端口扫描: kali或者windows都可以

  • nmap -Pn -sV 192.168.97.214 -Pn,不进行ping -sV,扫描端口对应的服务的详细信息

kali的terminal中运行nmap: img windows下的GUI形式的nmap: img windows下的cmd形式的nmap: img

  • nmap -Pn -sV 192.168.97.214 -oN 192.168.97.214.txt -oN,结果保存到文件103.97.177.22.txt
  • nmap -Pn -sV –O 192.168.97.214 -O,扫描操作系统
  • nmap -Pn -sV -A 192.168.97.214 -A,扫描操作系统、版本信息等等
  • nmap -Pn -sV 192.168.97.214 --open –open,扫描开启的端口
  • nmap -p1-65535 192.168.97.214 -p1-65535,扫描全端口
  • nmap -v -A -F -iL target.com.txt -oX result.xml -v,显示扫描过程 -F,快速扫描 -iL,读取本地扫描目标文件 -oX,结果保存到result.xml中
  • nmap -v -A -F -iL target.com.txt -oN result.txt
  • nmap -v -A -p1-65535 -iL target.com.txt -oX result_all.xml
  • nmap -v -A -sU target.com.txt -oX result_all2.xml -sU,对UDP的端口进行扫描

(2)御剑端口扫描:御剑无字典大小限制版 img (3) 单线程python端口扫描脚本:portscan.py

  • 第一步:设置脚本中的目标IP和想要扫描的端口       靶机IP:remote_server_ip = “8.210.121.117”       待扫描端口:for i in range(1,65535)
#coding:utf-8
#!/usr/bin/env python

import socket
from datetime import datetime
from multiprocessing.dummy import Pool as ThreadPool
 
# 设置靶机IP:remote_server_ip = "x.x.x.x"
remote_server_ip = "192.168.97.214"      
ports = []
socket.setdefaulttimeout(0.5)
 
def scan_port(port):
    try:
        s = socket.socket(2,1)
        res = s.connect_ex((remote_server_ip,port))
        if res == 0: # 如果端口开启 发送 hello 获取banner
            print 'Port {}: OPEN'.format(port)
        s.close()
    except Exception,e:
        print str(e.message)
 
# 设置要扫描的端口:range(x,x)
for i in range(1,65535):        
    ports.append(i)
 
# Check what time the scan started
t1 = datetime.now()
pool = ThreadPool(processes = 200)
results = pool.map(scan_port,ports)
pool.close()
pool.join()
print 'Multiprocess Scanning Completed in ', datetime.now() - t1
  • 第二步:修改后,直接运行即可,如下图所示 img

(4)多线程python脚本扫描网段:下载地址【https://github.com/AnthraX1/InsightScan

  • 示例1:python scanner.py 192.168.97.0/24 -p 80,8080 -t 20                   -p 指定端口                   -t 指定线程
  • 示例2:python scanner.py 192.168.97.214 -S -t 20 -d                   -S 探测端口对应的服务                   -d 把80/8080端口的信息保持到当前目录的page.html页面中 80/8080的页面结果导出到了page.html内:

二、常见端口服务

        在网络安全渗透测试中,收集目标主机开启了哪些服务是至关重要的。这里收集到一些常见的的服务端口,也是笔者慢慢收集起来的,分享出来大家借鉴一下,也欢迎补充!!!

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默认端口未授权访问
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_45555226/article/details/119420515
-- 展开阅读全文 --
KillDefender 的 Beacon 对象文件 PoC 实现
« 上一篇 02-09
Web安全—逻辑越权漏洞(BAC)
下一篇 » 03-13

发表评论

成为第一个评论的人

热门文章

标签TAG

最近回复