信息收集-web

一、常用术语

病毒:恶意文件,植入后会破坏操作系统原有功能、自动转播
木马:监听、操作对方机器的
CMS:别人已经开发好的一套站点系统
框架:代码的大体逻辑,登录、注册的、访问
厂商系统:办公系统、VPN、CRM
漏洞:这套系统、这个网站、软件所存在的缺陷。
旁站:同一个服务器的不同网站(IIS,80 8080)
C段:ip地址在同一个网段内 192.168.174.1 192.168.174.55
poc:漏洞验证程序
exp:漏洞利用程序
payload:攻击载荷
0day : 未公开的漏洞
1day : 最近所公开漏洞细节的漏洞
nday : 已经公开好久了,历史漏洞

二、什么是渗透测试

模拟黑客在内外网对特定目标系统进行安全检测,挖掘发现系统存在的漏洞,然后输出渗透测试报告,提交给网络所有者。网络所有者根据报告进行修复漏洞

三、渗透测试类型

黑盒测试:

⼜称为功能测试,渗透者完全处于对系统⼀⽆所知的状态,通常这类型测试,最初的信息获取来 ⾃于DNS、Web、Email及各种公开对外的服务器。

白盒测试:

也称为结构测试,与⿊箱测试恰恰相反,测试者可以通过正常渠道向被测单位取得各种资料,包 括⽹络拓扑、员⼯资料甚⾄⽹站或其它程序的代码⽚段,也能够与单位的其它员⼯进⾏⾯对⾯的沟通。这类 测试的⽬的是模拟企业内部雇员的越权操作。

灰盒测试:

是介于⽩盒测试与⿊盒测试之间的⼀种测试,通常情况下,接受渗透测试的单位⽹络管理部⻔会 收到通知:在某些时段进⾏测试。因此能够监测⽹络中出现的变化。但灰盒测试被测单位也仅有极少数⼈知 晓测试的存在,因此能够有效地检验单位中的信息安全事件监控、响应、恢复做得是否到位。

四、渗透测试流程标准(PTES)

1.确定目标(确认我们要测试⽬标、测试时限制的条件、参与⼈员、授权书)

2.信息收集(去扩⼤我们测试的资产⾯)

3.漏洞探测(我们去挖掘漏洞)

4.漏洞利⽤(利⽤发现的漏洞,实现我们的⽬的)

5.权限提升(将我们获取的低权限⽤⼾提甚⾄⾼权限)

6.内⽹渗透(针对受害者服务器的内部⽹络进⾏攻击)

7.痕迹清理(针对我们⼊侵的过程中所产⽣的⽂件、⽇志等进⾏清楚操作)

8.撰写报告(针对我们⼊侵的过程所产⽣的成果进⾏汇报总结)

五、常见的防护设施

⼊侵检测系统 (Intrusion Detection System, IDS)

⼊侵防御系统(Intrusion Prevent System, IPS)

终端检测系统 (Endpoint Detection and Response, EDR)

WAF(web应⽤防⽕墙)

六、资产信息收集

是什么、为什么、怎么做?

1.信息收集是通过各种方式获取所需要的信息,方便后续渗透进行

2.因为只有通过掌握了足够多的目标信息,才能更好的进行渗透测试

3.主动信息收集、被动信息收集

主动:通过直接访问网站进行操作、扫描,缺点是有网络流量经过目标,容易被目标机器记录操作信息或屏蔽

被动:通过第三方服务来获取目标网络的相关信息,如通过搜索引擎来搜集信息

信息收集分类

资产收集:指企业的一些备案域名、APP、小程序、公众号、企业资料、手机号、邮箱、IP地址等。

站点收集:收集单个站点信息,例:bilibili的网站架构、B站网站服务器IP开放的端口、网站的功能等。

七、资产层面-资产相关

资产收集的意义:在实际渗透测试的过程中,我们需要对企业的资产进行梳理,但是往往在渗透测试过程中,客 户通常会给我们一个主域名,此时资产收集就显得尤为重要了。随着企业内部业务的不断壮大,各种业务平台和 管理系统越来越多,很多单位往往存在着 “隐形资产” ,这些“隐形资产”通常被管理员所遗忘,长时间无人维 护,导致存在较多的已知漏洞。

1.备案查询

工信部规定,所有在国内存放的网站必须进行ICP备案和公安备案

备案收集:APP、小程序、公众号、网站域名

通过页面最底部可直接查询

通过公司名称在各个网站查询

网站:
    ICP备案号查询网:https://www.beianx.cn/
    工信部网站备案查询:https://beian.miit.gov.cn/#/Integrated/index
    天眼查网站备案查询:https://www.tianyancha.com/
    国家企业信用信息公示系统:http://www.gsxt.gov.cn/index.html
    爱企查:https://aiqicha.baidu.com/

2.域名whois查询

