《网络对抗技术》Exp5 信息搜集与漏洞扫描

《网络对抗技术》Exp5 信息搜集与漏洞扫描

一、实践目标

掌握信息搜集的最基础技能与常用工具的使用方法

  • 各种搜索技巧的应用
  • DNS IP注册信息的查询
  • 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
  • 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)

二、实践内容

Ⅰ.各种搜索技巧的应用

1.搜索网址目录结构

msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 50
set RHOSTS www.baidu.com
exploit

image-20210414135254819

图2.1.1

image-20210414135156502

图2.1.2

可以看到百度的这几个隐藏目录
其中返回代码302表示服务器找不到请求的网页
返回代码200表示成功处理了请求
返回代码404表示服务器找不到请求的网页

2.利用搜索引擎的技巧

image-20210414134223852

图2.1.3

首条结果竟然是2020.4的Kali,很明显会降低我们的搜索效率,尤其是百度搜索,结果简直惨不忍睹

“+”加号 —— 强制包含关键词

image-20210414134254560

图2.1.4

“-”非——消除无关性

image-20210414134358803

图2.1.5

更详细的技巧可以参考十分钟教你有效运用15种百度检索式:小敏学长

3.路由侦察

tracert www.baidu.com

image-20210414135929138

图2.1.6

这里出现的 www.a.shifen.com 是百度防止黑客恶意攻击的一个手段,这个 shifen 就是baidu的竞价排名系统,名字就叫"十分系统" 。
第一列代表了生存时间(每途经一个路由器结点自增1)
第二至第四列表示“三次发送的ICMP包返回时间(共计3个,单位为毫秒ms)
第五列表示“途经路由器的IP地址(如果有主机名,还会包含主机名)
带有星号(*)的信息表示该次ICMP包返回时间超时。

traceroute www.baidu.com

图2.1.7

结果与windows中的基本一致,只有顺序变化了一下,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,每行有三个时间,单位是ms,是探测数据包向每个网关发送三个数据包后,网关响应后返回的时间

Ⅱ.DNS IP注册信息的查询

1. whois查询

whois baidu.com

进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到

image-20210414141626970

图2.2.1

image-20210414143330857

图2.2.2

3R信息

2. nslookup,dig域名查询

①nslookup
nslookup baidu.com

image-20210414144203428

图2.2.3

nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的

②dig
dig baidu.com 

image-20210414144510568

图2.2.4

dig可以从官方DNS服务器上查询精确的结果

