信息收集概览(上)

目录

一.为什么要做信息收集

二.域名相关信息

1.域名是什么

2.域名的分类

国际域名

国别域名

新顶级域名

3.域名联系人信息

4.子域名信息

1)什么是子域名

2)怎么查

5.域名DNS信息

1)域名与ip(DNS Domain Name Server)

2)域名解析信息

3)怎么查

三.IP相关信息

1.DNS服务器的类型

1)DNS解析流程

2.ping / nslookup

3.IP归属信息

4.如何获取CDN背后的真实IP

四.端口服务相关信息

1.端口扫描思路和代码(python)实现

2.常见端口及漏洞

 分类

1.文件共享服务

2.远程连接服务

3.Web应用服务

4.数据库服务

5.邮件服务

6.网络常见协议

7.其他服务端口

3.端口扫描工具(Nmap)

1)Nmap介绍:

2)nmap的常用功能

3)查看nmap帮助手册

4)其他扫描工具


一.为什么要做信息收集

1)渗透测试的流程:确定目标,信息收集,漏洞扫描,漏洞利用,形成报告

2)收集包括的内容:域名信息,ip段,开放的端口,网站架构,文件目录结构,软件版本,WAF,旁站,C段.....

3)学习框架:这种信息是什么,怎么收集这种信息,收集这种信息有什么用

二.域名相关信息

1.域名是什么

域名:Domain name

在计算机网络中,想找对应的计算机需要用到ip地址,因为ip太难记了所以需要用域名来代替ip

域名的注册需要花钱

2.域名的分类

国际域名

.com(商业公司),.net(网络服务), .org(组织协会),.gov(政府部门),.edu(教育机构),.mil(军事领域),.int(国际组织)

国别域名

.cn(中国),.UK(英国),.US(美国

新顶级域名

biz,info,name,pro,aero.........

3.域名联系人信息

所属人,邮箱,电话,地址.......(一个人只能有一个备案号)

用在线网站去查询

站长工具 - 站长之家 (chinaz.com)

中国互联网络信息中心 (cnnic.cn)

域名WHOIS查询 - WhoisSoft

ICP/IP地址/域名信息备案管理系统 (miit.gov.cn)

用kali去查

 查到公司名字后可以去天眼查查公司的具体信息

天眼查-商业查询平台_企业信息查询_公司查询_工商查询_企业信用信息系统 (tianyancha.com)

4.子域名信息

1)什么是子域名

百度搜索:www.baidu.com

百度新闻,百度地图,百度贴吧,百度文库。。。。。

例如a.baidu.com

在百度的主域名前多一个分域名

2)怎么查

a.baidu.com,b.baidu.com...........

1.字典猜解(需要有一个比较好的字典)

2.枚举

3.工具查询(如layer子域名挖掘机,subDomainsBrutelijiejie/subDomainsBrute: A fast sub domain brute tool for pentesters (github.com)

5.域名DNS信息

1)域名与ip(DNS Domain Name Server)

www.baidu.com----->域名解析服务------->220.181.38.148

2)域名解析信息

 设置DNS服务器,用来提供DNS解析服务

 补充:记录类型

A:A记录是最常用类型,将域名指向一个IPv4地址,如8.8.8.8

CNAME: 将域名指向另一个域名地址,与其保持相同解析,如https://www.dnspod.cn

MX        用于邮件服务器,相关参数一般由邮件注册商提供

TXT        可填写附加文本信息,常用于域名验证

NS        域名服务器记录,可将指定域名交由其他DNS服务商解析管理

AAAA        将域名指向一个IPv6地址,如 ff06:0:0:0:0:0:0:c3

3)怎么查

域名解析查询(A/Txt/Cname/Mx/Srv/Aaaa...) (dbcha.com)

What's that site running? | Netcraft

在线域名解析记录检测-在线Nslookup域名解析查询工具 (jsons.cn)

kali中的maltego(免费版本功能比较少,不推荐)

 

三.IP相关信息

1.DNS服务器的类型

1)DNS解析流程

找本地的DNS服务器

在cmd中ipconfig /all

 

有可能显示路由器地址:由路由器转发给 本地域名服务器