查询域名信息,我们可以得知目标域名是否被注册,域名所有者是谁,域名注册商在哪
# Whois作用
渗透测试中通过whois可以查询到注册商、注册人、邮件、DNS解析服务器、注册人联系电话等信息
# Whois查询工具
站长之家:http://whois.chinaz.com/
爱站网:https://whois.aizhan.com/
微步:https://x.threatbook.cn/
腾讯云:https://whois.cloud.tencent.com/
中国万网:https://whois.aliyun.com/
西部数码:https://whois.west.cn/

3.子域名查询

目标资产数量庞大,一般主域都是防护重点,子域可能管理更加松懈,可以通过子域向主域渗透

3.1工具枚举爆破

①Layer子域名挖掘机

项目地址:https://github.com/euphrat1ca/LayerDomainFinder

②Oneforall综合工具
项目地址: https://github.com/shmilylty/OneForAll

收集子域信息很全,包括子域、子域IP、 子域常用端口、子域Title、子域Banner、子域状态等

使用方法:
    单域名:
    python oneforall.py --target 域名 run
    多个域名:
    python oneforall.py --targets 域名.txt run
结果会输出在同级的results目录下的csv文件中

选项
    --alive=True
    //选值True,False分别表示导出存活,全部子域结果
    --dns=DNS
    //DNS解析子域(默认True)
    --req=REQ
    //HTTP请求子域(默认True)
    --port=PORT
    //请求验证子域的端口范围(默认只探测80端口)
    --fmt=FMT
    //结果保存格式(默认csv)
    --path=PATH
    //结果保存路径(默认None)
    --takeover=TAKEOVER
    //检查子域接管(默认False)
③subDomainBrute
项目地址:https://github.com/lijiejie/subDomainsBrute
④项目的依赖库安装方法
python -m pip install -r requirements.txt

3.2空间搜索引擎

搜索引擎:
    鹰图:https://hunter.qianxin.com/
    fofa:https://fofa.info/
    钟馗之眼:https://www.zoomeye.org/
    撒旦:https://www.shodan.io/

搜索域名语法:
    鹰图:domain="baidu.com"
    Fofa:domain="baidu.com"
    Zoomeye:site:baidu.com
    Shodan:hostname:"baidu.com"

3.3在线网站查询子域

# 网站查询
    DNSDB:https://dnsdb.io/zh-cn/
    在线子域名查询:https://phpinfo.me/domain/
    ip或域名查询:https://site.ip138.com/
#威胁情报平台
    微步在线:https://x.threatbook.cn/
    VT:https://www.virustotal.com/gui/domain/{domain}/relations
# 搜索引擎查询
    原理:通过搜索引擎获取已经爬取的子域名;
    语法:site:360.cn
    使用"-"减号来去除已知子域名:site:target.com-www-blog

3.4 DNS数据集收集子域

原理:利用dns记录公开数据收集

○ ip138:https://site.ip138.com/xiaomi.com/domain.htm //好使
○ 百度云观测:http://ce.baidu.com/index/getRelatedSites?site_address={domain} //好使
○ hackertarget:https://hackertarget.com/find-dns-host-records/ //好使
○ riddler:https://riddler.io/search?q=pld:{domain}
○ dnsdb:https://dnsdb.io/zh-cn/search?q=xiaomi.com //好使
○ netcraft:https://searchdns.netcraft.com/ //好使
○ dnsdumpster:https://dnsdumpster.com/
○ sitedossier:http://www.sitedossier.com/
○ findsubdomains:https://findsubdomains.com/ //好使

3.5 通过https证书透明度查询子域

# 查询网站
    ● crtsh:https://crt.sh/
    ● facebook:https://developers.facebook.com/tools/ct
    ● entrust:https://www.entrust.com/ct-search/
    ● certspotter:https://sslmate.com/certspotter/api/
    ● spyse:https://spyse.com/search/certificate
    ● censys:https://censys.io/certificates
    ● google: https://google.com/transparencyreport/https/ct/

4. IP反查域名

ip-adress:https://www.ip-adress.com/reverse-ip-lookup
IPIP:https://tools.ipip.net/ipdomain.php
爱站:https://dns.aizhan.com

5.旁站、C段

旁站

同一ip下不同端口的站点进行渗透,从而获取目标站点的权限
潮汐指纹:http://finger.tidesec.net/
yougetsignal:https://www.yougetsignal.com/tools/web-sites-on-web-server/
站长工具:http://s.tool.chinaz.com/same/
爱站:https://dns.aizhan.com/
同 ip 网站查询:http://dns.bugscaner.com/
webscan:https://www.webscan.cc/

C段

同一内网段,不同服务器;

举例:192.168.0.1,A段就是192,B段就是168,C段就是0,D段就是1。而C段攻击嗅探的意思就是拿下它同一 C段中的其中一台机器,也就是说是D段1-255中的一台服务器,然后利用拿下该台服务器。

