渗透测试之信息收集

文章大纲

    • 信息收集
      • 1.域名信息
          • 1.1域名联系人信息
            • 1.1.1whois查询——可查询到姓名、邮箱、电话、地址......
            • 1.1.2域名反查——根据域名联系人信息查询
            • 1.1.3ICP备案查询——可获取到姓名、备案号、邮箱等信息
          • 1.2邮箱查找
          • 1.3企业信息查询
          • 1.4子域名信息
          • 1.5域名DNS信息
      • 2.IP信息
          • 2.1域名获取IP || 判断是否使用CDN
          • 2.2IP归属
          • 2.3CND
      • 3.端口服务
          • 3.1查看本机端口信息
          • 3.2Nmap扫描
          • 3.3功能:
          • 3.4常用参数:
      • 4.CMS(内容管理系统)
            • 主流开源CMS
          • 4.1CMS指纹
            • 4.1.1CMS指纹识别思路
            • 4.1.2CMS识别工具
          • 4.2CDN指纹
      • 5.WAF指纹
      • 6.搜索引擎收集信息
      • 7.网络空间搜索引擎
          • 7.1Shodan
          • 7.2国内网络空间搜索引擎
      • 8.目录扫描
          • 8.1文件包含
          • 8.2常见的敏感目录和文件
          • 8.3文件扫描思路
          • 8.4文件扫描的字典
            • 遇到WAF、IDS防护
            • 防御
      • 9.Git
          • 9.1Git导致信息泄露的途径
          • 9.2.git有用的内容
          • 9.3Github搜索技巧
          • 9.4Git信息泄露利用方式
          • 9.5.git漏洞案例
      • 10.自动化信息收集

信息收集

信息收集包括:域名信息、IP段、开放的端口、网站架构、文件目录结构、软件版本、WAF、旁站、C段……

分类有下面几种:
1、域名相关信息
2、IP相关信息
3、端口服务相关信息
4、指纹识别
5、Google Hacking
6、目录信息
7、Git Hack

1.域名信息

1.1域名联系人信息
1.1.1whois查询——可查询到姓名、邮箱、电话、地址…
查询工具
https://whois.chinaz.com
http://whoissoft.com
https://whois.cnnic.cn/WelcomeServlet
kali whois命令
1.1.2域名反查——根据域名联系人信息查询
查询工具
http://whois.chinaz.com/reverse
http://mwhois.chinaz.com/
1.1.3ICP备案查询——可获取到姓名、备案号、邮箱等信息

凡注册域名服务器在大陆的,必须通过ICP备案

查询工具
https://beian.miit.gov.cn/
https://icp.chinaz.com/
https://www.beian88.com/
1.2邮箱查找

在线工具:hunter.io/search #企业信息查询,根据域名查找该企业的邮箱账号

1.3企业信息查询
查询工具:
天眼查
企查查
小蓝本:www.xiaolanben.com/pc
国家企业信用信息公示系统——http://www.gsxt.gov.cn/index.html
1.4子域名信息

方法:字典、枚举

工具:
Layer
oneforall.py #可批量扫描多个域。命令:python oneforall.py --target lzcs.edu.cn run
subDomainsBrute	#命令:python subDomainsBrute.py -t 20 lzcs.edu.cn -o 1.txt
在线工具:
https://phpinfo.me/domain/
1.5域名DNS信息
查询工具
http://dbcha.com/
https://sitereport.netcraft.com/
http://www.jsons.cn/nslookup/
kali命令:
host baidu.com
dig baidu.com

渗透测试之信息收集_第1张图片
渗透测试之信息收集_第2张图片
渗透测试之信息收集_第3张图片

2.IP信息


用户访问某一个域名,浏览器先访问本地域名服务器(内有历史域名访问解析),如果有历史记录则解析出其IP地址实现访问,若没有历史解析则访问该域名的授权DNS服务器进行解析,每个域名都会使用一个授权服务器来解析自己的IP。

2.1域名获取IP || 判断是否使用CDN
ping
nslookup
https://ping.chinaz.com/
https://www.itdog.cn/ping/
2.2IP归属
http://ipwhois.cnnic.net.cn/
2.3CND