根域名服务器:全球有13组(.com)

顶级域名服务器:负责顶级域名的解析(baidu.com)

授权服务器:解析三级服域名(map.baidu.com)

2.ping / nslookup

拿到域名后,我们需要找到对应的IP

1)ping

ping全称:Packet Internet Groper(因特网包探测器)

 ping /? 

查看ping 的指令

2)nslookup

1.nslookup baidu.com

显示Non-authoritative answer的原因:这条解析记录是从电脑本地拿的

2.man nslookup查看参数

 举例:nslookup -type="NS" baidu.com

3.IP归属信息

Whois (cnnic.net.cn)

通过在线网站查询

4.如何获取CDN背后的真实IP

1)什么是CDN?

Content Delivery Network:内容分发网络

了解CDN:参考阿里云的文档

CDN (aliyweun.com)

实现流程:

2)为什么要有CDN?

如果没有CDN会有什么影响?

全球用户都访问同一台服务器,极容易造成DDOS

采用CDN技术后

 

用户就近访问同一个运营商下的服务器 

3).常见的CDN服务商

CloudFlare/CloudFront

帝联/蓝讯/网宿/七牛云/腾讯/百度/阿里云

4)如何找出真实ip

如果一个网站采用了CDN技术,会使我们的渗透难度加大

wsglb0就是运营商(网宿)提供的CDN服务 

此时我们获取的ip是运营商的服务器的ip而不是源站ip

绕过CDN方法:

1.超级ping

多个地点Ping服务器,网站测速 - 站长工具 (chinaz.com)

利用在线网站帮助探测ip

2.历史DNS

为什么要查历史DNS

因为一个网站在刚开始时用户流量不高,采取CDN技术成本太高,因此会直接使用源站ip,

因此,历史DNS中有可能找到源站ip

在线查询网站

DNS History

What's that site running? | Netcraft

全球 CDN 服务商查询_专业的 IP 地址库_IPIP.NET

3.通过子域名查询ip

为什么子域名能查到?

同样也是成本问题,可能有些公司在主域名(访问量大)使用了CDN,但子域名(访问量小)就没使用CDN

参考2.7字域名信息

4.国外主机解析

为什么国外的能查到源站ip?

以阿里云提供的CDN服务为例

只是覆盖了70多个国家和地区,而不是全球地区,总能找到没有提供CDN服务的地区,此时用该地区的ip访问拿到的ip有可能是源站 

https://asm.ca.com

Website Speed Test | Pingdom Tools

WebPageTest - Website Performance and Optimization Test

Website uptime monitoring service, check is site down - Host-tracker - en

5.其他

网络空间搜索引擎:fofa,censys

邮件(通过抓邮件的包) 

收集APP抓包

微信服务号抓包

四.端口服务相关信息

获取真实ip后,我们需要了解这台服务器运行了什么服务,才能找到能够利用的漏洞

1.端口扫描思路和代码(python)实现

计算机对外提供服务时,为了区分服务,每一个服务都会占用一个端口号

端口号:1~65535

很多程序都有自己的默认端口号:

mysql:3306,http:80,tcp:443等等

在这种情况下,我们找到端口号就能确定这个服务器提供了怎样的服务

1)查看本机端口信息(以mysql为例)

Windows: netstat -ano|findstr 3306

Linux:netstat -an|grep 3306

2)远程机器

按端口号给靶机发送数据包,若靶机回应了则认为靶机有开放该端口

常用的命令

telnet 192.168.142.137 80
wget ...
nc -vz 192.168.142.137 80-9000
(-v 显示详细信息,-z显示进程,不会向靶机发送实际数据)

 

 

 3)端口一个一个试太麻烦了,因此我们可以使用代码来帮助我们测试

# 模板位置:file,setting。Editor。file and Code Templates
import socket,threading
def TCP_connect(ip,port_number,delay,output):
    TCPsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    TCPsock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR,1)
    TCPsock.settimeout(delay)
    try:
        TCPsock.connect((ip,port_number))
        output[port_number] = 'Listening'
    except:
        output[port_number] = ''