在线 webscan:https://webscan.cc/
fofa、shodan 在线工具:ip="106.15.141.18/24"
nmap:nmap 192.168.1.0/24 -p 443,80
masscan:masscan 10.11.0.0/16 -p 443,80
潮汐指纹:http://finger.tidesec.net/

八、站点相关

1.指纹识别

当我们需要在大量资产中获取易受攻击的系统,就需要对资产进行指纹识别( CMS、OA 系统、框架、中间件、厂商系统、VPN等系统 )

1.1 CMS、框架识别

CMS(内容管理系统),可用来快速搭建网站、管理和发布内容

框架:如shiro、thinkphp已编写完后端逻辑,等待用户编写对应的页面即可

常见CMS:
    - B2C 商城系统:商派 shopex、ecshop、hishop、xpshop、niushop
    - 门户建站系统:DedeCMS(织梦)、帝国 CMS、PHPCMS、动易、cmstop
    - 博客系统:wordpress、Z-Blog
    - 论坛社区:discuz、phpwind、wecenter
    - 问题系统:Tipask、whatsns
    - 人才招聘网站系统:骑士CMS、PHP 云人才管理系统
    - 电影网站系统:苹果cms、ctcms、movcms
    - 小说文学建站系统:JIEQI CMS
常用的:z-blog shopxo wordpress discuz dedecms

1.2 在线识别

国外识别平台:
    https://whatcms.org/
国内识别平台:
    bugscaner:http://whatweb.bugscaner.com/
    whatweb:https://www.whatweb.net/
    云悉:https://www.yunsee.cn/
    潮汐:http://finger.tidesec.net/
    TSscan:https://scan.dyboy.cn/web/

1.3 工具识别

更多工具github搜索 :https://github.com/search?q=cms 识别
①EHole
项目地址:https://github.com/EdgeSecurityTeam/EHole
使用方法:
Ehole.exe -u url #单个识别
Ehole.exe -l urls.txt -json result.json # 批量识别,结果输出至Result.json中
②TideFinger
下载地址: TideFinger: https://mp.weixin.qq.com/s/Qxfj_Z0PYPPVZXgaVqXjpg
③网页插件自动识别
项目地址:Wappalyzer:https://chrome.zzzmh.cn/info?token=gppongmhjkpfnbhagpmjfkannfbllamg

Wappalyzer是一款功能强大的、且非常实用的网站技术分析插件,通过该插件能够分析目标网站所采用的平台 构架。

1.4手工识别

识别目标主要有: 开发语言/开发框架/第三方组件/CMS 程序/数据库
①开发语言识别

方法一:看网站文件后缀;.asp、.php、.jsp、.aspx、.jspx

方法二:通过抓功能点数据包查看与后台的交互信息

方法三:查看http请求头以及响应头

(Cookie: PHPSESSID--> php , JSPSESSID-->jsp , ASPSESSID-- >asp)  

方法四:想办法让网站程序报错(访问不存在的路径或提交非法字符)

②开发框架识别(CMS、框架)

方法一:根据icon图标识别

方法二:根据Robots.txt文件及站点路由判断

③中间件识别

方法一:wappalyzer插件识别

方法二:网站默认页面

1.HTTP相应数据包中查看Server字段*BP抓包*F12*curl http://www.baidu.com -i > ip.txt 
2.根据报错信息判断,访问为存在⻚⾯ 
3.根据默认⻚⾯判断,“Welcome to nginx” 
4.通过端⼝服务探测,Tomcat/Jboss-->8080端⼝ Weblogic-->7001端⼝  
④数据库识别

方式一:常规判断:asp–>sql server , php–>mysql , jsp–>oracle

方式二:端⼝服务:1433–>sql server , 3306–>mysql , 1521–>oracle ,PostgreSQL–>-5432

方式三:⽹站错误信息

⑤操作系统:

url路径大小写判断

⑥总结
指纹识别
1. 框架、cms、三方系统 : ehole、在线网站、kali上工具、wappalyzer、手工识别、报错
2. 语言:查看网站文件的后缀名、抓取交互功能点数据包去看后缀名、查看cookie的session名称、报错
3. 数据库:端口扫描、报错
4. 中间件:wappalyzer、默认页面
5. 操作系统:观察大小写

2.站点目录

扫描目录主要为了发现网站新的功能点进行测试
----目的:
1.寻找网站后台登录地址
2.寻找未授权访问(本身需要权限认证界面目录,因为配置错误,可以直接访问到)的页面、以及网站的不同的功能点。 
3.寻找⽹站更多隐藏的信息、敏感信息  
----常见后台路径
admin/ 、admin.后缀、admin/login.后缀 、manage 、webmanager、webadmin等等
----robots.txt
Robots协议 "网络爬虫排除标准",网站通过Robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不能抓取;同时
也记录网站所具有的基本的目录;--》 查看robots.txt能够获取到网站的部分目录文件信息。

2.1爆破枚举

