网安——信息收集

信息收集概览

渗透测试的流程

确定目标——信息收集——漏洞扫描——漏洞利用——形成报告

信息收集包括的内容

域名信息、IP段、开放的端口、网站架构、文件目录结构、软件版本、WAF、旁站、C段....

域名信息收集

域名是什么

用IP地址来对网站进行访问过于繁琐且不好记忆,域名便是代替了IP。

域名的分类

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

国别域名:.CN代表中国,.UK代表英国,.US代表美国

新顶级域名:biz,info,name,pro,aero,coop,museum.........(原有域名已经快被消耗殆尽)

域名与IP

www.baidu.com——>域名解析服务(DNS)——>220.181.38.148

域名联系人信息

所属人、邮箱、电话、地址.....

whois查询

站长工具

whoissoft

CNNIC

kali中whois查询:自带whois命令

域名反查:站长工具

ICP备案查询

国内主机绑定域名都需要备案,信息公开

工信部的ICP/IP地址/域名信息备案管理系统中可查

备案。

天眼查

作用

社工数据的基础

邮箱可进行钓鱼

从薄弱域名处进行攻击

子域名信息

子域名的作用

使攻击者可以较容易攻击成功

怎么查询子域名

1.字典猜解

2.枚举

3.使用子域名挖掘机

4.GitHub(中有子域名猜解工具)

域名DNS信息

DNS(域名解析服务):

如何查询DNS记录

DBA查

sitereport.netcraft.com

IP信息

DNS服务器类型

DNS解析流程

ping/nslookup

nslookup -type="NS"

ip归属信息

 通过ipwhois.cnnic.net.cn查询

如何获取CDN背后的真实IP

渗透测试的本质就是信息收集(打点)

知己知彼

1.真实IP获取

真实IP:指公网IP地址(大约40亿,xxx.xxx.xxx.xxx,一个xxx代表0-255)

私网IP:

找到真实IP就可以访问这个IP的C段和端口,方便进一步渗透,但是有的网站挂了CDN,我们必须绕过CDN获取真实IP

域名——DNS——IP——网站

CDN:负载均衡,虚假IP

如何判断存在CDN

使用不同主机PING域名判断

站长工具

爱站网

国外piing探测

2.使用nslookup域名解析判断

子域名查询

由于CDN加速需要支付一定的费用,所以很多网站可能只对主站做了CDN加速,而对其子域名没有做,而且子域名和主站很可能在同一个服务器或者同一个C段上,所以可以通过查询子域名的IP来辅助判断主站的IP信息

历史DNS解析记录

通过查询DNS与IP绑定的历史记录就有可能发现之前的真实IP信息,一般通过第三方服务网站进行查询:

DNSdb:https://dnsdb.io/zh-cn/

微步在线:微步在线X情报社区-威胁情报查询_威胁分析平台_开放社区

使用国外主机解析域名

部分国内的CDN加速服务商只对国内线路做了CDN加速,但是对国外的线路没有做加速,这样就可以通过国外的主机来探测真实IP信息

网站漏洞

利用网站的漏洞和信息泄露的敏感文件信息,比如(PHPinfo文件,网站源码文件,Github文件泄露)等获取真实IP

邮件信息

邮件信息中会记录邮件服务器的IP信息,有些站点拥有类似于RSS邮件订阅功能。可以利用其发送邮件,通过查看源码的方式查看服务器的真实IP

旁站信息收集

旁站:与攻击目标在同一服务器的不同网站,在攻击目标没有漏洞的情况下,可以通过查找旁站的漏洞攻击旁站,然后再通过提权拿到服务器的最高权限,拿到服务器的最高权限后攻击目标也就拿下了。

 通过站长工具进行同IP的查询:同IP网站查询,同服务器网站查询 - 站长工具

通过引擎查询:通过bing搜索ip:220.181.38.150 - 搜索

网络空间探测引擎搜索

C段主机信息收集

C段查询主要是当前的IP攻击不下来的时候,可以攻击它的C段。

查询方法:

nmap -sn ip/24

Google语法

使用C段扫描器扫

子域名信息收集

子域名:是父域名的下一级

枚举法(暴力破解):Layer子域名挖掘机

搜索引擎进行搜索子域名:Google语法

 fofa等空间探测引擎:domain="baidu.com"

透明证书:当您通过安全连接(HTTPS)访问某个网站时,该网站回想浏览器提供数字证书。此证书用于识别该网站的主机名,由已验证网站所有者的证书授权中心(CA)签发。只要用户信任相应的CA ,便可相信证书中提供的身份证明

 crt.sh

聚合工具: 结合了爆破,证书,搜索引擎,DNS解析记录。(oneforall)

端口服务信息

端口扫描思路和代码实现思路

查看本机端口信息

Windows:netstat -aon|findstr 3306

Linux:netstat -an|grep 3306

远程主机端口信息查询

kali:telnet ip 端口号

       wget ip 端口号

        nc -vz ip 端口号

常见端口号

文件共享服务端口

端口号

端口说明

攻击方式

21/22/69

FTP/SFTP文件传输协议

允许匿名上传、下载、爆破和嗅探操作

