Kali-渗透前期

背景

全文内容讲述了渗透前期对网站进行嗅探的一些方式,记录查询域名相关信息的网站,主要是进行信息收集。

内容源自拼客学院的公开课,全文是根据自己的需要做的简要笔记,便于后期复习,如需了解完整内容,可前往拼客学院了解,它挺好的。同时文中所涉及的内容仅用作研究所用,使用的设备也都是个人网站,不侵犯任何人的利益和隐私。

文中涉及的搭建环境信息,可查看文末环境与书籍。原教学视频链接:https://www.pinginglab.net/course/430/tasks

信息收集阶段一般有三步:踩点扫描查点,目的都是为了获取与域名相关的信息。

踩点

踩点部分又分为三块:Web搜索与挖掘DNS和IP查询网络拓扑侦察,目的是收集域名、IP对应的信息,寻找攻击目标中可能存在的薄弱环节,为进一步的攻击提供指引。一般通过域名查询可以获取如下信息:

目标组织:

  • 域名信息、子域名信息
  • 网络地址范围
  • 因特网上可直接访问的IP地址与网络服务
  • 网络拓扑结构
  • 电话号码段
  • 电子邮件列表
  • 信息安全情况

目标个人:

  • 个人的身份信息、联系方式、就业经历,以及可能的隐私信息

域名注册者的信息可以通过whois查询到与域名相关的信息

1
2
3
4
5
# 安装工具
sudo apt install whois

# 查询域名信息,直接查询主域名
whois 52zhaoyue.cn

查询域名对应的服务器IP可以通过命令nslookupdig查询到域名服务器的信息

1
2
3
4
5
# nslookup:查询DNS服务器上的Cache非权威解答
nslookup www.52zhaoyue.cn

# dig:可以指定具体的域名服务器进行查询,得到更权威的解析
dig 114.114.114.114 www.52zhaoyue.cn

同时,在linux下还可以通过抓取握手包的方式获取访问域名时的中转站

1
2
3
4
5
# 理由icmp协议获取
traceroute www.52zhaoyue.cn

# 通过tcp协议获取,这个服务器无法抗拒
tcptraceroute www.52zhaoyue.cn

这些通过一些公开的域名查询网站就可以查到,授业者推荐的网站有以下:

同时还可以通过服务器IP查询到曾今与该IP绑定过的域名信息:

更进一步的信息可以通过GoogleShadonbing搜索器对目标网站进行搜索,比如查询网站中敏感信息的文件、服务器开放的端口等。

通过Google Hacking的方式有以下(具体的请查看Google Hacking一文):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# site:标识查询的网站
site:52zhaoyue.cn

# inurl:表示url中包含的内容
site:52zhaoyue.cn inurl:?id=1

# intitile:表示网页标题中包含的字段
intitle:shuai site:52zhaoyue.cn

# intext: 表示网页正文中包含的内容
intext:"power by hexo" site:52zhaoyue.cn

# filetype:表示文件类型
# ext与上面同样
filetype:doc site:52zhaoyue.cn

然而上面只是语法,如果需要借助这些指令去查找可能存在的漏洞,则需要智慧。国外有个网站:https://www.exploit-db.com/google-hacking-database,上面就提供了很多大神写的google hacking的指令,可以借鉴。

通过shodan.io则可以搜索到很多关于网站对应的信息,如端口、Web服务器等,语法部分可参考Shodan语法一文,shodan还提供了Chrome插件,可以直接搜索。

扫描

扫描分为4块:主机扫描端口扫描系统类型探查漏洞扫描。目的是收集主机是否活跃、主机系统、端口上运行的服务等,为渗透做准备。

主机扫描的方式有很多,按种类分为:主动扫描被动扫描主动扫描是指主动发送数据包给靶机,然后接受反馈包进行分析;被动扫描是指直接抓取靶机发出的数据包,并对数据包进行分析。辨识系统和服务的原理是通过分析各种数据包中包含的特征值、参数进行区分,常见的如下:

image-20210110160429757

上面的我也不懂,所以直接实操,首先是通过icmp协议ping查看靶机是否在线,不过容易被防火墙直接屏蔽掉。

1
2
3
4
5
# -c num:表示ping多少次
ping -c 10 www.52zhaoyue.cn

# -s num:指定每次发送握手包的大小
ping -s 600 www.52zhaoyue.cn

也可以通过arp协议arping是实现探测,不过只能ping一个地址:

1
arping www.52zhaoyue.cn

然后就是nbtbios协议nbtscanarp协议arp-scan,可以发现本地局域网的在线主机。

1
2
3
nbtscan 192.168.0.0/24

arp-scan --interface=eth0 192.168.0.0/24

同时还可以通过msf内部的arp_sweep扫描器进行扫描本地局域网的在线主机。

1
2
3
4
5
6
7
8
9
10
11
12
# 进入msfconsole
msfconsole

