主动信息收集

主动信息收集

  • 直接与目标系统交互通信
  • 无法避免留下访问的痕迹
  • 使用受控的第三方电脑进行探测
    ·使用代理或已经被控制的主机
    ·做好被封杀的准本
    ·使用噪声迷惑目标,淹没真实的探测流量
  • 扫描
    发送不同的探测,根据返回结果判断目标状态

发现(2、3、4层发现)

二层发现

  • 优点:扫描速度快
  • 缺点:不可路由
  • ARP协议

Netdiscover
专用于二层发现
可用于无线和有线的网络环境下
主动和被动探测
•主动

1
netdiscover -i eth0 -r 1.1.1.0/24 #可以是ip或者是ip地址段

1.png

1
netdiscover -l iplist.txt #调用ip地址列表

•被动

1
netdiscover –p #将网卡调整为混杂模式

2.png
主动ARP容易发生报警
二层发现一般用于在控制一台机器后,对其内网继续渗透。
三层发现

  • 优点:可路由、速度较快
  • 缺点:比二层慢、经常被边界防火墙过滤

3.png
使用路由追踪,发现被边界防火墙过滤了。 #路由追踪使用ICMP协议
IP、ICMP协议
Nmap
nmap –sn 192.168.1.1-255
4.png
四层发现

  • 优点:可路由并且结果可靠、不太可能防火墙过滤、可以发现所有端口都被过滤的主机。
  • 缺点:基于状态过滤的防火墙可能过滤扫描、全端口扫描速度慢
  • TCP:未经请求的ACK—RST、SYN—SYN/ACK、RST #未建立握手,发送>- ACK,在线IP回RST
  • UDP:ICMP端口不可达、一去不复返 #

Scapy
作为Python库进行调用
作为单独的工具使用
抓包、分析、创建、修改、注入网络流量
安装 pip3 install scapy
TCP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
>>> i=IP()
>>> t=TCP()
>>> r=(i/t) #不同网络层级之间的连接用 “/”
>>> r[IP].dst="192.168.1.1"
>>> r[TCP].flags="A"
>>> r.display()
###[ IP ]###
version= 4
ihl= None
tos= 0x0
len= None
id= 1
flags=
frag= 0
ttl= 64
proto= tcp
chksum= None
src= 192.168.1.3
dst= 192.168.1.1
\options\
###[ TCP ]###
sport= ftp_data
dport= http
seq= 0
ack= 0
dataofs= None
reserved= 0
flags= A
window= 8192
chksum= None
urgptr= 0
options= []

>>> a=sr1(r)
Begin emission:
.Finished sending 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets

7.png
8.png
发送ACK,目标存活返回RST
UDP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
>>> i=IP()
>>> u=UDP()
>>> r=(i/u)
>>> r[IP].dst="192.168.1.4"
>>> r[UDP].dport=4657
>>> r.display()
###[ IP ]###
version= 4
ihl= None
tos= 0x0
len= None
id= 1
flags=
frag= 0
ttl= 64
proto= udp
chksum= None
src= 192.168.1.3
dst= 192.168.1.4
\options\
###[ UDP ]###
sport= domain
dport= 4657
len= None
chksum= None
>>> a=sr1(r)
Begin emission:
.Finished sending 1 packets.
*
Received 2 packets, got 1 answers, remaining 0 packets
>>>

注:我家天翼网关的路由器对异常的数据包会选择过滤,并不会按照通常情况下回包。
通过发送一个数据包到目标ip关闭的端口,并回包ICMP不可达,确定目标的存活。
果然原理很重要。(~ ̄▽ ̄)~
Nmap
UDP:nmap 1.1.1.1-254 -PU53 –sn
9.png

1
TCP:nmap 1.1.1.1-254 -PA80 –sn #A是指ACK方式

10.png

端口扫描

  • 端口对应网络服务及应用程序
  • 服务端程序的漏洞通过端口攻入
  • 发现开放端口
  • 更具体的攻击面