# 爆破枚举
原理:通过字典匹配网站是否返回响应正确状态码,然后列出存在的目录;
爆破可能会触发网站防火墙规则拦截,造成封禁IP现象;
# 相关字典
kali默认字典存放位置:
cd /usr/share/wordlists/
在kali中推荐安装secwordlists
sudo apt install seclists
/usr/share/wordlists/seclists
# 网上项目:
https://github.com/SexyBeast233/SecDictionary *
https://gitee.com/molok/Blasting_dictionary
https://github.com/TheKingOfDuck/fuzzDicts
https://github.com/fuzz-security/SuperWordlist
①dirsearch
项目地址: https://github.com/maurosoria/dirsearch
# kali
apt-get update
apt-get install dirsearch
# 安装依赖
pip3 install -r requirements.txt
# 常用参数
dirsearch -u https://target
-u 指定url
-l 指定url文件
-e 指定语言 -e php,jsp,asp,tar,zip,rar,js.html 默认 php, aspx, jsp, html, js
-x 排除status_code Example: 301,500-599
-i 只要包含status_code : Example: 200,300-399
-w 字典路径
-r 递归的对目录扫描
-o 输出到指定文件
-t 线程数 默认30

②dirbuster(windos可用)
项目地址: https://sourceforge.net/projects/dirbuster/
③7KBScan/layer(早期工具,windows可用)
项目地址: https://github.com/7kbstorm/7kbscan-WebPathBrute

2.2物理路径

获取服务器的物理绝对路径
①通过报错信息
报错方法:
  1. 有动态URL的地方可以替换参数 替换参数值为不存在的,很多时候都能爆物理路径;

  2. 访问不存在的文件名 文件 或者改正常后缀为不支持的后缀;

  3. IIS7.0以上,如果没有修改404页面,只要浏览web任意不存在的文件,都会直接暴出绝对路径;

  4. 同理,thinkphp也有这个性质。 在id=1的注入点,使用各种不支持的字符,比如id=1’ id=? id=-1 id=\ id=/ 都有可能暴出绝对路径;

  5. 数据库语句报错时也会带出

②后台地址探针文件信息
可以登录后台的话,后台首页一般都有服务器信息的,大部分情况下物理路径都在里面;
# 探针文件
site.php
info.php
phpinfo.php
1.php
a.php
test.php
ceshi.php
③常见集成环境默认目录

○ C:\Inetpub\wwwroot

○ C:\xampp\htdocs

○ D:\phpStudy\WWW

○ /home/wwwroot/

○ /www/users/

④默认路径(linux瞎蒙大法)

○ /var/www/html/网站名

○ /etc/php.ini php配置文件

○ /etc/httpd/conf.d/php.conf

○ /etc/httpd/conf/httpd.conf Apache配置文件

○ /usr/local/apache/conf/httpd.conf

○ /usr/local/apache2/conf/httpd.conf

○ /usr/local/apache/conf/extra/httpd-vhosts.conf 虚拟目录配置文件

3敏感信息文件

3.1网站敏感文件

配置文件:x.config 、.conf 、.ini、.log等
备份文件:.bak、.zip、.rar、.7z、.sql等
数据库文件:.sql
数据库日志文件(.log)
数据库备份文件(.sql)
网站源码备份文件(web.zip\www.zip\website.zip\www-data.zip)

3.2 JS敏感信息

JS文件中可能存放各种接口提供调用,可能有敏感信息返回未授权访问漏洞等
①findsomething
浏览器的熊猫头插件,访问网站时自动统计出html / JS中存放的接口与url信息
②JSlinks插件
burpsuite插件,当流量经过bp时,该插件会对响应中的文件内容进行读取,提取接口url信息
③jsfinder工具
④手工查找-f12

3.3github搜索

现在很多公司都会面临,内部敏感信息,比如代码,内部系统服务器地址,账号,密码等等泄露到 GitHub 上的风
险,有恶意的也有非恶意的。这个问题有时很难完全规避掉,为了降低可能的恶劣影响,一般都是会内部搭建一
个GitHub敏感信息泄露的监控系统。
# 搜索语法
in:name test #仓库标题搜索含有关键字test
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme文件搜素含有关键字
path:*.env ( NOT homestead NOT root NOT example NOT gmail NOT sample NOT localhost NOT
marutise) password outlook.com

# Github关键词监控
https://www.codercto.com/a/46640.html

4.源码泄露

git源码泄露 svn源码泄露 hg源码泄漏 ⽹站备份压缩⽂件 WEB-INF/web.xml 泄露 DS_Store ⽂件泄露 SWP ⽂件泄露 CVS泄露 GitHub源码泄漏

参考文章: https://www.cnblogs.com/Yz71ng/p/16028772.html

4.1git源代码泄露

Git是开源的分布式版本控制系统,在执行 git init 初始化目录时,会在当前目录下自动创建一个.git 目录,用来记录代码变更的记录。发布代码时,如果没有把 .git 目录删除,攻击者就可以通过它查询源代码。
利用工具:GitHack
项目地址:https://github.com/BugScanTeam/GitHack
案例:https://statics.aizhan.com/.git/config
使用方法:python GitHack.py https://statics.aizhan.com/.git
使用方法2:python git_extract.py https://statics.aizhan.com/.git/ (python2)

