信息打点
信息打点就是信息收集
Web 架构
我们需要知道是什么语言开发的,中间件有什么,数据库采用的是什么,还有运行该网站的系统
Web 源码
分为CMS 开源、闭源售卖、自主研发
Web 源码获取
泄露安全、资源监控、其他
Web 域名
子域名、相似域名、反查域名、旁注
实战
开发语言、源码、中间间的识别
我们以一个网站博客为例,通过F12抓包,发现这个网站的开发语言是PHP,源码是开源的CMS—Z-BlogPHP,中间件有Apache、OpenSSL等
数据库的识别
1、按照常见的语言+数据库会有固定的搭配
2、通过扫描端口,识别使用了什么数据库
3306是mysql常用的开放端口,所以猜测这个网站用了mysql
下面列举常见数据库开放的端口
一、关系型数据库
1、MySql数据库 ,默认端口是: 3306;
2、Oracle数据库 ,默认端口号为:1521;
3、Sql Server数据库 ,默认端口号为:1433;
4、DB2数据库, 默认端口号为:5000;
5、PostgreSQL数据库, 默认端口号为:5432;
6、国产的DM达梦数据库, 默认端口号为:5236。
二、NoSql数据库(非关系型数据库):
1.Redis数据库,默认端口号:6379;
2.Memcached数据库,默认端口号:11211 ;
3.MongoDB数据库,默认端口号:27017;
服务器的识别
1、通过对访问的uri进行大小写替换,看能否正常访问网站,因为Windows服务器对大小写不敏感,Linux服务器对大小写会有区分
2、通过ping 网站的服务器,通过TTL的时间区分
通过查看TTL的值,可以大致判断操作系统的类型,因为不同的操作系统通常使用不同的默认TTL值
WINDOWS NT/2000 TTL:128
WINDOWS 95/98 TTL:32
UNIX TTL:255
LINUX TTL:64
WIN7 TTL:64
这个接近128,所以大概率是WINDOWS NT
百度大概率是LINUX的服务器,一般大型企业都是用Linux的服务器
资产泄漏
CMS 指纹识别源码获取
云悉指纹识别平台
可以直接识别cms,就可以在网上直接下载,获取到源码,根据特性来搭建识别。
识别有指纹的,像百度,淘宝这些是不可以识别的,是属于内部团队开发的。
识别到web信息,IP信息,域名信息。
如果识别不了,那么就是自己开发等源码获取源码,获取这套源码在网上有没有出现过漏洞,这就是cms获取的意义。
备份文件
有些程序员会在网站源码文件夹路径下存放整个网站源码的备份文件,这个习惯是不好的,可以直接访问下载
对于备份文件是否存在,可以通过扫描工具进行扫描验证,如7kbscan
http://www.h0r2yc.com/
扫描到1.zip,访问www.h0r2yc.com/1.zip就可以进行下载
如果在www.xiaodi8.com同目录备份,就不会出现问题,无法下载到,如果在www.xiaodi8.com下面备份,就会出现安全问题
c:/wwwroot/www.xiaodi8.com/www.xiaodi8.com.rar 可以下载
c:/www.xiaodi8.com.rar 不能下载
访问域名不能下载,但是如果用IP访问的话,那么就要看IP指向的是不是www这个目录。具体能不能下载看网站情况。IP指向目录跟域名指向目录是不同的。
利用..上一级是不可以的。没有接受进行路径操作。
GIT泄漏
Git是一个开源的分布式版本控制系统,在执行git init初始化目录的时候,会在当前目录下自动创建一个.git目录,用来记录代码的变更记录等。发布代码的时候,如果没有把.git这个目录删除,就直接发布到了服务器上,攻击者就可以通过它来恢复源代码。
漏洞利用工具:GitHack
github项目地址:https://github.com/lijiejie/GitHack
使用方法,现在支持python3了
python GitHack.py http://121.36.49.234/.git/
SVN泄漏
SVN是一个开放源代码的版本控制系统。在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。网站管理员在发布代码时,没有使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,可以利用.svn/entries文件,获取到服务器源码。
测试访问http://trafficbonus.com/.svn/entries,如果存在下面页面,则证明有这个漏洞
使用该项目进行攻击
https://github.com/callmefeifei/SvnHack
攻击代码
F:\python2\python.exe SvnHack.py -u http://trafficbonus.com/.svn/entries --download
-DS_Store 泄漏
.DS_Store是Mac下Finder用来保存如何展示文件/文件夹的数据文件,每个文件夹下对应一个。如果将.DS_Store上传部署到服务器,可能造成文件目录结构泄漏,特别是备份文件、源代码文件。
漏洞利用工具:https://github.com/lijiejie/ds_store_exp
composer.json 泄漏-PHP 特性
Composer.json配置文件说明参考https://blog.csdn.net/qq_35655945/article/details/79694249
可以理解为配置文件,可以通过它来获取源码文件
测试english.cmdesign.com.cn/composer.json
GITHUB泄漏-资源监控-语法搜索&关键字搜索&社工
网站:blog.aabyss.cn
在GitHub中直接搜索aabyss
社工CMS开发者,一般开发者会保留个人信息,在代码中保留邮箱、账号、密码等。可以进行脚本监控,如果监控到了就会进行发送信息
比如小迪博客资源中邮箱等关键字
GITHUB 资源搜索:
in:name test #仓库标题搜索含有关键字
in:descripton test #仓库描述搜索含有关键字
in:readme test #Readme 文件搜素含有关键字
stars:>3000 test #stars 数量大于 3000 的搜索关键字
stars:1000..3000 test #stars 数量大于 1000 小于 3000 的搜索关键字
forks:>1000 test #forks 数量大于 1000 的搜索关键字
forks:1000..3000 test #forks 数量大于 1000 小于 3000 的搜索关键字
size:>=5000 test #指定仓库大于 5000k(5M)的搜索关键字
pushed:>2019-02-12 test #发布时间大于 2019-02-12 的搜索关键字
created:>2019-02-12 test #创建时间大于 2019-02-12 的搜索关键字
user:test #用户名搜素
license:apache-2.0 test #明确仓库的 LICENSE 搜索关键字
language:java test #在 java 语言的代码中搜索关键字
user:test in:name test #组合搜索,用户名 test 的标题含有 test 的关键字
配合谷歌搜索:
site:Github.com smtp
site:Github.com smtp @qq.com
site:Github.com smtp @126.com
site:Github.com smtp @163.com
site:Github.com smtp @sina.com.cn
site:Github.com smtp password
site:Github.com String password smtp
服务厂商
服务厂商也就是网站搭建使用的服务器,比如阿里云,华为云,腾讯云。或者学校内部(自己的机房),大型公司(自己的机房)。
通过判断服务厂商可以知道防护难度大不大,防护情况是怎么样的,换一种思路进行渗透
可以基于IP地址/域名收集到服务器信息、电话号码、注册域名商等。
网络架构
如果是本地搭建,一般会在内网搭建,有映射关系
如果是阿里云等,一般是外网服务器搭建
一般在企业,学校部署:
外网:171.40.78.83 内网:192.168.1.100 web
外网出口(路由器,交换机)做一个映射 反向代理
主动把192.168.1.100 web流量给到171.40.78.83
作为安全测试:
扫描探针信息:171.40.78.83,这样就扫不到相对应的端口,会误报或者扫不到。
协议应用
扫描端口:常见默认端口
本机应用协议:ssh ftp Redis 等服务
nmap 用法:https://blog.csdn.net/m1585761297/article/details/80015726
利用nmap可以对指定网站进行端口扫描
nmap 47.100.167.248
nmap -p80,443,22,21,8080,25 47.100.167.248 //指定端口
nmap -p1-100 47.100.167.248//从端口范围1-100扫描
另外一个工具masscan
使用参考:https://blog.csdn.net/weixin_46789316/article/details/110383622
sudo masscan 47.100.167.248 -p80
sudo masscan 47.100.167.248 -p80,81,20,21
sudo masscan 47.100.167.248 -p0-100
内网资产
扫网段:
目标:171.40.78.83
网段:171.40.78.1-255 同一个网段
如果获取到171.40.78.82 这样就可以进行内网之间的渗透测试
旁注:同服务器下面的不同web应用查询技术
c段:同网段下面的不同服务器IP下的web应用查询技术
sudo masscan -p8888,21,22,80,8081,3306 47.100.167.0/24
得到IP后,可以进行IP反查技术进行信息收集。
然后可以访问域名
阻碍信息获取
CDN
在网站其他地区创造一个结点,解决访问速度问题。如果是对CDN节点测试,就是方向就错了,是假的目标
判断:超级ping https://ping.chinaz.com/
我们先ping百度,发现都是就近服务器进行访问
然后我们ping一下xiaodi8.com,只有一台服务器,在香港
WAF
识别有下面几种方法
1、根据请求返回信息识别
https://www.cnblogs.com/AdairHpn/p/13985760.html
waf厂商识别很重要,大型网站一般很难绕过
2、利用工具识别
工具:wafw00f
git clone https://github.com/EnableSecurity/wafw00f.git
cd wafw00f
sudo python3 setup.py install
cd wafw00f
python3 main.py https://www.tn2000.com/
python3 main.py https://www.linuxpack.net
负载均衡
kali自带ldb
ldb参考:https://blog.csdn.net/weixin_43876557/article/details/106398691
识别xiaodi8.com和baidu.com
防火墙
系统自带 硬件防火墙
一般与内网渗透有关联
外网:访问不到,那就基本上没有作用测试。
入站规则,出站规则。一般看入站规则
对端口扫描有一定的阻碍
端口识别:https://blog.csdn.net/fageweiketang/article/details/84642049
CDN绕过
前置知识
1、传统访问(没有CDN):用户访问域名–>解析服务器IP–>访问目标主机
2、普通CDN:用户访问域名–>CDN节点–>真实服务器IP–>访问目标主机
3、带WAF的CDN:用户访问域名–>CDN节点(WAF)–>真实服务器IP–>访问目标主机
什么是CDN
CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
CDN配置
配置1:加速域名-需要启用加速的域名(www.xiaodi8.com、*.xioadi8.com)
配置2:加速区域-需要启用加速的地区(中国,外国等)
配置3:加速类型-需要启用加速的资源(图片、小文件、全站)
判定标准
nslookup
使用nslookup查看域名解析对应的IP地址,如果解析到多个IP地址则说明使用了CDN
各地ping(出现多个IP即启用CDN服务)
http://ping.chinaz.com/
使用工具直接查询
http://www.cdnplanet.com/tools/cdnfinder/
https://www.ipip.net/ip.html
绕过
参考文章:
https://zhuanlan.zhihu.com/p/33440472
https://www.cnblogs.com/blacksunny/p/5771827.html
ping
1、假设如下存在cdn —-> ping www.sp910.com
2、可以尝试ping sp910.com,很多厂商可能让www使用cdn,空域名不是有cdn缓存。
3、所以直接ping sp910.com可能就能得到真实IP。
发现存在CDN,ping一下sp910.com
分站域名
1、很多网站主站的访问量会比较大,所以往往主站都挂着cdn的。
2、但是分站就不一定了,毕竟cdn要钱,而且也不便宜。
3、所以可能一些分站就没有挂着cdn,所以有时候可以尝试通过查看分站IP。
4、可能是同个IP或者同个站都是没准的。
加速域名上面导致的问题:如果设置是www.yansiqi.com,这样只加速www这个域名 如果有test.yansiqi.com 没有加速,是真是IP。一般子域名极有可能和主站保持同一个IP
国外访问
1、国内的CDN往往只会针对国内用户访问加速。
2、所以国外就不一定了。因此通过国外代理访问就能查看真实IP了。
3、或者通过国外的DNS解析,可能就能得到真实的IP。
IP不一样,现在用国外的ping一下http://www.webkaka.com/ping.aspx
https://tools.ipip.net/cdn.php
MX及邮件
1、mx记录查询,一般会是C段。
2、一些网提供注册服务,可能会验证邮件,还有RSS订阅邮件,忘记密码等
3、可能服务器本身自带sendmail可以直接发送邮件,当然使用第三方的除外(如网易,腾讯等)
4、当然这个IP也要验证是否为主站的
5、web版的邮件管理,可以通过常看网页源代码看到IP
很多站点都有发送邮件sendmail的功能,如Rss邮件订阅等。而且一般的邮件系统很多都是在内部,没有经过CDN的解析。可在邮件源码里面就会包含服务器的真实IP。是一个主动连接。
mozhe.cn
怎么样网站发邮箱给你:
邮箱找回验证码,显示邮件原文 116.63.173.212
大概率,不是百分百真是IP
如果又不确定,就进行社工判定,查看归属地
利用网站漏洞
如果目标站点存在漏洞,这就没办法避免了。
例如phpinfo敏感信息泄露、Apache status和Jboss status敏感信息泄露、网页源代码泄露、svn信息泄露信、github信息泄露等。
若存在web漏洞,服务器主动与我们发起请求连接,我们也能获取目标站点真实ip。例如xss、ssrf、命令执行反弹shell等。
http://www.yansiqi.com/ssrf.php
输入地址,服务器自动会请求这个地址 http://47.94.236.117:8000 这个
47.94.236.117运行:python2 -m SimpleHTTPServer 8000
47.94.236.117开通了web服务,记录日志 www.yansiqi.com 存在ssrf漏洞(会接受用户的数据并利用服务器去请求)
漏洞请求47.94.236.117日志就会记录访问IP
找phpinfo()之类的探针
www.yansiqi.com/phpinfo.php
这个配置文件会泄露本身IP地址,将本地的地址给到你。php脚本主动把IP返回。
DOS
1、DDoS耗尽CDN流量,那么就会回源,这样就能得到真实IP
2、不设防的cdn量大就会挂,高防cdn要增大流量。
社会工程学
通过社工到站长的信息登录到服务器厂商管理后台获取真实ip
全网扫描
工具:FuckCDN https://github.com/Tai7sy/fuckcdn
资源加速问题:只是加速图片或者其他的,没有加速全站
运行fuckcdn.exe,设置ip.txt set.ini两个文件,运行输入访问的cdn节点IP+端口
配置set.ini文件:设置目标,findstr是设置关键字。
配置ip.txt:设置IP集合,https://www.ipip.net/ip.html
完成后出现result_ip.txt文件。
查看DNS历史记录
查询ip与域名绑定历史记录,可能会发现使用CDN之前的目标ip。查询网站有:
https://dnsdb.io/zh-cn/
https://x.threatbook.cn/
http://toolbar.netcraft.com/site_report?url=
http://viewdns.info/
http://www.17ce.com/
https://community.riskiq.com/
http://www.crimeflare.com/cfssl.html
APP&小程序资产收集
抓包
配置安卓代理等,找到相对应的地址(图片地址113.106.48.72)
尝试直接访问
可以进行端口扫描
封包
如果抓包进行不了的话,那么就进行封包处理。这样也能进行资源的获取。也会抓到其他协议的数据包。逍遥模拟器不支持。
资源提取—AppInfoScanner
一款适用于以HW行动/红队/渗透测试团队为场景的移动端(Android、iOS、WEB、H5、静态网站)信息收集扫描工具,可以帮助渗透测试工程师、攻击队成员、红队成员快速收集到移动端或者静态WEB站点中关键的资产信息并提供基本的信息输出,如:Title、Domain、CDN、指纹信息、状态信息等。
https://github.com/kelvinBen/AppInfoScanner
把apk文件放到AppInfoScanner目录
python3 app.py android -i apk名称
反编译完的的资源文件和smali代码都放到了out目录下
把apk的资源提取出来后,用黑暗引擎来查找相关的资源。比如提取相对应的md5值和hash值,进行fofa搜索,找到相对应的资源。
如果一些APP反编译不了,那么就需要去壳操作。
我们使用PKID对apk进行检测是否加壳
jadx反编译
视频中用的安卓修改大师,其实用jadx可以对apk进行反编译。搜索http://或者https://就可以得到apk内包含的一些链接
框架使用—Xposed&JustTrustMe
这个在搞安卓逆向的时候已经学过了,用到这个就可以绕过检测证书等进行抓包。
微信小程序—电脑版登录启动抓包分析
两个方面信息收集:web 和服务器
有些小程序其实就是APP 放到小程序里面
小程序管理后台:mituomimtm.cn/login
只能抓包,没有程序源码
搜索域名相关信息
利用网站或者工具进行信息收集
网络空间四大引擎-Fofa&Quake&Shodan&Zoomeye
黑暗引擎
https://fofa.info
https://quake.360.cn
https://www.shodan.io
https://www.zoomeye.org
fofa
fofa搜索语法
也可以直接搜索
左边还有些可以筛选的选项,直接点击就行了
360quake
zoomeye
黑暗引擎集合版项目
https://github.com/EASY233/Finger
集合了fofa和360quake搜索
使用教程
git clone https://github.com/EASY233/Finger.git
pip3 install -r requirements.txt
python3 Finger.py -h
修改一下配置文件
添加自己的key
查看选项
使用
python Finger.py -quake
自动化收集
ARL灯塔
https://github.com/TophantTechnology/ARL
支持功能
通过docker启动
Ubuntu 下可以直接执行 apt-get install docker.io docker-compose -y 安装相关依赖
cd /opt/
mkdir docker_arl
wget -O docker_arl/docker.zip https://github.com/TophantTechnology/ARL/releases/download/v2.6.1/docker.zip
cd docker_arl
unzip -o docker.zip
docker volume create arl_db
docker-compose pull
docker-compose up -d
Suize水泽
https://github.com/0x727/ShuiZe_0x727
apt install docker.io
docker pull yankovg/python3.8.2-ubuntu18.04
docker run -itd yankovg/python3.8.2-ubuntu18.04 bash
docker exec -it docker的ID /bin/bash
apt-get update
apt install git --fix-missing
apt install vim
rm /usr/bin/python3
ln -s /usr/local/bin/python3.8 /usr/bin/python3
python3 -m pip install --upgrade pip
git clone https://github.com/0x727/ShuiZe_0x727.git
chmod 777 docker_build.sh
./docker_build.sh
Kunyu
https://github.com/knownsec/Kunyu/tree/main
git clone https://github.com/knownsec/Kunyu.git
cd Kunyu
pip3 install -r requirements.txt
Linux:
python3 setup.py install
kunyu console
Windows:
python3 setup.py install
kunyu console
或者
cd kunyu
python3 console.py
在第一次运行程序时通过输入以下命令进行初始化操作,提供了其他登录方式,但是推荐使用API的方式,因为用户名/密码登录需要额外做一次请求,所以理论上API的方式会更加高效。
输入info查看信息
搜索ip
SearchHost ip:39.97.118.130
关联域名/子域名搜索
SearchDomain www.xiaodi8.com
SearchDomain xiaodi8.com
SearchWeb www.xiaodi8.com
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 767778848@qq.com