20175323 Exp5 信息搜集与漏洞扫描
1. 问题回答
1.1 哪些组织负责DNS,IP的管理。
美国政府授权的ICANN统一管理DNS和IP,全球一共有5个地区性注册机构:ARIN(北美地区),RIPE(欧洲地区),APNIC(亚太地区),LACNIC(拉丁美洲美洲),AfriNIC(非洲地区)
1.2 什么是3R信息。
注册人Registrant、注册商Registrar、官方注册局Registry
1.3 评价下扫描结果的准确性。
扫描结果比较准确,各种不同的扫描工具在不同的方面的详细程度也不同,只能是各取所长
2. 实验内容
2.1 各种搜索技巧的应用
-
Google Hacking
基础搜索:
- intitle:搜索网页标题中包含有特定字符的网页。例如intitle: 后台,这样网页标题中带有‘后台’的网页都会被搜索出来。
- inurl:搜索包含有特定字符的URL。例如inurl:admin,可以用来查找网站后台。
- intext: 搜索网页正文内容中的指定字符,例如intext:操作系统。可以搜索含有‘操作系统’的页面
- Filetype: 搜索指定类型的文件。例如操作系统 filetype:pdf,就可以找到关于操作系统的pdf文档。
- Site:找到与指定网站有联系的URL。例如Site:baidu.com。所有和这个网站有联系的URL都会被显示。
- movie: 当我们用movie提交查询的时候,Google会返回跟查询关键词相关的电影信息。(当前只支持英文Google)
- info: 查询网站的一些信息。例如info:bbs.byr.cn,它只会返回一个结果,是一个选择列表,列表的选项是这个网站的某一方面的信息。info=cache+related+link+site+intext+intitle。
- 双引号: 代表完全匹配,使关键词不分开,顺序都不能变。
- 减号: 减号与前一个关键词之间一定要有一个空格,与后一个关键词之间一定不能有空格。搜索结果为,匹配前一个关键词但不匹配后一个关键词的结果。例如seo -搜索引擎。
- AND: 逻辑与,这个命令我们其实一直都在用,只是没有意识到。一般用空格代替,还可以用“+”代替。例如霹雳布袋+败亡之剑,返回的结果同时包含两者。
- weather: 查询某一地区或城市的天气。不过我们这一地区或城市必须是Google能识别的,例weather:beijing,Google将会给我们返回北京的天气。
- 星号(): 通配符,可以匹配任意字符串。例如搜索擎,则返回的结果中不仅有“搜索引擎”,还有“搜索巨擎”之类的。
- allinurl: 结果的url中包含多个关键词。例如allinurl:byr jobs,等于inurl:byr inurl:jobs。allinurl也是排他性指令
- define: 查询关键词的词义,起的是字典的作用。Google会返回包含查询关键词定义的网页,例define:computer,支持汉字>
比如输入intext:号码 Site:edu.cn
emmmm不过我认为这种搜索方式比较碰运气,以及在Google里面搜索更好用:
这是我用身份证 Site:edu.cn filetype:xls
搜到的:
(因为感觉这样搜不太好所以还是打了🐎)
甚至完整的银行卡号和身份证号………………………………
Google上面的信息显然要比百度多得多……好几十页的各种各样的信息
- 搜索网址目录结构
工具是metasploit的dir_scanner功能:
msf > use auxiliary/scanner/http/dir_scanner
msf auxiliary(scanner/http/dir_scanner) > set THREADS 50
msf auxiliary(scanner/http/dir_scanner) > set RHOSTS www.phpluntan.com
msf auxiliary(scanner/http/dir_scanner) > exploit
可以查询到网站的目录结构:
- 使用traceroute对经过的路由进行探测
基于ICMP协议
2.2 DNS IP注册信息的查询
- whois 查询
可以看到通过whois命令(不加www)可以查询到3R注册信息,其中Domain Name是网站名称,Registry Domain ID是注册机构ID(11181110_DOMAIN_COM-VRSN),Registrar WHOIS Server注册服务器(whois.markmonitor.com)
- nslookup,dig域名查询
dig得到的结果比nslookup的更加精确
- IP2Location 地理位置查询
我选择了www.ip-adress.com这个网站,不用FQ,打开主界面就显示自己的IP,然后我用有查询我的IP:
我就是在成都吖!
2.3 基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点(以自己主机为目标)
2.3.1 主机发现
- ICMP Ping命令
- metasploit中的arp_sweep模块
msf > use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
msf auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 192.168.1.0/24 //用set进行hosts主机段设置
msf auxiliary(scanner/discovery/arp_sweep) > set THREADS 50 //加快扫描速度
msf auxiliary(scanner/discovery/arp_sweep) > show options //查询模块参数
msf auxiliary(scanner/discovery/arp_sweep) > run //执行run进行扫描
- nmap -sn:探测某网段的活跃主机
2.3.2 端口扫描
- metasploit的端口扫描模块:auxiliary/scanner/portscan
可以扫描的五种端口
ack:通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
ftpbounce:通过FTP BOUNCE攻击的原理对TCP服务进行枚举
syn:使用发送TCP SYN标志的方式探测开放的端口
tcp:通过一次完整的TCP链接来判断端口是否开放
xmas:一种更为隐蔽的扫描方式,通过发送FIN,PSH,URG标志能够躲避一些TCP标记检测器的过滤
设置模块use auxiliary/scanner/portscan/tcp
设置扫描地址set RHOSTS 192.168.228.128
设置扫描端口范围set PORTS 0-1024
进行扫描exploit
- nmap -PU:对UDP端口进行探测
2.3.3 操作系统探测
- nmap -O:操作系统版本探测
- nmap -sV:目标主机的详细服务信息
2.3.4 服务查点
- metasploit的Telnet服务扫描模块
msf > use auxiliary/scanner/telnet/telnet_version //进入telnet模块
msf auxiliary(telnet_version) > set RHOSTS 192.168.3.0/24 //扫描192.168.3.0网段
msf auxiliary(telnet_version) > set THREADS 100 //提高查询速度
msf auxiliary(telnet_version) > run
- metasploit的SSH服务扫描模块
2.4 漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞(以自己主机为目标)
- 安装openvas:
# apt-get update
# apt-get install openvas
两步安装openvas之后,可以用查看openvas的版本,我的版本是9.0
用老师提示的直接openvas-check-setup
,提示没有安装OPENVAS Scanner:
尝试直接用sudo apt-get install openvas scanner
不成功
查询发现openvas-setup
可以用来安装配置openvas,而openvas-check-setup
是用来检查配置是否有错的
(openvas-setup这步需要等非常久),结果check的时候还是报这个错
重来,apt-get remove openvas
删除之前的openvas,然后更换软件源
在/etc/apt/sources.list
里面,我改成了中科大的源deb http://mirrors.ustc.edu.cn/kali kali-rolling main non-free contrib
更新三连:
- apt-get update
- apt-get upgrade
- apt-get dist-upgrade
之后重新对openvas进行安装,遇到了新的错误:
然后我的解决办法是:
cd /var/lib/dpkg/
sudo mv info/ info_bak # 现将info文件夹更名
sudo mkdir info # 再新建一个新的info文件夹
sudo apt-get update # 更新
sudo apt-get -f install # 修复
sudo mv info/* info_bak/ # 执行完上一步操作后会在新的info文件夹下生成一些文件,现将这些文件全部移到info_bak文件夹下
sudo rm -rf info # 把自己新建的info文件夹删掉
sudo mv info_bak info # 把以前的info文件夹重新改回名
重新安装后没有报这个错误,但是仍然在step1时候报错找不到openvas scanner
之后我反反复复恢复了好多次的快照(我的快照是kali刚搭建好就照的),但是最后每次都是卡在这个错上面,软件源我也用了很多种,都不能成功,我只能先这样了
- 附:设备空间不足的问题
在不停的upgrade的过程中还报错设备空间不足,用df -h
查看
可以看到/dev/sda1/已经用了很多,先清理安装包和缓存
sudo apt-get autoclean
清理旧版本的软件缓存
sudo apt-get clean
清理所有软件缓存(这步对我最有用)
root@JuXinYukali:/home/jxy5323# du -hs /var/cache/apt/archives/
100K /var/cache/apt/archives/
root@JuXinYukali:/home/jxy5323# du -sh /var/ #查看/var目录所占空间大小,发现还挺大的
3.4G /var/
root@JuXinYukali:/home/jxy5323# cd /var/
root@JuXinYukali:/var# ls
backups cache lib local lock log mail opt run spool tmp www
root@JuXinYukali:/var# mv log/ backups/ /home/
root@JuXinYukali:/var# ls /home/
backups jxy5323 log
root@JuXinYukali:/var# ln -s /home/log/ /var/#做软连接,防止以后使用的时候路径出现问题
root@JuXinYukali:/var# ln -s /home/backups/ /var/
root@JuXinYukali:/var# du -sh /var/
2.0G /var/
试验后发现无变化
所以要么扩容、要么重装,但是如果有快照的话就还可以恢复快照,我觉得恢复快照更简单,所以恢复后更改软件源重装
第二天睡饱了重新爬起来发现之前openvas-setup
的时候一直有报错openvassd和openvasmd找不到命令,突然想起来我的/sbin/一直没有添加到PATH里
(因为网上三种添加PATH的方法电脑重启后都失效,也没有仔细研究/etc/profile的文件,一直都凑合着用,现在遭报应了)
临时export之后,重新openvas-check-setup
果然能找到scanner了:
附:因为怎么改/etc/profile文件都不行(因为看不懂逻辑),每次不是root有sbin用户没有,就是重启失效,我最后在~/.bashrc文件中添加export可以成功
~/.bashrc文件是针对当前用户的,添加export之后每次都会运行这个脚本,所以成功
然后就规规矩矩老老实实的greenbone-nvt-sync
呗
之后就按照提示一步步安装,在greenbone-scapdata-sync
这一步的时候有提示Connection reset by peer
大概率是连接超时,我挂了个代理之后解决
写这一步已经是四天后了,安装这个openvas安了我四天,不管挂代理还是换WiFi速度都是5kb/s……,终于安上了
然后重新设置用户和密码:
打开https://127.0.0.1:9392进行登录:
在菜单栏选择Tasks,进入后点击Task Wizard新建一个任务向导,在栏里输入主机win10的IP地址,并单击Start Scans确认,开始扫描。
- CPE(Common Platform Enumeration):以标准化方式为软件应用程序、操作系统及硬件命名的方法。
- CVE:一个条目列表,每个条目包含一个识别号、一个描述和至少一个公开的已知网络安全漏洞的公共引用。CVE条目用于世界各地的众多网络安全产品和服务,包括NVD。
- NVT:网络漏洞测试
其中遇到这样的情况不要慌:
可能是主机的防火墙没有关闭,导致连接出错,正常的情况是等待进度条从%1到%100
点击Full and fast
,可以看到详细结果:
点进CentOS Local Security Checks
,可以看到各条都标注了风险:
点进去风险指数为7.8的一条:
可以看到它提示我要升级包了
3. 实验心得
机械重装是不行的,动脑子才能解决问题,以及一个告诫拖延症(也就是我)的道理:过去没有解决的事情总会在今后成为障碍,迟早都要做的。