除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
+[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
+[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。

image-20210414145046390

图2.2.5

3. IP2Location地理位置查询

maxmind可以查询IP的地理位置,需要先找到www.baidu.com的IP地址

image-20210414145353161

图2.2.6

www.ip-adress.com也可以查询地址

4. IP2反域名查询

shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型

image-20210414150443936

图2.2.7

image-20210414150522351

图2.2.8

Ⅲ.基本的扫描技术

1.主机发现

①PING

需要知道目标主机的IP地址

image-20210414150930804

图2.3.1
②metasploit中的arp_sweep模块

arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机

msfconsole
use auxiliary/scanner/discovery/arp_sweep 
show options 
set RHOSTS 192.168.31.63/24 
set THREADS 50 
run

image-20210414201403074

图2.3.2
③metasploit中udp_sweep模块

udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息

msfconsole
use auxiliary/scanner/discovery/udp_sweep
show options 
set RHOSTS 192.168.31.63/24
set THREADS 50
run

image-20210414201728208

图2.3.3
④nmap -sn

image-20210414202231096

图2.3.4

2.端口扫描

①nmap 命令

nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
参数:
-sS:TCP SYN扫描,可以穿透防火墙;
-sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
-sP:发送ICMP echo探测;
-sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
-sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
-O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
-sV:获取开放服务的版本信息;

nmap -PU 192.168.31.63/24

image-20210414202832583

图2.3.5
nmap -sT -p 1-1024 192.168.31.63(nmap -sU -p 3000-4000 192.168.31.63)

image-20210414203600423

图2.3.6
②msf 中的 portscan 模块对TCP端口进行探测(有点慢)
msfconsole
use auxiliary/scanner/portscan/tcp 
set RHOSTS 192.168.31.63/24 
set THREADS 50 
set PORTS 1-1024 
run 

image-20210414205545094

图2.3.7

3. OS及服务版本探测

① nmap -O

让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息

nmap -O 192.168.31.63 

image-20210414210044901

图2.3.8
②nmap -sV

查看目标主机的详细服务信息,-Pn是在扫描之前,不发送ICMP echo请求测试目标

nmap -sV -Pn 192.168.31.63

image-20210414210225957

图2.3.9

4.具体服务的查点

Telnet服务扫描

telnet命令用于登录远程主机,对远程主机进行管理。

msfconsole
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.31.63/24 
set THREADS 50 
run

image-20210414212033504

图2.3.10
②SSH服务

SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。

msfconsole
use auxiliary/scanner/ssh/ssh_version 
set RHOSTS 192.168.31.63/24 
set THREADS 50 
run

image-20210414212506420

图2.3.11
③Oracle数据库服务查点
msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
show options
set RHOSTS 192.168.31.63/24
set THREADS 50
run

image-20210414212649917

图2.3.12

Ⅳ.漏洞扫描

1.openvas安装

kali新版本中openvas改名成了gvm,强烈建议重新装一个kali虚拟机,然后换源,更新,再按照如下方法配置

①安装
sudo apt-get install gvm

image-20210413123903476

图2.4.1
②初始化
sudo gvm-setup 

这一步需要比较长的时间(1h+)需要有点耐心,切记什么都不要点,尤其是回车,容易下载文件出错,也千万不要换网,换网容易报错,速度就那样慢慢等着就行了,成功后如下图:

image-20210412212521938

图2.4.2

在最后写了用户名和密码,用户名为admin,密码为1064daf6-3eca-4423-886f-293a3d79e873,尽量记住,就不用再改了,如果要修改密码使用runuser -u _gvm --gvmd --user=admin --new-password=123456

③检查完整性
sudo gvm-check-setup

image-20210412212840418

图2.4.3

看到红框里的那句话基本上就安装成功了

④运行
gvm-start

image-20210412213308917

图2.4.4

界面如下:

image-20210412213325342

图2.4.5

输入用户名密码即可登录,登录后如下:

image-20210412213923072

图2.4.6
⑤漏洞扫描

点击左上角的第二个图标(像魔法棒一样),选择第一个Task Wizard就行,或者想选下面两个也行无所谓,输入主机的IP地址,点击开始。这个过程需要一点时间

image-20210413180919523

图2.4.7

先点这个地方查看

image-20210413193858770

图2.4.8

在windows上执行查询开放的端口查到了135,与报告一致

image-20210413181736678

图2.4.9

CVEs意为通用漏洞披露,Closed CVEs报告将生成主机和CVE的列表,对于这些主机和CVE,相应的测试返回了“不易受攻击”的退出代码,即已修复且不会对报告的主机构成威胁的漏洞/暴露。详细的区别说明可以查看奇怪的上单

image-20210413181815032

图2.4.10

按照图中步骤点击查看

image-20210413184226441

图2.4.11

以缓冲区溢出为例

image-20210413184427023

图2.4.12
也可以直接修改筛选条件:family="Buffer overflow",如下图

image-20210413184505596

图2.4.13

点击第一个查看详细内容

image-20210413190042857

图2.4.14

更详细的漏洞说明可在微软技术中心中查看或者查看下面给出的一些网址,解决漏洞的话就是根据图片中的solution
cve NVD
cvedetails

或者通过查找CVE-2006-6183来得到更多有关漏洞的说明

三、实验后回答问题

1.哪些组织负责DNS,IP的管理

全球根服务器均由美国政府授权的ICANN统一管理,负责DNS和IP地址管理。
全球一共有5个地区性注册机构:
ARIN(北美地区业务),
RIPE(负责欧洲地区业务),
APNIC(负责亚太地区业务),
LACNIC(负责拉丁美洲美洲业务),
AfriNIC(负责非洲地区业务)

2.什么是3R信息

Registrant:注册人
Registrar:注册商
Registry:官方注册局

3.评价下扫描结果的准确性

扫描结果较为准确(系统、端口等),但漏洞太多了,不知道怎么核实

四、问题与解决

1.报错1

image-20210412214347831

图4.1.1

解决方法:

runuser -u _gvm --gvmd --creat-user=admin --password=123456

image-20210412215157757

图4.1.2

2.报错2

①psql: 错误: 无法联接到服务器: 没有那个文件或目录 服务器是否在本地运行并且在 Unix 域套接字
②An internal error occurred. Diagnostics: Could not connect to manager daemon. Could not open a connection.
③postgresql could not change directory to "/root": 权限不够
④FIX: Run a synchronization script like openvas-nvt-sync or greenbone-nvt-sync(执行会报错)

解决不了(或者说已经超出了我的能力范围)建议重开,直接remake

3.postgresql报错的解决方案

关于postgresql的种种恶心问题

报错:connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432

他说他解决了

4.警告

启动task的时候遇到报错如下:

image-20210413182929903

图4.4.1

再次运行检查是发下以下警告:

image-20210413183048162

图4.4.2

按照建议安装nsis

sudo apt-get install nsis

image-20210413183233096

图4.4.3

出现了新的建议安装,继续安装,问题解决

sudo apt-get install mingw-w64 nsis-doc nsis-pluginapi wine 

五、实验感想

经过本次实验我对信息搜集与漏洞扫描有了更深的理解,可以在日常生活和学习中应用搜索技巧,可以在windows和kali中应用方法扫描主机,扫描端口,可以对自己主机的开放端口进行扫描,以此保护自己的主机,在安全openvas遇到了非常多的问题,感觉修修补补不如从头开始。

posted @ 2021-04-14 22:01  20181204王浩博  阅读(652)  评论(1编辑  收藏  举报