当前位置: 首页 > news >正文

【网安第一章】——信息收集

文章目录

  • 域名信息
    • 1. whois
    • 2.域名反查
    • 3. ICP备案查询
    • 4.天眼查
    • 5. 子域名信息
      • 1. 暴力枚举
    • 6. 域名DNS信息
      • CNAME记录
      • MX记录
      • TXT记录
      • 哪里可以查这些信息
  • IP信息
    • 1. 域名解析流程
    • 2. IP归属
    • 3. 如何获取CDN后面的真实IP
      • CDN实现流程
      • 1. 超级ping
      • 2. 历史DNS
      • 3. 通过子域名查询IP
      • 4. 通过国外的主机来解析
      • 5. 邮件、SSL证书、手机App抓包、网络空间搜索引擎
  • 端口服务信息
    • 1. 本机端口号查看
    • 2. 远程端口号查看
    • 3. 常用端口号及用途
      • 1. 文件共享服务端口
      • 2.远程连接服务端口
      • 3. web应用端口号
      • 4. 数据库端口号
      • 5. 邮件端口号
      • 6. 网络常见协议端口号
      • 7. 特殊服务端口
    • 4. 端口扫描工具——nmap
    • 5. 端口扫描可视化工具——zenmap
  • 指纹识别
  • CMS指纹识别
    • 1. CMS识别思路
      • 1. 版权信息
      • 2. 特定文件MD5值
      • 3. 查看网页源代码
      • 4. 通过特定文件分析
    • 2. cms识别工具
  • CDN指纹识别
  • WAF指纹识别
    • WAF作用
    • 识别方法——触发拦截
    • 得到指纹
    • 指纹库
    • 实际使用
  • 搜索引擎收集
    • 1. 运算符
    • 2. 高级语法
    • 3. 谷歌语法数据库
  • 网络空间搜索引擎
    • 1.shodan
    • 2. Censys
    • 3. ZoomEye
    • 4. fofa
    • 5. 工具
  • 目录扫描
    • 1. 简介
    • 2. 常见敏感目录和文件
    • 3. 文件扫描思路
    • 4. 工具
    • 5. 注意事项
    • 6. 防御
  • GIT
    • 1. 为什么GIT会导致信息泄露
    • 2. github搜索技巧
    • 3. git泄露利用方式
    • 4. 懒人工具
    • 5. 案例

域名信息

1. whois

whois命令查看域名信息。

┌──(kali㉿kali)-[~]
└─$ whois collshell.cn
Domain Name: collshell.cn
ROID: 20240604s10001s57799689-cn
Domain Status: ok
Registrant: 李强
Registrant Contact Email: qqiangqiang700@gmail.com
Sponsoring Registrar: 阿里云计算有限公司(万网)
Name Server: hasslo.ns.cloudflare.com
Name Server: dara.ns.cloudflare.com
Registration Time: 2024-06-04 10:52:09
Expiration Time: 2025-06-04 10:52:09
DNSSEC: unsigned

可以得到一些姓名、邮箱、手机的信息

  1. 爆破密码,根据以上的信息,做一个自定义的字典,去爆破他的密码

  2. 邮箱。用来钓鱼,做一个假的页面,发到邮箱,让他登录。

2.域名反查

有时候想做渗透想看某个邮箱另外注册了哪几个域名,就可以用到域名反查。

域名反查_邮箱反查域名_邮箱Whois反查 - 站长工具 (chinaz.com)

可以通过邮箱查询这个邮箱用来注册了几个域名。

作用:

  1. 一般来说,主站的安全级别最高,其他站点比较薄弱,如果得到另外注册的域名,可以从这些薄弱的地方入手。

但是这些信息可能会被隐藏起来。

3. ICP备案查询

有些域名信息被隐藏了,可以到这个ICP备案进行查询。

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

image-20240803145547254

或者用beian88.com

4.天眼查

根据公司名称获取企业的邮箱等联系信息

5. 子域名信息

