0x01 - 前期信息收集
0x01 - 前期信息收集
文章目录
- **0x01 - 前期信息收集**
- **一、确定目标——被动侦察**
- 1.1 侦察的基本原则
- 1.2 开源情报
- 1.2.1 收集哪些信息
- 1.3 DNS侦察与路由映射
- 1.3.1 WHOIS
- 1.3.2 Whois反查
- 1.3.3 DNS侦察
- 1.3.4 映射路由到目标
- 1.4 子域名收集工具
- 1.5 IP、端口信息收集
- 1.5.1 IP信息收集
- 1.5 端口信息收集
- 1.5.1 常见端口介绍
- 1.5.2 **端口扫描**
- **NMAP**
- 1.6 网站信息收集
- 1.6.1 操作系统
- 1.6.2 脚本类型
- 1.6.3数据库类型
- 1.6.4 网站备份文件
- 1.6.5 目录探测
- 1.6.6 网站WAF识别
- 1.6.6 网站WAF识别
一、确定目标——被动侦察
在针对网络或目标服务器进行渗透测试或攻击时,侦察是杀链(kill chain)的第一步。在进行渗透测试时,攻击者通常会花费75%的时间来进行侦察,在侦察阶段,可以定义攻击目标,确定攻击目标的映射关系,探寻其安全漏洞,并最终达到利用目的。
侦察分类:主动侦察和被动侦察
被动侦察一般是指分析公开的信息,这些信息包括目标本身的信息、在线的公共资源信息。在获取这些信息时,测试者或攻击者不会与目标交互,他们的请求和活动不会被日志记录,也无法直接定位到测试者。因此,在被动侦察中要尽可能地减少与目标的交互,与目标的交互可能会确认攻击者身份。
侦察的基本原则
开源情报
DNS侦察与路由映射,包括IPv4和IPv6两个主题
获取用户相关信息
分析用户密码列标
1.1 侦察的基本原则
不与目标网络交互
迅速准确知道需要找寻的信息
1.2 开源情报
OSINT指的是从公共的资源,特别是互联网上进行信息收集。OSINT收集,通常对目标的官方视频会议(网站、博客、社交媒体页面,以及第三方数据存储)存在的一个讨论开始。主要信息包含:
办公室的地理位置,尤其是远程或者卫星办公室,这些办公室共享企业信息,但可能缺少严格的安全控制。
总公司和所有分公司的概述尤其是那些合并或收购的新公司(这些公司通常不会像总公司那样安全)。
公司员工名字和联系方式的信息,尤其是名字、电子邮件地址和手机号码。
公司文化和语言的暗示,这个可能导致社交工程攻击。
可能连接到目标网络的商业伙伴或者供应商
正在使用的技术。了解所使用的技术,查询相应的漏洞。
搜索引擎查询。像谷歌、必应、fofa以及Yandex等浏览器,用相应的搜索语法进行精准搜索。
1.2.1 收集哪些信息
域名信息(whois,备案信息,子域名)
服务器信息(端口,服务,真实IP)
网站信息(网站架构、操作系统、中间件、数据库、编程语言、指纹信息、WAF、敏感目录、敏感文件、源码泄露、旁站、C段)
管理员信息(姓名、职务、生日、联系电话以及邮件地址)
1.3 DNS侦察与路由映射
DNS是域名解析系统。搜索这些信息是半主动的,一些信息是免费开源的,而另一些信息来自第三方实体,例如DNS注册机构。虽然注册机构可能会手机IP地址和关于攻击者的请求数据,但是很少对外提供DNS解析服务。
不同的DNS服务器可能会有不同的权威解析结果,因此需要交叉查询多个工具进行验证。
1.3.1 WHOIS
研究IP地址空间的第一步是识别分配给目的网络的地址。通常使用whois命令来完成,该命令允许人们查询互联网资源中的相关数据库,数据库包含注册用户的域名或者IP地址。
whois查询
https://whois.aliyun.com/
https://www.whois365.com/cn/
http://whois.chinaz.com/
whois命令行查询
─(stefan㉿kali)-[~]
└─$ whois baidu.com Domain Name: BAIDU.COMRegistry Domain ID: 11181110_DOMAIN_COM-VRSNRegistrar WHOIS Server: whois.markmonitor.comRegistrar URL: http://www.markmonitor.comUpdated Date: 2022-09-01T03:54:43ZCreation Date: 1999-10-11T11:05:17ZRegistry Expiry Date: 2026-10-11T11:05:17ZRegistrar: MarkMonitor Inc.Registrar IANA ID: 292Registrar Abuse Contact Email: abusecomplaints@markmonitor.comRegistrar Abuse Contact Phone: +1.2086851750
.......
Python脚本查询
import whois domain = input("输入查询 Whois 的域名:")
data = whois.whois(domain)
print("域名:%s" % data['domain_name'])
print("邮箱:%s" % data['emails'])
print("注册人:%s" % data['org'])
print("注册时间:%s" % data['creation_date'])
print("更新时间:%s" % data['updated_date'])
1.3.2 Whois反查
whois反查,可以通过注册人、注册人邮箱、注册人手机电话反查whois信息
先通过whois获取注册人和邮箱,再通过注册人和邮箱反查域名。
缺点是很多公司的DNS解析都是运营商注册的,查到的是运营商代替个人和公司注册的网站信息。
1.3.3 DNS侦察
nslookup
dig
dnsrecon
1.3.4 映射路由到目标
路由映射最开始是一个路线诊断工具,用于查看IP数据包从一个主机到另一个主机的线路连接。通过使用IP数据包中的存活时间TTL变量,每个hop在从一点到下一点时,从接收路由器引出一个ICMP TIME_EXCEEDED消息,同时TTL字段的值减少1。数据包计算hop以及使用的路由器的数量。
从攻击者或者渗透测试的角度看,traceroute数据有以下重要数据:
攻击者与目标之间的准备路径。
关于网络外部拓扑结构的提示。
确定可能过滤攻击流的访问控制设备(防火墙和包过滤路由器)。
如果网络配置错误,可能会识别内部地址。
基于Web的tracroute: http://www.traceroute.org/
1.4 子域名收集工具
- 子域名挖掘机
- OneForAll
https://github.com/shmilylty/OneForAll - Subdomainsbrute
高并发的DNS暴力枚举工具
https://github.com/lijiejie/subDomainsBrute - Sublist3r
https://github.com/aboul3la/Sublist3r - ESD
https://github.com/FeeiCN/ESD - dnsbrute
https://github.com/Q2h1Cg/dnsbrute - Anubis
https://github.com/jonluca/Anubis - subdomain3
https://github.com/yanxiu0614/subdomain3 - teemo
https://github.com/bit4woo/teemo - Sudomy
https://github.com/screetsec/Sudomy - ARL
https://github.com/TophantTechnology/ARL - SubFinder + KSubdomain + HttpX
SubFinder:用来查询域名的子域名信息的工具,可以使用很多国外安全网站的
api接口进行自动化搜索子域名信息。
https://github.com/projectdiscovery/subfinder
HttpX:一款运行速度极快的多功能HTTP安全工具,它可以使用retryablehttp
库来运行多种网络探针,并使用了多线程机制来维持运行的稳定性和结果的准确
性。
https://github.com/projectdiscovery/httpx
ksubdomain是一款基于无状态子域名爆破工具,支持在Windows/Linux/Mac
上使用,它会很快的进行DNS爆破,在Mac和Windows上理论最大发包速度在
30w/s,linux上为160w/s的速度。
https://github.com/knownsec/ksubdomain
1.5 IP、端口信息收集
1.5.1 IP信息收集
- IP反查域名
http://stool.chinaz.com/same
https://tools.ipip.net/ipdomain.php
https://www.dnsgrep.cn/
https://site.ip138.com/
如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服 务器上面可能运行多个虚拟主机。这些虚拟主机有不同的域名,但通常共用一个IP地 址。如果你知道有哪些网站共用这台服务器,就有可能通过此台服务器上其他网站的 漏洞获取服务器控制权,进而迂回获取渗透目标的权限,这种技术也称为“旁注”。
- 域名查询IP
http://ip.tool.chinaz.com/
https://ipchaxun.com/
https://site.ip138.com/
- C段存活主机探测
查找与目标服务器IP处于同一个C段的服务器IP
nmap -sP www.xxx.com/24
nmap -sP 192.168.1.*
https://github.com/se55i0n/Cwebscanner
python Cwebscan.py www.baidu.com
- CDN简介
1.多地ping
http://ping.chinaz.com/
http://www.webkaka.com/Ping.aspx
用各种多地Ping的服务,查看对应IP地址是否唯一
2.国外访问
https://asm.ca.com/en/ping.php
因为有些网站设置CDN可能没有把国外的访问包含进去,所以可以这样绕过去
CDN绕过
1.查询子域名的IP
https://ip.tool.chinaz.com/ipbatch
CDN 流量收费高,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而 很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子 域名对应的 IP 来辅助查找网站的真实IP。
3.查询历史DNS记录
https://dnsdb.io/zh-cn/https://securitytrails.com/https://viewdns.info/iphistory/https://www.ip138.com/
1.5 端口信息收集
- 渗透端口
https://www.cnblogs.com/bmjoker/p/8833316.html
1.5.1 常见端口介绍
- FTP-21
FTP:文件传输协议,使用TCP端口20、21,20用于传输数据,21用于传输控制信息
(1)ftp基础爆破:owasp的Bruter,hydra以及msf中的ftp爆破模块。
(2) ftp匿名访问:用户名:anonymous 密码:为空或者任意邮箱
(3)vsftpd后门 :vsftpd 2到2.3.4版本存在后门漏洞,通过该漏洞获取root权限。
(4)嗅探:ftp使用明文传输,使用Cain进行渗透。(但是嗅探需要在局域网并需要
欺骗或监听网关)
(5)ftp远程代码溢出。
(6)ftp跳转攻击。
漏洞复现-vsftpd-v2.3.4:
https://www.freebuf.com/column/143480.html
ProFTPD 1.3.3c远程命令执行:
https://blog.csdn.net/weixin_42214273/article/details/82892282
FTP跳转攻击:
https://blog.csdn.net/mgxcool/article/details/48249473
- SSH-22
SSH:(secure shell)是目前较可靠,专为远程登录会话和其他网络服务提供安全性的
协议。
(1)弱口令,可使用工具hydra,msf中的ssh爆破模块。
(2)SSH后门 (https://www.secpulse.com/archives/69093.html)
(3)openssh 用户枚举 CVE-2018-15473。(https://www.anquanke.com/post/i
d/157607)
- WWW-80
为超文本传输协议(HTTP)开放的端口,主要用于万维网传输信息的协议
(1)中间件漏洞,如IIS、apache、nginx等
(2)80端口一般通过web应用程序的常见漏洞进行攻击
- NetBIOS SessionService–139/445
139用于提供windows文件和打印机共享及UNIX中的Samba服务。
445用于提供windows文件和打印机共享。
(1)对于开放139/445端口,尝试利用MS17010溢出漏洞进行攻击;
(2)对于只开放445端口,尝试利用MS06040、MS08067溢出漏洞攻击;
(3)利用IPC$连接进行渗透
- MySQL-3306
3306是MYSQL数据库默认的监听端口
(1)mysql弱口令破解
(2)弱口令登录mysql,上传构造的恶意UDF自定义函数代码,通过调用注册的恶
意函数执行系统命令
(3)SQL注入获取数据库敏感信息,load_file()函数读取系统文件,导出恶意代码到
指定路径
- RDP-3389
3389是windows远程桌面服务默认监听的端口
(1)RDP暴力破解攻击
(2)MS12_020死亡蓝屏攻击
(3)RDP远程桌面漏洞(CVE-2019-0708)
(4)MSF开启RDP、注册表开启RDP
- Redis-6379
开源的可基于内存的可持久化的日志型数据库。
(1)爆破弱口令
(2)redis未授权访问结合ssh key提权
(3)主从复制rce
- Weblogic-7001
WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于
JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应
用、网络应用和数据库应用的Java应用服务器
(1)弱口令、爆破,弱密码一般为weblogic/Oracle@123 or weblogic
(2)管理后台部署 war包后门
(3)weblogic SSRF
(4)反序列化漏洞
https://fuping.site/2017/06/05/Weblogic-Vulnerability-Verification
- Tomcat-8080
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场
合下被普遍使用,是开发和调试Servlet、JSP 程序的首选
(1)Tomcat远程代码执行漏洞(CVE-2019-0232)
(2)Tomcat任意文件上传(CVE-2017-12615)
(3)tomcat 管理页面弱口令getshell
1.5.2 端口扫描
NMAP
NMAP介绍
Network Mapper,是一款开放源代码的网络探测和安全审核的工具。
nmap参考指南(中文版)
https://nmap.org/man/zh/
功能介绍
- 检测网络存活主机(主机发现)
- 检测主机开放端口(端口发现或枚举)
- 检测相应端口软件(服务发现)版本
- 检测操作系统,硬件地址,以及软件版本
- 检测脆弱性的漏洞(nmap的脚本)
端口状态:
Open 端口开启,数据有到达主机,有程序在端口上监控
Closed 端口关闭,数据有到达主机,没有程序在端口上监控
Filtered 数据没有到达主机,返回的结果为空,数据被防火墙或IDS
过滤
UnFiltered 数据有到达主机,但是不能识别端口的当前状态
Open|Filtered 端口没有返回值,主要发生在UDP、IP、FIN、NULL和
Xmas扫描中
Closed|Filtered 只发生在IP ID idle扫描
- 基础用法
nmap -A -T4 192.168.1.1
A:全面扫描\综合扫描
T4:扫描速度,共有6级,T0-T5不加端口说明扫描默认端口,1-1024 + nmap-service
单一主机扫描:namp 192.168.1.2
子网扫描:namp 192.168.1.1/24
多主机扫描:nmap 192.168.1.1 192.168.1.10
主机范围扫描:namp 192.168.1.1-100
IP地址列表扫描:nmap –iL target.txt扫描除指定IP外的所有子网主机:
nmap 192.168.1.1/24 --exclude 192.168.1.1扫描除文件中IP外的子网主机:
nmap 192.168.1.1/24 --excludefile xxx.txt扫描特定主机上的80,21,23端口:
nmap –p 80,21,23 192.168.1.1
- 扫描全部端口
nmap -sS -v -T4 -Pn -p 0-65535 -oN FullTCP -iL liveHosts.txt• -sS:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,
效率高(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手)
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把
连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中
使用频率最高
缺点:它需要root/administrator权限执行
• -Pn:扫描之前不需要用ping命令,有些防火墙禁止ping命令。可以使用此选项
进行扫描
• -iL:导入需要扫描的列表
- 扫描常用端口及服务信息
nmap -sS -T4 -Pn -oG TopTCP -iL LiveHosts.txt系统扫描
nmap -O -T4 -Pn -oG OSDetect -iL LiveHosts.txt版本检测
nmap -sV -T4 -Pn -oG ServiceDetect -iL LiveHosts.txt
- NMAP漏洞扫描
nmap.exe -p445 -v --script smb-ghost 192.168.1.0/24
1.6 网站信息收集
1.6.1 操作系统
1.ping 判断:windows的TTL值一般为128,Linux则为64。 TTL大于100的一般为windows,几十的一般为linux。
2.nmap -O 参数
3.windows大小写不敏感,linux则区分大小写
网站服务、容器类型
- F12查看响应头Server字段
- whatweb https://www.whatweb.net/
apache ,nginx ,tomcat,IIS 通过容器类型、版本可考虑对应容器存在的漏洞(解析漏洞)
1.6.2 脚本类型
- php
- jsp
- asp/aspx
- python
1.6.3数据库类型
- mysql
- sqlserver
- access
- oracle
1.6.4 网站备份文件
网站备份文件泄露指管理员误将网站备份文件或是敏感信息文件存放在某个网站目录 下。
https://github.com/7kbstorm/7kbscan-WebPathBrute
1.6.5 目录探测
外部黑客可通过暴力破解文件名等方法下载该备份文件,导致网站敏感信息泄露。
dirsearch: https://github.com/maurosoria/dirsearch
dirmap: https://github.com/H4ckForJob/dirmap
御剑后台扫描工具
1.6.6 网站WAF识别
WAF ,即: Web Application FireWall (Web应用防火墙)。可以通俗的理解
为:用于保护网站,防黑客、防网络攻击的安全防护系统;是最有效、最直接的
Web安全防护产品。
- WAF功能
- 防止常见的各类网络攻击,如:SQL注入、XSS跨站、CSRF、网页后门等;
- 防止各类自动化攻击,如:暴力破解、撞库、批量注册、自动发贴等;
- 阻止其它常见威胁,如:爬虫、0 DAY攻击、代码分析、嗅探、数据篡改、越权
访问、敏感信息泄漏、应用层DDOS、远程恶意包含、盗链、越权、扫描等。
WAF识别
wafw00f
https://github.com/EnableSecurity/wafw00f
nmap –p80,443 --script http-waf-detect ip
nmap –p80,443 --script http-waf-fingerprint ip
看图识waf,常见WAF拦截页面总结:
https://mp.weixin.qq.com/s/PWkqNsygi-c_S7tW1y_Hxw
御剑后台扫描工具
1.6.6 网站WAF识别
WAF ,即: Web Application FireWall (Web应用防火墙)。可以通俗的理解
为:用于保护网站,防黑客、防网络攻击的安全防护系统;是最有效、最直接的
Web安全防护产品。
- WAF功能
- 防止常见的各类网络攻击,如:SQL注入、XSS跨站、CSRF、网页后门等;
- 防止各类自动化攻击,如:暴力破解、撞库、批量注册、自动发贴等;
- 阻止其它常见威胁,如:爬虫、0 DAY攻击、代码分析、嗅探、数据篡改、越权
访问、敏感信息泄漏、应用层DDOS、远程恶意包含、盗链、越权、扫描等。
WAF识别
wafw00f
https://github.com/EnableSecurity/wafw00f
nmap –p80,443 --script http-waf-detect ip
nmap –p80,443 --script http-waf-fingerprint ip
看图识waf,常见WAF拦截页面总结:
https://mp.weixin.qq.com/s/PWkqNsygi-c_S7tW1y_Hxw
0x01 - 前期信息收集相关推荐
- web渗透笔记之前期信息收集
web渗透的前期信息收集 本人小白一枚,以下内容是学习时的笔记内容,如果有错误,还望指出. 1.Whois信息 当我们准备信息收集时,首选需要知道的是目标站的域名,然后在用whois查询查找域名所属者 ...
- 渗透测试前期——信息收集
目录 概述 1.域名发现 1.1子域名枚举 1.2 巧用搜索引擎 1.3 第三方平台发现 1.4 证书透明性信息查询 1.5 DNS域传送漏洞 2.IP资源收集 2.1 CDN隐秘背后的真实秘密 2. ...
- 0x01.被动信息收集
被动信息收集 基于公开渠道,不与目标系统产生直接交互,尽量避免留下痕迹(不进行大量扫描,正常交互范围) 信息收集内容 IP段 域名 邮件地址(定位邮件服务器,分为个人搭建和公网邮件系统) 文档图片数据 ...
- 渗透测试 | UserInfo信息收集
0x00 免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规.对于传播.利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任, ...
- 渗透测试 | APP信息收集
0x00 免责声明 本文仅限于学习讨论与技术知识的分享,不得违反当地国家的法律法规.对于传播.利用文章中提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任, ...
- 细谈渗透测试的前期工作——信息收集
细谈渗透测试的前期工作--信息收集 前言 0x01 收集什么信息 0x02 作用和收集方法 总结 前言 都说学安全的,查资料找信息什么的都是基本功,收集信息的能力都是杠杠的,经常网上有什么热门的事情, ...
- 信息收集之外网信息收集
从个人的角度去简单整理下打点前的信息收集那些事.从信息收集本质上来说多数内容都是大同小异,遇到坚壁时,不用死磕,毕竟条条大路通罗马.(大佬们也可以说说看法~向各位大佬学习!!) Tell Me 想要构 ...
- 信息收集道道之外网信息收集
#信息收集道道之外网信息收集 从个人的角度去简单整理下打点前的信息收集那些事.从信息收集本质上来说多数内容都是大同小异,遇到坚壁时,不用死磕,毕竟条条大路通罗马(大佬们也可以说说看法~向各位大佬学习! ...
- JS文件信息收集工具-LinkFinder
0x00 前言 我们在渗透测试的之前,信息收集是必要的步骤,而JS文件中往往会暴露出很多的信息,比如一些注释的中铭感信息,内网ip地址泄露等等,还会有一些绝对路径或者相对路径的url,而这些url中很 ...
最新文章
- javascript2008
- 矩阵对抗与漏洞补丁201001(第4期)
- php ttf 字体 url,window_TTF字体文件如何安装 TTF文件打不开解决方法,TTF文件是Windows系统下的字体文 - phpStudy...
- 用Java 编写菜单价格和的程序_使用JAVA 编写一个程序,显示5中商品价格,用户可以选择多种商品并在其后的文本框输入购买的数量。...
- oracle连续周数,详细讲解Oracle数据库的“周数计算”
- 编写Python高质量代码,资深程序员的 91 个建议
- 讲讲你理解的服务治理
- 关于ThreadPool.RegisterWaitForSingleObject和WaitHandle的应用介绍
- lvm(逻辑卷--可扩展存储设备)
- 解决Android 输入法InputMethodService 显示时让原Activity大小计算错误问题
- [World Final 2016] Branch Assignment
- 09-部署配置kubedns插件
- 在spring管理的类的要注意问题
- BFS+模拟 ZOJ 3865 Superbot
- 计算机组成与系统结构习题
- DialogBox和DialogBoxParam函数
- ubuntu18.04播放MP4
- 使用超临界二氧化碳的晶圆清洗技术
- MATLAB的.fig文件打不开——有效解决
- 熟女给老实木讷男孩的恋爱建议(转帖)
热门文章
- python读取.txt、.dat等文件,将其中特定内容存到其他文件
- 苹果/Mac Fn功能键的作用是什么?Fn键使用小技巧有哪些
- [ Azure | Az-900 ] 基础知识点总结(二) - 核心组件服务
- 阿拉伯数字跟中文汉字互转js
- 一款高效读书笔记app推荐
- HttpClient 设置cookie的问题
- 苹果app文件连接服务器有什么用,苹果曾经最鸡肋的功能,终于更新了!
- Java 入门之1:浅谈Java的最基本概念及JDK、JRE、JVM之间的关系和区别
- 抓住元宇宙的劲风,谁在点燃虚拟经济?
- android_app开发微信支付集成