【信息收集】服务端口收集

一、服务端口介绍

在渗透测试中对服务端口的收集非常重要,通过扫描服务开放的端口可判断对应开启的服务,通过所提供的这些服务的已知漏洞就可进行攻击。知名端口(0-1023)固定分配给某些服务的,动态端口(1023-65535)不固定分配给某些服务。

常见端口:

21:ftp文件传输协议(匿名访问、弱密码等

22:ssh专门为远程登录会话和其他网络服务提供的安全性协议,基本出现在liunx服务器、网络设备上(弱口令、防火墙ssh后门等

23:telnet远程管理服务(弱口令探测、溢出等

25:smtp邮件接收服务(溢出

53:dns提供域名解析(dns域传送信息泄露、dns劫持、dns缓存投毒、dns欺骗、dns隧道技术刺穿防火墙等等

80:http协议(sql注入、文件上传、文件包含、xss、xxe、csrf、ssrf等等

110:pop3邮件发送服务器(溢出

443:https服务的web浏览端口、能提供加密和通过安全端口传输的另一种http(心脏出血

445:smb用在计算机间共享文件、打印机、串口等(永恒之蓝漏洞

1433:oracle

3306:mysql数据库(弱口令

3389:远程桌面

5432:postgresql

6379:redis

8080:连接代理

二、服务端口收集方法

1.nmap工具

tcp connect()扫描

通过试图与目标主机相应的tcp端口建立一个完整的tcp连接,判断目标主机端口的开放信息

指令:nmap -sT 域名/ip地址(-sT可省略)

半开放扫描

tcp syn:只发送一个syn报文然后等待回应,比tcp connect扫描更加安全,不建立一个完整的tcp连接,目标主机一般不会将此类型行为记入安全日志,但需要root权限

指令:namp -sS 域名/ip地址

udp端口扫描

使用udp扫描方式确定目标主机的udp端口开放情况,也需要root权限

指令:nmap -sU www.xxx.com

扫描显示所有的udp端口是open|filterd

2.masscan工具

指令:masscan ip地址 -p 端口(1-10000)

3.御剑高速tcp端口扫描工具

4.自己造工具

指令:xxx.py -u ip地址

import threading
from socket import *
import getopt
import sys
lock = threading.Lock()  # 确保 多个线程在共享资源的时候不会出现脏数据
openNum = 0  # 端口开放数量统计
threads = []  # 线程池
def start():
    if len(sys.argv)==3:
        opts,args=getopt.getopt(sys.argv[1:],"u:t:d:")
        for k,v in opts:
            if k=='-u':
                target=v
            main(target)
    else:
        print("Error Argument!")
        sys.exit()
def portscanner(host, port):
    global openNum
    try:
        s = socket(AF_INET, SOCK_STREAM)
        s.connect((host, port))
        lock.acquire()
        openNum += 1
        print(f"{port} open")
        lock.release()
        s.close()
    except:
        pass


def main(ip, ports=range(65535)):  # 设置 端口缺省值0-65535
    setdefaulttimeout(1)
    print("---portscan v1.0---by:Edward Hopper---- ")
    for port in ports:
        # target定义一个要执行的函数scan,args为要向函数里面传递的参数
        t = threading.Thread(target=portscanner, args=(ip, port))
        threads.append(t)
        t.start()
    for t in threads:
        t.join()
    print(f"扫描完成--->>> ,共开放 {openNum}端口")
if __name__ == '__main__':
    start() # 全端口扫描

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Edward Hopper

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值