4.2svn源代码泄露

SVN是一个开放源代码的版本控制系统。在使用 SVN 管理本地代码过程中,会自动生成一个名为 .svn 的 隐藏文件夹,其中包含重要地方源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复 制代码文件夹到WEB服务器上,这就使 .svn隐藏文件夹 被暴露在外网环境,可以使用 .svn/entries 文 件,获取到服务器源码。
利用工具:svnExploit
项目地址:https://github.com/admintony/svnExploit 推荐:svnExploit-master
使用方法:python SvnExploit.py -u http://223.247.153.184:3000/.svn/entries

4.3 DS_store文件泄露

.DS_store 是Mac下Finder用来保存如何展示 文件/文件夹 的数据文件,每个文件夹下对应一个。如果 将 .DS_store上传部署到服务器 ,能造成文件目录结构泄露,特别是备份文件、源代码文件。
利用工具:ds_store_exp
项目地址:https://github.com/lijiejie/ds_store_exp
使用方法:python3 ds_store_exp.py http://xxxxxxxxx/.DS_Store

4.4 CVS源代码泄露

CSV是一个C/S系统,多个开发人员通过中心版本控制系统来记录文件版本,从而达到保证文件同步的目 的。主要是针对 CVS/Root 以及 CVS/Entries 目录,直接就可以看到泄露的信息。
利用工具:dics-ripper
项目地址:https://github.com/kost/dvcs-ripper.git
使用方法:rip-cvs.pl -v -u http://www.baidu.com/CVS

4.5 WEB-INF/web.xml泄露

WEB-INF是Java的WEB应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问 的文件进行相应映射才能访问;
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.xml 文件,推断 class 文件的路径,最后直接 class 文件,再通过反编译 class 文件,得到网站源码;

5.CDN的介绍、验证与绕过

5.1CDN介绍

CDN:内容分发网络,作用是通过在网络各处放置节点服务器所构成基于互联网之上的智能虚拟网络,CDN的核心是使用户可就近访问网络或获取内容,解决网络拥挤的状况。

一般来说如果网站开启了CDN服务,会根据用户所在地不同访问不同的CDN的节点服务器,并不直接访问源服务器。这样可以有效防止渗透测试以及DDOS、CC攻击也是一种防护方式。但是对我们测试人员来说就很不友好。

常见有:Cloudflare、yunjiasu;优点: 增快用户访问主站点的速度、能够防护主站点避免遭到攻击。

5.2CDN验证

①多地ping
使⽤全球各个国家位置计算机对其进⾏ping操作,如果结果出现多个IP地址则存在CDN,如果为单个则不存
在。
# 国内在线:
超级ping:http://ping.chinaz.com/
爱站:https://ping.aizhan.com/
站长工具:http://tool.chinaz.com/speedworld/
ping:http://www.ping.pe/
ipip:https://tools.ipip.net/httphead.php
wepcc:https://www.wepcc.com/
②nslookup命令
返回域名解析对应多个IP地址多半用了CDN
windows-cmd:
    nslookup www.baidu.com

5.3 CDN绕过

①DNS历史记录
查看IP与域名绑定的历史记录,可能会存在使用CDN前的记录
# 查询网站
https://ipchaxun.com/ ##综合
https://dnsdb.io/zh-cn/ ###DNS查询
https://x.threatbook.cn/ ###微步在线
http://toolbar.netcraft.com/site_report?url= ###在线域名信息查询
http://viewdns.info/ ###DNS、IP等查询
https://tools.ipip.net/cdn.php ###CDN查询IP
②网络空间搜索引擎
利⽤返回的内容寻找真实原IP,如果原服务器IP也返回了⽹站的内容,那么可以在⽹上搜索⼤量的相关数据;
--根据网站特征搜索相关站点:
FOFA:https://fofa.info/
title="网站的title关键字"
body="网站的body特征"
domain="t00ls.net"
钟馗之眼:https://www.zoomeye.org/
Shodan:https://www.shodan.io/
hunter:https://hunter.qianxin.com/
③icon图标搜索真实IP
1.https://域名/favicon.ico 下载图标 或  F12 查看网络,找到图标.icon下载
2.将图标放在fofa或其他搜索引擎查找
④利用SSL证书寻找真实原始IP
证书颁发机构(CA)必须将他们发布的每个SSL/TLS证书发布到公共⽇志中,SSL/TLS证书通常包含域名、
⼦域名和电⼦邮件地址。因此SSL/TLS证书成为了攻击者的切⼊点。
1.使用搜索引擎语法搜索证书:cert:"www.xx.xx"
⑤使用国外主机解析域名
国内厂商可能只做了国内线路,所以国外访问可能直接获取真实ip
#国内在线
超级ping:http://ping.chinaz.com/
爱站:https://ping.aizhan.com/
站长工具:http://tool.chinaz.com/speedworld/
# 国外在线
cdnplanet:https://www.cdnplanet.com/tools/cdnfinder/
ping:http://www.ping.pe/
# 全球
ipip:https://tools.ipip.net/httphead.php
wepcc:https://www.wepcc.com/
17ce :https://www.17ce.com/
⑥网站漏洞查找
⽬标敏感⽂件泄露,例如:phpinfo之类的探针、GitHub信息泄露等;
XSS盲打,命令执⾏反弹shell,SSRF等;
⽆论是⽤社⼯还是其他⼿段,拿到⽬标⽹站管理员账号,从⽽在从CDN的配置中找到⽹站的真实IP

