BetaMao

主动信息收集

字数统计: 2.6k阅读时长: 11 min
2017/02/19 Share

信息收集是一件很无聊的事,但是又很有用,上次学校的ctf就挂在信息收集上,现在就慢慢晚上本篇,记录常用的工具手册。

nmap

nmap三四层扫描无敌的存在,有大量的脚本可用。
格式:nmap [Scan Type(s)] [Options] {target specification}

主机发现

1
2
3
4
5
6
7
8
9
10
-sL: 计算并显示要扫描的主机
-sn: 只探测主机存活情况而不做更深层的扫描
-Pn: 不做主机发现,默认所有主机都在线
-PS/PA/PU/PY [portlist]: 对指定端口进行TCP SYN/ACK or UDP或SCTP探测
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-PO[protocol list]: 使用Ping
-n/-R:默认有时做反向域名解析,这两个参数是总是不做/做解析
--dns-servers <serv1[,serv2],...>: 指定dns
--system-dns: 使用系统dns解析
--traceroute: 路由追踪

扫描技术

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-PS [portlist] (TCP SYN Ping)
-PA [portlist] (TCP ACK Ping)
-PU [portlist] (UDP Ping)
-PE; -PP; -PM (ICMP Ping Types)
-PR (ARP Ping)
--system-dns (使用系统域名解析器,一般不使用)
-sS (TCP SYN半开扫描)默认
-sT (TCP 全连接扫描)
-sU (UDP扫描)
-sN; -sF; -sX (TCP Null,FIN,and Xmas扫描)
-sA (TCP ACK扫描)
-sW (TCP窗口扫描)
-sM (TCP Maimon扫描)
--scanflags (定制的TCP扫描)可以使用数字,也可以使用URG, ACK,PSH, RST,SYN,and FIN组合
-sI <zombie host[:probeport]> (僵尸扫描)
-sO (IP协议扫描)
-b <ftp relay host> (FTP弹跳扫描)参数格式是: username:password@server:port。 Server
-sV (版本探测)
--allports (不为版本探测排除任何端口)
--version-intensity <intensity> (设置 版本扫描强度)默认7,可选1-9,等级越高准确率越高速度越慢
--version-light (打开轻量级模式) 2级
--version-all (尝试每个探测) 9级
--version-trace (跟踪版本扫描活动) 输出探测数据
-sR (RPC扫描)

服务识别

1
2
3
4
-sV: Probe open ports to determine service/version info
--version-light: Limit to most likely probes for faster identification
--version-all: Try every single probe for version detection
--version-trace: Show detailed version scan activity (for debugging)

系统探测

1
2
3
-O (启用操作系统检测)
--osscan-limit (针对指定的目标进行操作系统检测)
--osscan-guess; --fuzzy (推测操作系统检测结果)

速度时间

1
2
3
4
5
6
7
8
9
10
11
12
--min-hostgroup <milliseconds>; --max-hostgroup <milliseconds>(调整并行扫描组的大小)
--min-parallelism <milliseconds>; --max-parallelism <milliseconds>(调整探测报文的并行度)
--min-rtt-timeout <milliseconds>, --max-rtt-timeout <milliseconds>,--initial-rtt-timeout <milliseconds> (调整探测报文超时)
--host-timeout <milliseconds> (放弃低速目标主机)
--scan-delay <milliseconds>; --max-scan-delay <milliseconds>(调整探测报文的时间间隔)
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (设置时间模板)
模板名称有paranoid (0)、sneaky (1)、polite (2)、normal(3)、aggressive (4)和insane(5)。
前两种模式用于IDS躲避,Polite模式降低了扫描
速度以使用更少的带宽和目标主机资源。默认模式为Normal,因此-T3
实际上是未做任何优化。Aggressive模式假设用户具有合适及可靠的网络从而加速
扫描。Insane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。
-f (报文分段); --mtu (使用指定的MTU)

反ID(P)S,firewall

1
2
3
4
5
6
7
-S <IP_Address> (源地址哄骗)
-e <interface> (使用指定的接口)
--source-port|-g <portnumber> (源端口哄骗)
--data-length <number> (发送报文时 附加随机数据)
--ttl <value> (设置IP time-to-live域)
--randomize-hosts (对目标主机的顺序随机排列)
--spoof-mac <mac address,伪造源mac地址,正确的--spoof-mac参数有, Apple,0,01:02:03:04:05:06, deadbeefcafe,0020F2, 和Cisco.