1. 暴力枚举

  1. layer子域名挖掘机软件

image-20240803155336649

  1. 字典枚举

仓库

GitHub - lijiejie/subDomainsBrute: A fast sub domain brute tool for pentesters

6. 域名DNS信息

image-20240803160106622

image-20240803160118365

CNAME记录

2、CNAME:
CNAME( Canonical name )即:别名记录。

  • CNAME的目标主机地址只能使用主机名,不能使用IP地址;
  • 主机名前不能有任何其他前缀,如:http://等是不被允许的;
  • A记录优先于CNAME记录。即如果一个主机地址同时存在A记录和CNAME记录,则CNAME记录不生效。

两种域名解析方式
最常见的两种域名解析方式为A记录域名解析和CNAME域名解析。ALB对外提供域名,只支持CNAME域名解析。

  • A记录域名解析
    A记录域名解析又称IP指向,您可以设置子域名并指向到自己的目标主机IP上,从而实现通过域名找到指定IP。应用型负载均衡ALB默认对外提供公网IP访问,如需通过域名访问主机,可以配置A记录域名解析,具体实现方案如下图所示:

image-20240803161829684

  • CNAME域名解析
    CNAME域名解析又称别名解析,您可以设置子域名并指向到其他域名,从而实现将一个域名指向另一个域名。应用型负载均衡ALB默认对外提供域名访问,如果通过其他域名访问请配置CNAME域名解析,具体实现方案如下图所示:

image-20240803161840537

MX记录

  • MX记录(Mail Exchange):邮件路由记录
    在DNS上设定,用于将邮箱地址@符号后的域名指向邮件服务器。
  • 示例:example.com. IN MX 10 mail.example.com.
  • 解释:【domain】 IN MX 【优先度】 【邮件服务器】

作用:

当发信侧服务器给受信侧发邮件时,首先会要求DNS服务器解析受信侧邮箱地址中@后面部分的域名对应的MX记录(DNS的写法可以理解成example.com 的A记录下面,有一行上面示例的MX记录,当然邮箱服务器也有对应的A记录)。
这样,邮件就直接发到对应的MX记录的A记录里的IP了。
例子:给test@exmaple.com发邮件的话,
DNS会返回给发信侧198.51.100.3这个IP

exmaple.com. IN A 198.51.100.2
example.com. IN MX 10 mail.example.com.
mail.example.com. IN A 198.51.100.3

TXT记录

主要用于域名验证,域名解析服务商会要求你把一段文本填到TXT,如果能填上,服务商就会知道这个域名确实是你的。

  • 示例:ns1.exmaple.com. IN TXT “联系电话:XXXX”
  • 解释:【domain】 IN TXT 【任意字符串】

一般指某个主机名或域名的说明,或者联系方式,或者标注提醒等等。

哪里可以查这些信息

  1. 直接百度搜域名解析查询
  2. What’s that site running? | Netcraft

这个netcraft非常强大

IP信息

1. 域名解析流程

image-20240803163021385

  • 查询对应IP

ping baidu.com

nslookup baidu.com

2. IP归属

通过IP查找它归属哪个运营商等信息

Whois (cnnic.net.cn)

iP地址查询–手机号码查询归属地 | 邮政编码查询 | iP地址归属地查询 | 身份证号码验证在线查询网 (ip138.com)

3. 如何获取CDN后面的真实IP

CDN实现流程

image-20240803164641809

image-20240803164729932

1. 超级ping

image-20240803172302468

2. 历史DNS

查找历史的DNS可以知道之前是哪个IP(也就是没用CDN之前)

  • DNS History
  • What’s that site running? | Netcraft
  • 直接百度搜下【历史DNS记录查询】就能找到一些网站来搜索。

3. 通过子域名查询IP

可能只有主站用了CDN,但是流量少的子站没用,这样就可以查找子域名对应的IP,看看是不是只有一个。

4. 通过国外的主机来解析

一般国内的CDN不会考虑国外的主机,所以直接用国外主机往往能访问到对应的真实IP.