通过将内容缓存到位于全球各地的服务器来提高网站性能和可用性的技术。当使用CDN之后,访问者的请求将被重定向到最近的CDN节点,从而减少了请求传输的距离和时间,提高了页面加载速度和用户体验

获取CDN背后的真实IP
1、超级ping
2、历史DNS
	https://viewdns.info/iphistory/
	http://x.threatbook.cn/
	http://site.ip138.com/
3、通过子域名查询IP
4、证书查询	#fofa => cert="lzcu.edu.cn"
5、接收邮件,利用foxmail给被测试公司邮件系统不存在的公司发送邮件,在返回邮件中可以看到IP
6、国外主机解析——超级ping只勾选其他选项进行ping,国外主机解析国内网站,CDN基本使用不到
或者https://dnschecker.org/
7、APP,进行app数据抓包,在包中有可能有host的地址
8、利用网站漏洞执行ping命令,在dnslog.cn申请暂时的域名,对方ping这个域名也可以得到对方IP
9、PHPinfo探针信息中包含IP
其他

国外访问:
https://asm.ca.com/zh_cn/ping.php
http://host-tracker.com/
http://www.webpagetest.org/
https://dnscheck.pingdom.com/

3.端口服务

3.1查看本机端口信息
Windows
netstat -aon|findstr 3306
Linux
netstat -an|grep 3306
3.2Nmap扫描

有的服务器不允许访问也扫描不到结果可以使用fofa => ip="219.246.21.192"来查看端口开放情况

3.3功能:
1)扫描存活主机
2)扫描端口
3)探测操作系统、软件版本
nmap --help
TARGET SPECIFICATION:目标,对什么进行扫描,比如是域名、IP或者网络
HOST DISCOVERY:主机发现,主机扫描方式,比如简单扫描,还是全部扫一遍,或者用相应的协议
SCAN TECHNIQUES:扫描技术,协议的设置
PORT SPECIFICATION AND SCAN ORDER:端口和扫描顺序设置
SERVICE/VERSION DETECTION:服务和版本识别
SCRIPT SCAN:使用脚本,nmap本身内置了大量的lua脚本,而且还可以自己编写脚本
OS DETECTION:操作系统识别
TIMING AND PERFORMANCE:时间和性能设置,比如扫描频率、重试次数等等
FIREWALL/IDS EVASION AND SPOOFING:防火墙绕过和欺骗,比如使用代理,假IP等
OUTPUT:把扫描接出输出到文件
MISC: 启用IPv6等等配置
3.4常用参数:
简单扫描
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
nmap -sF #有防火墙时,可进行sF的方式扫描
nmap -Pn #禁ping扫描

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

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

在线靶场:www.testfire.net

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

4.CMS(内容管理系统)

博客(比如CSDN、博客园)、微博、团购网站、导航网站(hao123)、信息分类(58)、问答网站(知乎)、商城、百科…… 企业官网、学校官网、医院官网……

主流开源CMS

在这里插入图片描述

各类网站开源CMS
企业建站系统:MetInfo(米拓)、蝉知、SiteServer CMS等;
B2C商城系统:商派Shopex、ECshop、HiShop、XpShop等;
门户建站系统:DedeCMS(织梦)、帝国CMS、PHPCMS、动易、CmsTop等;
博客系统:WordPress、Z-Blog等;
论坛社区:Discuz、PHPwind、WeCenter等;
问答系统:Tipask、whatsns等;
知识百科系统:HDwiki;
B2B门户系统:Destoon、B2Bbuilder、友邻B2B等;
人才招聘网站系统:骑士CMS、PHP云人才管理系统;
房产网站系统:FangCms等;
在线教育建站系统:Kesion、EduSoho;
电影网站系统:苹果CMS、ctcms、movcms等;
小说文学建站系统:杰奇CMS;
4.1CMS指纹

通过关键特征,识别出目标的CMS系统、服务器、开发语言、操作系统、CDN、WAF的类别版本等等