⑦查询子域名
很多站长可能在主站或流量大的站点做了CDN,其他小站点有可能跟主站在同一服务器或C段内
这时就可以通过查询子域名查询对应IP来辅助查找真实IP
https://x.threatbook.cn/
https://dnsdb.io/zh-cn/
https://securitytrails.com/list/keyword
https://tool.chinaz.com/subdomain/
Google 搜索;例如:用语法"site:baidu.com -www"就能查看除www外的子域名。
找到子域名继续确认子域名没有cdn的情况下批量进行域名解析查询,有cdn的情况继续查询历史;
域名批量解析:
http://tools.bugscaner.com/domain2ip.html
⑧CDN高频面试题
绕过CND发现其真实IP方式有哪些?
答:
1.查询DNS历史解析记录
2.查询⽹站的(SSL证书)证书应⽤服务器
3.查询⼦域名的IP地址
4.通过空间搜索引擎搜索相关资产
5.通过空间搜索引擎⽹站的logo的hash
6.通过⽹站敏感信息泄露获取其IP

6.开放端口判断

6.1默认端口

# Web应用服务端口
80/443/8080---> 常见web端口
7001/7002--> Weblogic控制台
8080--> Jboss/Resin/Jetty/Jenkins
9090--> WebSphere控制台
4848--> GlassFish控制台
1352--> Lotus domino控制台
10000--> Webmin-Web控制面板
# 文件共享服务端口
21--> Ftp文件传输协议
69--> tftp文件传输协议
389--> Ldap目录访问协议
2049--> Nfs服务
389--> Ldap目录访问协议
# 远程连接服务端口
22--> SSH远程连接
3389--> rdp远程连接
5900--> VNC
5632--> Pyanywhere服务
# 邮件服务端口
25--> SMTP服务
110--> POP3协议
143--> IMAP协议
# 网络常见协议端口
53--> DNS域名系统
161--> SNMP协议
# 特殊服务端口
2181--> Zookeeper服务--分布式应用程序协同服务
8069--> Zabbix服务--基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案
9200/9300--> Elasticsearch服务--分布式多用户能力的全文搜索引擎
11211--> Memcache服务--分布式的高速缓存系统
873--> Rsync服务--linux系统下的数据镜像备份工具
3690--> Svn服务--开放源代码的版本控制系统
# 特殊服务端口(未授权/命令执行)
443 SSL心脏滴血
873 Rsync未授权
5984 CouchDB http://xxx:5984/_utils/
6379 redis未授权
7001,7002 WebLogic默认弱口令,反序列
9200,9300 elasticsearch 参考WooYun: 多玩某服务器ElasticSearch命令执行漏洞
11211 memcache未授权访问
27017,27018 Mongodb未授权访问
50000 SAP命令执行
50070,50030 hadoop默认端口未授权访问

6.2端口扫描

确定IP后即可对端口进行探测,不同端口运行不同服务,端口扫描也是利于快速收集目标资产,找到目标网站更多功能点
①masscan端口扫描
项目地址: https://github.com/robertdavidgraham/masscan
②御剑端口扫描工具

6.3Nmap扫描

网络安全领域最常用的开源网络探测和端口扫描工具,支持主机发现、端口扫描、服务识别、操作系统探测、脚本扫描、漏洞检测等功能。
主机发现:去发现网段内存活得主机(在线主机)
端口扫描:端口1-65535
操作系统识别:识别对方的操作系统
服务识别:识别端口上得服务版本
脚本扫描:调用nmap自带的脚本 去检测漏洞
①主机发现技术原理

主机发现参数:
nmap 地址 -sP或-sn  参数意思:都是仅扫描主机是否在线,不扫描端口
②端口扫描技术
端口扫描分为tcp和udp扫描,其中tcp能提供更多协议字段,因此tcp扫描更精准

在 TCP端口扫描技术中,探测报文组合不同flags位,不同的flags在端口开放、端口关闭、防火墙过滤时的响应是不 一样的,通过区分不同的响应来探测端口的状态,具体如下所示 (tcp flags有syn、ack、rst、fin、psh、urg共6种位置)

端口扫描参数:
    -p 80 扫描单个端口
    -p 1-1024 扫描1-1024端口
    -p- 扫描全端口