https://webpagetest.org

image-20240803174500803

5. 邮件、SSL证书、手机App抓包、网络空间搜索引擎

有的公司的邮件上面会显示真实ip

image-20240803173550150

SSL证书

有些网站的SSL证书是绑定IP的,可以直接查看到。

image-20240803174255408

手机APP抓包

有可能网页的前端用了CDN,但是手机APP没有,对APK进行逆向

端口服务信息

1. 本机端口号查看

netstat -an|grep 3306

2. 远程端口号查看

telnet 192.168.142.137 80
wget 192.168.142.137 80
nc -vz 192.168.142.137 445

nc -vz 192.168.142.137 80-9000 扫描80-9000端口

3. 常用端口号及用途

common-ports.pdf (nsrc.org)

1. 文件共享服务端口

image-20240803195432656

2.远程连接服务端口

image-20240803195531015

3. web应用端口号

image-20240803195550178

4. 数据库端口号

image-20240803195629815

5. 邮件端口号

image-20240803195649840

6. 网络常见协议端口号

image-20240803195733340

7. 特殊服务端口

image-20240803195752630

4. 端口扫描工具——nmap

  • 最基础的工具,一定要掌握,作用

image-20240803201034568

1)扫描主机(Host Discovery)
2)扫描端口(Port Scanning)
3)探测操作系统、软件版本 (Operating System
Detection、Version Detection)

  • nmap自带脚本

/usr/share/nmap/scripts

以下网址可以查看每个脚本的用途

NSEDoc Reference Portal: NSE Scripts — Nmap Scripting Engine documentation

nmap 192.168.142.137 --script http-enum 列举HTTP服

nmap --script=auth 绕过鉴权
nmap --script=brute 暴力破解
nmap --script=vuln 扫描漏洞

nmap testfire.net 这是IBM提供的靶场

简单扫描
nmap -sP 192.168.142.137

指定端口或范围扫描:
nmap -p0-65535 192.168.142.137

探测操作系统:
nmap -O 192.168.142.137

只进行主机发现,不进行端口扫描
nmap -sn 192.168.40.195/24

主机发现就是,查看192.168.40.1 ~ 192.168.40.255的主机是否存在。

文档

Nmap使用技巧总结.md · lcxclcxc/my_doc - 码云 - 开源中国 (gitee.com)

5. 端口扫描可视化工具——zenmap

指纹识别

1、CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;
2、前端技术:比如HTML5、jquery、bootstrap、Vue、ace等;
3、开发语言:比如PHP、Java、Ruby、Python、C#等;
4、Web服务器:比如Apache、 Nginx、IIS、lighttpd等;
5、应用服务器:比如Tomcat、Jboss、Weblogic、Websphere等;
6、操作系统信息:比如Linux、win2k8、win7、Kali、Centos等;
7、CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七
牛云、阿里云等;
8、WAF信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等

CMS指纹识别

  • CMS即搭建整套网站用的框架。

  • 内容管理系统
    Content Management System

image-20240803214803022

1. CMS识别思路

1. 版权信息

2. 特定文件MD5值

  • 打开F12网页后台,查看靶站的静态文件,看看是否和对应的cms网站的MD5值一致,一致即代表用的是那个CMS。

    比如网站图标、或者其它的小icon

拿到后直接在下面这个项目匹配MD5值,即可找到cms名称。

Lucifer1993/cmsprint: CMS和中间件指纹库 (github.com)

3. 查看网页源代码

image-20240803215904604

譬如说有这种文件,就是wordPress搭建的博客系统。

4. 通过特定文件分析

比如某个网站的robot.txt文件

image-20240803220353532

这些文件如果和某个cms系统一致,那么就是某个cms系统

2. cms识别工具

  • whatweb工具

whatweb -v www.baidu.com

  • 浏览器插件

Wappalyzer:https://www.wappalyzer.com
whatruns :https://www.whatruns.com/

  • 在线网站