4.1.1CMS指纹识别思路
版权信息
特定文件MD5值
查看网页源代码
通过特定文件分析(某网站的robots.txt收录禁止搜索引擎爬虫的网址)
4.1.2CMS识别工具
kail自带工具:
whatweb -v URL
安装工具:
kali/CMSeeK/ python3 cmseek.py -u URL

浏览器插件
Wappalyzer:https://www.wappalyzer.com
whatruns :https://www.whatruns.com/

在线网站
http://whatweb.bugscaner.com
http://finger.tidesec.com/

离线工具
御剑指纹扫描器(需要.NET Framework)
Test404轻量CMS指纹识别 v2.1
4.2CDN指纹

CDN配置:通过配置CNAME(别名记录)

https://help.aliyun.com/document_detail/27144.htm

CND指纹识别

工具:
ping
nslookup
超级ping ——http://ping.chinaz.com
kali自带lbd ——ldb www.12306.cn
专用在线识别工具:
http://cdn.chinaz.com/
https://www.cdnplanet.com/tools/
cdnfinder/
GitHub:
https://github.com/boy-hack/w8fuckcdn/
https://github.com/3xp10it/xcdn

5.WAF指纹

web应用防火墙,用于过滤HTTP/HTTPS的请求

识别到waf后针对waf漏洞进行绕过

硬件型 WAF(厂商安装)l

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

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

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

常见WAF厂商

各种云:阿里云、腾讯云、华为云、百度云…… 安全狗、宝塔、360、知道创宇、长亭、安恒……

触发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 = ']>&hack;'

指纹识别

工具
Kali自带:
https://github.com/EnableSecurity/wafw00f
用法:wafw00f https://www.12306.cn
nmapwww.12306.cn--script=http-waf-detect.nse sqlmap-u"xxx.com?id=1"--identify-waf
其他:
https://github.com/0xInfection/Awesome-WAF

渗透测试之信息收集_第4张图片

6.搜索引擎收集信息

通过爬虫将所有网页收集起来存储到自己的数据库中,设置算法将数据排序

Google运算符

完全匹配 	"网络安全工程师"
任意字词 	批发 OR 特价
不包含		 burp suite -xxx
数字范围    number..number

Google高级语法

可针对特定的网站进行漏洞搜集

渗透测试之信息收集_第5张图片

语法数据库

已被收集到的漏洞数据库
https://www.exploit-db.com/google-hacking-database

https://github.com/BullsEye0/google_dork_list

需要收集大量信息可使用工具

github搜索——google hacking或者google dorks

7.网络空间搜索引擎

网络空间

网络系统:比如CDN、CMS、IDS、办公软件、数据库服务、杀毒软件、文件服务器等等……

硬件设备:比如手机、平板电脑、交换机、路由器、网络摄像头、私人网盘、打印机、机器人、物联网家电等等……

工业系统:交通信号灯、企业大屏幕、公园控制系统、加油站、电网、自来水厂、核电站……

网络空间搜索引擎收集信息的方式

网络扫描工具:nmap、zmap
IP库,枚举

标识一个网络设备:网络设备绑定的IP,端口提供的服务

网络威胁实时地图:地图 | 卡巴斯基网络威胁实时地图 (kaspersky.com)

7.1Shodan

需要付费积分使用,可在taobao购买学术账号

filter过滤器基本使用

tomcat country:"CN"
apache city:"Changsha"
server: gws hostname:"google"
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 asearch # 返回查询结果数量
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 abouta 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
工具
https://github.com/jakejarvis/awesome-shodan-queries (语法)
https://github.com/random-robbie/My-Shodan-Scripts (python脚本)
7.2国内网络空间搜索引擎

开发者工具只支持python使用

ZoomEye(钟馗之眼)  ——https://www.zoomeye.org/
Fofa			   ——https://fofa.info/					
工具
https://github.com/knownsec/Kunyu
https://github.com/coco413/DiscoverTarget
https://github.com/saucer-man/saucerframe

8.目录扫描

部署的网站中可能会有一些敏感的文件,通过目录扫描获取数据库用户名和密码、服务器的用户名和密码、网站源码、数据库的文件等等

