栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

信息收集概览(上)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

信息收集概览(上)

目录

一.为什么要做信息收集

二.域名相关信息

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.......

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/840929.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号