http://whatweb.bugscaner.com
http://finger.tidesec.com/

  • 离线网站

御剑指纹扫描器(需要.NET Framework)
Test404轻量CMS指纹识别 v2.1

  • 开源程序

https://github.com/Tuhinshubhra/CMSeeK

CDN指纹识别

  • nslookup

image-20240803221640115

  • 超级ping

image-20240803221715932

  • ldb

image-20240803222020525

  • 网站

国内:
http://cdn.chinaz.com/
国外:
https://www.cdnplanet.com/tools/cdnfinder/
脚本:
https://github.com/boy-hack/w8fuckcdn/
https://github.com/3xp10it/xcdn

WAF指纹识别

image-20240803223002944

过滤HTTP/HTTPS的请求

WAF作用

| SQL Injection (SQLi):阻止SQL注入
l Cross Site Scripting (XSS):阻止跨站脚本攻击
l Local File Inclusion (LFI):阻止利用本地文件包含漏洞进行攻击
l Remote File Inclusione(RFI):阻止利用远程文件包含漏洞进行攻击
l Remote Code Execution (RCE):阻止利用远程命令执行漏洞进行攻击
l PHP Code Injectiod:阻止PHP代码注入
l HTTP Protocol Violations:阻止违反HTTP协议的恶意访问
l HTTPoxy:阻止利用远程代理感染漏洞进行攻击
l Sshllshock:阻止利用Shellshock漏洞进行攻击
l Session Fixation:阻止利用Session会话ID不变的漏洞进行攻击
l Scanner Detection:阻止黑客扫描网站
l Metadata/Error Leakages:阻止源代码/错误信息泄露
l Project Honey Pot Blacklist:蜜罐项目黑名单
l GeoIP Country Blocking:根据判断IP地址归属地来进行IP阻断

识别方法——触发拦截

  • 在请求中带入非法字符,从而触发拦截,这个时候可以根据拦截的提示识别是哪个WAF
  • xsstring = ‘’
    sqlistring = “UNION SELECT ALL FROM information_schema AND ’ or SLEEP(5) or '”
    lfistring = ‘…/…/…/…/etc/passwd’
    rcestring = ‘/bin/cat /etc/passwd; ping 127.0.0.1; curl google.com’
    xxestring = ‘<!ENTITY xxe SYSTEM "file:///etc/shadow">]>&hack;’

得到指纹

  1. 额外的cookie;

  2. 任何响应或请求的附加标头;

  3. 响应内容(如果被阻止请求);

  4. 响应代码(如果被阻止请求);

  5. IP地址(云WAF);

  6. JS客户端模块(客户端WAF)

指纹库

https://github.com/0xInfection/Awesome-WAF.git

https://github.com/CSecGroup/wafid.git

实际使用

  1. wafw00f www.12306.cn

image-20240803224435336

  1. nmap

nmap www.12306.cn --script=http-waf-detect.nse

  1. sqlmap

sqlmap -u “xxx.com?id=1” --identify-waf

限制:必须含动态的网页。(即带get参数)

搜索引擎收集

1. 运算符

  • 完整匹配:“”
  • 剔除不需要的内容: -
  • 或: OR
  • 数字范围: num…num

2. 高级语法

  • 只搜索某个网站: site:zhihu.com

  • 网页内容包括:

    allintext:Powered by Discuz

    intext:Powered by Discuz

  • 网页标题包括:

    allintitle:后台管理系统

    intitle:后台管理系统

  • URL地址包括

    allinurl:admin.php

    inurl:index.php?id=1

  • 文件类型指定:

    filetype:pdf

3. 谷歌语法数据库

https://www.exploit-db.com/google-hacking-database
https://github.com/BullsEye0/google_dork_list

网络空间搜索引擎

1.shodan

淘宝上花几块钱可以买到。

  • CLI 命令行工具

image-20240804151641210

image-20240804151806126

使用示例:

使用 shodan 入侵打印机 - 链滴 (ld246.com)

