【渗透测试】基于Kali Linux的信息收集(Information Gathering)指令介绍

信息收集

大纲

  1. TCP/UDP Target Port Scan
  2. Nmap
  3. Hping
  4. OS Fingerprint

通过扫描技术,我们可以收集到特定目标的相关资料。

  • TCP/IP 端口的开启/关闭状态
  • 有效的服务
  • 服务软件的版本和系统信息

这些可能会揭示目标机器上的安全问题

  • 了解所有网络(网段)
  • 操作系统
  • 目标服务和软件开启的状态

常用的TCP端口
https://ipwithease.com/common-tcp-ip-well-known-port-numbers/
扫描
扫描的第一步是搜索哪一台机器可以是目标用户网络中的受害者。然后通过这些信息去找有效的端口,然后分析操作系统和软件。通过扫描去获得特定的IP,作业系统,网络,系统架构和有效的服务。

扫描对象:端口、网络架构、漏洞

Ping Scan

  1. ICMP Echo:发送ICMP Echo request package到目标主机,再等待ICMP Echo reply。(在网络传输过程中,传输中的封包需要经过多层路由器的转发才能送达目的地。在发送封包之前,我们很难预测封包是否能够安全到达。同时,我们也想知道目前的网路状况。尤其是在传送失败的时候。因此,TCP/IP网络提供了
    网络控制信息协议(Internet Control Message
    Protocol,ICMP),用来检测当前网络的状态。在IP网络上,任何一台主机和路由器都有设定ICMP协议,它们之间就可以利用ICMP来交换目前的网路状况。)
  2. Broadcast ICMP:基于广播的ICMP去找特定网络区域的特定机器。在这个网络下,在线的机器会有应答。这个扫描限于UNIX/Linux操作系统。

Port Scan
当黑客想要入侵一台机器时,他/她会发一些特殊信息去测试这台机器所支持的网络服务。
通过端口分析服务信息有助于获取一些信息。(如,TCP/UDP)

Nmap
Nmap是一个开源的网络扫描与探测工具。它用于测试网络中的本地或机器的漏洞。扫描TCP端口,以查找目标用户的开放TCP端口、相应的网络服务类型,以及软件名称和版本。检测目标对象的操作系统,软件包过滤器,防火墙等等。

Nmap instructions
内置的Ping Scan能用来确定目标是否开启。例如说:特定的网络 e.g. 192.168.1.0/24

nmap –sn [host ip] 
• -sn (NULL SCNA): send NULL flag package, similar to –sF. The 
host must support RFC-793 (no Windows).

-p: ports
• -p80, -p101-1024
• -p 80,101-1024
• -p-: all, from 1 to 65535

-F: scan only for frequent ports

-O: OS detection

-sV: What type of network service and software version

-A: combo, -sV -O -sC --traceroute

-v: Verbose, detailed info of scan

-vv: more details than -v

-d, -d2: debug info	

Throttling
使用慢速可以避免被IDS(Intrusion-detection system,入侵检测系统)检测到。

• -T0: interval is 5 min
• -T1: 15 sec
• -T2: 0.4 sec
• -T3: Formal throttling (default)
• -T4: 10 milliseconds
• -T5: 5 milliseconds
• -p: ports
• -p80, -p101-1024
• -p 80,101-1024
• -p-: all, from 1 to 65535
• -F: scan only for frequent ports

探测器(Traceroute)可以显示通过网络设备到目标的方式。应用具有路由拓扑结构的Zenmap。

nmap –sn --traceroute [host ip]

Direct Scan (TCP)
Connect Scan

-sT

Stealth Scan/SYN Scan (half open scan)

-sS

获取主机的系统类型和打开的端口[最常见的命令]

nmap -sS -Pn -A -v [HOSTs]

列出打开特定端口的机器,并打印到文件中的机器

nmap -sT -p80 -oG [OUTFILE] [HOSTs]

应用一些遗忘(oblivious)扫描(伪装camouflage)

nmap –sS [HOSTs] –D 192.168.0.2, [IP], …