# 执行代码
use auxiliary/scanner/discovery/arp_sweep
show options
set RHOSTS 10.1.1.1-10.1.1.254 # 目标网段
set SHOSTS 10.1.1.99 # 本机地址
set SMAC 00:0c:20:22:22:22 # 本机网卡
set INTERFACE eth2 # 本机网卡名
set THREADS 10 # 线程数
run

不过上面的方式都不如nmap扫描来得厉害,它给出的结果包括了端口、主机类型、端口对应的服务:

1
2
3
4
5
6
7
nmap 10.10.10.0/24

# -sn:扫描MAC、IP信息,不做端口扫描,节省时间
nmap -sn 10.10.10.0/24

# -sV:捕获靶机上开放的端口及绑定的网络应用服务
nmap -sV www.52zhaoyue.cn

如果想要查看IP对应主机的系统信息,则可以借助nmapxprobe2

1
2
3
4
# -O: 获取靶机类型。nmap是一种主动型扫描
namp -O www.52zhaoyue.cn

xprobe2 10.10.10.128

如果希望查看端口及对应服务,可以借助Metasploit

1
2
3
4
5
6
7
8
9
# 进入metasploit
msfconsole

# 开启扫描
use auxiliary/scanner/portscan/syn
show options
set RHOSTS 10.10.10.129
set THREADS 20
run

同样也可以借助nmap命令查看端口及对应的服务

1
2
3
4
5
6
7
8
9
10
11
# 通过tcp syn方式扫描,并且扫描过程中不用进行icmp echo探测,能够扫描到IP、端口、服务信息、操作系统大致类型
nmap -sS -Pn 10.10.10.129

# 在上面基础上还会提供系统对应的软件版本信息
nmap -sV -Pn 10.10.10.129

# 在上面基础上,还进行icmp echo探测
nmap -sV 10.10.10.129

# 进行完全扫描,会将所有能得到的信息都扫描出来
nmap -A 10.10.10.129

如果对目标服务器进行漏洞扫描,则可以借助于Nessus扫描器,它的搭建可以参考网络安全-Nessus搭建一文,使用文档可以直接百度。

查点

查点分为两块:旗标抓取网络服务查点。它的目的是针对已知的弱点,对识别出来的服务进行更加充分、更具针对性的探查,来寻找真正可以攻击的入口,以及攻击过程中可能需要用到的关键数据。下文主要通过Metasploit进行查点侦测。比如在漏洞扫描过程中发现靶机存在ssh/telnet登录弱口令的漏洞,则可以先尝试远程操作,然后进行密码爆破。

对于SSH登录弱口令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 查点尝试,如果出现登录界面,说明可能存在远程登陆的危险
ssh -p 22 root@10.10.10.128

# 使用Metasploit进行暴力破解,原理就是不断地通过发送握手包,看是否能够获取回应
sudo msfconsole
use auxiliary/scanner/ssh/ssh_version
show options
set RHOSTS 10.10.10.130
set PORT 22
run # 此时进行的是网段主机发现的扫描
back

use auxiliary/scanner/ssh/ssh_login # 开始进行暴力破解
show options
set RHOSTS 10.10.10.254
set PASS_FILE /root/home/Desktop/passwdlist
set USER_FILE /root/home/Desktop/userlist
set STOP_ON_SUCCESS true
set THREADS 10
run

对于telnet登录弱口令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 查点尝试,如果出现登录界面,说明可能存在远程登陆的危险
telnet 10.10.10.254

# 使用Metasploit进行暴力破解,原理就是不断地通过发送握手包,看是否能够获取回应
sudo msfconsole
use auxiliary/scanner/telnet/telnet_version
show options
set RHOSTS 10.10.10.130
set PORT 22
run # 此时进行的是网段主机发现的扫描
back

use auxiliary/scanner/ssh/ssh_login # 开始进行暴力破解
show options
set RHOSTS 10.10.10.254
set PASS_FILE /root/home/Desktop/passwdlist
set USER_FILE /root/home/Desktop/userlist
set STOP_ON_SUCCESS true
set THREADS 10
run

如果在真实环境下,则不建议开很多线程进行扫描、爆破,因为目前的服务器大都开启了WAF(Web Application Firewall),如果攻击频率过高会触发防御措施。

环境和书籍

  • 推荐书籍

    《Metasploit渗透测试指南》肯尼

    《Metasploit渗透测试魔鬼训练营》诸葛建伟

  • 环境搭建

    image-20210110104853723

    image-20210110104907098

  • 靶机已知漏洞

    image-20210110105119856

    image-20210110105150638

    image-20210110105209478

    image-20210110105227389

  • 注意点

    1
    2
    # 修改vmware的IP地址信息
    ipconfig eth0 10.10.10.129 netmask 255.255.255.0 up