https://github.com/jakejarvis/awesome-shodan-queries (语法)

https://github.com/random-robbie/My-Shodan-Scripts (python脚本)

2. Censys

3. ZoomEye

4. fofa

5. 工具

https://github.com/knownsec/Kunyu

https://github.com/coco413/DiscoverTarget

https://github.com/saucer-man/saucerframe

目录扫描

1. 简介

  1. 常见敏感文件:
  • 配置文件

    xxx.cfg

  • 数据文件

    xxx.sql

    .tar.gz

  • 目录
    /backup
    /conf
    /admin

  1. 为什么会泄露
  • 网站配置错误
  • 本地文件包含(LFI)

php里面存在include。如果include通过参数传入,并且没有经过校验,那么就能访问到磁盘中所有的文件。

可以在dvwa靶场中试下这个:

http://localhost/dvwa/vulnerabilities/fi/?page=…/…/phpinfo.php

http://localhost/dvwa/vulnerabilities/fi/?page=…/…/…/…/…/…/…/in.txt

2. 常见敏感目录和文件

  • robots.txt 爬虫机器人文件(如果配置了这个,进去里面看看,exclude的往往是敏感的文件,可以专门看这些文件)

  • sitemap.xml 知道搜索引擎爬虫如何搜索(往往由cms生成)

  • 网站的备份文件/数据

    • xxx.zip
  • 后台登录的目录

    /admin

    /manage

  • 安装包(源码)

    • 主要适用于非开源,商用的系统
    • /install
  • 上传的目录

    /upload

    /upload.php

  • mysql的管理界面

​ phpadmin 的web页面去管理

image-20240804160128638

  • 程序的安装路径

​ /install

  • php 的探针 phpinfo.php
    • 用来查看服务器的探针

image-20240804160426836

​ + 雅黑探针 (用来解析phpinfo)

  • 网站文本编辑器漏洞。可以百度搜下学习下,这种很容易有各种漏洞

    • ueditor漏洞
    • kindeditor
  • Linux

    • /etc/passwd
    • /etc/shadow 用SHA512
    • /etc/sudoers
  • MacOs

    • DS_Store
  • 临时文件编辑器

    • .swp
  • 目录穿越

    • 可能会出现漏洞的服务器:Windows IIS 、 Apache
    • 就是访问网站路径的上一级 …/…/…/
  • tomcat 中的WEB_INF

    WEB-INF/web.xml : Web应用程序配置文件, 描述了servlet和其他的应用组件配置及命名规则.
    WEB-INF/database.properties : 数据库配置文件
    WEB-INF/classes/ : 一般用来存放Java类文件(.class)
    WEB-INF/lib/ : 用来存放打包好的库(.jar)
    WEB-INF/src/ : 用来放源代码(.asp和.php等)

WEB-INF-dict

3. 文件扫描思路

  1. 直接输入url

    • 递归模式
    • 字典模式:得预先有字典
    • 暴力破解模式
    • 爬虫(专门用robots.txt)
    • fuzz(模糊测试):依赖于字典
  2. 文件扫描的字典

    wordlists即可获取

image-20240804172313287

4. 工具

  1. dirb 扫描工具

dirb http://demo.testfire.net/

  1. dirbuster 图形化界面工具 —— 新版本是ZAP,建议用ZAP

  2. 御剑

  3. Burp Suite

5. 注意事项

  1. WAF、IDS等会拦截或锁IP

    如何绕过?

    1. 通过代理
    2. 网络空间搜索引擎,找到一些现成的结果

6. 防御

  1. 控制权限
  2. 删除敏感文件
  3. WAF、IDS

GIT

1. 为什么GIT会导致信息泄露

  1. 把是由仓库/隐私文件提交到了github
  2. 部署项目的时候,不小心把【.git文件】一起打包进去,放到web网站的目录下
    • .git/logs/HEAD 存储了git的log信息,可以找到历史的commit项
      .git/index 缓存git add的文件,暂存区
      .git/refs/stash git stash 把代码存入缓存区
      .git/refs/heads/master 记录了master的commit的hash(得到hash就能得到当前所有最新代码)
      .git/objects/pack/.pack

