Pages

Saturday, 28 October 2017

Kali渗透测试

①信息收集
渗透测试的第一步就是信息收集。所谓’知己知彼百战不殆’就是这个道理。

警告:请正当地使用本文所提及的技术。未授权的渗透测试或黑客攻击是非法的。而且在有些国家,未授权的端口扫描被视为违法。

版本:  Build 20151208

要进行信息收集,要进行四步:
通过搜索引擎或公开网站收集目标域的有关信息
收集域的注册信息
DNS分析
跟踪路由并收集路由信息

首先是第一步,这里就不在赘述。利用搜索引擎来初步了解你的目标,下面是一些供参考的网站:

archive.org 收录部分网站的历史页面
domaintools.com 收录各种域名情报
alexa.com 分析网站信息
centralops.net 提供DNS工具,验证EMail地址,提供ping whois traceroute服务
yoname.com 通过SNS查找人物


第二步,了解域名的注册信息。Kali自带了whois工具可以使用:
用法:
# whois [domain]

第三步,你需要进行DNS记录分析。DNS服务器信息和有关域名的记录是非常有用的。Kali自带了许多工具可以使用:

host
host可以用以解析域的IP地址:

# host [domain]
host也可以搜索域名记录:
# host -a [domain]
这回返回域名的A,AAAA,SOA,NS,MX,及CNAME记录。
host也可进行DNS域传输:
# host -l [domain]
这回返回包含某一域里所有主机名称


dig
使用dig查询A记录:
# dig [domain]
或使用dig查询所有记录:
# dig [domain] any
使用dig进行域传输,需使用权威的DNS,设置传输类型为axfr:
# dig @ns4.isp.com [domain] axfr


dnsenum
使用dnsenum收集DNS信息:
# dnsenum [domain]
使用字典文件dic file暴力破解子域名:
# dnsenum -f [dic file] [domain]


dnsdict6
dnsdict6内置字典,可以枚举测试798个子域名。默认情况下,它枚举IPV6子域名。
# dnsdict6 [domain]
如需测试IPV4,使用 -4 参数:
# dnsdict6 -4 [domain]
也可以收集DNS和NS信息:
# dnsdict6 -d [domain]

fierce
fierce可以通过多项技术查找目标IP地址和主机名,通过您设备使用的DNS查找目标域的DNS服务器,他还可以暴力破解子域名(而且是调用目标域的DNS进行尝试),还能针对不连续的IP和主机名进行测试。
查看帮助,使用:
# fierce -h
如,查找有关域信息:
# fierce -dns [domain] -threads [要使用的线程数]

DMitry (Deep Magic Information Gathering Tool)
这个工具可以起到以下作用:
根据IP/域名查询whois
挖掘主机信息
查找子域
查找电子邮件地址
端口扫描
使用一个指令即可完成上述功能:

# dmitry -iwnse [domain / IP]
使用dmitry进行端口扫描:
# dmitry -p [domain / IP] -f -b
Maltego
Maltego拥有图形界面,是一个强大的工具,它可以:
域名
DNS名
whois
网段
IP地址
某人所在公司或组织
某人有关EMail
某人有关网站
某人有关社交网站
某人有关电话号码

第四部,跟踪路由并分析路由信息。

tcptraceroute
使用这个指令来跟踪路由:
# traceroute [domain]
但是traceroute的数据包有可能被目标屏蔽。但是tcptracetoute工具通过发送TCP SYN握手请求,便可达到traceroute达不到的作用:

# tcptraceroute [domain]
tctrace
同样也可使用这个工具。tctrace也利用TCP SYN握手请求来跟踪路由。

# tctrace -i [网卡(如eth0/wlan0)] -d [domain]
以上便是信息收集的全部内容。


Kali渗透测试】②目标识别
了解了目标的信息,那就需要对目标进行识别。

警告:请正当地使用本文所提及的技术。未授权的渗透测试或黑客攻击是非法的。而且在有些国家,未授权的端口扫描被视为违法。

Kali Linux里提供了许多目标识别的工具,在这里,你只需要关注两类工具:
Identify Live Hosts 辩识在线主机
OS Fingerprinting 识别主机OS
辩识在线主机

ping
通过ICMP发送Ping请求,如果目标返回Pong,说明主机在线。
ping [IP]
ping会一直工作,直到按下Control+C。
也可以选择发送数据包总数:
ping -c [数量] [IP]
也可以指定用于ping的网卡(如eth0,wlan0),和每个包的大小:
ping -I [网卡] -s [大小] [IP]
包默认大小为56B,加上IPV4的ICMP协议包头,总共发送64B。

arping
arping使用ARP来判断局域网中目标主机是否在线。
arping [IP/MAC] -c [包数量]
还可以测试IP是否被占用:
arping -d -i [网卡] [IP] -c [包数量]
echo $

fping
使用fping测试多个主机是否在线:
fping [IP1] [IP2] [...]
使用fping检测网段内主机:如扫描192.168.1.0网段内的所有主机,那么:
fping -g [192.168.1.0/24]
若要查看多个目标的统计结果,使用-s参数:
fping -s [IP]

hping不仅可以用于ping,还可以测试防火墙规则。
hping -[选项] [IP]
选项说明如下:
-0 发送原始IP包
-1 发送ICMP包
-2 发送UDP包
-8 扫描模式
-9 监听模式
-S TCP SYN
-A TCP ACK
-R TCP RST
-F TCP FIN
-P TCP PSH
-U TCP URG
-X TCP XMAS
-Y TCP YMAS
也可以加上-c参数来设置发送包个数:
hping3 -[选项] [IP] -c [数量]

nping可以通过多个协议测试主机是否在线:
nping --[选项] -c [包数量] -p [端口] [IP]
选项列表
tcp-connect 基础TCP连接功能
tcp TCP模式
udp UDP模式
icmp ICMP模式
arp ARP/RARP模式
tr Traceroute模式
端口应该首先尝试: 21 22 23 25 80 443 222 2222 8443

alive6
slive6用于判断IPV6主机响应与否。


alive -p [网卡]

detect-new-ip6 [网卡]
passive_discovery6
通过网络监听方式找到主机IPV6地址:
passive_discovery6 [网卡]

nbtscan
用以审计Windows机器的NetBIOS信息。
扫描局域网,如从192.168.1.1到192.168.1.254:
nbtscan 192.168.1.1-254
扫描局域网每个机器开启的服务:
nbtscan -hv 192.168.1.1-254
识别主机OS

p0f
使用被动方式探测目标主机OS类型。p0f使用TCP SYN来辨识OS,然后分析TCP SYN包,找出不同点,进而分析OS。
比如,Linux的ICMP Ping包的TTL是64,Windows是128:
p0f -f /etc/p0f/p0f.fp -o p0f.log
随后,p0f会生成Log文件,保存信息,并同时输出到屏幕上。

Nmap
Nmap采用主动方式识别OS,用法很简单:
nmap -O [IP]
就是这样,这就是Kali Linux目标识别的工作流程!

No comments:

Post a Comment