扫描模式
    tcp扫描(扫描TCP端口 速度慢但精准) -sT
    udp扫描(扫描UDP端口 速度块) -sU
    半开扫描(三次握手,只做第一步) -sS
    全面扫描(扫描端口、存活主机) -A
③更多nmap命令
--扫描目标参数
    nmap 192.168.1.1 扫描此ip主机是否在线和端口 *
    nmap 192.168.1.1/24 扫描IP段 *
    nmap 192.168.1.1-254 扫描一个范围
    nmap nmap.org 扫描一个域名
    nmap 192.168.1.1 -v 增加详细程度,-vv效果更好
    nmap --exclude 192.168.1.1 排除列出的主机
    
    nmap -iL target.txt 扫描txt文件中的ip
    nmap 192.168.1.1 -oN test.txt 标准输出写入到指定文件中
--扫描方式(-s)
    nmap 192.168.1.1 -sS 半开SYN端口扫描 *
    nmap 192.168.1.1 -sT TCP连接端口扫描 *
    nmap 192.168.1.1 -sU UDP端口扫描 *
    nmap 192.168.1.1 -sA 用于探测防火墙规则(是否过滤ACK包)。
    nmap 192.168.1.1/24 -sn 只进行主机发现不扫端口
    nmap 192.168.1.1-5 -Pn 跳过主机发现,直接扫描端口 *
    nmap 192.168.1.1 -n 不做DNS解析
--端口扫描范围
    nmap 192.168.1.1 -p 21 扫描特定端口 *
    nmap 192.168.1.1 -p 21-100 扫描端口范围 *
    nmap 192.168.1.1 -p U:53,T:21-25,80 扫描多个TCP和UDP端口
    nmap 192.168.1.1 -p- 扫描所有端口 *
    nmap 192.168.1.1 -p http,https 基于服务名称的端口扫描
--扫描线程(默认T3)
    nmap 192.168.1.1 -T0 妄想症,非常非常慢,用于IDS逃逸
    nmap 192.168.1.1 -T1 猥琐的,相当慢,用于IDS逃逸
    nmap 192.168.1.1 -T2 礼貌的,降低速度以消耗更小的带宽,比默认慢十倍
    nmap 192.168.1.1 -T3 正常的,默认,根据目标的反应自动调整时间模式
    nmap 192.168.1.1 -T4 野蛮的,在一个很好的网络环境,请求可能会淹没目标
    nmap 192.168.1.1 -T5 疯狂的,很可能会淹没目标端口或是漏掉一些开放端口
--漏洞脚本扫描
    nmap 192.168.1.1 --script=banner 使用单个脚本扫描,banner示例
    nmap 192.168.1.1 --script=http* 使用通配符扫描,http示例
    nmap 192.168.1.1 --script=vuln 扫描常见漏洞
--服务和版本探测
    nmap 192.168.1.1 -sV 尝试确定端口上运行的服务的版本
    nmap 192.168.1.1 -A 启用操作系统检测,版本检测,脚本扫描和跟踪路由
    nmap 192.168.1.1 -O 使用TCP/IP进行远程OS指纹识别
    nmap 192.168.1.1 -O --osscan-guess 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配
--其他
    # 防火墙/IDS规避欺骗
    报文分段,请求的扫描(包括ping扫描)使用微小的碎片IP数据包, 包过滤器检测更难
    nmap 192.168.1.1 -f *
    利用数据包分片技术,某些防火墙为了加快处理速度而不会进行重组处理,这样从而逃脱防火墙或闯入检测系统的检
    测,注意:mtu的值必须是8的倍数(8,16,24,32)
    nmap 192.168.1.1 --mtu 32
    添加垃圾数据,通过在发送的数据包末尾添加随机的垃圾数据,以达到混淆视听的作效果,200是垃圾数据长度
    nmap --data-length 200 192.168.1.1 *
    伪装MAC地址,可以手动指定MAC地址的值。或者为了简单起见,可以填写数字0,这将生成一个随机的MAC地址
    nmap --spoof-mac 0 192.168.1.1
④常用参数
-sV 探测端口服务版本
-O 探测主机操作系统
-p 扫描端口
-sP -sn 主机发现
-sT 进行TCP扫描
-sU 进行UDP扫描
-sS tcp半开扫描
-A 启用操作系统检测,版本检测,脚本扫描和跟踪路由
--script= 指定扫描脚本文件
--proxies=xx 挂代理
-iL 扫描文件中的目标
-T0-5 扫描速率
-O 识别操作系统得原理
通过 TCP/IP 数据包发到目标主机,由于每个操作系统类型对于处理 TCP/IP 数据包都不相同,所以可以
通过之间的差别判定操作系统类型;
nmap主要功能:主机发现、端口扫描、服务版本识别、操作系统识别、脚本扫描
nmap扫描模式:-sT -sS -sU

九、其他搜索引擎语法