2049

NFS服务

配置不当

139

samba服务

爆破、未授权访问、远程代码执行

389

LDAP目录访问协议

注入、允许匿名访问、弱口令

nmap

使用最广泛的端口扫描工具

常用参数:简单扫描: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位:255.255.0.0(B类IP地址)

24位:255.255.255.0(C类IP地址)

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

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

指纹识别

什么是指纹识别

通过关键特征,识别出目标的CMS系统、服务器、开发语言

操作系统、CDN、WAF的类别版本等

识别对象

CMS信息:比如Discuz、织梦、帝国CMS、PHPCMS、ECshop等;

前端技术:比如HTML5、jquery、bootstrap、vue、ace等

开发语言:如PHP,Java,ruby、python、c#等

web服务器:如apache、nginx、IIS、lighttpd等

应用服务器:如tomcat、JBoss、weblogic、websphere等

操作系统信息:如Linux、win2k8、win7、kali、centos等

CDN信息:是否使用CDN,如cloudflare、帝联、蓝讯、网宿、七牛云、阿里云等

WAF(web应用防火墙)信息:是否使用WAF,如D盾、云锁、宝塔、安全狗、360等

CMS指纹识别

CMS:内容管理系统。

包括:博客系统,微博团购团战、导航网站、信息分类、百科网站.....

企业官网、学校官网、医院官网.....

针对这些开源的CMS可利用历史漏洞。

CMS识别思路

通过特定的文件或者代码来找到关键的特征。

版权信息

通过页面的可见版权信息

特定文件MD5值

通过特定文件图标的MD5值

通过GitHub等其他资源上的CMS和中间件指纹库进行对照

查看网页源代码

分析网站源代码中的关键代码来进行判断

通过特定文件分析

robots.txt禁止爬虫机器人爬取某些资源

CMS识别工具

kali中自带工具whatweb

浏览器插件:

wappalyzer:Find out what websites are built with - Wappalyzer

whatruns:WhatRuns — Discover What Runs a Website

在线网站:

TideFinger 潮汐指纹 TideFinger 潮汐指纹

http://whatweb.bugscaner.com

离线工具:

御剑指纹扫描器(需要.NET Framework)

Test404轻量CMS指纹识别v2.1

其他开源程序

https://github.com/Tuhinshubhra/CMSeek

CDN指纹识别

思路

通过查询CDN解析记录,来获取到别名解析记录,从而有可能会获得CDN的信息

工具

ping:

nslookup

超级ping

lbd(load balance detector)

专用:

WAF指纹识别

什么是WAF

web应用防火墙:用来过滤http/https的请求

作用:

WAF分类

硬件型WAF(厂商安装)、

云WAF(阿里云、腾讯云、华为云...)

软件型WAF(部署在Apache、Nginx等HTTPServer中)

常见WAF厂商

阿里云、腾讯云、华为云、百度云.....

安全狗、宝塔、360、知道创宇、长亭、安恒...

WAF指纹识别思路

不同WAF铲平拦截返回界面不同

额外的cookie

任何相应或请求的附加标头

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

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

IP地址(云WAF)

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

GitHub中可见思路和部分WAF特征

如何触发拦截:使用恶意请求,如:

指纹库:https://github.com/CSecGroup/wafid/blob/master/finger.xml

工具

kali自带:https://github.com/EnableSecurity/wafw00f

用法:wafw00f URL

nmap URL --script=http-waf-detect.nse

sqlmap -u "URL(动态地址)" --identify-waf

其他:https://github.com/0xlnfection/Awesome-WAF

搜索引擎收集信息

搜索引擎:Google、百度、搜狗、360...、

什么是Google Hacking

2002年Johnny long总结了Google语法

运算符

完全匹配

”搜索内容“

任意字词

在所需字词中间+OR

不包含

搜索内容 -用户不想看到的内容

数字范围

number..number

Google高级语法

只搜索某个网站的内容

site:URL

网页文本内容包括

allintext/intext:用户想包含的内容

网页标题内容包含

allintitle/intitle:内容

URL地址包括

allinurl/inurl:admin.php

文件类型指定

filetype:文件类型

语法数据库:Google Hacking Database (GHDB) - Google Dorks, OSINT, Recon

                      https://github.com/BullsEye0/google_dork_list

网络空间引擎搜索

什么是网络空间搜索引擎

360水滴直播事件

除了网络摄像头之外,网络空间还包括了什么?

黑客是怎么找到某一个网络设备的?

网络空间搜索引擎是一种专门对网络空间进行搜索的搜索引擎。

什么是网络空间?

网络空间(Cyber space),搜索引擎:1996年数字图书馆的成立到1998年谷歌诞生并有了网页,可以非常方便的检索网页内容。  随着网络空间的发展:出现了专门的搜索引擎可以去搜索图片、音乐、声音(电视剧)等等,进一步发展之后可以分为网络系统,如CDN、CMS、IDS、办公软件、数据库服务、杀毒软件、文件服务NFS等,网络设备如:手机、交换机、平板电脑、路由器、网络摄像头、私人网盘、打印机、ATM、物联网家电、机器人等等,工业系统如:交通信号灯、企业大屏幕、公园控制系统、加油站、电网、自来水厂、核电站等等这些个节点,网络空间正是由这些节点组成。

