04 设置工作模式与环境(下)收集信息

Posted xuan01

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了04 设置工作模式与环境(下)收集信息相关的知识,希望对你有一定的参考价值。

本节将实现二级引导器的具体工作:检查CPU是否支持64位工作模式,收集内存信息,是否符合系统最低运行要求,接着再设置系统需要的MMU页表,显卡模式,释放中文字体文件;

init_bstartparm()函数:检查CPU模式,收集内存信息,设置内核栈,设置内核字体,建立内核MMU页表数据;

检查与收集机器信息:

machbstart_t结构体,清零,在内存1MB处初始化;

检查CPU:

init_chkcpu函数,使用CPUID指令检查是否支持64位长模式,并设置之前的machbstart_t结构体的mb_cpumode为64位;

获取内存布局:

s_e820结构体用来描述一段内存;init_mem函数完成:获取这个结构体数组;检查内存大小,不能太小;

 其中的  mmap函数是通过之前的realadr_call_entry函数,调用了实模式下的_getmmap函数,此函数内部调用了BIOS中断,就能获取结构体数组;

初始化内核栈:

在machbstart_t结构体中,记录栈地址和栈大小,供内核在启动时使用;

注意要检查内核栈空间与内存中已经存在的信息是否发生冲突;

放置内核文件和字库文件:

内核已经编译成一个独立的二进制程序,和其他文件被一起打包到映像文件中,因此需要解包出来,放在特定的物理内存中;

r_file_to_padr函数在影像中查找相应的为念,并复制到对应的地址,返回文件大小;;放置完更新machbstart_t结构体中的数据;

结构体中mb_nextwtpadr始终指向下一段空闲内存的首地址;

建立页表数据:

在二级引导器中建立MMU页表数据,目的就是在内核加载运行之初开启长模式,MMU需要的页表数据已经准备好 了;

映射核心逻辑:两重循环,外层循环控制页目录顶指针,16项,内层循环执行一个页目录,每个页目录中有512个物理页地址;

内核启动初期,虚拟地址和物理地址要保持相同

设置图像模式:

上电初,显卡会自动进入文本模式,不能显示汉字和图形;要切换到图像模式;

用BIOS中断,c函数调用;

处理VBE 模式的代码;定义了显卡的几种图形模式,包括分辨率,像素格式,显存大小;

串联:

在init_bstartparm函数中串联起来上述函数,依次调用;

显示logo:

24位 位图文件;logo函数,

 

运行实验之后更新;

 

2019-2020-2 20175215丁文韬《网络对抗技术》Exp5 信息搜集与漏洞扫描

一、原理与实践说明

1.实践相关概念与原理

  • 间接收集
    • 概念:不接触目标
      • 无物理连接
      • 不访问目标
    • 方法:使用第三方信息源
      • 比如查询whois信息
        • 假设我们的目标是一个在线的Web服务,那么通过whois查询可以获得它的ip地址,域名信息,子域信息,服务器位置信息等。
      • 数据窃听与分析
        • 只有在特定环境下才可以实现
    • 其他用途:调查取证
  • 直接收集
    • 概念:建立逻辑连接并获取信息
    • 目的:对目标的安全性设置进一步理解
    • 方法:主动扫描技术,探测目标开放的端口和服务。
  • 社会工程学
  • 漏洞扫描与Openvas

2.实践内容

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

二、实验过程与步骤

1.各种搜索技巧的应用

  • (1)搜索网址目录结构

    • 原理:dir_scanner,暴力破解一般就是指穷举法,它的原理就是使用攻击者自己的用户名和密码字典,一个一个去枚举,尝试是否能够登录。
    • 命令:
      • root@20175215dwt:/home/kali# msfconsole
      • msf5 > use auxiliary/scanner/http/dir_scanner
      • msf5 auxiliary(scanner/http/dir_scanner) > set THREADS 20
      • msf5 auxiliary(scanner/http/dir_scanner) > set RHOSTS www.baidu.com
      • msf5 auxiliary(scanner/http/dir_scanner) > exploit
    • 可以找到以下目录
      技术图片
  • (2)检测特定类型的文件

    • 原理:
      • filetype能对搜索结果的文件类型进行限定,格式为“检索词 filetype:文件类型”
      • -能在检索结果中获取检索词的补集,格式为“检索词 -词语”
      • site能限制检索结果的来源,格式为“检索词 site:限制域名”(不要在“:”后的域名中输入“http:”和“www.”)
      • inurl能在网址中进行搜索,格式为“检索词inurl:检索词”
      • |表示布尔逻辑中的或者(or)关系,使用格式为“关键词1 | 关键词2”
      • 空格表示布尔逻辑中的交集(and)关系,使用格式为“关键词1 关键词2”
    • 高级搜索界面,高级搜索界面的入口在搜索引擎首页右上角“设置”->“高级搜索”。
      技术图片
    • 方法:
      • 使用site:edu.cn filetype:doc
        技术图片
      • 在线预览文档,显示信息如下:
        技术图片
  • (3)使用traceroute命令进行路由侦查

    • 原理:traceroute命令利用ICMP协议定位用户计算机和目标计算机之间的所有路由器。TTL值可以反映数据包经过的路由器或网关的数量,通过操纵独立ICMP呼叫报文的TTL值和观察该报文被抛弃的返回信息,traceroute命令能够遍历到数据包传输路径上的所有路由器。
    • 方法:(以百度为例)输入命令tracert www.baidu.com
      技术图片
    • 带有*的信息表示该次ICMP包返回时间超时。