1.搜索引擎

百度:www.baidu.com

bing:www.bing.com

Yahoo:www.search.yahoo.com

aol:www.search.aol.com

google:google.cn

2.搜索语法-谷歌举例

intitle: 标题关键字 eg:intitle 后台登陆 
inurl: URL关键特征 eg:inurl admin.php 
intext: 内容关键词 eg:intext 文件上传 
filetype: 指定类型文件 //例如:bak , mdb , asp , php , jsp 
site: 指定域名 
link: baidu.com //表示返回所有和baidu.com做了链接的网站 
info: 查找指定站点的一些基本信息 
cache: 搜索google里关于某些内容的缓存

intitle:标题关键字 查询在网站标题中存在该关键字的站点 
inurl:URL关键字 查询在URL路径中存在该关键字的站点
intext:内容关键词 查询在网站主体中存在该关键字的站点
filetype:文件类型 查询存在指定文件类型的站点 
site: 指定域名 查询在搜索引擎下的所收录的资产  

常用语法:

--管理后台地址
site:mi.com intext:管理 | 后台 | 后台管理 | 登录 | 用户名 | 密码 | 系统 | login |system
site:mi.com inurl:login | inurl:admin | inurl:manage | inurl:manager | inurl:admin_login |
inurl:system | inurl:backend
site:mi.com intitle:管理 | 后台 | 后台管理 | 登录
--上传类漏洞
site:target.com inurl:file
site:target.com inurl:upload
--注入漏洞
site:target.com inurl:php?id=
inurl:asp?id=
inurl:?id=1
--编辑器
site:target.com inurl:ewebeditor
--目录遍历漏洞
site:target.com intitle:index.of
--phpinfo()
site:target.com ext:php intitle:phpinfo "published by the PHP Group"
--配置文件泄露
site:target.com ext:.xml | .conf | .cnf | .reg | .inf | .rdp | .cfg | .txt | .ora | .ini
--数据库文件泄露
site:target.com ext:.sql | .dbf | .mdb | .db
--备份|历史文件泄露
site:target.com filetype:.doc | .docx | .xls | .xlsx | .ppt | .pptx | .odt | .pdf | .rtf |
.sxw | .psw | .csv
--邮箱信息
site:target.com intext:@target.com
site:target.com 邮件
site:target.com email
--社工信息
site:target.com intitle:账号 | 密码 | 工号 | 学号 | 身份证

十、其他信息收集

1.社会工程学

在tg找社工机器人查找密码信息 或本地的社工库查找邮箱或者用户的密码或密文,组合密码在进行猜解登录;
# 社工库
Telegrame自行查找

2.非常规操作

1、如果找到了目标的一处资产,但是对目标其他资产的收集无处下手时,可以查看一下该站点的 body里是否有目标的特征,然后利用网络空间搜索引擎(如 fofa 等)对该特征进行搜索,如:body="XX 公司"或 body="baidu" 等;该方式一般适用于特征明显,资产数量较多的目标,并且很多时候效果拔群;
2、当通过上述方式的找到 test.com 的特征后,再进行 body 的搜索,然后再搜索到 test.com 的时候,此时 fofa 上显示的 ip 大概率为 test.com 的真实 IP;
3.当你对一个目标挖掘不到漏洞的时候(通过指纹识别来判断他是否是一套系统)
通过fofa,去搜索使用这套系统的其他网站,去挖掘其他网站的漏洞。

3.APP信息收集

# 抓包精灵
https://m.cr173.com/mipx/277701.html
# APP软件搜索
https://www.qimai.cn/
# 微信/支付宝小程序
现在很多企业都有小程序,可以关注企业的微信公众号或者支付宝小程序,或关注运营相关人员,查看朋友圈,获取小程序;微信直接搜索,支付宝直接搜索
公众号搜索网站:
https://weixin.sogou.com/weixin?type=1&ie=utf8&query=%E6%8B%BC%E5%A4%9A%E5%A4%9A
# 公众号小程序收集:小蓝本
# APP收集:https://app.diandian.com/

4.资产管理

--ARL
搭建教程:https://mp.weixin.qq.com/s/mjpeps5H42xVdsLB-tfVqw
默认账户密码:admin/arlpass
# 介绍
旨在快速侦察与目标关联的互联网资产,构建基础资产信息库。协助甲方安全团队或者渗透测试人员有效侦察和检索资产,发现存在的薄弱点和攻击面
地址:https://github.com/TophantTechnologyARL
--Tide-Mars
# 介绍
主要功能:客户管理、资产发现、子域名枚举、C 段扫描、资产变更监测、端口变更监测、域名解析变更监测、Awvs 扫描、POC 检测、web 指纹探测、端口指纹探测、CDN 探测、操作系统指纹探测、泛解析探测、WAF 探测、敏感信息检测等等。目前被动扫描准备对接 xray+wascan,准备二期开源该功能及其他若干功能;
地址:https://github.com/TideSec/Mars
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值