2. github搜索技巧

kali in:file 搜索文件中包含kali的代码
kali in:path 搜索路径中包含kali的代码
kali in:path,file 搜索路径、文件中包含kali的代码
shodan language:python 搜索关键字shodan,语言为python的代码
filename:config.php language:php 搜索文件名为config.php,且语言为php
kali topics:>=5 标签数量大于等于5的
kali size:<1000 文件小于1KB的
kali stars:10…50 star大于10小于50的
kali pushed:>2021-08-15 搜索在2021年8月15日之后提交的
kali pushed:2021-07-01…2021-08-01 搜索在此区间
kali created:>=2021-06-01 创建时间
kali pushed:<2021-08-01 -language:java
搜索在2020年8月1日前push代码且排除java语言

3. git泄露利用方式

  1. 找到.git 文件夹

    • 目录扫描
    • robots.txt
    • 搜索引擎搜索 intitle:“Index of /.git”
  2. 下载.git文件夹

    https://github.com/BugScanTeam/GitHack
    https://github.com/lijiejie/GitHack
    https://github.com/wangyihang/githacker
    https://github.com/WangWen-Albert/JGitHack

  3. 用git的命令获取内容

  • git log
  • git rest --hard [log hash]
  • git diff

4. 懒人工具

  • 自动下载、自动分析

https://github.com/gakki429/Git_Extract

5. 案例

  • ctfhub网站,强烈推荐使用
  1. dirb直接扫描

image-20240804180105747

  1. 直接用GitHack工具下载下来。

  2. git log查看提交记录

image-20240804180258648

  1. 使用git diff比较

image-20240804180436278

直接得到flag

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • RCE---无字母数字webshell
  • 基于php的图书管理系统 可学习使用
  • 数字孪生平台:构建智慧未来,重塑空间智能生态的钥匙
  • Python Flask 与 Node.js Express
  • TM1652段码屏芯片全解析——概况,性能,MCU连接,样例代码
  • 【数据结构】六、图:6.图的最短路径(BFS 算法、迪杰斯特拉(Dijkstra)算法、弗洛伊德(Floyd)算法)
  • 大数据当中常用的一些技术
  • 算法——动态规划:0/1 背包问题
  • springboot系列十二:拦截器和文件上传
  • Git使用错误分析
  • 如何保证电源的长期稳定性?
  • PHP开启多进程
  • SpringBoot基础(二):配置文件详解
  • 序列建模之循环和递归网络 - 引言篇
  • 一个很牛的学习网站分享 Developer Roadmaps
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • 【知识碎片】第三方登录弹窗效果
  • Android开源项目规范总结
  • angular学习第一篇-----环境搭建
  • CentOS6 编译安装 redis-3.2.3
  • const let
  • gf框架之分页模块(五) - 自定义分页
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • Linux编程学习笔记 | Linux多线程学习[2] - 线程的同步
  • MySQL用户中的%到底包不包括localhost?
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 深度学习入门:10门免费线上课程推荐
  • 网页视频流m3u8/ts视频下载
  • 微信小程序上拉加载:onReachBottom详解+设置触发距离
  • 我的面试准备过程--容器(更新中)
  • 原生Ajax
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • ​io --- 处理流的核心工具​
  • ​水经微图Web1.5.0版即将上线
  • (27)4.8 习题课
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理 第13章 项目资源管理(七)
  • (三)模仿学习-Action数据的模仿
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)使用VMware vSphere标准交换机设置网络连接
  • ..回顾17,展望18
  • .mkp勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net 7和core版 SignalR
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET基础篇——反射的奥妙
  • .Net组件程序设计之线程、并发管理(一)
  • //usr/lib/libgdal.so.20:对‘sqlite3_column_table_name’未定义的引用
  • @DateTimeFormat 和 @JsonFormat 注解详解