结果输出

1
2
3
4
5
6
7
8
9
10
11
12
-oN <filespec> (标准输出到指定文件)
-oX <filespec> (XML输出)
-oG <filespec> (Grep输出)
-oA <basename> (输出至所有格式)
-v (提高输出信息的详细度)用vv会更详细
-d [level] (提高或设置调试级别)共9级
--packet-trace (跟踪发送和接收的报文)
--iflist (列举接口和路由)
--append-output (在输出文件中添加)
--resume <filename> (继续中断的扫描)需指定之前的标准/Grep输出文件
--stylesheet <path or URL> (设置XSL样式表,转换XML输出)
--no-stylesheet (忽略XML声明的XSL样式表)

杂项设置

1
2
3
4
5
6
7
-6 (启用IPv6扫描)
-A (激烈扫描模式选项)含-O,-sV
--datadir <directoryname> (说明用户Nmap数据文件位置)
--send-eth (使用原以太网帧发送)
--send-ip (在原IP层发送)
--privileged (假定用户具有全部权限)
--interactive (在交互模式中启动)

指定扫描目标

1
2
3
4
5
6
7
8
9
10
11
12
13
14
	CIDR类型
192.168.0.1/24 这里的24可以换成X ,1<=X<=32
短横线型
192.168.0-32.1-254 每一段都可以使用短横线指点范围
逗号类型
192.168.0.1,3,5,9
多种类型
hia-hia-hia.com,192.168.0.1/29,192.168.2.3
文件类型
-iL <inputfilename> 从文件中读取,其中每种地址以空格,换行,制表符分隔(可以使用-代表标准输入)
-iR <hostnum> 设置主机数来随机选择目标扫描
特殊类型
--exclude <host1[, 对上面的范围用此参数排除
--excludefile <excludefile> 指定要排除的目标

指定端口

1
2
3
4
-p <port ranges>: 指定端口,默认指定两种协议,可以指定每种协议的:
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: 只扫描常用端口(1200个),默认的端口有1600个
-r: 默认是按随机顺序来扫描的,此选项使用顺序扫描

改变状态

1
2
3
4
5
6
7
程序在执行时,可以使用如下键改变状态:
v / V
增加 / 减少细节
d / D
提高 / 降低调试级别
p / P
打开/ 养老报文跟踪

用法举例

1
2
3
4
5
6
7
8
   nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -P0 -p 80
nmap -v scanme.nmap.org
nmap -sS -O scanme.nmap.org/24
nmap -sV -p 22,
nmap -v -iR 100000 -P0 -p 80
nmap -P0 -p80 -oX logs/pb-port80scan.xml -oG logs/pb-port80scan.gnmap 216.163.128.20/20

Ping

1
Ping  baidu.com			#就用来检查网络的联通性

Netmask

1
netmask -s <域名>			查询标准的IP地址及子网掩码

只有在特殊情况下才需要这样查

dmitry

1
dmitry -wnpb <域名>			查询IP,whois,开放的端口等

fping

命令功能: fping命令用来扫描多个主机是否在线
命令格式:fping [参数] [ping的目标]
例:

1
2
3
4
5
6
7
8
9
10
11
12
fping 163.com
fping 123.58.180.8
fping 163.com zjgsu.edu.cn baidu.com
fping 123.58.180.8 202.96.99.58 111.13.101.208 192.168.1.1
fping -g 202.96.99.0/24 或 202.96.99.0 202.96.99.255
-g //指定目标主机列表

fping -c 3 -b 65230 -f ip.txt //-f 读取文件 -c 数据包个数 -b 数据包大小
fping -r 1 123.58.180.8 202.96.99.58 192.168.1.154
-r 1 //设置重试次数为1,默认为3
fping -s 163.com zjgsu.edu.cn baidu.com
-s //打印累计统计信息

hping3

命令功能:防火墙测试、端口扫描、 Idle扫描、拒绝服务攻击、 文件传输、木马功能,其实主要是这个扫描能力强大,支持多种协议而已
命令格式:hping3 主机 [参数]
例:

1
2
3
4
5
6
7
8
9
10
hping3 -1 163.com -c 10
hping3 -1 123.58.180.8 -c 10
-1 //发送ICMP数据包
-c //发送10个数据包
hping3 -1 -i 4 192.168.1.1
-i 4 //设置发送数据包的时间间隔为4秒
hping3 -1 -i u1 123.58.180.8
-i u1 //每1微秒发送一个包,这是一种攻击行为,大家慎用
hping3 -1 163.com -t 100
-t 100 //设置TTL值为100

Traceroute

命令功能: traceroute命令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes。
命令格式: traceroute [参数] [主机名或IP地址]
例:

1
2
3
4
5
6
7
8
9
10
traceroute 163.com
traceroute -m 50 163.com
-m 50 //设置检测数据包的最大存活数值TTL为50

traceroute -q 4 www.baidu.com
-q 4 //把探测包的个数设置为4
traceroute -n sina.com
-n //直接使用IP地址而非主机名称
traceroute -w 3 sina.com
-w 3 //把对外发探测包的等待响应时间设置为3秒,防止被检查出来

Arping

命令功能: arping命令可以用来测试局域网各个主机之间的连通性,不能用于测试其是否能与互联网连通
命令格式: arping [参数][目的地址 ]
例:

1
2
3
4
5
6
7
8
9
10
11
12
route -n  或 netstat –r  //查看自己的网关ip地址
arping 192.168.1.1
arping -c 3 192.168.1.1
-c 3 //指定发送3次arp请求
arping -i eth0 -c 3 192.168.1.1
-i eth0 //当有多个网卡是指定网卡为eth0
arping -c 10 -r 192.168.1.1
-r //只显示MAC地址
arping -c 3 -i eth0 -t 00:0c:29:4d:e5:97 192.168.1.105
-t //测试00:0c:29:4d:e5:97和192.168.1.105是否绑定在一起
arping -c 3 -i eth0 -T 192.168.1.105 00:0c:29:4d:e5:97
-T //测试192.168.1.105和00:0c:29:4d:e5:97是否绑定在一起

netdiscover

命令功能: Netdiscover是一个主动/被动的ARP侦查工具。使用Netdiscover工具可以在网络上扫描IP地址,ARP侦查工具Netdiscover检查在线主机或搜索为它们发送的ARP请求。
命令格式: netdiscover [参数]?
例:

1
2
3
4
5
6
7
8
netdiscover				//扫描局域网中所有主机
netdiscover -i eth0 -r 192.168.1.0/24
-i eth0 //指定当前网卡为eth0
-r //指定扫描范围
netdiscover -p -i eth0 -r 192.168.1.0/24
-p //被动模式,不发送arp包
netdiscover -l ip.txt
-l //指定扫描范围列表文件

Unicornscan

功能: Unicornscan是信息收集和关联分析引擎,它能对TCP/IP设备发起主动扫描,并根据其响应进行分析。主要特点是精确、灵活而且高效,尤其对UDP端口扫描。
例:

1
2
3
4
5
6
unicornscan -m U -Iv 192.168.1.104:1-100   
-m U 扫描方式为UDP扫描
-Iv 查看程序的详尽输出
1-100 扫描1-100端口
unicornscan -m U -Iv 192.168.1.0/24:1-100 -r 1000
-r 每秒发送1000个数据包,默认是300

Amap

功能:检测在指定端口上运行的应用程序信息

1
2
3
amap -q 192.168.1.104 -p 80			//检测目标主机80端口上运行的应用程序
amap -bq 192.168.1.104 1-80 //检测目标主机1-80端口上运行的应用程序,
-b获取banner信息 -q不显示关闭的端口信息

CATALOG
  1. 1. nmap
    1. 1.1. 主机发现
    2. 1.2. 扫描技术
    3. 1.3. 服务识别
    4. 1.4. 系统探测
    5. 1.5. 速度时间
    6. 1.6. 反ID(P)S,firewall
    7. 1.7. 结果输出
    8. 1.8. 杂项设置
    9. 1.9. 指定扫描目标
    10. 1.10. 指定端口
    11. 1.11. 改变状态
    12. 1.12. 用法举例
  2. 2. Ping
  3. 3. Netmask
  4. 4. dmitry
  5. 5. fping
  6. 6. hping3
  7. 7. Traceroute
  8. 8. Arping
  9. 9. netdiscover
  10. 10. Unicornscan
  11. 11. Amap