常规的搜索引擎无法对这些节点进行一个全面的搜索,所以导致网络空间搜索引擎的出现。

网络空间搜索引擎(OSINT)

open source intelligence(开源的网络情报收集)

网络空间搜索引擎使用网络扫描工具进行扫描。

方式:使用IP库或枚举的方式

怎样标识一个设备?

爬虫是用URL的地址去进行标识。

网络空间搜索引擎可以使用IP地址(域名)、开放端口、操作系统、物理地址、MAC地址、设备类型等去进行标识。

实施威胁地图:https://www.fireeye.com/cyber-map/threat-map.html

安全性:有一定安全策略

常见的网络空间搜索引擎

shodan

基本介绍:地图、截图、监控,新手指引,视频教程,开发者工具,filter过滤器(e.g)Explore

CLI:命令行工具

         kali:自带

alert Manage the network alerts for your

account

convert Convert the given input data file

into a... # 转换输入文件

count Returns the number of results for a

search # 返回查询结果数量

download Download search results and

save them in a... # 下载查询结果到文件

honeyscore Check whether the IP is a

honeypot or not. # 检查 IP 是否为蜜罐

host View all available information for an

IP... # 显示一个 IP 所有可用的详细信息

info Shows general information about

your account # 显示账户的一般信息

init Initialize the Shodan command-line #

初始化命令行

myip Print your external IP address # 输出

用户当前公网IP

parse Extract information out of

compressed JSON... # 解析提取压缩的JSON信

息,即使用download下载的数据

scan Scan an IP/ netblock using

Shodan. # 使用 Shodan 扫描一个IP或者网段

search Search the Shodan database # 查询

Shodan 数据库

stats Provide summary information about

a search... # 提供搜索结果的概要信息

stream Stream data in real-time. # 实时显示

流数据

用法示例:

shodan host 172.67.167.88

shodan count apache

shodan count vuln:cve-2019-0708

shodan search --fields ip_str,port,org,

hostnames microsoft iis 6.0

shodan stats port:445 SMB

shodan download --limit -1 test net:172.67.

167.88/24

 cencys

无收费,收录了证书

zoomeye(知道创宇)国产第一个网络空间搜索引擎

fofa

基于网络空间搜索引擎的工具

GitHub - knownsec/Kunyu: Kunyu, more efficient corporate asset collection

https://github.com/coco413/DiscoverTarget

GitHub - saucer-man/saucerframe: python3批量poc检测工具

目录扫描收集信息

什么是目录扫描

在部署的网站上有一些敏感文件,如配置文件(xxx.cfg),数据文件(xxx.sql),特殊的目录(/backup、/conf、/admin)。

由于配置不当导致目录信息外、本地文件包含漏洞也会造成目录扫描。

会泄露数据库用户名和密码,服务器的用户名和密码,数据库的文件。

常见敏感目录和文件

robots.txt文件:对爬虫机器人的规范和限制。会提示攻击者有某些关键文件

sitemap.xml文件:指导搜索引擎去搜索

网站的备份文件/数据:不定时的进行备份,虚拟系统在线压缩在指定的路径和文件名下生成一个压缩包(压缩文件),里面存在着网站全部的备份文件。对数据:帝国备份王

 路径:后台登陆的目录:/admin;

程序的安装包(源码):

文件上传的目录:/upload;/upload.php

MySQL管理页面

程序的安装路径

PHP的探针

网站的文本编辑器

Linux:/etc/passwd;/etc/shadow;/etc/sudoers

macos:.DS_store

编辑器的临时文件.swp

目录穿越:

tomcat

文件扫描思路

做法

在域名后直接加上想要查询的文件名,看返回状态码,如果是200,则存在

方法:

递归:dir xxx

字典:

暴力破解:

爬虫:

fuzz(模糊测试)

文件扫描字典

kali中包含:dirb,dirbuster

GitHub上

御剑

BP

注意事项:

WAF、IDS

挂代理

防御:权限、敏感文件删除、布置WAF,

git信息收集

什么是版本控制系统

代码的恢复需要备份。修改仓库难以管理,对整个工程直接打包,占存过大。

发展:本地VCS,当程序员们进行协同开发时,会产生文件冲突的问题,这时就需要一个可以自动合并且不冲突、标记冲突的内容的集成化的工具。

集成化的VCS:CVCS,SVN,CVS,

GIT工作区域的划分

为什么GIt会导致信息泄露:  将私有仓库/隐私文件提交到了GitHub上

                                               部署项目的时候,不小心把.git文件一起打包放在了web网站目录下

.git下有用的内容

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

git信息泄露利用方式

通过目录扫描、robots.txt、搜索引擎搜索(intitle:"index of/.git")找到.git

把.git下载到本地

用git的命令获取内容:

git log

git reset --hard[log hash]

git diff

工具:GitHub - gakki429/Git_Extract: 提取远程 git 泄露或本地 git 的工具

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

序章ʸ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值