配置文件:xxx.cfg
数据文件:xxx.sql打包后的.tar.gz
目录:/backup /confg /admin
8.1文件包含
PHP——header.php、commom.php、footer.php、function.php
require()和include('路径/文件')——include('../../..')
DVWA靶场:http://localhost/dvwa/vulnerabilities/fi/?page=../../phpinfo.php
http://localhost/dvwa/vulnerabilities/fi/?page=../../../../../../../in.txt
8.2常见的敏感目录和文件
robots.txt  #禁止搜索引擎爬虫的目录,可以直接看到网站的一些目录
sitemap.xml #网站地图,指导搜索引擎去搜索网站页面
网站的备份文件/数据 ——网站路径/文件名(wwwroot/1.zip)包含着整个网站的源码和数据,备份软件:帝国备份王
后台登录的目录:/admin、/manage
安装包(源码)
上传的目录:/upload、/upload.php ——文件上传漏洞webshell
网站的mysql管理界面:web页面——phpadmin,采用密码爆破,上传webshell
程序的安装路径:/install
php的探针:phpinfo——可探测网站的指纹信息和使用情况,直观软件,雅黑探针
文本编辑器:Ueditor、kindeditor、CKeditor这类功能漏洞太多,文件上传漏洞,命令注入
Linux——/etc/passwd、/etc/shadow(SHA512)、/etc/sudoers
MacOS——.DS_Store
编辑器的临时文件.swp
目录穿越:windows IIS、Apache
pikachu靶场目录穿越:
http://localhost/pikachu/vul/dir/dir_list.php?title=jarheads.php
http://localhost/pikachu/vul/dir/dir_list.php?title=../../../../Windows/win.ini
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等)
8.3文件扫描思路
递归
字典
暴力破解
爬虫:robots.txt、sitemap.xml、网页中的其他链接
fuzz(模糊测试)字典,无规则测试
8.4文件扫描的字典

kali自带:wordlists、dirb /usr/share/wordlists/dirb/common.txt

工具

dirb
dirbuster
御剑
Burp Suite_Intruder_payload——www.baidu.com/$bbs$
DirBrute #python dirsearch.py -e php -u http://127.0.0.1 --exclude-status 403,401
Dirsearch
Dirmap
wfuzz
遇到WAF、IDS防护

可使用代理、网络空间搜索引擎

防御

权限、删除敏感文件、WAF、IDS

9.Git

版本控制系统(Version Control System),用作代码的回复、备份

去中心化的分布式版本控制系统

9.1Git导致信息泄露的途径
1.程序员把私有仓库/隐私文件提交到了github
2.部署项目的时候,不小心把 .git 文件一起打包进去,放到web网站的目录下
9.2.git有用的内容
.git/logs/HEAD ——存储了git的log信息,可以找到历史的commit项
.git/index ——缓存git add的文件,暂存区
.git/refs/stash git stash ——把代码存入缓存区
.git/refs/heads/master 记录了master的commit的hash
.git/objects/pack/.pack
9.3Github搜索技巧
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:<2023-12-4 -language:java 	搜索在2023年12月4日前push代码且排除java语言
9.4Git信息泄露利用方式
1.找到.git的方法:
进行目录扫描
在网站的robots.txt中查找
搜索引擎搜索 intitle:"Index of /.git"

2.把.git下载到本地,工具如下:
https://github.com/BugScanTeam/GitHack  ——用法:python GitHack.py xxx.com/.git/
https://github.com/lijiejie/GitHack
https://github.com/wangyihang/githacker
https://github.com/WangWen-Albert/JGitHack

3.用git的命令获取内容
git log		——获取提交记录
git reset --hard [log hash]		——恢复到某个版本
git diff	——对比版本差异

4.工具 https://github.com/gakki429/Git_Extract
9.5.git漏洞案例

ctfhub技能书 => Web——信息泄露——Git泄露——Log、Stash、Index

buuctf => 禁止套娃、Mark loves cat

10.自动化信息收集

水泽 (Win/Linux/Mac)

灯塔(docker容器)

goby(Win/Linux/Mac)

你可能感兴趣的:(网络安全学习笔记,web安全,安全,网络)