UDP端口扫描
•假设ICMP port-unreachable响应代表端口关闭,即目标系统不响应ICMP port-unreachable时将可能产生误判
•完整的UDP应用层请求,代表准确性高、耗时巨大

1
nmap -sU 1.1.1.1 #默认常用1000个端口

11.png

1
nmap 1.1.1.1 -sU -p 53 #指定端口

TCP端口扫描
•基于连接的协议
•三次握手
•隐蔽扫描 #不建立完整连接、应用日志不记录扫描行为,网络层会记录。(SYN-SYN/ACK端口开放、SYN-RST/ACK端口关闭)

1
nmap -sS 1.1.1.1 -p 1-100 #指定端口扫描

12.png
hping3 1.1.1.1 --scan 1-100 -S
13.png
•僵尸扫描 #极度隐蔽、实施条件苛刻、可伪造源地址、选择僵尸机(足够闲置的主机、系统使用递增的IPID)
发现僵尸机:nmap -p445 192.168.1.133 --script=ipidseq.nse
扫描目标:nmap 172.16.36.135 -sI 172.16.36.134 -Pn -p 0-100
•全连接扫描 #建立完整三次握手
nmap -sT 1.1.1.1 -p 1-100
14.png
dmitry -p 119.27.185.59
15.png
注:所有TCP扫描方式都是基于三次握手的变化来判断目标端口状态

服务扫描

  • 识别开放端口上运行的应用 #有可能是管理员给的错误信息
  • 识别目标操作系统
  • 提高攻击效率
    •Banner捕获
    •服务识别
    •操作系统识别
    •SNMP分析
    •防火墙识别

Banner

软件开发商
软件名称
服务类型
版本号(直接发现利用已知的漏铜和弱点)
连接建立后直接获取banner
另类服务识别方法(特征行为和响应字段、不同的响应可用于识别底层操作系统)

SNMP

简单网络管理协议
Communit strings
信息查询或重新配置
识别和绕过防火墙筛选

BANNER捕获
nc –nv 1.1.1.1 22
16.png
dmitry -pb 119.27.185.59
17.png
操作系统识别
nmap -sT 119.27.185.59 --script=banner.nse
18.png

1
nmap –sV 1.1.1.1 #通过指纹识别,可信度更大

19.png
刚才扫不出来的,现在可以扫了,这个参数很厉害的。(~ ̄▽ ̄)~

操作系统识别

TTL起始值

  • Windows:128(65—128) #每经过一个路由TTL值-1
  • linux/unix:64(1—64) #某些Unix 255

nmap –o 1.1.1.1
20.png

1
P0f #结合ARP地址欺骗识别全网OS

21.png
注:这个是被动扫描,分析网络数据包,判断操作系统类型。

SNMP扫描

1
2
3
onesixtyone 1.1.1.1 public
snmpwalk 1.1.1.1 -c public -v 2c #更加详细
snmpcheck -t 1.1.1.1 #界面更友好

SMB(Server Meassage Block)扫描

  • 微软历史上出现安全问题最多的协议
  • 实现复杂默认开放
  • 文件共享
  • 空会话为身份认证访问(SMB1)
    •密码策略
    •用户名
    •组名
    •机器名
    •用户、组SID
1
nmap 1.1.1.1 –p 139,445 --script=smb-os-discovery.nse #139老版本、445新版本

22.png

1
nmap -v -p 139,445 --script=smb-vuln-* --script-args=unsafe=1 1.1.1.1`#扫描当前版本漏洞,对目标主机伤害大

23.png

WAF识别

wafw00f http://tool.chinaz.com/
24.png

到此结束

nmap真滴强大!
如有错误请联系lanbaidetanlang@qq.com
595a7e1e266f2.gif

文章目录
  1. 1. 主动信息收集
    1. 1.1. 发现(2、3、4层发现)
    2. 1.2. 端口扫描
    3. 1.3. 服务扫描
    4. 1.4. 操作系统识别
    5. 1.5. SNMP扫描
    6. 1.6. SMB(Server Meassage Block)扫描
    7. 1.7. WAF识别
  2. 2. 到此结束