Exp6 信息搜集与漏洞扫描
目录
基础问题回答
(1)哪些组织负责DNS,IP的管理。
- 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
- 全球一共有5个地区性注册机构:ARIN主要负责北美地区业务,RIPE主要负责欧洲地区业务,APNIC主要负责亚太地区业务,LACNIC主要负责拉丁美洲美洲业务,AfriNIC负责非洲地区业务。
(2)什么是3R信息。
(3)评价下扫描结果的准确性。
- 见具体的扫描过程记录,此处不再赘述。
实践过程记录
(1)各种搜索技巧的应用
①Google Hacking
- 解释:Google提供了高级搜索功能。GHDB数据库包含了大量使用Google从事渗透的搜索字符串。其中包含了很多常用的模块,还有我们之前使用过的各个平台下的shellcode,也可以从这里获取。
②搜索网址目录结构
- 解释:利用metasploit的dir_scanner辅助模块,暴力猜解,获取网站目录结构。
- 方法:
- msfconsole
- 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.baidu.com
- msf auxiliary(scanner/http/dir_scanner) > exploit
我发现了百度网站下的这两个目录:
③检测特定类型的文件
- 解释:有些网站会链接通讯录,订单等敏感的文件,可以进行针对性的查找
- 方法:
- 百度
site:edu.cn filetype:xls
,会出现一堆文件格式为XLS/Microsoft Excel的网址 - 点击某个网址,直接提示下载该文件,下载后打开,就可以获得某些信息了,比如我下载的这个就包含了陕西师范大学2009-2010学年的评优评先信息。
- 如果我们想在格式搜索的基础上加关键字,可以用
site:edu.cn filetype:xls 大学
来搜索与大学有关的XLS文件
- 百度
④使用tracert命令进行路由侦查
- 解释:tracert可用于对经过的路由进行探测
- 方法:输入命令
tracert www.baidu.com
(2)DNS IP注册信息的查询
①whois查询
- 解释:whois用来进行域名注册信息查询。
- 方法:在终端输入
whois gitee.com
可查询到3R注册信息,包括注册人的姓名、组织和城市等信息。 - 注意:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。
②nslookup,dig域名查询
- 解释:nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。dig可以从官方DNS服务器上查询精确的结果。
- 方法:在终端输入
nslookup gitee.com
- 方法:在终端输入
dig gitee.com
除此之外,dig命令还有很多查询选项,每个查询选项被带前缀(+)的关键字标识。例如:
- +[no]search:使用 [不使用] 搜索列表或 resolv.conf 中的域伪指令(如果有的话)定义的搜索列表。缺省情况不使用搜索列表。
- +[no]trace:切换为待查询名称从根名称服务器开始的代理路径跟踪。缺省情况不使用跟踪。一旦启用跟踪,dig 使用迭代查询解析待查询名称。它将按照从根服务器的参照,显示来自每台使用解析查询的服务器的应答。
- +[no]identify:当启用 +short 选项时,显示 [或不显示] 提供应答的 IP 地址和端口号。
- +[no]stats:该查询选项设定显示统计信息:查询进行时,应答的大小等等。缺省显示查询统计信息。
- ......
尝试下+trace查询选项:
- 方法:在终端输入
dig gitee.com +trace
③IP2Location 地理位置查询
- 解释:www.maxmind.com网站可以根据IP查询地理位置。
- 方法:打开网站网页->可以利用
ping www.baidu.com
的返回信息查看网站的IP地址->在网站下方输入IP->点击前往查看结果
- 解释:IP-ADDRESS这个网站可以查询到更详细的关于某共有IP的信息
- 方法:在下图的IP地址输入框中输入想要查询的IP,如百度的IP: 61.135.169.121
④IP2反域名查询
- 解释:shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型.
- 方法:在上方搜索框输入IP
(3)基本的扫描技术:主机发现、端口扫描、OS及服务版本探测、具体服务的查点
①主机发现
3.1ping
- 解释:ping命令用发送ICMP报文的方法检测活跃主机
- 方法:输入命令
ping www.baidu.com
3.2metasploit中的ARP扫描器 udp_sweep 模块
- 解释:arp_sweep使用ARP请求枚举本地局域网的活跃主机,即ARP扫描器 udp_sweep 使用UDP数据包探测。
- 方法:
- msfconsole
- msf > use auxiliary/scanner/discovery/arp_sweep //进入arp_sweep 模块
- msf auxiliary(scanner/discovery/arp_sweep) > show options //查询模块参数
- msf auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 10.10.10.0/24 //用set进行hosts主机段设置
- msf auxiliary(scanner/discovery/arp_sweep) > set THREADS 50 //加快扫描速度
- msf auxiliary(scanner/discovery/arp_sweep) > run //执行run进行扫描
3.3nmap -sn
- 解释:nmap -sn参数可以用来探测某网段的活跃主机
- 方法:输入命令
nmap -sn 192.168.130.0/24
②端口扫描
3.4nmap -PU
- 解释:nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
- 方法:输入命令
nmap -PU 192.168.130.0/24
③OS及服务版本探测
3.5nmap -O
- 解释:nmap -O选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
- 方法:输入命令
nmap -O 192.168.199.196
3.6nmap -sV
- 解释:nmap -sV查看目标主机的详细服务信息
- 方法:输入命令
nmap -sV -Pn 192.168.199.196
,其中-Pn是在扫描之前,不发送ICMP echo请求测试目标
④具体服务的查点
网络服务扫描
3.7 Telnet服务扫描
- 解释:telnet命令用于登录远程主机,对远程主机进行管理。
- 方法:
- msfconsole
- msf > use auxiliary/scanner/telnet/telnet_version //进入telnet模块
- msf auxiliary(telnet_version) > set RHOSTS 192.168.130.0/24 //扫描192.168.130.0网段
- msf auxiliary(telnet_version) > set THREADS 100 //提高查询速度
- msf auxiliary(telnet_version) > run
3.8 SSH服务扫描
- 方法:
- msfconsole
- msf > use auxiliary/scanner/ssh/ssh_version
- msf auxiliary(ssh_version) > show options
- msf auxiliary(ssh_version) > set RHOSTS 192.168.130.0/24
- msf auxiliary(ssh_version) > set THREADS 200
- msf auxiliary(ssh_version) > run
3.9 Oracle数据库服务查点
- 方法:
- msfconsole
- msf > use auxiliary/scanner/oracle/tnslsnr_version
- msf auxiliary(scanner/oracle/tnslsnr_version) > show options
- msf auxiliary(scanner/oracle/tnslsnr_version) > set RHOSTS 192.168.130.0/24
- msf auxiliary(scanner/oracle/tnslsnr_version) > set THREADS 200
- msf auxiliary(scanner/oracle/tnslsnr_version) > run
3.10 口令猜测与嗅探
- 首先从网上社工库下载破解的字典password.txt
- 再运行如下命令:
- msfconsole
- msf > use auxiliary/scanner/ssh/ssh_login //进入ssh_login模块
- msf auxiliary(scanner/ssh/ssh_login) > set RHOSTS 192.168.130.0/24 //设置目标IP或IP段
- msf auxiliary(scanner/ssh/ssh_login) > set USERNAME root //设置目标系统的管理员账号
- msf auxiliary(scanner/ssh/ssh_login) > set PASS_FILE /root/password.txt //设置破解的字典
- msf auxiliary(scanner/ssh/ssh_login) > set THREADS 200 //提高查询速度
- msf auxiliary(scanner/ssh/ssh_login) > run
(4)漏洞扫描:会扫,会看报告,会查漏洞说明,会修补漏洞
第一步 检查安装状态,开启VAS
运行openvas-check-setup
错误提示1:
执行openvasmd --migrate
和openvas-check-setup
错误提示2:
执行openvas-manage-certs -a -f
(这个-f参数是根据运行后提示添加的)和openvas-check-setup
错误提示3:
执行openvasmd
和openvas-check-setup
安装成功:
使用openvas-start
开启服务,会自动打开浏览器主页https://127.0.0.1:9392
提示是这样的:
点击“Advanced”->“Add Exception”->"Confirm Sercurity Exception"
然后可以成功访问网页,点击“Login”:
第二步:新建任务,开始扫描
- 在菜单栏选择"Scans"->"Tasks"
- 进入后点击紫色烟花"Task Wizard"新建一个任务向导,在栏里输入待扫描主机的IP地址"172.20.10.2",并单击"Start Scans"确认,开始扫描。
第三步:查看并分析扫描结果
打开该扫描结果的详细信息,并点击其中的“Full and fast”:
点击进入Buffer overflow查看详细结果,其中标注了漏洞的危险等级:
点开一个危险等级较高的漏洞:
详细描述如下:
Summary是该漏洞的描述,意思是该主机运行的3CTFTPSVC TFTP服务器,容易出现缓冲区溢出漏洞。
Solution是关于该漏洞的解决方案:该漏洞至少一年内没有解决方案或修补程序。这个网站可能不会再提供解决方案了。一般解决方案是升级到一个较新的版本,禁用各自的功能,删除产品或更换产品的另一个。
实验总结与体会
通过本次实验,我学会了如何利用各种工具对主机、端口、操作系统、网络服务进行扫描,了解了如何利用工具进行信息搜集,此外还掌握了漏洞的扫描和分析的基本方法,收益匪浅。
通过自己动手实践,实现了恶意代码攻击的前期扫描工作,更加贴近实战流程,为后序操作奠定了坚实的基础。