前期信息收集
信息收集简介
信息收集
信息收集是指通过各种方式获取所需要的信息,以便我们在后续的渗透过程更好的进行。比如目标站点IP、中间件、脚本语言、端口、邮箱等等。信息收集包含资产收集但不限于资产收集。
信息收集的意义
- 信息收集是渗透测试成功的保障
- 更多的暴露面
- 更大的可能性
信息收集分类
- 主动信息收集
通过直接访问网站在网站上进行操作、对网站进行扫描等,这种是有网络流量经过目标服务器的信息收集方式。
- 被动信息收集
基于公开的渠道,比如搜索引擎等,在不与目标系统直接交互的情况下获取信息,并且尽量避免留下痕迹。
收集的信息
- 域名信息(whois、备案信息、子域名)
- 服务器信息(端口、服务、真实IP)
- 网站信息(网站架构、操作系统、中间件、数据库、编程语言、指纹信息、WAF、敏感目录、敏感文件、源码泄露、旁站、C段)
- 管理员信息(姓名、职务、生日、联系电话、邮件地址)
域名信息收集
域名介绍
域名(Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。
DNS(域名系统,Domain Name System)是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。
域名分类
顶级域名 | 二级域名 | 三级域名 |
---|---|---|
.com | 百度.com | www.百度.com |
政府域名 | 商业域名 | 教育域名 |
---|---|---|
.gov | .com | .edu |
二级域名是指顶级域名之下的域名,在国际顶级域名下,它是指域名注册人的网上名称,例如 ibm,yahoo,microsoft等;在国家顶级域名下,它是表示注册企业类别的符号,例如com,top,edu,gov,net等
Whois
WHOIS协议
Whois 是用来查询域名的IP以及所有者等信息的传输协议。就是一个用来查询域名是否被注册,以及注册域名的详细信息的数据库(如域名所有人,域名注册商)
Whois 简单来说,就是一个用来查询域名是否已经被注册,以及注册域名的详细信息的数据库(如域名所有人、域名注册商、域名注册日期和过期日期等)。通过域名 Whois 服务器查询,可以查询域名归属者联系方式,以及注册和到期时间
- Whois 查询的用处
通过 Whois 查询可以获得域名注册者邮箱地址等信息。一般情况下对于中小型网站域名注册者就是
网站管理员。利用搜索引擎对 Whois 查询到的信息进行搜索,获取更多域名注册者的个人信息。
- Whois 工作过程
WHOIS服务是一个在线的 “请求/响应” 式服务。 WHOIS Server 运行在后台监听 43 端口,当Internet用户搜索一个域名(或主机、联系人等其他信息)时,WHOIS Server首先建立一个与Client的TCP连接,然后接收用户请求的信息并据此查询后台域名数据库。如果数据库中存在相应的记录,它会将相关信息如所有者、管理信息以及技术联络信息等,反馈给Client。待Server输出结束,Client关闭连接,至此,一个查询过程结束。
whois查询
- web接口查询
https://whois.aliyun.com/
https://www.whois365.com/cn/
http://whois.chinaz.com/
- whois命令行查询
[root@kvm ~ whois hetianlab.com
Domain Name: HETIANLAB.COM
Registry Domain ID: 1919907269_DOMAIN_COM-VRSN
Registrar WHOIS Server: grs-whois.hichina.com
Registrar URL: http: www.net.cn
Updated Date: 2022-02-18T01:48:09Z
Creation Date: 2015-04-15T03:30:41Z
Registry Expiry Date: 2023-04-15T03:30:41Z
Registrar: Alibaba Cloud Computing (Beijing) Co., Ltd.
Registrar IANA ID: 420
Registrar Abuse Contact Email: DomainAbuse@service.aliyun.com
Registrar Abuse Contact Phone: 86.95187
Domain Status: ok https: icann.org/epp#ok
Name Server: DNS10.HICHINA.COM
Name Server: DNS9.HICHINA.COM
DNSSEC: unsigned
URL of the ICANN Whois Inaccuracy Complaint Form:
https: www.icann.org/wicf/
Last update of whois database: 2022-02-17T07:50:06Z
- python脚本查询
#pip3 install python-whois
import whois
domain = input("输入查询 Whois 的域名:")
data = whois.whois(domain)
print(f"域名:{data['domain_name']}")
print(f"邮箱:{data['emails']}")
print(f"注册人:{data['org']}")
print(f"注册时间:{data['creation_date']}")
print(f"更新时间:{data['updated_date']}")
import socket
domain = input("输入查询 Whois 的域名:")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('Whois.internic.net', 43))
s.send(f'{domain} \r\n'.encode())
while True:
v = s.recv(1024)
if not v:
break
v1 = v.decode()
print(v1)
s.close()
Whois反查
whois 反查,可以通过注册人、注册人邮箱、注册人手机电话反查 Whois 信息
WHOIS反查,是指可以通过一个已知域名的WHOIS信息中的部分信息作为条件反过来查询与此条件相匹配的一系列其它域名列表情况。借此我们可以知道该注册人拥有哪些域名,或者说是拥有哪些站点,那些域名的注册信息具体是什么等等相关信息,因此WHOIS反查也可称之为域名反查。
- Whois反查方式
(1)根据已知域名反查,分析出此域名的注册人、邮箱、电话等字段;
(2)根据已知域名 WHOIS 中的注册邮箱来反查得出其它域名 WHOIS 中注册邮箱与此相同的域名列表;
(3)根据已知域名 WHOIS 中的注册人来反查得出其它域名 WHOIS 中注册人与此相同的域名列表;缺点:很多公司都是DNS解析的运营商注册的,查到的是运营商代替个人和公司注册的网站信息。
https: whois.chinaz.com/
- 域名反查:https://whois.chinaz.com/reverse?ddlSearchMode=0
- 邮箱反查:https://whois.chinaz.com/reverse?ddlSearchMode=1
- 注册人反查:https://whois.chinaz.com/reverse?ddlSearchMode=2
- 电话反查:https://whois.chinaz.com/reverse?ddlSearchMode=3
备案信息
备案号是网站是否合法注册经营的标志,可以用网页的备案号反查出该公司旗下的资产。
https://beian.miit.gov.cn/
http://icp.chinaz.com/
https://icplishi.com/
子域名
子域名简介
子域名指二级域名, 二级域名是顶级域名(一级域名)的下一级。
比如 mail.heetian.com 和 bbs.heetian.com 是 heetian.com 的子域,而heetian.com 则是顶级域名 .com 的子域。
GoogleHacking
https://www.exploit-db.com/谷歌-hacking-database
- 高级搜索语法
字符 | 注释 | 例子 | 注释 |
---|---|---|---|
intext | 寻找正文中含有关键字的网页 | intext:后台登录 | 将只返回正文中包含"后台登录" 的网页 |
intitle | 寻找标题中含有关键字的网页 | intitle:后台登录 | 将只返回标题中包含"后台登录" 的网页, intitle:后台登录 密码 将返回标题中包含"后台登录"而正文中包含密码的网页 |
allintitle | 用法和intitle类似,只不过可以指定多个词 | alltitle:后台登录 管理员 | 将返回标题中包含"后台登录" 和 “管理员” 的网页 |
inurl | 将返回url中含有关键词的网页 | inurl:Login | 将返回 url 中含有Login 的网页 |
allinurl | 用法和inurl类似,只不过可以指定多个词 | allinurl:Login admin | 将返回 url 中含有Login 和admin 的网页 |
site | 指定访问的站点 | site:百度.com inurl:Login | 将只在 百度.com中查找 url 中含有Login 的网页 |
filetype | 指定访问的文件类型 | site:百度.com filetype:pdf | 将只返回百度.com 站点上文件类型为 pdf 的网页 |
link | 指定链接的网页 | link:www.百度.com | 将返回所有包含指向www.百度.com的网页 |
related | 相似类型的网页 | related:www.xjtu.edu.cn | 将返回与www.xjtu.edu.cn相似的页面,相似指的是网页的布局相似 |
info | 返回站点的指定信息 | info:www.百度.com | 将返回百度的一些信息 |
define | 返回某个词语的定义 | define:Hacker | 将返回关于 Hacker的定义 |
cache | 网页快照,谷歌将返回给你它存储下来的历史页面 | cache:www.hackingspirits.comguest | 将返回指定网站的缓存,并且正文中含有guest |
- 例子
语法 | 注释 |
---|---|
inurl: admin/login.php | 查找管理员登录页面 |
inurl:/phpmyadmin/index.php | 查找后台数据库管理页面 |
site:百度.com inurl:Login | 只在百度.com 中查找url中含有 Login的网页 |
site:百度.com filetype:pdf | 只返回百度.com站点上文件类型为pdf的网页 |
link:www.百度.com | 返回所有包含指向www.百度.com的网页 |
related:www.llhc.edu.cn | 返回与www.llhc.edu.cn网页布局相似的页面 |
site:xx.com intext:管理 site:xx.com inurl:loginsite:xx.com intitle:后台 | 查找网站后台 |
site:xx.com filetype:php site:xx.com filetype:asp site:xx.com filetype:jsp site:xx.com filetype:aspx | 查看服务器使用的程序 |
site:xx.com inurl:file site:xx.com inurl:load | 查看上传漏洞 |
- Index of
利用 Index of 语法去发现允许目录浏览的 web 网站,就像在本地的普通目录一样。下面是一些有趣的查询:
index of /admin
index of /passwd
index of /password
index of /mail
“index of /” passwd
“index of /” password.txt
“index of /” .htaccess
“index of /root”
“index of /cgi-bin”
“index of /logs”
“index of /config”
第三方Web接口
https://dnsdumpster.com/
https://www.dnsgrep.cn/
https://developers.virustotal.com/reference/domains-relationships
http://tool.chinaz.com/subdomain
https://phpinfo.me/domain/
https://www.nmmapper.com/sys/tools/subdomainfinder/
网络空间安全搜索引擎
资产测绘平台是针对互联网的公开信息资产进行定期的资产探测,通过长期的互联网资产收集,结合数据分析手段,可以快速的针对目标资产进行资产收集,以这样的方式,现对网络空间资产的准确识别、发现与安全检测,从而掌握网络空间资产安全风险态势,提升资产安全治理水平,降低资产安全维护管理成本
- FOFA
FOFA 是白帽汇推出的一款网络空间搜索引擎,它通过进行网络空间测绘,能够帮助研究人员或者企业迅速进行网络资产匹配,例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。
https://fofa.info/
domain=“hetianlab.com”
- 鹰图
奇安信网络空间测绘平台(简称HUNTER平台),可对全球暴露在互联网上的服务器和设备进行:资产探测、端口探活、协议解析、应用识别。通过网络空间测绘技术,将地理空间、社会空间、网络空间相互映射,将虚拟的网络空间绘制成一幅动态、实时、有效的网络空间地图,实现互联网资产的可查、可定位,帮助客户解决互联资产暴露面梳理的难题。
https://hunter.qianxin.com/
domain:“hetianlab.com”
- 钟馗之眼
钟馗之眼 ZoomEye 是启明星辰推出的一个检索网络空间节点的搜索引擎。通过后端的分布式爬虫引擎对全球节点的分析,对每个节点的所拥有的特征进行判别,从而获得设备类型、固件版本、分布地点、开放端口服务等信息。
https://www.zoomeye.org/
site:“hetianlab.com”
- shodan
https://www.shodan.io/
hostname:百度.com
SSL证书查询
https://crt.sh/
https://developers.facebook.com/tools/ct/search/
JS文件发现子域名
https://github.com/Threezh1/JSFinder
子域名收集工具
- 子域名挖掘机
https://github.com/euphrat1ca/LayerDomainFinder
- OneForAll
https://github.com/shmilylty/OneForAll
- Subdomainsbrute
高并发的DNS暴力枚举工具
https://github.com/lijiejie/subDomainsBrute
python3 subDomainsBrute.py -w -t 100 hetianlab.com
- ESD
https://github.com/FeeiCN/ESD
https://yuque.com/esd
pip3 install esd
esd -d hetianlab.com
- 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
#subfinder基本使用
subfinder -d 域名 -o output.txt
#ksubdomain基本使用
ksubdomain -d 百度.com
#HttpX基本使用
httpx -l 域名列.txt -title -content-length -status-code
#管道操作
subfinder -d 百度.com -silent|ksubdomain -verify -silent|httpx -title -content-length -status-code
#可以用管道结合在一起配合工作。达到收集域名,验证域名,http验证存活目的。
IP、端口信息收集
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/
知道一个站点的域名需要得到它的IP以便之后获取端口信息或扫描等后续工作。
- C段存活主机探测
查找与目标服务器IP处于同一个C段的服务器IP
nmap -sP www.XXX.com/24
nmap -sP 192.168.1.*
https://github.com/se55i0n/Cwebscanner
python Cwebscan.py www.hetianlab.com
- CDN简介
https://zhuanlan.zhihu.com/p/52362950
https://baike.百度.com/item/内容分发网络/4034265
CDN即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率
-
CDN判断
-
多地ping
http://ping.chinaz.com/
https://ping.aizhan.com/
http://www.webkaka.com/Ping.aspx
用各种多地 ping 的服务,查看对应 IP 地址是否唯一
-
国外访问
https: ping.eu/ping/
因为有些网站设置CDN可能没有把国外的访问包含进去,所以可以这么绕过
-
-
CDN绕过
-
查询子域名的IP
https://ip.tool.chinaz.com/ipbatch
CDN 流量收费高,所以很多站长可能只会对主站或者流量大的子站点做了 CDN,而很多小站子站点又跟主站在同一台服务器或者同一个C段内,此时就可以通过查询子域名对应的 IP 来辅助查找网站的真实IP
-
MX记录邮件服务
MX记录是一种常见的查找IP的方式。如果网站在与web相同的服务器和IP上托管自己的邮件服务器,那么原始服务器IP将在MX记录中。
-
查询历史DNS记录
https://dnsdb.io/zh-cn/
https://securitytrails.com/
https://viewdns.info/iphistory/
https://www.ip138.com/
查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录;域名注册完成后首先需要做域名解析,域名解析就是把域名指向网站所在服务器的IP,让人们通过注册的域名可以访问到网站。
IP地址是网络上标识服务器的数字地址,为了方便记忆,使用域名来代替IP地址。
域名解析就是域名到IP地址的转换过程,域名的解析工作由DNS服务器完成。
DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
域名解析时会添加解析记录,这些记录有:A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录。
DNS记录类型
https://developer.aliyun.com/article/331012
-
-
A记录
用来指定主机名(或域名)对应的IP地址记录
通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在
DNS的A记录所对应的服务器。 -
NS记录
域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。
-
MX记录
邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。
-
CNAME记录
别名记录,允许您将多个名字映射到同一台计算机
-
TXT记录
一般指某个主机名或域名的说明
-
泛域名与泛解析
泛域名是指在一个域名根下,以 *.Domain.com 的形式表示这个域名根所有未建立的子域名。
泛解析是把 *.Domain.com 的A记录解析到某个IP 地址上,通过访问任意的前缀
.domain.com 都能访问到你解析的站点上。
-
域名绑定
域名绑定是指将域名指向服务器IP的操作
端口信息收集
-
端口简介
在Internet上,各主机间通过TCP/IP协议发送和接受数据包,各个数据包根据其目的主机的IP地址来进行互联网络中的路由选择,从而顺利的将数据包顺利的传送给目标主机。
但当目的主机运行多个程序时,目的主机该把接受到的数据传给多个程序进程中的哪一个呢?端口机制的引入就是为了解决这个问题。端口在网络技术中,端口有两层意思:一个是物理端口,即物理存在的端口,如:集线器、路由器、交换机、ADSL Modem等用于连接其他设备的端口;另一个就是逻辑端口,用于区分服务的端口,一般用于TCP/IP中的端口,其范围是0~65535,,0为保留端口,一共允许有65535个端口比如用于网页浏览服务的端口是80端口,用于FTP服务的是21端口。 这里我们所指的不是物理意义上的端口,而是特指TCP/IP协议中的端口,是逻辑意义上的端口
-
协议端口
根据提供服务类型的不同,端口可分为以下两种:
TCP端口:TCP是一种面向连接的可靠的传输层通信协议
UDP端口:UDP是一种无连接的不可靠的传输层协议
TCP协议和UDP协议是独立的,因此各自的端口号也互相独立。
TCP:给目标主机发送信息之后,通过返回的应答确认信息是否到达
UDP:给目标主机放信息之后,不会去确认信息是否到达
而由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,即就是端口号。那么看到这里我们会好奇,有那么多的端口,他们到底是怎么分类的?
-
端口类型
周知端口:众所周知的端口号,范围: 0-1023 ,如 80 端口是 WWW 服务
动态端口:一般不固定分配某种服务,范围: 49152-65535
注册端口:范围: 1024-49151 ,用于分配给用户进程或程序
-
渗透端口
https://www.cnblogs.com/bmjoker/p/8833316.html
常见端口介绍
-
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/id/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
http://hetianlab.com/expc.do?ec=ECID9f92-ff93-4a94-a821-f0b968ef4985
-
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/
Weblogic_ssrf实例:
http://hetianlab.com/expc.do?ec=ECID9d6c0ca797abec2017021014312200001
CNVD-C-2019-48814 WebLogic反序列化远程命令执行:
http://hetianlab.com/expc.do?ec=ECID3f28-5c9a-4f95-999d-68fa2fa7b7aa
-
Tomcat-8080
Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是
开发和调试Servlet、JSP 程序的首选
(1)Tomcat远程代码执行漏洞(CVE-2019-0232)
(2)Tomcat任意文件上传(CVE-2017-12615)
(3)tomcat 管理页面弱口令getshell
CVE-2019-0232 Tomcat远程代码执行漏洞:
http://hetianlab.com/expc.do?ec=ECIDefcf-3af2-438f-848f-8dc0f9e6b821
端口扫描
-
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
单一主机扫描:nmap 192.168.1.2
子网扫描:nmap 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
网站信息收集
操作系统
- ping 判断:windows的TTL值一般为128,Linux则为64。
TTL大于100的一般为windows,几十的一般为linux。 - nmap -O 参数
- windows 大小写不敏感, linux 则区分大小写
网站服务、容器类型
- F12查看响应头 Server 字段
- whatweb :https://www.kali.org/tools/whatweb/
- wappalyzer 插件
apache ,nginx ,tomcat,IIS
通过容器类型、版本可考虑对应容器存在的漏洞(解析漏洞)
脚本类型
-
php
-
jsp
-
asp/aspx
-
python
知道是什么语言才可以针对性的进行文件扫描、文件上传
数据库类型
在进行SQL注入之前,首先应该判断数据库的类型,不同的数据库在处理一些函数的时候会有一些微妙的差别,只有判断出是哪种数据库类型,这样才能根据数据库的类型选择合适的函数,更容易实现SQL注入。
- 常见数据库类型
- Oracle
- MySQL
- SQL Server
- Postgresql
- Mongodb
- Access
-
前端与数据库类型
asp:SQL Server,Access
.net:SQL Server
php:MySQL,PostgreSQL
java:Oracle,MySQL
-
常见数据库端口
Oracle:默认端口 1521
MySQL:默认端口 3306
SQL Server:默认端口 1433
Postgresql:默认端口 5432
Mongodb:默认端口 27017
Access:文件型数据库,不需要端口
-
根据数据库特有函数来判断
-
根据特殊符号进行判断
-
根据数据库对字符串的处理方式判断
-
根据数据库特有的数据表来判断
-
根据盲注特别函数判断
https://blog.csdn.net/weixin_43749601/article/details/115369123
CMS识别
CMS:内容管理系统,用于网站内容文章管理
常见CMS:WordPress、Joomla、Drupal、dedecms(织梦)、Discuz、phpcms等。
http://www.yunsee.cn/cms
在线识别工具:
http://whatweb.bugscaner.com/look/
CMS检测识别工具:
https://github.com/Tuhinshubhra/CMSeeK
https://github.com/OWASP/joomscan
https://github.com/wpscanteam/wpscan
https://github.com/Lucifer1993/TPscan
敏感文件、目录
常见敏感文件或目录
- robots.txt
- crossdomain.xml
- sitemap.xml
- 后台目录
- 网站安装目录
- 网站上传目录
- mysql管理页面
- phpinfo
- 网站文本编辑器
- 测试文件
- 网站备份文件(.rar、.zip、.7z、.tar、.gz、.bak)
- DS_Store文件
- vim编辑器备份文件(.swp)
- WEB-INF/web.xml文件
敏感文件、敏感目录挖掘一般都是靠工具、脚本来找,比如御剑、BBscan,当然大佬手工也能找得到。
robots.txt
robots.txt是一个纯文本文件,在这个文件中网站管理者可以声明该网站中不想被搜索引擎访问的部分,或者指定搜索引擎只收录指定的内容。当一个搜索引擎(又称搜索机器人或蜘蛛程序)访问一个站点时,它会首先检查该站点根目录下是否存在robots.txt,如果存在,搜索机器人就会按照该文件中的内容来确定访问的范围;如果该文件不存在,那么搜索机器人就沿着链接抓取。
crossdomain.xml
跨域,顾名思义就是需要的资源不在自己的域服务器上,需要访问其他域服务器。跨域策略文件是一个xml文档文件,主要是为web客户端(如Adobe Flash Player等)设置跨域处理数据的权限。
重点查看 allow-access-from 字段获取网站目录信息
GoogleHacking语法:
inurl:crossdomain filetype:xml intext:allow-access-from
例子:
https://myspace.com/crossdomain.xml
sitemap.xml
Sitemap 可方便网站管理员通知搜索引擎他们网站上有哪些可供抓取的网页。最简单的 Sitemap 形式,就是XML 文件,在其中列出网站中的网址以及关于每个网址的其他元数据(上次更新的时间、更改的频率以及相对于网站上其他网址的重要程度为何等),以便搜索引擎可以更加智能地抓取网站。
GoogleHacking语法:
inurl:sitemap filetype:xml
源代码泄露
github
git
svn
.DS_Store
.hg
.bzr
cvs
WEB-INF
备份文件
前面七种为版本管理工具所泄露的常规方式,上面的两种方式为操作不当,安全意识薄弱所造成的泄露。
Github泄露
开发人员将代码上传到网站,在上传的时候,没有删除重要的一些信息。如邮箱信息,SVN信息,内部账号和密码,数据库连接信息,服务器配置信息等。尤其是邮箱信息和内部账号和密码。这类信息可以通过在github上搜索公司的一些特定信息,查看是否有程序员将这些信息上传到了github上。
如公司的域名如下:niniub.com;则可以在github上用这个信息去进行搜索,看看是否有包含该类关键字的文件。这类安全漏洞只能靠人员的安全意识进行防护,没有其它方法进行。
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
site:Github.com sa password
site:Github.com root password
site:Github.com User ID=‘sa’;Password
site:Github.com svn
site:Github.com svn username
site:Github.com svn password
site:Github.com svn username password
site:Github.com inurl:sql
site:Github.com password
site:Github.com ftp ftppassword
site:Github.com 密码
site:Github.com 内部
.git泄露
成因及危害:当前大量开发人员使用git进行版本控制,对网站进行自动部署。如果配置不当,可能会将.git文件部署到线上环境,这就引起了git泄露漏洞。在网站安全维护方面,git和svn信息泄露,是非常常见也是非常致命的漏洞。会导致整个网站的源码泄露。
渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注入等web安全漏洞。
防护方法:在部署的时候,对.git文件夹进行删除;也可以在nginx配置中,对.git目录的访问进行屏蔽。
GoogleHacking语法:“.git” intitle:“index of”
工具:https://github.com/lijiejie/GitHack
GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程源代码。
.svn泄露
跟git一样,都是用来版本迭代的一个功能。具体一点就是使用svn checkout功能来更新代码。
如果没有将.svn版本控制的目录进行删除,恶意用户就可以使用这个目录下的文件,来恢复源码。从而可以获取如数据库密码,源码漏洞等信息。
防护:在部署的时候,将该文件进行删除
GoogleHacking语法:“.svn” intitle:“index of”
工具:https://github.com/admintony/svnExploit
WEB-INF/web.xml泄露
WEB-INF是Java的Web应用的安全目录,如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。
WEB-INF主要包含以下文件或目录:
WEB-INF/web.xml:Web应用程序配置文件,描述了servlet和其他的应用组件及命名规则
WEB-INF/database.properties:数据库配置文件
WEB-INF/classes/:一般用来存放Java类文件(.class)
WEB-INF/lib/:用来存放打包好的库(.jar)
WEB-INF/src/:用来存放源代码
通过找到 web.xml 文件,推断 class 文件的路径,最后直接下载 class 文件,再通过反编译class 文件,得到网站源码。
敏感目录收集方式
-
网页中寻找
- 在robots.txt中看能否发现敏感目录
- F12源代码链接处
- 通过查看一些图片的属性路径,运气好会发现很多隐藏的目录
- 结合域名 目录,用御剑进行扫描
- 手动输入一些常见的后台管理地址进行访问
-
其他端口中寻找
有时候网站的不同端口中有一些便是专门的后台管理地址。
例如:http://www.xxx.com:8080
-
网站分目录下寻找
有的时候网站会把管理地址放在一个分目录下,有的时候一个网站比较大,后台管理页面也比较多,就要分目录的去找,
例如:http://www.xxx.com/test/admin/manage.php
你可以通过一些方式获取到网站的目录,然后在这个目录下进行扫描。当一个网站你扫描根目录没有任何收获时,这个时候通过分析网站的目录结构,然后扫描域名 目录,就能找出它的后台管理地址。
-
子域名下寻找
有的时候网站的管理地址会放在子域名下,所以主站什么都找不到的情况下,如果发现子域名,就通过这些方法去子域名下找一下吧。
例如:http://admin.xxx.com/login
网站备份文件
网站备份文件泄露指管理员误将网站备份文件或是敏感信息文件存放在某个网站目录下。攻击者通过猜解文件路径,下载备份文件,导致网站敏感信息泄露。常见的备份文件后缀: .rar 、 .zip 、 .7z 、 .tar.gz 、 .bak 、 .txt 、 .old 、 .temp
目录扫描探测
目录扫描可以让我们发现这个网站存在多少个目录,多少个页面,探索出网站的整体结构。通过目录扫描我们还能扫描敏感文件,后台文件,数据库文件,和信息泄漏文件等等
目录扫描有两种方式:
- 使用目录字典进行暴力猜解可能存在的目录或文件,通过返回的响应状态码判断是否存在,返回200或者403
- 使用爬虫爬取页面上的所有链接,对每个链接进行再次爬行,收集这个域名下的所有链接,然后总
结出存在页面的信息
目录扫描工具:
- dirsearch
https://github.com/maurosoria/dirsearch
- dirmap
https://github.com/H4ckForJob/dirmap
- dirb
https://www.kali.org/tools/dirb/
- dirBuster
https://www.kali.org/tools/dirbuster/
- 7kbscan
https://github.com/7kbstorm/7kbscan-WebPathBrute
- 御剑后台扫描工具
网站WAF识别
- WAF定义
WAF ,即: Web Application FireWall (Web应用防火墙)。可以通俗的理解为:用于保护网站,防黑客、防网络攻击的安全防护系统;是最有效、最直接的Web安全防护产品。
- WAF功能
- 防止常见的各类网络攻击,如:SQL注入、XSS跨站、CSRF、网页后门等;
- 防止各类自动化攻击,如:暴力破解、撞库、批量注册、自动发贴等;
- 阻止其它常见威胁,如:爬虫、0 DAY攻击、代码分析、嗅探、数据篡改、越权访问、敏感信息泄漏、应用层DDOS、远程恶意包含、盗链、越权、扫描等。
- WAF识别
wafw00f:
https://github.com/EnableSecurity/wafw00f
https://www.kali.org/tools/wafw00f/
nmap:
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
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgbfiif
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01