2.DNS IP注册信息的查询

  • (1)whois查询
    • 原理:whois用来进行域名注册信息查询。
    • 方法:在终端输入whois mosoteach.cn可查询到3R注册信息,包括注册人的姓名、组织和城市等信息。(PS:进行whois查询时去掉www等前缀,因为注册域名时通常会注册一个上层域名,子域名由自身的域名服务器管理,在whois数据库中可能查询不到。)
      技术图片
  • (2)nslookup,dig域名查询
    • nslookup
      • 原理:nslookup可以得到DNS解析服务器保存的Cache的结果,但并不是一定准确的。
      • 方法:在终端输入nslookup mosoteach.cn
        技术图片
    • dig
      • 原理:dig可以从官方DNS服务器上查询精确的结果。
      • 方法:在终端输入dig mosoteach.cn
        技术图片
  • (3)IP2Location 地理位置查询
    • www.maxmind.com
      • 原理:www.maxmind.com网站可以根据IP查询地理位置。
      • 方法:利用ping www.baidu.com的查看网站的IP地址→打开网站网页www.maxmind.com→在网站下方输入IP→点击前往查看结果
        技术图片
    • www.ip-adress.com
      • 原理:IP-ADDRESS这个网站可以查询到更详细的关于IP的信息
      • 方法:网页初始界面会显示自己本机的IP地址,在左上角的框框里可以输入想要查询的IP,如14.215.177.38为百度的IP
        技术图片
      • 百度网页的查询结果如下:(ping www.baidu.com得到的结果可能是百度在广东的服务器)
        技术图片
  • (4)IP2反域名查询
    • 原理:shodan搜索引擎可以进行反域名查询,可以搜索到该IP的地理位置、服务占用端口号,以及提供的服务类型.
    • 方法:打开网站,输入IP地址,可以看到地理位置,端口号和提供的服务具体信息
      技术图片

3.基本的扫描技术

(1)主机发现

  • 1)PING
    • 原理:ping命令用发送ICMP报文的方法检测活跃主机
    • 方法:输入命令ping www.baidu.com
      技术图片
  • 2)metasploit中的arp_sweep模块和 udp_sweep 模块
    • 原理:arp_sweep和udp_sweep都是metasploit中位于modules/auxiliary/scanner/discovery中的模块。arp_sweep使用ARP请求枚举本地局域网络中的所有活跃主机;udp_sweep模块除了可以探测到存活主机之外,还可以获得主机名称信息
    • arp_sweep
      • root@20175215dwt:/home/kali# msfconsole
      • msf5 > use auxiliary/scanner/discovery/arp_sweep//进入arp_sweep 模块
      • msf5 auxiliary(scanner/discovery/arp_sweep) > set RHOSTS 192.168.3.1/24//用set进行hosts主机段设置
      • msf5 auxiliary(scanner/discovery/arp_sweep) > set THREADS 50//加快扫描速度
      • msf5 auxiliary(scanner/discovery/arp_sweep) > run//执行run进行扫描
        技术图片
    • 如上图,其中192.168.3.26是我电脑主机的IP地址
    • udp_sweep
      • msf5 auxiliary(scanner/discovery/arp_sweep) > use auxiliary/scanner/discovery/udp_sweep //进入udp_sweep 模块
      • msf5 auxiliary(scanner/discovery/udp_sweep) > set RHOSTS 192.168.3.0//用set进行hosts主机段设置
      • msf5 auxiliary(scanner/discovery/udp_sweep) > set THREADS 50//加快扫描速度
      • msf5 auxiliary(scanner/discovery/udp_sweep) > run//执行run进行扫描
        技术图片
  • 3)nmap -sn
    nmap相关参数如下:
    -sS:TCP SYN扫描,可以穿透防火墙;
    -sA:TCP ACK扫描。有时候由于防火墙会导致返回过滤/未过滤端口;
    -sP:发送ICMP echo探测;
    -sT:TCP connect扫描,最准确,但是很容易被IDS检测到,不推荐;
    -sF/-sX/-sN:扫描特殊的标志位以避开设备或软件的监测;
    -O:启用TCP/IP协议栈的指纹特征信息扫描以获取远程主机的操作系统信息;
    -sV:获取开放服务的版本信息
    • 原理:nmap -sn参数可以用来探测某网段的活跃主机
    • 方法:输入命令nmap -sn 192.168.3.0/24
      技术图片

