概述
渗透测试的本质就是信息收集,信息搜集的广度决定了攻击的广度,知识面的广度决定了攻击的深度。 信息收集很重要,如确定资产,比如他有哪些域名、子域名、C 段、旁站、系统、微信小程序或者公众号,确定好站点或者目标系统之后,就是常规的指纹识别,像中间件、网站,扫目录,后台,确定功能然后分析每个功能点上会有哪些漏洞,就比如一个登录页面,我们可以考虑的是爆破账号密码,社工账号密码,SQL 注入,XSS 漏洞,逻辑漏洞绕过等。 在短时间内你无法去提升你的技术或者是挖掘一个新的思路,这个时候就体现了资产搜集的能力,信息搜集是最难的,也是最麻烦耽误时间的,且必须要实时去关注的一件事情。 红队最最最关键的就是要做好信息收集,信息收集的前提是确定目标,通常来讲,HW期间,目标可能存在金融,政府,学校,企业,公安等各类行业目标,通过首选企业去打,相对来讲企业是比较好打的,政府,金融等安全防护做的相对来说较好,安全设备较多,所以首选企业,其次学校,其次是政府单位等。
一些常用网站
ICP 备案查询:https://icp.aizhan.com权重查询:https://rank.aizhan.com/www.wondercv.com/多地 ping:https://www.ping.cn/dwhois 查询:https://www.whois365.com/cn/ip/119.23.74.200IP 反查:https://www.ip138.com/iplookup.asp?ip=166.111.53.94&action=2
以 xxx 公司为例,根域名:xxx.cn
信息收集可以从多个领域来看:公司,子公司,域名,子域名,IPV4,IPV6,小程序,APP,PC 软件等等 可以重点关注备案网站,APP,小程序,微信公众号,甚至是微博。 这里说一点小思路,首先可以找到官网,用 cmd ping 他的官网,可以看到 IP 地址,然后可以定位 whois,whois 中包含了用户、邮箱,以及购买的网段。 有了网段就可以进行一些主动信息收集,可以使用一些强大的资产测绘工具,goby 的资产测绘还是很不错的,会有一些 web 服务,不用担心没有 banner,往往这些没有 banner 的才有问题。 注意观察一下网站底部是否有技术支持:xxxx | 网站建设:xxxx 之类的标注,一些建站企业会出于知识产权保护或者是对外宣传自己的公司,会在自家搭建的网站上挂上技术支持等之类的标注,很多建站企业往往某种类型的网站都是套用的同一套源码,换汤不换药。
1.组织股权结构
拿到公司名称后,先不用急着查备案、找域名,而是先看看这家公司的股权构成,因为一般一家公司的子公司也是可以作为目标去打的,不过有时是要求 50% 持股或者 100% 持股,这个就要看具体实际情况了,常见的查询公司组织股权结构的网站有天眼查、企查查、爱企查、小蓝本等等。 如果目标持股公司不多,可以直接看股权穿透图,比较直观,除了股权穿透之外,还可以看它的对外投资信息,这两个地方都可以查到有目标持股的公司
爱企查,天眼查
https://www.qcc.com/https://aiqicha.baidu.com/https://www.tianyancha.com/
2.子域名查询
首推OneForAll,Layer 子域名挖掘机
如果提前知道目标,还可以提前收集一波子域,然后项目快开始的时候,再收集一波子域,将两次收集的结果做下对比,优先打新增子域。
尽量多凑一点 API,fofa 可以找人借一些 api,越多越好。
在线子域名查询
http://z.zcjun.com/http://tool.chinaz.com/subdomainhttps://dnsdumpster.comhttps://phpinfo.me/domain //推荐
OneForAll
https://github.com/shmilylty/OneForAll
执行命令:
常用的获取子域名有 2 种选择,一种使用 –target 指定单个域名,一种使用 –targets 指定域名文件。
python3 oneforall.py --target example.com runpython3 oneforall.py --targets ./domains.txt runpython3 oneforall.py --target xxx.cn run
3.谷歌语法
迅速查找信息泄露、管理后台暴露等漏洞语法,例如:
Google hack实战-搜索敏感文件filetype:txt 登录filetype:xls 登录filetype:doc 登录site:xxx.com filetype:doc intext:passsite:xxx.com filetype:xsl intext:passsite:xxx.com filetype:confsite:xxx.com filetype:incfiletype:log iserror.logGoogle hack实战-搜索登陆后台intitle:后台管理intitle:loginintitle: 后台管理 inurl:adminintitle:index of /site:example.com filetype:txt 登录site:example.com intitle: 后台管理site:example.com adminsite:example.com loginsite:example.com systemsite:example.com 管理site:example.com 登录site:example.com 内部site:example.com 系统site:xxx.com adminsite:xxx.com loginsite:xxx.com 管理site:example.com systemsite:example.com 登录site:example.com 内部site:example.com 系统site:example.com filetype:txt 登录site:example.com intitle:后台管理inurl:login|admin|manage|member|admin_login|login_admin|system|login|user|main|cmssite:example.com intext:管理|后台|登录|用户名|密码|验证码|系统|账号|admin|login|sys|management|password|usernameGoogle hack实战-搜索中间件Weblogicinurl:/console/login/LoginForm.jsp site:domianinurl:/console/login/LoginForm.jsp intitle:Oracle WebLogin Server site:domaininurl:/console/login/ intitle:"Oracle WebLogin Server 管理控制台" site:domainJbossinurl:/jmx-console/htmladaptor site:domainWebsphereinutl:/ibm/console/login.jsp site:domain
4.fofa 语法
FOFA 作为一个搜索引擎,我们要熟悉它的查询语法,类似 google 语法,FOFA 的语法主要分为检索字段以及运算符,所有的查询语句都是由这两种元素组成的。目前支持的检索字段包括:domain,host,ip,title,server,header,body,port,cert,country,city,os,appserver,middleware,language,tags,user_tag 等等,等等,支持的逻辑运算符包括:=,==,!=,&&,||。 如果搜索 title 字段中存在后台的网站,只需要在输入栏中输入 title=“后台”,输出的结果即为全网 title 中存在后台两个字的网站,可以利用得到的信息继续进行渗透攻击,对于网站的后台进行密码暴力破解,密码找回等等攻击行为,这样就可以轻松愉快的开始一次简单渗透攻击之旅,而企业用户也可以利用得到的信息进行内部的弱口令排查等等,防范于未然。
搜索 QQ 所有的子域名:domain=“qq.com”搜索 host 内所有带有 qq.com 的域名:host=“qq.com”搜索某个 IP 上的相关信息:ip=“58.63.236.248”搜索全球的 Apache:server=“Apache”搜索非常火的海康威视:header=“Hikvsion”假如搜索微博的后台,域名为:weibo.com 并且网页内 body 包含 “后台”:body=“后台”&& domain=“weibo.com”
自常用语法:
host=".xxx.edu.cn" && status_code="200"icon_hash="1574010831"(body="大学" || body="学院") && tittle="OA"host=".edu.cn" && title="OA"host=".edu.cn" && port=7001region="Jilin" && title="用友nc"server=weblogic && port=7001title="目标名称" && region=“xx省”cert=“目标域名或者证书关键字” && region=“xx省”((title="目标名称" || host="目标域名")&&country="CN")&®ion!="HK"
5.旁站查询
旁站就是在同一台服务器上搭建的多个网站,使用同一个 IP 地址。在目标网站无法攻击成功时,若他的旁站可以成功攻击并获取相应的系统权限,这势必会影响到目标网站的安全性,因为已经获取到同一台服务器的权限了。
在线网站:
https://chapangzhan.com/https://ipchaxun.com/http://stool.chinaz.com/same?s=host
6.公众号、服务号收集
1.搜狗搜索引擎
https://weixin.sogou.com/
2.企查查
7.指纹识别
Ehole
https://github.com/EdgeSecurityTeam/EHole
使用方法:
./Ehole-darwin -l url.txt//URL 地址需带上协议,每行一个./Ehole-darwin -f 192.168.1.1/24 // 支持单 IP 或 IP 段,fofa 识别需要配置 fofa 密钥和邮箱./Ehole-darwin -l url.txt -json export.json// 结果输出至 export.json 文件
在线网站
http://www.yunsee.cn/info.html 云悉
http://finger.tidesec.com 潮汐
CMS类型识别-WhatWeb
http://whatweb.bugscaner.com/look/
kali命令:
whatweb –no-errors http://bbs.looyuoms.com/
WAF识别
工具https://github.com/ekultek/whatwaf
./whatwaf -u host
WAF识别-在线工具
https://scan.top15.cn/web/
8.敏感信息收集
比如目标是学校,收集敏感信息需要借助百度,谷歌搜索hack语法, 还有就是零零信安[收集邮箱] , 例如要爆破某学校的vpn,学生的学号可以从这些途径获取。学校贴吧,学校表白墙,找学生卡丢失;谷歌语法,搜索表彰,奖学金,转专业,通报等等关键词,都可能获得学生学号。
利用搜索引擎,github等托管平台配合一些google语法就可以搜到很多信息。
熟知的google hack,百度,git ,网盘泄露等等。
敏感信息一共要搜集这个几个方面:
google hack
github
百度
零零信安
泄露目标人员姓名/手机/邮箱
例如要爆破某学校的vpn,学生的学号可以从这些途径获取。学校贴吧,学校表白墙,找学生卡丢失;谷歌语法,搜索表彰,奖学金,转专业,通报等等关键词,都可能获得学生学号。
密码部分可能为身份证后六位,网上可以找身份证后六位生成脚本,生成字典,然后让他一直跑,第二天睡醒看看,这个就是纯运气活了。
9.端口扫描
一般比较常见的可能就是 nmap 和 masscan 了,分享一个 nmap 快速扫描全部端口的命令。
nmap -sS -Pn -n --open --min-hostgroup 4 --min-parallelism 1024 --host-timeout 30 -T4 -v -p 1-65535 -iL ip.txt -oX output.xml
不过除了这些方法外,fscan 其实也可以拿来做外网的端口扫描,而且速度更快。
比如用 fscan 只扫描端口,不做漏洞扫描
fscan -hf hosts.txt --nopoc -t 100
fscan 默认线程是 600,因为是外网扫描 600 的线程就比较大了,所以这里设置了 100,如果感觉扫描结果不理想,线程还可以设置的再小点。
10.目录获取
目录扫描比较常用的工具有 dirsearch、dirmap
dirmap更侧重于 FFUZ,不过不管是目录扫描还是 FFUZ ,扫描的结果都在于字典,Github 上 4k 多个 star 的字典:
https://github.com/TheKingOfDuck/fuzzDicts
11.邮箱地址获取
http://www.skymem.info/https://github.com/laramies/theHarvesterhttps://github.com/bit4woo/teemo
12.JSFinder
在网站的JS文件中,会存在各种对测试有帮助的内容。
地址:https://github.com/Threezh1/JSFinder
JSFinder是一款用作快速在网站的js文件中提取URL,子域名的工具。
JSFinder获取URL和子域名的方式:python JSFinder.py -u http://www.xx.com深入一层页面爬取JS,时间会消耗的更长,获取的信息也会更多。建议使用-ou 和 -os来指定保存URL和子域名的文件名。python JSFinder.py -u https://baidu.com -dpython JSFinder.py -u https://baidu.com -d -ou url.txt -os sub.txt
13.社会工程学
社会工程学(Social Engineering) 是一种通过人际交流的方式获得信息的非技术渗透手段。不幸的是,这种手段非常有效,而且应用效率极高。事实上,社会工程学已是企业安全最大的威胁之一。狭义与广义社会工程学最明显的区别就是是否会与受害者产生交互行为。广义是有针对性的去对某一单一或多一目标进行攻击的行为。
常见社工
社工三大法宝:网络钓鱼、电话钓鱼、伪装模拟
狭义三大法宝:谷歌、社工库、QQ
社工师的分类:黑客、渗透测试、JD、GOV、公司内部员工、欺骗人员、猎头、销售人员、普通人。
信息泄露方式
在网上注册时,垃圾网站被黑客攻入(服务器或者数据库被攻击),黑客获取信息
网站内部人员将信息贩卖,然后获取信息
通讯被窃听,http协议用post或者get提交时,使用火狐进行拦截
撞库,比如你在这个A网站注册时,使用了一个密码,在B网站也使用这个密码,知道A网站的密码,自己也可以用这个密码登录B网站,这就是撞库
社会工程学攻击四个阶段
研究:信息收集(WEB、媒体、垃圾桶、物理),确定并研究目标
钩子:与目标建立第一次交谈(HOOK、下套)
下手:与目标建立信任并获取信息
退场:不引起目标怀疑的离开攻击现场
常见信息
真实姓名、性别、出生日期、身份证号、身份证家庭住址、身份证所在公安局、快递收货地址、大致活动范围、QQ号、手机号、邮箱、银行卡号(银行开户行)、共同朋友的资料、支付宝、贴吧、百度、微博、猎聘、58、同城、网盘、微信、常用ID、学历(小/初/高/大学/履历)、目标性格详细分析、常用密码、照片EXIF信息。
常见可获取信息系统
中航信系统、春秋航空系统、12306系统、三大运营商网站、全国人口基本信息资源库、全国机动车/驾驶人信息资源库、各大快递系统(越权)、全国出入境人员资源库、企业相关系统、信息资源库等。
14.设备信息收集
如果拿到一个防火墙或者路由器设备,而且能配置vpn的这种,那就相当于拿到了内网的钥匙,只需要能够访问到内网,就算内网穿透,所以在hvv开始前,就会有很多队伍收集这些设备,而且如果是弱口令就会直接修改密码。 如果能拿到有些政府单位的vpn,那就更舒服了,因为大概率就可以进到政务外环网,这个网是外网ip,但是外网是访问不到的,是政务内网和外网之间的一层网络,这里面的好东西也是不少,不过,最近几年打的多了,里面的资产也是防护越来越厉害了。 所以需要去收集一些设备的语法,例如:
app="HUAWEI-Home-Gateway-HG659"title="Web user login"app="Ruijie-EG易网关"
对于这些设备的账号密码可以直接百度,也可以直接在这个网站上搜设备名,大部分都有。
https://www.shentoushi.top/av/