def scan_port(host_ip, delay):

    threads = [] #to run TCP_connect concurrently
    output = {} #for printing purposes

    #Spawning threads to scan ports
    #以10000为例
    #如果需要从1-65535就将for中的10000改为65535
    for i in range(10000):
        t = threading.Thread(target=TCP_connect,args=(host_ip, i, delay,output))
        threads.append(t)
    #starting threads
    for i in range(10000):
        threads[i].start()
    #locking the script until all threads complete
    for i in range(10000):
        threads[i].join()
    #printing listening ports from small to large
    for i in range(10000):
        if output[i] == 'Listening':
            print(str(i)+ ': ' + output[i])
def main():
    host_ip = input("Please enter host ip: ")
    #超时抛出异常
    delay = int(input("How many seconds the socket is going to wait until timeout: "))
    scan_port(host_ip, delay)
    input("Press Any Key to Exit")
if __name__ == "__main__":
    main()

演示:

画红线的就是需要填写的 

 

可以看到 

2.常见端口及漏洞

从1~65535扫描效率太低了,实际上,我们可以通过扫描常用端口号来获取相关信息

记不住没关系,也不必要去记,用的多了自然就记住了

如图(颜色是分类)

 分类

1.文件共享服务

端口号端口说明攻击方向
21/22/69FTP/SFTP文件传输协议允许匿名上传,下载,爆破和嗅探操作
2049NFS服务(Network File System)配置不当
139Samba服务爆破,未授权访问,远程代码执行
389LADP目录访问协议注入,允许匿名访问,弱口令

2.远程连接服务

端口号端口说明攻击方向
22SSH远程连接爆破,SSH隧道及内网代理转发,文件传输
23Telnet远程连接爆破,嗅探,弱口令
3389RDP远程桌面连接Shift后门(windows Server2003以下的系统),爆破
5900VNC弱口令爆破
5632PcAnywhere远程控制服务抓密码,代码执行

3.Web应用服务

端口号端口说明攻击方向
80/443/8080常见的web服务端口web攻击,爆破,对应服务器版本漏洞
7001/7002Weblogic控制台java反序列化,弱口令
8080/8089Jboss/resin/jetty/Jenkins反序列化,控制台弱口令
9090Websphere控制台java反序列化,弱口令
4848Glassfish控制台弱口令
1352Lotus domino邮件服务弱口令,信息泄露,爆破
10000Webmin-web控制面版弱口令

4.数据库服务

5.邮件服务

6.网络常见协议

7.其他服务端口

3.端口扫描工具(Nmap)

1)Nmap介绍:

全称:Network Mapper

C语言写的,kali中有内置的nmap

下载:Nmap: the Network Mapper - Free Security Scanner

2)nmap的常用功能

1)扫描同一网段下存活的主机(Host Discovery)

2)扫描端口(Port Scanning)

3)探测操作系统,软件版本(Operating System Detection, Version Detection)

3)查看nmap帮助手册

1.kali中输入nmap --help

nmap --help

 

2.查看官方提供的手册 

Options Summary | Nmap Network Scanning

nmap中内置了很多lua脚本,查看的地址

NSEDoc Reference Portal: NSE Scripts — Nmap Scripting Engine documentation

3.常用参数

简单扫描
nmap -sP ip
指定端口或范围扫描
nmap -p0-65535 ip
探测操作系统
nmap -O ip
只进行主机发现,不进行端口扫描
nmap -sn ip

补充:

ip后面的/24是什么意思?

掩码的位数

子网掩码8位,11111111.00000000.00000000.00000000

代表255.0.0.0(A类IP地址)

子网掩码16位 11111111.11111111.00000000.00000000

代表255.255.0.0(B类IP地址)

子网掩码24位 11111111.11111111.11111111.00000000

代表255.255.255.0(C类IP地址)

旁站:和目标网站在同一台服务器但端口不同的其他网站

C段:和目标服务器IP处于同一个C段的其他服务器

4)其他扫描工具

在线扫描

在线端口检测,端口扫描,端口开放检查-online tool-postjson (coolaf.com)

masscan,nbtscan.......

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

jjj34

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

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

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

打赏作者

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

抵扣说明:

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

余额充值