目录
系统层面
操作系统判断:
TTL值判断系统:
TTL值全称是“ ⽣存时间(Time To Live)” ,简单的说它表示DNS记录在DNS服务器上缓存时 间;
TTL是数据包⽣存周期,根据减少的数可以判断经过了多少中间设备;
默认情况下的值:
WINDOWS NT/2000 TTL : 128
WINDOWS 95/98 TTL : 32
UNIX TTL : 255
LINUX TTL : 64
WIN7 TTL : 64 windows 11 也是 64
⼤⼩写判断:Linux 对⼤⼩写敏感, windows 对⼤⼩写不敏感
判断⽅式:改变 URL 中的⼤⼩写进⾏判断;
Nmap系统指纹识别:
原理:通过 TCP/IP 数据包发到⽬标主机,由于每个操作系统类型对于处理 TCP/IP 数据包都不相同,所以可 以通过之间的差别判定操作系统类型;
识别⽅法⼀:command:nmap -sS -Pn -O ip
nmap 识别操作系统指纹必须使⽤端⼝,所以不允许添加-sn 参数
识别⽅法⼆:command:nmap -sS -sV ip
每个操作系统都有特定的服务和端⼝;
windows 桌⾯连接使⽤的 3389 端⼝, rdp 协议
445 端⼝ windows 的 smb 协议开启端⼝
linux 系统远程连接 22 端⼝, ssh 协议
开放端⼝判断:
默认端⼝:
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 域名系统
67/68--> DHCP 服务
161--> SNMP 协议
特殊服务端⼝:
2181--> Zookeeper 服务- 分布式应⽤程序协同服务
8069--> Zabbix 服务- 基于 WEB 界⾯的提供分布式系统监视以及⽹络监视功能的企业级的开源解决 ⽅案
9200/9300--> Elasticsearch 服务---分布式多⽤户能⼒的全⽂搜索引擎
11211--> Memcache 服务---分布式的⾼速缓存系统
873--> Rsync 服务--linux 系统下的数据镜像备份⼯具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 默认端⼝未授权访问
端⼝扫描:
当确定了⽬标⼤概的ip段后,可以先对ip的开放端⼝进⾏探测,⼀些特定服务可能开起在默 认端⼝上,探测开放端⼝有利于快速收集⽬标资产,找到⽬标⽹站的其他功能站点;
1. masscan端⼝扫描
masscan 是为了尽可能快速的扫描整个互联⽹⽽创建的,根据其作者 robert graham 描述 可以不到 6 分钟内完成每秒⼤约 1000 万个数据包
项⽬地址:https://github.com/robertdavidgraham/masscan
使⽤⽅式:
单端⼝扫描 masscan 10.11.0.0/16 -p443
多端⼝扫描:masscan 10.11.0.0/16 -p80,443
扫描⼀系列端⼝:masscan 10.11.0.0/16 -p22-25
快速扫描:默认情况下, masscan 扫描的速度为每秒 100 个数据包,为了增加这⼀点,只需提供该-rate 选项并 指定⼀个值
masscan 10.11.0.0/16 --top-ports 100 -rate 100000
排除⽬标:为了更好的,愉快的玩耍,必要时要对扫描⽬标进⾏排除
masscan 10.11.0.0/16 --top-ports 100 --excluedefile exclude.txt
保存扫描结果:可以使⽤标准的 unix 重定向器将扫描结果输⼊到⼀个⽂件中
masscan 10.11.0.0/16 --top-ports 100 > result.txt
⽀持的输出格式:
-oX filename : 将扫描结果保存到 xml 格式的⽂件中
-oG filename : 将扫描结果保存到 grepable 格式的⽂件中
-oJ filename : 将扫描结果保存到 json 格式的⽂件中
Nmap 功能:
-iL filename : 从⽂件中读取输⼊
–exclude filename : 在命令⾏中排除⽹络
–excludefile : 从⽂件中排除⽹络
-S : 欺骗源 IP
-v interface : 详细输出
-vv interface : 使⽤⾮常冗⻓的输出
-e interface : 使⽤指定的接⼝
扫描⼗⼤端⼝:
masscan 10.11.0.0/16 -top-ten -rate 100000
暂停和恢复
当⽤户按下 ctrl+c 来终⽌扫描是, masscan 会⽣成⾃动 paused.conf ⽂件 该⽂件具有扫描的所有设置和进度,我们可以使⽤–resume paused.conf 选项来进⾏扫描的恢复
2. 御剑端⼝扫描⼯具
3. 在线端⼝探测
在线⼯具:http://coolaf.com/tool/port
4. Namp扫描探测
中间件判断:
常 ⻅的中间件有:IIS、Apache、Nginx、Tomcat、Weblogic、Jboss、WebSphere、Jetty...
判断⽅法:
1. HTTP 相应数据包中查看 Server 字段 * BP 抓包 * F12 * curl http://www.baidu.co m -i > ip.txt
2. 根据报错信息判断,访问不存在⻚⾯
3. 根据默认⻚⾯判断, “Welcome to nginx”
4. 通过端⼝服务探测, Tomcat/Jboss-->8080 端⼝ Weblogic-->7001 端⼝
数据库判断:
直 Markdown 接扫描全端⼝....
数据库默认端⼝:
SQl Server --> 1433
MySQL --> 3306
Oracle --> 1521
DB2 --> 5000
PostGreSQL --> 5432
MongoDB --> 27017
Redis --> 6379
Namp扫描使用:
Namp是⼀款开源免费的⽹络发现( Network Discovery )和安全审计(Security)⼯具,软件名字 Nmap是 Network Mapper 的简称。最初是由Fyodor在1997年开始创建的,随后在开源社区的志愿 者参与下,该⼯具逐渐成为最流⾏安全必备⼯具之⼀
⿊客⼊侵⼤体可以分为3个过程: 信息收集 、 弱点分析 、 执⾏⼊侵 ;其中Namp既可以⽤于⿊客 前期收集主机信息,也可以⽤于管理员了解⽹络情况,甚⾄还可以弱点扫描,总体⽽⾔,Namp提供这 ⼏种功能:主机发现,端⼝扫描,操作系统识别,服务识别,脚本扫描
主机发现技术:
主机发现是为了发现⽹段内的活跃主机( 活跃主机 是指这台主机是运⾏状态)这是⿊客扫描第⼀ 步。主机发现原理如下表:
由此可以看出来:
ARP 扫描:是最精准的扫描⽅式,并不会被过滤,因此会被强制使⽤。
ICMP 扫描:是最常⻅的扫描⽅式,和 ping 命令原理⼀致,但现在很多防⽕墙和 IPS 设备会禁⽤ ICMP 扫描,使得 ICMP 主机发现失败
端⼝扫描:是另⼀种发现主机的⽅式,准确且不容易被防⽕墙过滤,这种⽅式经常被使⽤
端⼝扫描技术:
Nmap的端⼝扫描可以分为TCP端⼝扫描和UDP端⼝扫描;由于TCP能够提供更多的协议字段,因此 TCP端⼝扫描更精准,如今的端⼝扫描技术主要是指TCP端⼝扫描,在TCP端⼝扫描技术中,探测报⽂ 组合不同flags位,不同的flags在端⼝开放、端⼝关闭、防⽕墙过滤时的响应是不⼀样的,通过区分不 同的响应来探测端⼝的状态,具体如下所示 (tcp flags有 syn 、 ack 、 rst 、 fin 、 psh 、 urg 共6种位置)
由此可以看出:
最常⽤的扫描⽅式是-sS 扫描,快速、精准,且⽆⽇志
-sT ⽅式最精准,但有⽇志记录
-sA/-sW 能够识别是否有防⽕墙,对于识别 windows 防⽕墙⾮常有效
其他扫描技术:
Nmap还包括操作系统指纹识别技术、服务识别技术、防⽕墙绕过技术以及NSE(Namp Scripting Engine)脚本引擎
注意点1-扫描⽅式:
如果在同⼀⽹段,则⽆论主机发现参数如何指定, Nmap 都是⽤ ARP 扫描完成主机发现
如果未指定主机发现⽅式,则使⽤-sn 参数进⾏主机发现
如果未指定端⼝扫描⽅式,则使⽤-sS 参数进⾏端⼝扫描
-Pn 参数可忽略主机发现阶段
不指定端⼝,默认值扫描最有可能的 1000 个端⼝
注意点2-防⽕墙影响:
了解防⽕墙相关技术会帮助更好的使⽤ Nmap ,防⽕墙的以下技术会影响 Nmap 使⽤
Nmap常⽤命令:
WAF&CDN:
Web应⽤防护系统(也称为:⽹站应⽤级⼊侵防御系统。英⽂:Web Application Firewall,简称: WAF)。利⽤国际上公认的⼀种说法:Web应⽤防⽕墙是通过执⾏⼀系列针对HTTP/HTTPS的安全策略来专⻔为Web应⽤提供保护的⼀款产品。
硬WAF:天融信WAF/阿⾥云WAF/腾讯云WAF/⽹御星云WAF
软WAF:安全狗/D盾/护卫神/云锁/360加速乐/....
WAF识别:
1. 攻击拦截:
测试⽬标:https://www.gkong.com/co/delta/company.asp?c_id=11' 使⽤攻击语句查看是否有 拦截
2. Nmap识别:
执⾏命令:nmap -p 80,443 --script=http-waf-detect ⽬标主机
nmap -p 80,443 --script=http-waf-fingerprint ⽬标主机(精度更⾼)
3. Wafw00f:
项⽬地址:https://github.com/enablesecurity/wafw00f
执⾏命令:
Linux:wafw00f www.baidu.com
windows:python3 setup.py install
cd wafw00f
python3 main.py www.baidu.com
4. IdentYwaf:
identYwaf 是⼀种识别⼯具,可以基于盲推理识别 Web 保护类型(即 WAF ) ;
项⽬地址:http:// https://github.com/stamparm/identywaf
执⾏命令:语法: python3 identYwaf.py ip/url
5. 看图识别:
链接:http:// https://mp.weixin.qq.com/s/3uUZKryCufQ_HcuMc8ZgQQ
CDN绕过:
CDN的全称是 Content Delivery Network,即内容分发⽹络,基本思路就是通过在⽹络各处 放置节点服务器所构成的在现有的互联⽹基础之上的⼀层智能虚拟⽹络,CDN核⼼的就是使⽤户 可就近访问⽹络,取得所需内容,解决⽹络拥挤的状况,提⾼⽤户访问⽹站的响应速度或者⽤户下 载速度。⼀般来说,⽹站开启CDN之后,会根据⽤户所在地的不同访问CDN的节点服务器,并不 直接访问源服务器,这样可以减少⽹站服务器宽带资源,降低服务器压⼒,可以提升⽤户体验。这 也就是⼤家都在ping百度,但是不同地区得到的反馈ip不⼀样的原因。其次,由于CDN节点的阻挡 防护,可以更好的保护员服务器的安全。具体来说,CDN其实是充当了⼀个替身的⻆⾊,⽆论服 务器是渗透还是DD0S攻击,攻击的⽬标都将是CDN节点,这样⼀来便间接的保护了⽹站本身;
常⻅的有:Cloudflare、yunjiasu其优点如下:
增快⽤户访问主站点的速度
能够防护主站点避免遭到攻击
CDN验证:
使 ⽤各种多地 ping 的服务,查看对应 IP 地址是否唯⼀,如果不唯⼀,多半是使⽤了CDN;
国内在线:
CDN 云观测:http:// http://cdn.chinaz.com/
超级 ping :http:// http://ping.chinaz.com/
爱站:http:// https://ping.aizhan.com/
17ce :http:// https://www.17ce.com/
国外在线:
cdnplanet :http:// https://www.cdnplanet.com/tools/cdnfinder/
站⻓⼯具:http:// http://tool.chinaz.com/speedworld/
ping :http:// http://www.ping.pe/
全球:
ipip :http:// https://tools.ipip.net/httphead.php
wepcc :http:// https://www.wepcc.com/
⽅式⼆:Nslookup:
使⽤ nslookup 进⾏检测,原理同ping,如果返回域名解析对应多个 IP 地址多半是使⽤了 CDN;
Command:nslookup www.baidu.com
CDN绕过:
⽅式⼀:查询历史DNS记录
查 看 IP 与 域名绑定的历史记录,可能会存在使⽤ CDN 前的记录;
查询⽹站:
DNS 查询:https://dnsdb.io/zh-cn/
在线域名信 息查询:http://toolbar.netcraft.com/site_report?url=
DNS 、 I P 等查询:http://viewdns.info/
CDN 查询 IP:https://tools.ipip.net/cdn.php
⽅式⼆:SecurityTrails平台:
只需在搜索字段中输⼊⽹站域名,然后按Enter键即可,这时“ 历史数据” 就可以在左侧的菜 单中找到。SecurityTrails平台除了过去的DNS记录,即使是当前的记录也可能泄漏原始服务器 IP。例如,MX记录是⼀种常⻅的查找IP的⽅式。如果⽹站在与web相同的服务器和IP上托管⾃⼰ 的邮件服务器,那么原始服务器IP将在MX记录中;
官⽹地址:https://securitytrails.com/
⽅式三:在线⽹站获取:
http:// https://get-site-ip.com/
⽅式四:查询⼦域名:
毕竟 CDN 还是不便宜的,所以很多站⻓可能只会对主站或者流量⼤的⼦站点做了 CDN,⽽很多 ⼩站⼦站点⼜跟主站在同⼀台服务器或者同⼀个C段内,此时就可以通过查询⼦域名对应的 IP 来 辅助查找⽹站的真实IP。
⽅式五:⽹络空间搜索引擎:
利⽤⽹站返回的内容寻找真实原始IP,如果原始服务器IP也返回了⽹站的内容,那么可以在⽹上 搜索⼤量的相关数据;
⽅式六:ICO图标搜索真实IP:
下载图标 放到 fofa 识别:http:// https://www.t00ls.net/favicon.ico
⽅式七:利⽤SSL证书寻找真实原始IP:
假如你在xyz123boot.com上托管了⼀个服务,原始服务器IP是136.23.63.44。 ⽽ CloudFlare则会为你提供DDoS保护,Web应⽤程序防⽕墙和其他⼀些安全服务,以保护你的服 务免受攻击。为此,你的Web服务器就必须⽀持SSL并具有证书;
此时CloudFlare与你的服务器之间的通信,就像你和CloudFlare之间的通信⼀样,会被加密 (即没有灵活的SSL存在)。这看起来很安全,但问题是,当你在端⼝443 (https://136.23.63.44:443)上直接连接到IP时,SSL证书就会被暴露;
⽅式⼋:使⽤国外主机解析域名:
国内很多 CDN ⼚商因为各种原因只做了国内的线路,⽽针对国外的线路可能⼏乎没有,此时我们使⽤ 国外的主机直接访问可能就能获取到真实 IP
⽅式九:⽹站漏洞查找:
⽬标敏感⽂件泄露,例如: phpinfo 之类的探针、 GitHub 信息泄露等;
XSS 盲打,命令执⾏反弹 shell , SSRF 等;
⽆论是⽤社⼯还是其他⼿段,拿到了⽬标⽹站管理员在 CDN 的账号,从⽽在从 CDN 的配置中找到⽹站 的真实 IP ;
⽅式⼗:F5 LTM解码法:
当服务器使⽤ F5 LTM 做负载均衡时,通过对 set-cookie 关键字的解码真实 ip 也可被获取,例如: Set-Cookie: BIGipServerpool_8.29_8030=487098378.24095.0000 ,先把第⼀⼩节的⼗进 制数即 487098378 取出来,然后将其转为⼗六进制数 1d08880a ,接着从后⾄前,以此取四位数出来, 也就是 0a.88.08.1d ,最后依次把他们转为⼗进制数 10.136.8.29 ,也就是最后的真实 ip ;
⽅式⼗⼀:APP抓包:
模拟器下载 APP ,访问, burp 抓包
⽅式⼗⼆:微信⼩程序抓包:
模拟器登录微信,访问⼩程序, burp 抓包;
其他信息收集
社会⼯程学:
在 tg 找社⼯机器⼈查找密码信息 或本地的社⼯库查找邮箱或者⽤户的密码或密⽂,组合密码在进⾏猜 解登录;
推荐社⼯⼈⾁查询机器⼈: @FreeSGKbot
输⼊激活码 SGKVHWWOSX 即可免费使⽤
加⼊链接:https://t.me/FreeSGKbot?start=SGKVHWWOSX
社⼯库
Telegrame --> 搜索引擎 -- 》 免费的社⼯库 ---> /qq 123456
⾮常规操作:
1 、如果找到了⽬标的⼀处资产,但是对⽬标其他资产的收集⽆处下⼿时,可以查看⼀下该站点的 body ⾥是否有⽬标的特征,然后利⽤⽹络空间搜索引擎(如 fofa 等)对该特征进⾏搜索,如: body="XX 公司”或 body="baidu" 等;
该⽅式⼀般适⽤于特征明显,资产数量较多的⽬标,并且很多时候效果拔群;
2 、当通过上述⽅式的找到 test.com 的特征后,再进⾏ body 的搜索,然后再搜索到 test.com 的时 候,此时 fofa 上显示的 ip ⼤概率为 test.com 的真实 IP ;
3 、如果需要对政府⽹站作为⽬标,那么在批量获取⽹站⾸⻚的时候,可以⽤上:
http://114.55.181.28/databaseInfo/index
之后可以结合上⼀步的⽅法进⾏进⼀步的信息收集;
APP信息收集:
抓包精灵:https://m.cr173.com/mipx/277701.html
APP 软件搜索:https://www.qimai.cn/
资产管理⼯具
1. Goby:
介绍:
通过先将⽬标⽹络 IT 资产进⾏规则分析建⽴知识库,在发⽣安全事件时能够在最短时间内完成安全应急 的新技术。区别于传统的端⼝扫描与漏洞扫描, Goby 只针对受影响的⼩范围进⾏漏洞应急,所以这种 ⽅式速度最快,对⽬标⽹络影响最⼩;
使⽤:
地址:http:// https://gobies.org/
⻝⽤指南:http:// https://mp.weixin.qq.com/s/G-Vn4htAhjwlJb67v2TtRw
2. ARL:
介绍:
旨在快速侦察与⽬标关联的互联⽹资产,构建基础资产信息库。 协助甲⽅安全团队或者渗透测试⼈员有效侦察和检索资产,发现存在的薄弱点和攻击⾯
地址:http:// https://github.com/TophantTechnology/ARL
3. Autoearn:
介绍:
⼀个利⽤ OneForAll ( https://github.com/shmilylty/OneForAll )进⾏⼦域收集、 Shoda n API 端⼝扫描、 进⾏ WAF 指纹识别、 Xray ( https://xray.cool/xray/ )漏洞 Fuzz 、 Server 酱的⾃动化漏洞扫描、由 Flask ⽀撑⼀个简单可视化界⾯,即时通知提醒的漏洞挖掘辅助⼯具,本质上 更像是⼀个流程框架,完成各⼯具之前的⾃动化联动过程;
地址:http://ttps://github.com/Echocipher/AUTO-EARN
4. Tide-Mars:
介绍:
主要功能:客户管理、资产发现、⼦域名枚举、 C 段扫描、资产变更监测、端⼝变更监测、域名解析变 更监测、 Awvs 扫描、 POC 检测、 web 指纹探测、端⼝指纹探测、 CDN 探测、操作系统指纹探测、泛解析 探测、 WAF 探测、敏感信息检测等等。⽬前被动扫描准备对接 xray+wascan ,准备⼆期开源该功能及 其他若⼲功能;
地址:http:// https://github.com/TideSec/Mars
5. Bayonet:
介绍:
bayonet 是⼀款 src 资产管理系统,从⼦域名、端⼝服务、漏洞、爬⾍等⼀体化的资产管理系统;
地址:http:// https://github.com/CTF-MissFeng/bayonet
6. Bufferfly:
介绍:
攻防演习 / 渗透测试资产处理⼩⼯具,对攻防演习 / 渗透测试前的信息搜集到的⼤批量资产 / 域名进⾏存 活检测、获取标题头、语料提取、常⻅ Web 端⼝检测等;