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

devtools/2024/11/14 6:34:20/

文章目录

  • 域名信息
    • 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


http://www.ppmy.cn/devtools/96739.html

相关文章

和小米比起来希喂宠物空气净化器怎么样?

有宠物用哪个牌子空气净化机比较好呢&#xff1f;有宠物的家庭除异味、除毛、除菌需求比不养宠的更大&#xff0c;所以有宠物的家庭选空气净化器时一定要着重看这几点。 最近&#xff0c;我发现身边的朋友们都开始重视起家居空气质量&#xff0c;特别是有了宠物之后&#xff0…

宠物主人的智能健康管理指南

如何选择宠物智能听诊器 选择宠物智能听诊器时&#xff0c;宠物主人应考虑以下因素&#xff1a;设备的准确性、用户界面的易用性、数据存储和共享的能力、以及设备的兼容性和可扩展性。此外&#xff0c;宠物主人还应考虑设备的维护成本和客户服务支持。 宠物智能听诊器的维护…

linux进程

exit&#xff08;&#xff09;函数正常结束进程 man ps aux 是在使用 ps 命令时常用的一个选项组合&#xff0c;用于显示系统中所有进程的详细信息。aux 不是 ps 命令的一个正式选项&#xff0c;而是三个选项的组合&#xff1a;a, u, 和 x。这三个选项分别代表不同的含义&#…

缓存学习

缓存基本概念 概念 对于缓存&#xff0c;最普遍的理解是能让打开某些页面速度更快的工具。从技术角度来看&#xff0c;其本质上是因为缓存是基于内存建立的&#xff0c;而内存的读写速度相比之于硬盘快了xx倍&#xff0c;因此用内存来代替硬盘作为读写的介质当然能大大提高访…

Oracle(62)什么是内存优化表(In-Memory Table)?

内存优化表&#xff08;In-Memory Table&#xff09;是指将表的数据存储在内存中&#xff0c;以提高数据访问和查询性能的一种技术。内存优化表通过利用内存的高速访问特性&#xff0c;显著减少I/O操作的延迟&#xff0c;提升数据处理的速度。这种技术在需要高性能数据处理的应…

Redis主从哨兵模式

简介 主从 – 用法 像MySQL一样&#xff0c;redis是支持主从同步的&#xff0c;而且也支持一主多从以及多级从结构。 主从结构&#xff0c;一是为了纯粹的冗余备份&#xff0c;二是为了提升读性能&#xff0c;比如很消耗性能的SORT就可以由从服务器来承担。 redis的主从同步是异…

JavaWeb——MVC架构模式

一、概述: MVC(Model View Controller)是软件工程中的一种 软件架构模式 &#xff0c;它把软件系统分为模型、视图和控制器三个基本部分。用一种业务逻辑、数据、界面显示分离的方法组织代码&#xff0c;将业务逻辑聚集到一个部件里面&#xff0c;在改进和个性化定制界面及用户…

前端Vue监听路由变化, 点击页面内按钮跳转菜单更改导航菜单选中状态

1.问题描述 当我们进入页面时的菜单导航栏是默认选中的状态如图 点击博客园效果如图 问题1&#xff1a; 但是当我们点击页面上方返回按钮时&#xff0c;导航栏选中状态没有改变 分析问题1&#xff1a; 这个问题是因为页面改变后页面里面存储的菜单导航栏的is-active属性没有改…