域名
子域名
真实 ip
中间件
脚本语言
端口
服务器信息(端口、服务、真实 iP)网站信息(网站架构(操作系统、中间件、数据库、编程语言)、指纹信息、WAF、敏感目录、敏感文件、源码泄露、旁站查询、C 段查询)域名信息(whois、. 备案信息、子域名)
人员信息(姓名、职务、生日、联系电话、邮件地址)
安装(kali 中):blog.csdn.net/weixin_5312…
进入 root 用户:<font style="color:rgb(79, 79, 79);">su</font>查看是否已经安装 docker:<font style="color:rgb(79, 79, 79);">docker</font>
如果没有 docker 环境,自行安装 docker
github 克隆 ARL:<font style="color:rgb(79, 79, 79);">git clone </font><font style="color:rgb(79, 79, 79);">https://github.com/TophantTechnology/ARL</font>
进入文件夹:<font style="color:rgb(79, 79, 79);">cd ARL/docker</font>
修改文件:yaml 文件:<font style="color:rgb(79, 79, 79);">vim config-docker.yaml</font>
在 FOFA 下面添加 RISKIQ,注意空格和对齐
#Fofa API 配置项
FOFA:
URL: "https://fofa.info"
EMAIL: "xxxxxxxx@qq.com"
KEY: "xxxxxxxxxxxxxxxxxxxxxxx"
RISKIQ:
EMAIL: ""
KEY: ""
在当前目录创建容器数据卷:<font style="color:rgb(79, 79, 79);">docker volume create --name=arl_db</font>
输入启动命令启动:<font style="color:rgb(79, 79, 79);">docker-compose up -d</font>
后续使用:
进入文件夹:<font style="color:rgb(79, 79, 79);">cd ARL/docker</font>
输入启动命令启动:<font style="color:rgb(79, 79, 79);">docker-compose up -d</font>
登录到 arl(默认端口:5003):<font style="color:rgb(79, 79, 79);">https://<IP>:5003</font>(注意是 https)
账号:admin 密码:arlpass
挖 src 之类的建议直接装到公网云服务器上,实时监测,不怕电脑关机卡掉之类的。也可以在公网搭靶场
个人也总结了一些现在的活动,可以参考下
- 说明:
一款好用的命令行信息收集工具,支持 web 信息收集、目录扫描、子域名收集、端口扫描、poc 扫描等功能。
- 下载:
niudaii.oss-cn-hangzhou.aliyuncs.com/resource.zi…
将下载的 exe 文件放置到资源文件(config.yaml、resource/)的同目录下
- 使用(使用 powershell!!):
查看说明 ./zpscan -h
Usage:
zpscan [command]
Available Commands:
alive WEB 存活扫描
crack 常见服务弱口令爆破
dirscan 目录扫描
domainscan 子域名收集
expscan exp 扫描
help Help about any command
ipscan 端口扫描
pocscan poc 扫描
webscan web 信息收集
Flags:
--debug show debug output
-h, --help help for zpscan
-i, --input string single input(example: -i 'xxx')
-f, --input-file string inputs file(example: -f 'xxx.txt')
--no-color disable colors in output
-o, --output string output file to write log and results (default "result.txt")
--result string output file to write found results
web 信息收集 ./zpscan webscan -i 'http://yancy77.top/'
子域名收集./zpscan domainscan -i 'http://yancy77.top/'
Kunyu(坤舆)是一款高效资产收集工具,使用方法与 MSF 有相似之处。工具调用了 ZoomEye 和 SeeBug 的 API,使得资产收集更加方便快捷,搜索结果一目了然。
安装依赖文件:<font style="color:rgb(77, 77, 77);">pip3 install -r requirements.txt</font>
安装 Kunyu:<font style="color:rgb(77, 77, 77);">python3 setup.py install</font>
设置 ZoomEye 和 SeeBug 的 API(必须):
<font style="color:rgb(77, 77, 77);">kunyu init --apikey "<your zoomeye key>" --seebug "<your seebug key>"</font>
进入 Kunyu 控制台:<font style="color:rgb(77, 77, 77);">kunyu console</font> 或者 <font style="color:rgb(77, 77, 77);">kunyu</font>
常见使用:
先进入控制台:<font style="color:rgb(77, 77, 77);">kunyu console</font> 或者 <font style="color:rgb(77, 77, 77);">kunyu</font>
查看用户信息<font style="color:rgb(77, 77, 77);">info</font>
查找 IP 信息:<font style="color:rgb(77, 77, 77);">SearchHost <IP></font>``<font style="color:rgb(77, 77, 77);">SearchHost 222.22.2.2</font>
查找网站信息:<font style="color:rgb(77, 77, 77);">SearchWeb <url></font>``<font style="color:rgb(77, 77, 77);">SearchWeb www.baidu.com</font>
查找子域名:<font style="color:rgb(77, 77, 77);">SearchDomain < 主域名 ></font>``<font style="color:rgb(77, 77, 77);">SearchDomain baidu.com</font>
搜索 Icon 资产:<font style="color:rgb(77, 77, 77);">SearchIcon < 本地 Icon 文件地址 / 远程 Icon 文件地址 ></font>
查看 ThinkPhp 历史漏洞(举例):<font style="color:rgb(77, 77, 77);">Seebug Thinkphp</font>
(总是报错,建议搭建 docker,ps: 未成功)
安装依赖文件:<font style="color:rgb(77, 77, 77);">pip3 install -r requirements.txt</font>
使用:
python3 ShuiZe.py -d domain.com
收集单一的根域名资产
python3 ShuiZe.py --domainFile domain.txt
批量跑根域名列表
python3 ShuiZe.py -c 192.168.1.0,192.168.2.0,192.168.3.0
收集 C 段资产
python3 ShuiZe.py -f url.txt
对 url 里的网站漏洞检测
python3 ShuiZe.py --fofaTitle XXX 大学
从 fofa 里收集标题为 XXX 大学的资产,然后漏洞检测
python3 ShuiZe.py -d domain.com --justInfoGather 1
仅信息收集,不检测漏洞
python3 ShuiZe.py -d domain.com --ksubdomain 0
不调用 ksubdomain 爆破子域名
Fofa Quake Shodan Zoomeye 鹰图
先安装相关库
配置(必要):可以在 config/config.py 中进行修改
# 设置线程数,默认 30
threads = 30
# 设置 Fofa key 信息
Fofa_email = ""
Fofa_key = "" (不是密码)
# 普通会员 API 查询数据是前 100,高级会员是前 10000 条根据自已的实际情况进行调整。Fofa_Size = 100
# 设置 360quake key 信息,每月能免费查询 3000 条记录
QuakeKey = ""
# 是否选择在线跟新指纹库,默认为 True 每次程序都会检查一遍指纹库是否是最新
FingerPrint_Update = True
使用方法:
-u 对单个 URL 进行指纹识别
-f 对指定文件中的 url 进行批量指纹识别
-i 对 ip 进行 fofa 数据查询采集其 web 资产
-if 对指定文件中的 ip 批量调用 fofa 进行数据查询采集其 web 资产
-fofa 调用 fofa api 进行资产收集
-quake 调用 360 quake 进行资产收集
-o 指定输出方式默认不选择的话是 xlsx 格式,支持 json,xls。
常见使用:
python Finger.py -fofa
python Finger.py -quake
如 360 安全大脑:ti.360.net/#/homepage
- whois 就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商)。通过 whois 来实现对域名信息的查询。
- 查询方法:
(2) www.whois.com/whois/(荐)
(3) www.ename.com/
(4) 利用 kali 的 whois 命令
icp.chinaz.com/ 站长之家
如用 site:honeyjie.cn 来搜索 honeyjie.cn 的子域名
黑暗搜索语法:
intitle:搜索网页标题中包含有特定字符的网页。例如输入“intitle: cbi”,这样网页标题中带有 cbi 的网页都会被搜索出来。inurl:搜索包含有特定字符的 URL。例如输入“inurl:cbi”,则可以找到带有 cbi 字符的 URL。intext: 搜索网页正文内容中的指定字符,例如输入“intext:cbi”。这个语法类似我们平时在某些网站中使用的“文章内容搜索”功能。Filetype: 搜索指定类型的文件。例如输入“filetype:pdf”,将返回所有以 pdf 结尾的文件 URL。Site:找到与指定网站有联系的 URL。例如输入“Site:family.chinaok.com”。所有和这个网站有联系的 URL 都会被显示。通配符谷歌的通配符是星号 *
布尔逻辑:与或非:and, |, or
python 版本要求:python 3.8 以上版本
使用方法:python oneforall.py –-target 域名 run
注意:扫描结果将存放于 oneforall\results 文件下。
api 接口配置:config/api.py
使用:python3 subDomainsBrute.py baidu.com
扫描结束后会在当前目录下生成域名.txt 文件
注:仅限 HTTPS 网站,因为只有 HTTPS 网站才有证书
tools.bugscaner.com/subdomain/
ip.tool.chinaz.com/ 站长之家(单个,不能排除有 cdn)
不同地区的响应 IP 不同,所以有 cdn
使用超级 ping 时尽量 ping 其顶级域名(去掉 www)
以 www.xueersi.com 为例,可以超级 ping 顶级域名 xueersi.com。原理:设 CDN 时在域名解析位置设置,访问顶级域名一般会主动跳转到二级域名,所以常常只将二级域名加 www 的设置 CDN,而顶级域名并没有设 CND。子域名同理:网站管理员由于资源,只对主站做了 cdn 服务,没有对分站做 CDN 服务,可以从分站入手,推算出主站的 ip 地址。
# 可通过科学上网寻找国外结点请求网站。在网站上面有不同的国家 ip,利用这些 ip 访问网站,越是偏僻的国家,越可能没有部署 CDN,因此,越有可能是网站的真实 ip。
# 注:不一定准确,通常用于验证
让对方服务器主动发邮件给你(注册、找回密码等功能)
旁站:同一服务器不同站点,如 123.123.123.10 下有 www.a.com 和 www.b.com 等
C 站:同网段不同服务器不同站点
如 123.123.123.10 下有 www.a.com 和 www.b.com 等
而 123.123.123.11 下有 www.c.com 和 www.d.com 等
一般同一个公司申请多个服务器时,会分配相同网段下的服务器
- 利用 nmap扫描 C 段主机存活:
nmap -sn -PE -n 192.168.1.1/24 -oX out.xml
其中
-sn 不扫描端口 -PE ICMP 扫描
- n 不进行dns 解析 -oX 输出结果
- 利用 Cwebscanner 来查询 C 段:
使用方法:python2 Cwebscan.py www.honeyjie.cn (-p80,443)
设计目的:快速扫描大型网络 / 单个主机。如何实现:使用原始 IP 报文来发现网络上有哪些主机,主机提供什么服务,操作系统,使用什么类型的报文过滤器 / 防火墙,以及其他功能。nmap 用途:常用于安全审核。许多系统管理员和网络管理员也用它来做一些日常的工作,比如查看整个网络的信息,管理服务升级计划。nmap 脚本引擎 NSE:可以添加自己的代码,打造自己的工具。
如果使用 Nmap 对台计算机进行审计,最终可以获得目标如下的信息。■目标主机是否在线。■目标主机所在网络的结构。■目标主机上开放的端口,例如 80 端口等。■目标主机所使用的操作系统,例如 Windows 7、Windows 10. Linux 2.6.18、Android 等。■目标主机上所运行的服务以及版本,例如 Apache htpd 22.14、OpenSSH 5.3p1、Debian 3、Ubuntu4 等。■目标主机上所存在的漏洞,例如弱口令、ms08067、ms10054 等。
#nmap 用法
最最常用:nmap -sV -O 192.168.0.100 // 查看端口以及操作系统类型
常用:nmap -sP 192.168.1.100 // 查看一个主机是否在线
nmap 192.168.1.100 // 查看一个主机上开放的端口
nmap -sV -O 192.168.0.100 // 判断目标操作系统类型
nmap -sS 192.168.1.100 // 半开放 syn 扫描
nmap -p 1-1000 192.168.1.100 // 扫描指定端口范围
nmap -p 80 192.168.1.100 // 扫描特定端口
nmap -sV 192.168.1.100 // 查看目标开放端口对应的协议及版本信息
1. nmap -sT 192.168.96.4 //TCP 连接扫描,不安全,慢
2. nmap -sS 192.168.96.4 //SYN 扫描, 使用最频繁,安全,快
3. nmap -Pn 192.168.96.4 // 目标机禁用 ping,绕过 ping 扫描
4. nmap -sU 192.168.96.4 //UDP 扫描, 慢, 可得到有价值的服务器程序
5. nmap -sI 僵尸 ip 目标 ip // 使用僵尸机对目标机发送数据包
6. nmap -sA 192.168.96.4 // 检测哪些端口被屏蔽
7. nmap 192.168.96.4 -p <portnumber> // 对指定端口扫描
8. nmap 192.168.96.1/24 // 对整个网段的主机进行扫描
9. nmap 192.168.96.4 -oX myscan.xml // 对扫描结果另存在 myscan.xml
10. nmap -T1~6 192.168.96.4 // 设置扫描速度,一般 T4 足够。11. nmap -sV 192.168.96.4 // 对端口上的服务程序版本进行扫描
12. nmap -O 192.168.96.4 // 对目标主机的操作系统进行扫描
13. nmap -sC <scirptfile> 192.168.96.4 // 使用脚本进行扫描,耗时长
14. nmap -A 192.168.96.4 // 强力扫描,耗时长
15. nmap -6 ipv6 地址 // 对 ipv6 地址的主机进行扫描
16. nmap -f 192.168.96.4 // 使用小数据包发送,避免被识别出
17. nmap –mtu <size> 192.168.96.4 // 发送的包大小, 最大传输单元必须是 8 的整数
18. nmap -D < 假 ip> 192.168.96.4 // 发送参杂着假 ip 的数据包检测
19. nmap --source-port <portnumber> // 针对防火墙只允许的源端口
20. nmap –data-length: <length> 192.168.96.4 // 改变发生数据包的默认的长度,避免被识别出来是 nmap 发送的。21. nmap -v 192.168.96.4 // 显示冗余信息(扫描细节)
22. nmap -sn 192.168.96.4 // 对目标进行 ping 检测,不进行端口扫描(会发送四种报文确定目标是否存活,)23. nmap -sP 192.168.96.4 // 仅仅对目标进行 ping 检测。24. nmap -n/-p 192.168.96.4 //- n 表示不进行 dns 解析,- p 表示要
25. nmap --system-dns 192.168.96.4 // 扫描指定系统的 dns 服务器
26. nmap –traceroute 192.168.96.4 // 追踪每个路由节点。27. nmap -PE/PP/PM: 使用 ICMP echo, timestamp, and netmask 请求包发现主机。28. nmap -sP 192.168.96.4 // 主机存活性扫描,arp 直连方式。29. nmap -iR [number] // 对随机生成 number 个地址进行扫描。
nmap 192.168.1.100 // 查看一个主机上开放的端口
nmap -sV -O 192.168.0.100 // 查看端口以及操作系统类型
同样装到公网云服务器上。也可以在公网搭靶场。
个人也总结了一些现在的活动,可以参考下:
windows 系统:url 中字母区分大小写
Linux 系统:url 中字母不区分大小写
- ttl 概念
TTL(生存时间)是网络发送的数据包中包含的计时器值,它告诉接收者在丢弃和过期数据(数据包)之前要保留或使用该数据包多长时间。对于不同的操作系统,TTL 值是不同的。因此,您可以根据 TTL 值确定操作系统。您可以通过 ping 地址来获取 TTL 值。每经过一个路由器,TTL 值减 1,当 TTL 值减到 0 时,路由器就会将这个包丢弃,这样就可以防止包在网路上无休止的传播发送
#最好不用虚拟机 ping,因为虚拟机 ping 配置不好不通外网,ttl 值为主机的系统对应的 ttl
下面是默认操作系统的 TTL:
1、WINDOWS NT/2000 TTL:128
2、WINDOWS 95/98 TTL:32
3、UNIX TTL:255
4、LINUX TTL:64
5、WIN7 TTL:64
则该网站大概率为 Linux 系统
该网站大概率为 windows 系统
#nmap -O www.honeyie.cn // 对目标主机的操作系统进行扫描
#nmap -sV -O 192.168.0.100 // 查看端口以及操作系统类型
windows
linux
备注:不是所有的系统都可以用这种方式扫描出操作系统的类型、在 windows 的一些高版本中无法探测
如 wordpress 就是一种 cms。cms 就是内容管理系统,也可以理解成为网站建设系统。CMS 其实是一个很广泛的称呼,从一般的博客程序,新闻发布程序,到综合性的网站管理程序都可以被称为内容管理系统。简而言之,类似于模具,渗透测试中发现某站由 cms 搭建,就相当于对方脱了一半的裤子,暴露了很多信息出来, 可以根据搜索该 cms 类型的漏洞来寻找该网站的漏洞。cms 一般有 dedecms(织梦),dzcms,phpweb,phpwind,phpcms,ecshop,dvbbs,siteweaver,aspcms,帝国,zblog,wordpress 等。一般 cms 都有特定的文件,只需要识别特定的文件便可以判断。
使用方法:
扫描单个目标:whatweb www.xxx.com
扫描多个目标,并将结果保存到 txt 文档:新建 xxx 文件,输入多个目标地址,保存,
whatweb -i xxx –log-brief=111.txt
使用:(必须带 https/http)
- pip install -r requirements.txt
- python CmsVulScan.py -u xxx.com
- python CmsVulScan.py -u xxx.com -t 200
- python CmsVulScan.py -f url.txt -t 200 -o results.txt
如:favicon.ico logo.png login.wsd bg_top.png 等等
把这些文件下载下来使用 cmd 计算 md5 值
举例:cmd 中运行 certutil -hashfile favicon.ico MD5
得到 32b016195f800b8d3e8d93fbd24583b4 |jingyi|
用指纹字典对照获取 cms 信息
渗透测试中发现某站由 cms 搭建,就相当于对方脱了一半的裤子,暴露了很多信息出来,可以根据搜索该 cms 类型的漏洞来寻找该网站的漏洞,称为 cms 漏洞
- 可以根据 cms 来查找专门的扫描工具
- www.exploit-db.com/:可以查询一些 CMS 漏洞信息和漏洞利用方式(EXP)
- 也可以直接在网上搜
Web 应用框架(Web application framework)是一种开发框架,用来支持动态网站、网络应用程序及网络服务的开发。其类型有基于请求的和基于组件的两种框架
CMS 就是将网站的栏目模型全部开发好了,用户可以直接使用了,它是一次开发
而框架只是面向程序员的,普通用户是用不了的,因为看不懂。框架就是将一些常用操作封装起来,并给合一些设计模式,用来规范和简化程序员的开发流程,是二次开发
PHP:Yii,Laravel,thinkphp
Java:shiro,struts,spring,maven
Python:flask,Django,Tornado
- 可以根据 cms 来查找专门的扫描工具
- 可以直接搜索框架相关漏洞
- 利用漏洞平台查询