目录
一般攻击流程分为六个步骤:
攻击的第一步一直是收集攻击目标的信息,也就是通常所定义的“攻击侦察”。
被动侦察
在被动扫描中,攻击者通过监测流量来推断有关网络的信息。为此,可以部署嗅探器以捕获和检查数据流,tcpdumph和Wireshark是两款最流行的工具。这可能还需要"镜像"网络设备的端口以复制流量,
特点:主要指的是在目标无法察觉的情况下进行的信息收集
Maltego的使用
Maltego是一款功能极为强大的信息收集和网络侦查工具,这款工具可以通过域名注册、搜索引擎、社交网络、电子邮件等各种渠道收集目标的信息。Kali中包含了Maltego4.2版,但是这个工具需要使用者自行完成注册功能才能使用。(注册过程自行查阅资料)
1.左上角+号新建一个空项目
2.将domain拖至项目中
3. 将域名改为:http://www.swpu.edu.cn/点击鼠标右键,选择All Transforms
4.再选择To DNS Name(interesting)Robtex
5.得到结果
6.鼠标右键,选择To IP 6.选择Address [DNS]
7.可看到IP地址,网段及域名
sn0int进行信息收集
sn0int可以实现的功能有很多:
1、通过证书透明度(Certificate Transparency)和被动DNS 技术来获取子域名。
2、使用asn 和geoip 来获取关于IP 地址的信息。
3、利用pgp 密钥服务器和whois 获取电子邮件。
4、发现违规登录(Discover compromised logins in breaches)
5、在互联网上查找某人的个人资料。
6、使用例如被动arp 之类的扫描技术来枚举本地网络的设备。
7、收集有关电话号码的信息。
8、尝试利用shodan 绕过cloudflare
9、从instagram 配置文件中获取数据和图像
kali上安装流程见:kali sn0int的安装_82年的辣鸡的博客-CSDN博客
具体命令:
USAGE:
sn0int [OPTIONS] [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
OPTIONS:
-w, --workspace <workspace> Select a different workspace instead of the default [env: SN0INT_WORKSPACE=]
SUBCOMMANDS:
activity Query logged activity
add Insert into the database
cal Calendar
completions Generate shell completions
delete Delete from the database
export Export a workspace for external processing
fsck Verify blob storage for corrupt and dangling blobs
help Prints this message or the help of the given subcommand(s)
install Install a module from the registry
login Login to the registry for publishing
new Create a new module
noscope Exclude entities from scope
notify Notify
paths Show paths of various file system locations
pkg The sn0int package manager
publish Publish a script to the registry
repl Run a lua repl
run Run a module directly
sandbox For internal use
scope Include entities in the scope
search Search in the registry
select Select from the database
stats Show statistics about your current workspace
workspace Manage workspaces
应用实例:
1.添加工作区:
sn0int可同时执行多个任务,每个任务在各自的工作区完成。
#启动sn0int
sn0int
#添加工作区
workspace 自定义的工作区名(英文)
2.添加实体(一个域名变量,注意不是子域名)
add domain
3.使用证书透明日志模块
use ctlogs
run
可能扫出一些子域名。
4.扫描域名对应的DNS记录
use dns-resolve
run
5.检查可解析的子域名上是否存在web页面
use url-scan
#列举子域名
target
#列举可以解析的子域名
target where resolvable
run
6.删除实体,恢复实体
noscope domains where value=xxx.com
scope domains where true
目前比较流行信息搜集工具recon-ng存在无法正常连接使用的问题,使用了一个功能类似的替代工具sn0int。
相比起Maltego而言,sn0int在国内的资料并不多。但是sn0int框架确实是一款功能极为强大的信息收集和网络侦察工具。同样使用sn0int我们可以自动化地完成渗透测试过程中的很多步骤。这款工具既提供了一些被动扫描的功能,也提供了主动扫描的功能。sn0int是一些工具的集合,优势在于你可以目的性更加明确地去进行信息收集。
打个比方来说,Maltego就像是一个全科医生,你可以从他那里得到一份全面的报告;而sn0int则像是专科医生,你可以从其中一个医生得到针对某一部位的报告,这样做的好处是可以更容易的聚焦在某一重点。
Zoomeye搜索引擎
kali中操作:
Kali——在Metasploit中使用ZoomEye_董哥的黑板报的博客-CSDN博客
ZoomEye 是一个跟shodan一样面向网络空间的搜索引擎。
ZoomEye 支持公网设备指纹检索和 Web 指纹检索。网站指纹包括应用名、版本、前端框架、后端框架、服务端语言、服务器操作系统、网站容器、内容管理系统和数据库等。设备指纹包括应用名、版本、开放端口、操作系统、服务名、地理位置等直接输入关键词即可开始检索。
主动侦察
相对被动扫描而言,主动扫描的范围要小得多。主动扫描一般都是针对目标发送特制的数据包,然后根据目标的反应来获得一些信息。这些信息主要包括目标主机是否在线,目标主机的指定端口是否开放,目标主机的操作系统,目标主机上运行的服务等等。
- 目标主机是否在线
- 目标主机上开放的端口
- 目标主机所使用的操作系统
- 目标主机上运行的程序
- 对Web服务进行扫描
nmap扫描
常用命令--1:
-sS:TCP SYN扫描
-p:指定端口号扫描
-v:显示扫描过程
-F:快速扫描
-Pn:禁止ping后扫描:跳过主机发现的过程进行端口扫描
-A:全面的系统扫描:包括打开操作系统探测、版本探测、脚本探测、路径跟踪探测
扫描指定的IP开放端口:
nmap -sS -p 端口号 -v 192.168.1.2
穿透防火墙扫描:
nmap -Pn -A 192.168.1.2
常用命令--2:
-sU:UDP扫描
-sT:TCP扫描
-sV:扫描系统和程序版本号检测
--scrpt=vuln:全面的漏洞扫描
-n:禁止反向域名解析
-R:反向域名解析
-6:启用IPV6扫描
漏洞扫描:
nmap -script=vuln 192.168.1.2
使用vuln脚本进行全面的漏洞扫描
指纹识别扫描:
nmap -sV -v 192.168.1.2
扫描系统和程序版本号检测,并且输出详细信息
Nmap端口扫描状态
Open:端口开启
Closed:端口关闭
Filtered:端口被过滤,数据没有到达主机,返回的结果为空,数据被防火墙拦截
Unfiltered:未被过滤,数据没有到达主机,但是不能识别端口的当前状态
Open|filtered:开放或者被过滤,端口没有返回值,主要发生在UDP、IP、FIN、NULL和Xmac扫描中
Closed|filtered:关闭或者被过滤,只发生在IP、ID、idle扫描
三、Nmap漏洞扫描 - 信息收集
使用Nmap中的脚本进行信息收集
1、whois信息查询
nmap --script=whois-domain www.zkaq.cn
2、DNS解析查询
nmap --script=dns-brute shop.aqlab.cn
四、Nmap报告保存
1、标准保存
命令:nmap -oN test.txt shop.aqlab.cn
标准保存会把输出的结果保存到指定文件中
2、保存为xml格式
命令:nmap -oX test.xml shop.aqlab.cn
保存为xml格式需要用浏览器打开,查看结果。
- 使用nmap获取靶机的标志、服务、系统等相关信息,完成本地靶机信息的渐进分析;
Metasploitable3靶机ip:192.168.76.138
使用以下命令执行nmap扫描,并获取有关靶机的标志、服务和系统等相关信息:
nmap -sS -A 192.168.76.138
可以看到靶机的操作系统,名称,以及物理地址和一系列开放的服务。