(2)端口扫描

  • nmap -PU
    • 原理:nmap -PU参数是对UDP端口进行探测,与udp_sweep模块功能相同。
    • 方法:输入命令nmap -PU 192.168.3.0/24
      技术图片

(3)版本探测

  • nmap -O
    • 原理:nmap -O选项让Nmap对目标的操作系统进行识别,获取目标机的操作系统和服务版本等信息
    • 方法:输入命令nmap -O 192.168.3.26
      技术图片
    • 防火墙设置导致NMAP所有端口扫描都被过滤

(4)具体服务的查点

  • 1)Telnet服务扫描

    • 原理:telnet命令用于登录远程主机,对远程主机进行管理。
    • 方法:
      • root@20175215dwt:/home/kali# msfconsole
      • msf5 > use auxiliary/scanner/telnet/telnet_version//进入telnet模块
      • msf5 auxiliary(scanner/telnet/telnet_version) > set RHOSTS 192.168.3.0/24 //扫描192.168.3.0网段
      • msf5 auxiliary(scanner/telnet/telnet_version) > set THREADS 50 //提高查询速度
      • msf5 auxiliary(scanner/telnet/telnet_version) > run
        技术图片
        技术图片
  • 2)SSH服务

    • 原理:SSH(“安全外壳”)协议是用于从一个系统安全远程登录到另一个的方法。用户通过客户端 - 服务器架构格式的不安全网络使用安全通道,用于将SSH客户端与SSH服务器连接起来。
    • 方法:
      • root@20175215dwt:/home/kali# msfconsole
      • msf5 > use auxiliary/scanner/ssh/ssh_version //进入ssh模块
      • msf5 auxiliary(scanner/ssh/ssh_version) > set RHOSTS 192.168.3.0/24//扫描网段
      • msf5 auxiliary(scanner/ssh/ssh_version) > set THREADS 50 //提高查询速度
      • msf5 auxiliary(scanner/ssh/ssh_version) > run
        技术图片
  • 3)Oracle数据库服务查点

    • 方法:
      • root@20175215dwt:/home/kali# msfconsole
      • msf5 > use auxiliary/scanner/oracle/tnslsnr_version
      • msf5 auxiliary(scanner/=/oracle/tnslsnr_version) > show options
      • msf5 auxiliary(scanner/=/oracle/tnslsnr_version) > set RHOSTS 10.1.1.0/24
      • msf5 auxiliary(scanner/=/oracle/tnslsnr_version) > set THREADS 200
      • msf5 auxiliary(scanner/=/oracle/tnslsnr_version) > run
        技术图片

4.漏洞扫描

1.安装openvas

apt-get update
apt-get dist-upgrade
apt-get install openvas
openvas-setup

2.查看并分析扫描结果

  • 打开扫描结果的详细信息,并点击Full and fast
    技术图片
  • 点开buffer overflow查看结果,并查看其中一个漏洞的详细信息
    技术图片
    技术图片

SP1.实验后问题回答与实验体会

1.实验后回答问题

  • (1)哪些组织负责DNS,IP的管理。
    • 全球根服务器均由美国政府授权的ICANN统一管理,负责全球的域名根服务器、DNS和IP地址管理。
      • 地址支持组织(ASO)负责IP地址系统的管理
      • 域名支持组织(DNSO)负责互联网上的域名系统(DNS)的管理
      • 协议支持组织(PSO)负责涉及Internet协议的唯一参数的分配
    • 全球一共有5个地区性注册机构:
      • ARIN主要负责北美地区业务
      • RIPE主要负责欧洲地区业务
      • APNIC主要负责亚太地区业务
      • LACNIC主要负责拉丁美洲美洲业务
      • AfriNIC负责非洲地区业务
  • (2)什么是3R信息。
    • 注册人(Registrant) →注册商(Registrar) →官方注册局(Registry)
  • (3)评价下扫描结果的准确性。
    • 扫描结果大多都挺准确的,特别是在nmap扫描接入设备的时候,和我路由器中的数据是一模一样的。

2.实验体会

  • 通过本次实验,我学习并利用各种工具对主机、端口、版本、网络服务等进行了扫描,实现了基本的信息收集。并实现了漏洞扫描
  • 但是渗透测试并不是仅仅收集到足够的信息就够了,更重要的是对信息进行整理,得到我们需要的数据,以便达成进一步的攻击效果。

SP2.参考资料

1.信息搜集技术与隐私保护
2.2018-2019-2 网络对抗技术 20165318 Exp6 信息搜集与漏洞扫描

以上是关于04 设置工作模式与环境(下)收集信息的主要内容,如果未能解决你的问题,请参考以下文章

03 设置工作环境与环境GRUB二级引导器

垃圾收集器

垃圾收集器

2019-2020-2 20175215丁文韬《网络对抗技术》Exp5 信息搜集与漏洞扫描

信息收集-3-Windows10禁ping问题

linux运维Ubuntu18.04 设置网络信息(netplan之yaml文件)