《网络对抗技术》Exp5 信息搜集与漏洞扫描
《网络对抗技术》Exp5 信息搜集与漏洞扫描
一、实践目标
掌握信息搜集的最基础技能与常用工具的使用方法
- 各种搜索技巧的应用
- DNS IP注册信息的查询
- 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
- 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
二、实践内容
Ⅰ.各种搜索技巧的应用
1.搜索网址目录结构
msfconsole
use auxiliary/scanner/http/dir_scanner
set THREADS 50
set RHOSTS www.baidu.com
exploit
可以看到百度的这几个隐藏目录
其中返回代码302表示服务器找不到请求的网页
返回代码200表示成功处理了请求
返回代码404表示服务器找不到请求的网页
2.利用搜索引擎的技巧
首条结果竟然是2020.4的Kali,很明显会降低我们的搜索效率,尤其是百度搜索,结果简直惨不忍睹
“+”加号 —— 强制包含关键词
“-”非——消除无关性
更详细的技巧可以参考十分钟教你有效运用15种百度检索式:小敏学长
3.路由侦察
tracert www.baidu.com
这里出现的
www.a.shifen.com
是百度防止黑客恶意攻击的一个手段,这个 shifen 就是baidu的竞价排名系统,名字就叫"十分系统" 。
第一列代表了生存时间(每途经一个路由器结点自增1)
第二至第四列表示“三次发送的ICMP包返回时间(共计3个,单位为毫秒ms)
第五列表示“途经路由器的IP地址(如果有主机名,还会包含主机名)
带有星号(*)的信息表示该次ICMP包返回时间超时。
traceroute www.baidu.com
结果与windows中的基本一致,只有顺序变化了一下,记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关,每行有三个时间,单位是ms,是探测数据包向每个网关发送三个数据包后,网关响应后返回的时间
Ⅱ.DNS IP注册信息的查询
1. whois查询
whois baidu.com
进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到
3R信息
2. nslookup,dig域名查询
①nslookup
nslookup baidu.com
nslookup
可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的
②dig
dig baidu.com
dig
可以从官方DNS服务器上查询精确的结果除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
+[no]search
:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
+[no]trace
:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
+[no]identify
:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
+[no]stats
:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
3. IP2Location地理位置查询
在maxmind可以查询IP的地理位置,需要先找到
www.baidu.com
的IP地址
www.ip-adress.com也可以查询地址
4. IP2反域名查询
shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型
Ⅲ.基本的扫描技术
1.主机发现
①PING
需要知道目标主机的IP地址
②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
③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
④nmap -sn
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
nmap -sT -p 1-1024 192.168.31.63(nmap -sU -p 3000-4000 192.168.31.63)
②msf 中的 portscan 模块对TCP端口进行探测(有点慢)
msfconsole
use auxiliary/scanner/portscan/tcp
set RHOSTS 192.168.31.63/24
set THREADS 50
set PORTS 1-1024
run
3. OS及服务版本探测
① nmap -O
让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
nmap -O 192.168.31.63
②nmap -sV
查看目标主机的详细服务信息,-Pn是在扫描之前,不发送ICMP echo请求测试目标
nmap -sV -Pn 192.168.31.63
4.具体服务的查点
①Telnet服务扫描
telnet命令用于登录远程主机,对远程主机进行管理。
msfconsole
use auxiliary/scanner/telnet/telnet_version
set RHOSTS 192.168.31.63/24
set THREADS 50
run
②SSH服务
SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
msfconsole
use auxiliary/scanner/ssh/ssh_version
set RHOSTS 192.168.31.63/24
set THREADS 50
run
③Oracle数据库服务查点
msfconsole
use auxiliary/scanner/oracle/tnslsnr_version
show options
set RHOSTS 192.168.31.63/24
set THREADS 50
run
Ⅳ.漏洞扫描
1.openvas
安装
在
kali
新版本中openvas
改名成了gvm
,强烈建议重新装一个kali
虚拟机,然后换源,更新,再按照如下方法配置
①安装
sudo apt-get install gvm
②初始化
sudo gvm-setup
这一步需要比较长的时间(1h+)需要有点耐心,切记什么都不要点,尤其是回车,容易下载文件出错,也千万不要换网,换网容易报错,速度就那样慢慢等着就行了,成功后如下图:
在最后写了用户名和密码,用户名为
admin
,密码为1064daf6-3eca-4423-886f-293a3d79e873
,尽量记住,就不用再改了,如果要修改密码使用runuser -u _gvm --gvmd --user=admin --new-password=123456
③检查完整性
sudo gvm-check-setup
看到红框里的那句话基本上就安装成功了
④运行
gvm-start
界面如下:
输入用户名密码即可登录,登录后如下:
⑤漏洞扫描
点击左上角的第二个图标(像魔法棒一样),选择第一个Task Wizard就行,或者想选下面两个也行无所谓,输入主机的IP地址,点击开始。这个过程需要一点时间
先点这个地方查看
在windows上执行查询开放的端口查到了135,与报告一致
CVEs意为通用漏洞披露,
Closed CVEs
报告将生成主机和CVE的列表,对于这些主机和CVE,相应的测试返回了“不易受攻击”的退出代码,即已修复且不会对报告的主机构成威胁的漏洞/暴露。详细的区别说明可以查看奇怪的上单
按照图中步骤点击查看
以缓冲区溢出为例
也可以直接修改筛选条件:family="Buffer overflow",如下图
点击第一个查看详细内容
更详细的漏洞说明可在微软技术中心中查看或者查看下面给出的一些网址,解决漏洞的话就是根据图片中的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
解决方法:
runuser -u _gvm --gvmd --creat-user=admin --password=123456
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
报错的解决方案
报错:connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432
4.警告
启动task的时候遇到报错如下:
再次运行检查是发下以下警告:
按照建议安装
nsis
sudo apt-get install nsis
出现了新的建议安装,继续安装,问题解决
sudo apt-get install mingw-w64 nsis-doc nsis-pluginapi wine
五、实验感想
经过本次实验我对信息搜集与漏洞扫描有了更深的理解,可以在日常生活和学习中应用搜索技巧,可以在windows和kali中应用方法扫描主机,扫描端口,可以对自己主机的开放端口进行扫描,以此保护自己的主机,在安全openvas遇到了非常多的问题,感觉修修补补不如从头开始。