NSE(nmap script engine)
NSE大约有600个脚本。
Script: dns-zone-transfer
Two parameters: DNS server, domain

nmap --script dns-zone-transfer --script-args
server='nsztm1.digi.ninja',domain='zonetransfer.me’

nmap --script vuln [host ip]

Hping
hping是一个用于测试防火墙、网络状况、观察远程主机响应状况(TCP、UDP、ICMP)等功能的网络工具。
相关属性

  • 是否检查防火墙保护。
  • 端口扫描。
  • 判断网络协议,操作系统类型,端口服务。
  • 评估在路由路径上的最长通信成本。
  • 伪造IP以编辑封包。
hping3 172.16.179.131 -1 -i u100000 -a 1.1.1.1

-1: send ICMP packages
-i u(xxx): set the interval of sending packages, where u(xxx) means xxx milliseconds。
-a [IP] : 伪造来源IP

OS fingerprint操作系统指纹
NMAP会送出一系列的 TCP 和 UDP 封包到目标主机,而且检验回传(response)的每一个bit。在一连串的测试结果回传后,NMAP会把这些资料拿去 nmap-os-db 的资料库比对,他的资料库中有超过2600种以上类型的作业系统资料,NMAP若在资料库中找到相符资讯,就会显示出来。每一个fingerprint都包含了一些作业系统的文字描述,并可以用来分类供应商名称,例如Sun或Microsoft、作业系统名称 Solaris或Microsoft Windows、版本,例如10或2016,及设备类型,例如route、switch等,最常见的包含Common Platform Enumeration (CPE) representation例如: cpe

  1. TCP FIN标志检测:
    当它将一个TCP FIN包(或任何一个包,但不是ACK或SYN)发送到一个打开的端口时,它将等待响应。
  2. BOGUS标志检测
    在SYB包的TCP标头中,设置一个未定义的TCP标志,在v2.0.35之前的Linus版本将返回一个具有相同标志的响应包。但是,其他类型的操作系统接收SYN+假旗,将终止通信并重新连接。
  3. TCP ISN Sampling
    根据目标主机的响应,找到TCP连接的起始序列号来判断操作系统类型。
  4. ICMP Error Message Quenching
    通过向目标服务器发送序列包,收集一个时间段接收到的ICMP不可到达的包的统计信息。
    检查并比较操作系统默认的时间槽来判断操作系统。

Enumeration
黑客无法从上述收集和恶意扫描中获取很好的信息,他们将尝试在目标主机上的一些用户帐户,寻找保护薄弱的资源共享,并应用枚举来获得有用的信息。

DNS enumeration
DNS枚举用于收集所有的DNS服务和相关项,它可以帮助用户从目标目标中收集一些关键信息,例如:User name、Computer name、IP address。

DNSenum
DNSenum是一个强大的工具来收集域名信息。基于谷歌和字典文件来猜测可能存在的域名,反向查询网段(network segment)。查询主机的地址信息、域名服务器、邮件交换记录。
使用谷歌命令在域名服务器上应用axfr请求,以获取扩展的域名信息。

axfr = DNS Zone Transfer

DNSenum
Include

  • Host address
  • DNS addr
  • Mail server addr
    FYR, additional options
--threads[number]: set user with multiple threads at the same time
-r: recursive queries
-d: set the interval of WHOIS
-o: point the output location
-w: turn on WHOIS reuqest

Snmpwalk
Snmpwalk是一个SNMP应用程序,它应用SNMP GETNEXT请求,以查找所有指定的OID树信息(SNMP协议中的对象),然后将它们打印出来

Shodan
Shodan总是在互联网上寻找所有的实体,包括服务器、网络摄像头、路由器等。
每月大约可以收集到5亿台服务器的信息。

Maltego
Maltego是一个收集具有线程关系清晰的网络信息和检测信息的应用程序。

  • 目的是在网络体系结构中提供一个包含所有的关系实体(位置、网络分割、相关用户)。
  • 它的优点是可以有效地收集信息,而且更准确。
  • 还有清晰的表示,能够显示我们想要调查或跟踪安全事件时的连接。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值