文章目录
IP信息收集
IP反查域名 (web查询)
http://stool.chinaz.com/same
https://tools.ipip.net/ipdomain.php
https://www.dnsgrep.cn/
https://site.ip138.com/
如果渗透目标为虚拟主机,那么通过IP反查到的域名信息很有价值,因为一台物理服
务器上面可能运行多个虚拟主机。这些虚拟主机有不同的域名,但通常共用一个IP地
址。如果你知道有哪些网站共用这台服务器,就有可能通过此台服务器上其他网站的
漏洞获取服务器控制权,进而迂回获取渗透目标的权限,这种技术也称为“旁注”。
域名查询IP(web查询)
http://ip.tool.chinaz.com/
https://ipchaxun.com/
https://site.ip138.com/
知道一个站点的域名需要得到它的IP以便之后获取端口信息或扫描等后续工作。
CDN简介
CDN即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的
边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获
取所需内容,降低网络拥塞,提高用户访问响应速度和命中率
CDN判断
多地ping
http://ping.chinaz.com/
http://www.webkaka.com/Ping.aspx
用各种多地 ping 的服务,查看对应 IP 地址是否唯一
国外访问
因为有些网站设置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
端口信息收集
端口简介
在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 ,用于分配给用户进程或程序
渗透端口
端口 | 服务 | 入侵方式 |
---|---|---|
21 | ftp/tftp/vsftpd文件传输协议 | 爆破/嗅探/溢出/后门 |
22 | ssh远程连接 | 爆破/openssh漏洞 |
23 | Telnet远程连接 | 爆破/嗅探/弱口令 |
25 | SMTP邮件服务 | 邮件伪造 |
53 | DNS域名解析系统 | 域传送/劫持/缓存投毒/欺骗 |
67/68 | dhcp服务 | 劫持/欺骗 |
110 | pop3 | 爆破/嗅探 |
139 | Samba服务 | 爆破/未授权访问/远程命令执行 |
143 | Imap协议 | 爆破 |
161 | SNMP协议 | 爆破/搜集目标内网信息 |
389 | Ldap目录访问协议 | 注入/未授权访问/弱口令 |
445 | smb | ms17-010/端口溢出 |
512/513/514 | Linux Rexec服务 | 爆破/Rlogin登陆 |
873 | Rsync服务 | 文件上传/未授权访问 |
1080 | socket | 爆破 |
1352 | Lotus domino邮件服务 | 爆破/信息泄漏 |
1433 | mssql | 爆破/注入/SA弱口令 |
1521 | oracle | 爆破/注入/TNS爆破/反弹shell |
2049 | Nfs服务 | 配置不当 |
2181 | zookeeper服务 | 未授权访问 |
2375 | docker remote api | 未授权访问 |
3306 | mysql | 爆破/注入 |
3389 | Rdp远程桌面链接 | 爆破/shift后门 |
4848 | GlassFish控制台 | 爆破/认证绕过 |
5000 | sybase/DB2数据库 | 爆破/注入/提权 |
5432 | postgresql | 爆破/注入/缓冲区溢出 |
5632 | pcanywhere服务 | 抓密码/代码执行 |
5900 | vnc | 爆破/认证绕过 |
6379 | Redis数据库 | 未授权访问/爆破 |
7001/7002 | weblogic | java反序列化/控制台弱口令 |
80/443 | http/https | web应用漏洞/心脏滴血 |
8069 | zabbix服务 | 远程命令执行/注入 |
8161 | activemq | 弱口令/写文件 |
8080/8089 | Jboss/Tomcat/Resin | 爆破/PUT文件上传/反序列化 |
8083/8086 | influxDB | 未授权访问 |
9000 | fastcgi | 远程命令执行 |
9090 | Websphere控制台 | 爆破/java反序列化/弱口令 |
9200/9300 | elasticsearch | 远程代码执行 |
11211 | memcached | 未授权访问 |
27017/27018 | mongodb | 未授权访问/爆破 |
端口扫描
NMAP
NMAP简介
Network Mapper,是一款开放源代码的网络探测和安全审核的工具
nmap参考指南(中文版)
功能介绍
- 检测网络存活主机(主机发现)
- 检测主机开放端口(端口发现或枚举)
- 检测相应端口软件(服务发现)版本
- 检测操作系统,硬件地址,以及软件版本
- 检测脆弱性的漏洞(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
网站信息收集
操作系统
- ping 判断:windows的TTL值一般为128,Linux则为64。
TTL大于100的一般为windows,几十的一般为linux。 - nmap -O 参数
- windows大小写不敏感,linux则区分大小写
网站服务、容器类型 - F12查看响应头Server字段
- whatweb
https://www.whatweb.net/ - wappalyzer插件
apache ,nginx ,tomcat,IIS
通过容器类型、版本可考虑对应容器存在的漏洞(解析漏洞)
脚本类型
- php
- jsp
- asp/aspx
- python
数据库类型
- mysql
- sqlserver
- access
- oracle
知道是什么语言才可以针对性的进行文件扫描、文件上传
CMS识别
CMS:内容管理系统,用于网站内容文章管理
https://github.com/lengjibo/dedecmscan
常见CMS:dedecms(织梦)、Discuz、phpcms等。
在线识别工具
http://whatweb.bugscaner.com/look/
Onlinetools
https://github.com/iceyhexman/onlinetools
https://pentest.gdpcisa.org/
敏感文件、目录
敏感文件、敏感目录挖掘一般都是靠工具、脚本来找,比如御剑、BBscan,当然大
佬手工也能找得到。
github
git
svn
.DS_Store
.hg
.bzr
cvs
WEB-INF
备份文件
前面七种为版本管理工具所泄露的常规方式,上面的两种方式为操作不当,安全意识
薄弱所造成的泄露。
Github泄露
开发人员将代码上传到网站,在上传的时候,没有删除重要的一些信息。如邮箱信
息,SVN信息,内部账号和密码,数据库连接信息,服务器配置信息等。尤其是邮箱
信息和内部账号和密码。这类信息可以通过在github上搜索公司的一些特定信息,查
看是否有程序员将这些信息上传到了github上。
如公司的域名如下:niniub.com;则可以在github上用这个信息去进行搜索,看看
是否有包含该类关键字的文件。这类安全漏洞只能靠人员的安全意识进行防护,没有
其它方法进行。
.git泄露
成因及危害:当前大量开发人员使用git进行版本控制,对网站进行自动部署。如果
配置不当,可能会将.git文件部署到线上环境,这就引起了git泄露漏洞。在网站安全
维护方面,git和svn信息泄露,是非常常见也是非常致命的漏洞。会导致整个网站的
源码泄露。
渗透测试人员、攻击者,可以进一步审计代码,挖掘:文件上传,SQL注入等web安
全漏洞。
防护方法:在部署的时候,对.git文件夹进行删除;也可以在nginx配置中,对.git目
录的访问进行屏蔽。
".git" intitle:"index of"
https://github.com/lijiejie/GitHack
GitHack是一个.git泄露利用脚本,通过泄露的.git文件夹下的文件,重建还原工程
源代码。
.svn泄露
跟git一样,都是用来版本迭代的一个功能。具体一点就是使用svn checkout功能来
更新代码。
如果没有将.svn版本控制的目录进行删除,恶意用户就可以使用这个目录下的文件,
来恢复源码。从而可以获取如数据库密码,源码漏洞等信息。
防护:在部署的时候,将该文件进行删除
".svn" intitle:"index of“
https://github.com/admintony/svnExploit
网站备份文件
网站备份文件泄露指管理员误将网站备份文件或是敏感信息文件存放在某个网站目录
下。
扫描工具:
https://github.com/7kbstorm/7kbscan-WebPathBrute
目录探测
外部黑客可通过暴力破解文件名等方法下载该备份文件,导致网站敏感信息泄露。
dirsearch:
https://github.com/maurosoria/dirsearch
dirmap:
https://github.com/H4ckForJob/dirmap
御剑后台扫描工具
网站WAF识别
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