渗透测试前期---信息搜集
标签(空格分隔): 渗透,信息搜集
Web 信息搜集
- Web信息搜集(探测)即Web踩点,主要是掌握目标Web服务的方方面面,是实现Web渗透入侵前的准备工作
- Web踩点内容包括操作系统(Linux、windows等)、服务器类型(服务器平台、版本等)、数据库类型(access、sqlserver、mysql、oracle、postgresql等)、Web容器(iis、Apache、nginx、tomcat等)、脚本类型(ASP、php/jsp、apx等)、域名信息、网站目录、CMS、WAF等
- Web信息搜集涉及搜索引擎、网站扫描、域名遍历、指纹识别等工作
外围信息搜集
- 通过DNS和IP挖掘目标网络信息
1. whois域名注册信息查询
whois baidu.com
nslookup与dig域名查询IP到Location地理位置查询
dig @<DNS 服务器> <待查询域名>
2. Google Maps
http://www.cz88.net(国内IP查询)
3. netcraft 网站提供的信息查询服务
(查询子域名)
http://searchdns.netcraf.com/
https://toolbar.netcraft.com/site_report
4. IP2Domain 反查域名
http://www.webscan.cc/
- 通过搜索引擎进行信息搜集
1. Google Hacking
可使用参数:site filetype inurl intitle intext
举例:
inurl:/admin/login.php #搜索网址中有 "/admin/login.php"的网页
intitle:后台管理 filtetypr:php #搜索标题是后台管理的 php页面
intitle:index of "parent directory" #搜索根目录相关的索引目录信息
intext:Powered by wordpress #搜索 wordpress 制作的博客网址
intext:Powered by *CMS #搜索*CMS相关的页面
intext:powered by xxx inurl:login #搜索此类网址的后台登录页面
2. 探索网站目录结构
敏感目录收集方向:robots.txt、后台目录、安装包、上传目录、mysql管理接口、安装页面、phpinfo、编辑器、iis短文件
Google 搜索 parent directory site:baidu.com
1.扩展名为inc的文件:可能会包含网站的配置信息,如数据库用户名/口等
2.扩展名为bak的文件:通常是一些文本编辑器在编辑源代码后留下的备份文件,可以让你知道与其对应的程序脚本文件中的大致内容
3.扩展名为txt或sql的文件:一般包含网站运行的SQL脚本,可能会透露类似数据库结构等信息
3.搜索网站中的E-mail地址
msf中search_email_collector模块通过多个搜索引擎的查询结果分析使用此后缀的邮件地址从而获取某个机构的大量邮件地址
4.搜索易存在SQL注入点的页面
Google搜索 site:testfire.net inurl:login
5.shodan搜索
Shodan(撒旦搜索引擎)是由Web工程师John Matherly 编写的,被称为"最可怕的搜索引擎",可扫描一切联网的设备,除了常见的Web服务器,还能扫描防火墙、路由器、交换机、摄像头、打印机等一切联网设备,支持Chrome和Firefox拓展插件
主机探测与端口扫描
- 活跃主机扫描
1. ICMP Ping 命令
2. Metasploits的主机发现模块
常用模块
arp_sweep 使用ARP请求枚举本地局域负中的所有活跃主机
udp_sweep 通过发送UDP数据包探查制定主机是否活跃,并发现方机上的UDP服务
arping (不支持同一网段扫描)
arping IP
// 一次返回一条数据
arping IP -c 1
3. 使用Nmap进行主机探测(支持同一网段扫描)
// 扫描存活主机,只做ping扫描不做端口扫描
nmap -sn IP
4.arp侦查 -netdiscover
主机探测
// -i 指定网卡 -r 指定ip范围
netdiscover -i eth0 -r 192.168.1.1/24
被动探测
netdiscover -p
- 操作系统辨识
Nmap 扫描 -O 参数对目标操作系统进行识别
Nmap 扫描 -sV 参数对其服务版本进行识别
-
端口扫描与服务类型探测
端口扫描工具:nmap portscan ntscan telnet
1.Metaspoit 中的端口扫描器
msf > search portscan
ack : 通过ACK扫描的方式对防火墙止未被屏蔽的端口进行探测
ftpbounce: 通过 FTP bounce
攻击的原理对TCP服务进行枚举,一新的FTP服务器软件能够很好的防范FTP bounce攻击,但在一些旧的 Solaris及 FreeBSD系统的FTP服务中此类攻击方式仍能够被利用
syn: 使用发送TCP SYN 标志的方式探测开放的端口
tcp: 通过一次完整的TCP连接来判断端口是否开放,这种扫描方式最准确,但扫描速度较慢
xmas: 一种更为隐秘的扫描方式,通过发送FIN、PSH和URG标志,能够躲避一些高级的TCP标记监测器的过滤
2.Nmap端口扫描功能
常见端口
IIS(HTTP):80
SQLServer:1433 爆破
Oracle:1521
MySQL:3306 爆破
FTP: 21 匿名访问
SSH:22 hydra爆破
Tomcat:i8080
SSL:443 心脏出血漏洞 1.0.1版本之前
Redis:6379 未授权访问
weblogic:7001 SSRF/反序列化漏洞、控制台部署 getshell
zabbix:8069 弱口令/注入
es:9200 远程代码执行漏洞
memcache:1121 未授权访问
mongondb:27017 未授权访问
RDP远程桌面:3389 爆破weblogic默认端口:7001
端口类型:
open:一个应用程序正在此端口上进行监听,以接收来自TCP、UDP或SCTP协议的数据。这是在渗透测试中最关注的一类端口,开放端口往往能够为我们提供一条能够进入系统的攻击路径(端口开放)
closed:关闭的端口指的是主机已响应,但没有应用程序监听的端口。这些信息并非毫无价值,扫描出关闭端口至少说明主机是活跃的(端口关闭)
filtered:指Nmap不能确认端口是否开放,但根据响应数据猜测该端口可能被防火墙等设备过滤的扫描
unfiltered:仅在使用ACK扫描时,Nmap无法确定端口是否开放,会归为此类。可以使用其他类型的扫描(如Windows扫描、SYN扫描、FIN扫描)进一步确认端口的信息
open|filtered:端口开放或屏蔽
常用的Nmap扫描类型 参数主要有:
-p | -F :-p指定端口 ,-F执行快速扫描
-sT: TCP sonnect扫描,类似Metasploit中的tcp扫描模块
-ss: TCP SYN 扫描,类似Metasploit中的syn扫描模块
-sF/-sX/-sN:这些扫描通过发送一些特殊的标志位以避开设备或软件的监测
-sP:通过发磅ICMP echo 请求探测主机是否存活,原理同Ping
-sU:TCP ACK 扫描,类似Metasploit中的扫描模块- 指纹识别
1. whatweb获取目标网站的系统、容器、脚本、版本信息 whatweb -h #查看参数 whatweb url/ip #基础扫描 whatweb -a 3 -v url/ip #详细扫描 2. 御剑指纹识别
服务器扫描与查点
1. 常见网络服务扫描
1. Telnet 服务扫描
msf > use auxiliary/scanner/telnet/telnet_version
2. SSH 服务扫描
msf > use auiliary/scanner/ssh/ssh_version
3. Oracle 数据库服务查点
msf > use auiliary/scanner/oracle/tnslsner_version
4. 开放代理探测与利用
设置代理服务器
msf > use auxiliary/scanner/http/open_proxy
5. nmap服务器扫描
-sV:版本探测
-O: 启用操作系统探测
--osscan-limit: 对指定目标系统进行操作系统探测
2. 口令猜测与嗅探
```
1.SSH服务口令猜测
msf > use auxiliary/scanner/ssh/ssh_login
msf > set RHOSTS x.x.x.x
msf > set USERNAME root
msf > set PASS_FILE /root/words.txt
msf > set THREADS 50
msf > run
2.psnuffle 口令嗅探
截获常见协议的身份认证过程
msf > use auxiliary/sniffer/psnuffle
```
后台查找
1. 弱口令默认后台:admin,admin/login.asp,manage,login.asp等常见后台 2. 常见网页的链接:一般来说,网站的主页有管理登录类似的东西,有些可能被管理员删除 3. 查看网站图片的属性 4. 查看网站使用的管理系统,从而确定后台 5. 用工具查找: www.wcan,intellitamper,御剑 6. robots.txt的帮助,robots.txt文件告诉支柱程序在服务器上什么榜首的文件可以被查看 7. GooglHacker 8. 查看网站使用的编辑器是否有默认后台 9. 短文件利用 10. sqlmap --sql-shell load_file('');
浙公网安备 33010602011771号