网安实习日志2

8.27任务
1、DNS解析详细步骤。
2、绕过CDN查找主机真实IP的方法。
3、子域名信息收集常用手段。
4、Nmap全端口扫描(使用昨日搭建的pikachu靶场),加分项:能够说明SYN半开扫描的原理和跳过主机存活检测扫描使用常见。
5、dirmap目录探测工具实践(使用昨日搭建的pikachu靶场),要求讲述为什么dirmap每次扫描条数不一样,加分项:dirmap高级应用,详细见项目文档,项目链接:https://github.com/H4ckForJob/dirmap
6、Fscan实践(使用昨日搭建的pikachu靶场)
7、课上所演示插件安装成功截图。

一、DNS解析详细步骤

DNS域名解析过程是互联网上的一项核心服务,可以将人类可读的域名转换为计算机可读的IP地址。以下是DNS域名解析过程的详细步骤:

  1. 用户在浏览器中输入域名,触发域名解析请求。
  2. 用户的计算机向本地DNS服务器发送域名解析请求。本地DNS服务器通常由用户的ISP(Internet Service Provider)提供。
  3. 本地DNS服务器在本地缓存中查找域名对应的IP地址。如果找到,直接返回IP地址给用户的计算机。这个步骤可以避免向其他DNS服务器发送请求,提高解析速度。
  4. 如果本地DNS服务器未能在缓存中找到域名对应的IP地址,则向根域名服务器发送请求。根域名服务器是互联网上最顶级的域名服务器,负责管理顶级域名的解析。
  5. 根域名服务器返回给本地DNS服务器一个顶级域名服务器的地址。
  6. 本地DNS服务器向顶级域名服务器发送请求,请求解析域名的IP地址。
  7. 顶级域名服务器将域名的权威服务器(即负责该域名的注册和管理的服务器)的地址返回给本地DNS服务器。
  8. 本地DNS服务器向权威服务器发送请求,请求解析域名的IP地址。
  9. 权威服务器将域名的IP地址返回给本地DNS服务器。
  10. 本地DNS服务器将IP地址保存到本地缓存中,以便下次用户请求该域名时可以直接返回IP地址,而不需要再次向权威服务器发送请求。同时,本地DNS服务器将IP地址返回给用户的计算机。
  11. 用户的计算机使用返回的IP地址与目标服务器建立连接,完成网页加载或其他网络服务。

通过以上步骤,DNS域名解析过程完成了从用户输入到返回IP地址的整个流程。这个过程涉及到多个服务器和缓存的交互,以提高解析速度和效率。对于一个普通的互联网用户来说,这个过程通常是透明的,他们只需要输入域名并按下回车键即可访问网站。而对于网络管理员和互联网服务提供商来说,理解DNS域名解析过程有助于更好地管理和优化网络性能。

上述DNS解析步骤借鉴<作者:c4t>—>原文链接

二、绕过CDN查找主机真实IP的方法

首先验证是否存在CDN

  • 使用多地ping服务,看对应的IP地址是否唯一,不唯一可能使用了CDN(多地ping网站网上有很多)
  • 使用nslookup来进行检测,和上面一样,如果有多个IP地址,很可能使用了CDN

方法1:查询历史DNS记录

我们可以查看IP和域名绑定的历史记录,很有可能会存在CDN前的记录,类似的查询网站网上也有很多,比如进入查询网站

方法2:查询子域名

查询CDN相关知识,讲CDN还是比较昂贵的一门技术,一般来讲很多站长只会对主站或者流量比较大的子站点做CDN,然而很多小站子站点可能就没有,跟主站在同一个服务器。此时我们就可以查询子域名对应的IP来辅助查找网站的真实IP。

网上有很多类似的工具,点击打开

Google搜索也可以,Google site:baidu.com -www就能查看除www外的子域名
在这里插入图片描述

方法3:网络安全引擎搜索

常见的有钟馗之眼,shodan,fofa搜索。

方法4:网站漏洞查找

  • 目标敏感文件泄露。
  • XSS盲打,命令执行反弹shell,SSRF等。

方法5:网站邮件订阅查找

RSS邮件订阅,很多网站都自带 sendmail,会发邮件给我们,此时查看邮件源码里面就会包含服务器的真实 IP 了。

三、子域名信息收集常用手段

1、分为两种

子域名信息收集通常分为两种,分别为被动收集和主动收集。

被动收集是指,在不与目标系统进行交互的情况下,通过第三方进行收集。这种方式有着明显的优势,因为不需要和目标系统进行交互,所以不会对目标系统造成任何影响,更不会触发任何安全产品的告警。

主动收集是指,通过与目标系统进行交互,对子域名进行收集。因为需要和目标系统进行交互,很可能出现高频访问等情况,有触犯安全产品告警的风险。

2、被动收集

  • 信息泄露
  • 搜索引擎
  • 网络空间测绘引擎
  • 证书透明
  • 第三方DNS服务
  • AS 号码查询
  • SAN 收集
  • 使用公共数据集

3、主动收集

  • 字典枚举
  • 置换扫描
  • 域传送漏洞
  • DNSSEC
  • DNS缓存

四、Nmap全端口扫描

1、全端口扫描

在这里插入图片描述

2、SYN半开扫描的原理

SYN扫描是默认的也是最受欢迎的扫描选项。 它执行得很快,在一个没有入侵防火墙的快速网络上,每秒钟可以扫描数千个 端口。 SYN扫描相对来说不张扬,不易被注意到,因为它从来不完成TCP连接。 它也不像Fin/Null/Xmas,Maimon和Idle扫描依赖于特定平台,而可以应对任何兼容的 TCP协议栈。 它还可以明确可靠地区分open(开放的), closed(关闭的),和filtered(被过滤的) 状态

它常常被称为半开放扫描, 因为它不打开一个完全的TCP连接。它发送一个SYN报文, 就像您真的要打开一个连接,然后等待响应。 SYN/ACK表示端口在监听 (开放),而 RST (复位)表示没有监听者。如果数次重发后仍没响应, 该端口就被标记为被过滤。如果收到ICMP不可到达错误 (类型3,代码1,2,3,9,10,或者13),该端口也被标记为被过滤。

SYN半开扫描是一种通过建立不完整的TCP连接来判断主机端口是否开放的扫描方式。扫描者向目标主机发送一个SYN包,如果目标主机回复了一个SYN/ACK数据包,则表示该端口开放;如果回应一个RST包,则表示该端口关闭。这种扫描方式不会产生日志记录,更隐蔽。

3、跳过主机存活检测扫描

在我们进行网络扫描时候,很多扫描工具默认会先先进行主机存活的检测,用来确定主机是否存活,以免造成不必要的开销,但是在有些情况的话,可能会跳过主机存活检测扫描:

  • -Pn,用于跳过主机发现阶段
  • SYN扫描,nmap 中的-sS

五、dirmap目录探测工具实践

1、dirmap介绍

一个高级web目录扫描工具。

2、dirmap的使用

用法:python3 dirmap.py -i 目标网址 -lcf 载入配置文件

-h 帮助文档
-t 线程 默认30
-i 目标网址
-iF 目标网址文件
-lcf 载入暴力破解配置文件
–debug 打印攻击载荷并退出

3、为什么dirmap每次扫描条数不一样

是因为目标系统网站具有动态性,可能随时动态的有生成内容或数据,这样可能会导致每次扫描的条数不一样,还有就是网络环境的不稳定有延迟,有波动,这样也导致有所不同,还有就是扫描策略和字典的变化等等原因。

4、dirmap高级应用

可以自定义dirmap的配置,这样可以得到更高级的功能,对配置文件进行修改,我们编辑根目录下的dirmap.conf,来配置:(以下配置来源于帮助文档)

#递归扫描处理配置
[RecursiveScan]
#是否开启递归扫描:关闭:0;开启:1
conf.recursive_scan = 0
#遇到这些状态码,开启递归扫描。默认配置[301,403]
conf.recursive_status_code = [301,403]
#设置排除扫描的目录。默认配置空。其他配置:e.g:['/test1','/test2']
#conf.exclude_subdirs = ['/test1','/test2']
conf.exclude_subdirs = ""

#扫描模式处理配置(4个模式,1次只能选择1个)
[ScanModeHandler]
#字典模式:关闭:0;单字典:1;多字典:2
conf.dict_mode = 1
#单字典模式的路径
conf.dict_mode_load_single_dict = "dict_mode_dict.txt"
#多字典模式的路径,默认配置dictmult
conf.dict_mode_load_mult_dict = "dictmult"
#爆破模式:关闭:0;开启:1
conf.blast_mode = 0
#生成字典最小长度。默认配置3
conf.blast_mode_min = 3
#生成字典最大长度。默认配置3
conf.blast_mode_max = 3
#默认字符集:a-z。暂未使用。
conf.blast_mode_az = "abcdefghijklmnopqrstuvwxyz"
#默认字符集:0-9。暂未使用。
conf.blast_mode_num = "0123456789"
#自定义字符集。默认配置"abc"。使用abc构造字典
conf.blast_mode_custom_charset = "abc"
#自定义继续字符集。默认配置空。
conf.blast_mode_resume_charset = ""
#爬虫模式:关闭:0;开启:1
conf.crawl_mode = 0
#解析robots.txt文件。暂未实现。
conf.crawl_mode_parse_robots = 0
#解析html页面的xpath表达式
conf.crawl_mode_parse_html = "//*/@href | //*/@src | //form/@action"
#是否进行动态爬虫字典生成:关闭:0;开启:1
conf.crawl_mode_dynamic_fuzz = 0
#Fuzz模式:关闭:0;单字典:1;多字典:2
conf.fuzz_mode = 0
#单字典模式的路径。
conf.fuzz_mode_load_single_dict = "fuzz_mode_dir.txt"
#多字典模式的路径。默认配置:fuzzmult
conf.fuzz_mode_load_mult_dict = "fuzzmult"
#设置fuzz标签。默认配置{dir}。使用{dir}标签当成字典插入点,将http://target.com/{dir}.php替换成http://target.com/字典中的每一行.php。其他配置:e.g:{dir};{ext}
#conf.fuzz_mode_label = "{ext}"
conf.fuzz_mode_label = "{dir}"

#处理payload配置。暂未实现。
[PayloadHandler]

#处理请求配置
[RequestHandler]
#自定义请求头。默认配置空。其他配置:e.g:test1=test1,test2=test2
#conf.request_headers = "test1=test1,test2=test2"
conf.request_headers = ""
#自定义请求User-Agent。默认配置chrome的ua。
conf.request_header_ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
#自定义请求cookie。默认配置空,不设置cookie。其他配置e.g:cookie1=cookie1; cookie2=cookie2;
#conf.request_header_cookie = "cookie1=cookie1; cookie2=cookie2"
conf.request_header_cookie = ""
#自定义401认证。暂未实现。因为自定义请求头功能可满足该需求(懒XD)
conf.request_header_401_auth = ""
#自定义请求方法。默认配置get方法。其他配置:e.g:get;head
#conf.request_method = "head"
conf.request_method = "get"
#自定义每个请求超时时间。默认配置3秒。
conf.request_timeout = 3
#随机延迟(0-x)秒发送请求。参数必须是整数。默认配置0秒,无延迟。
conf.request_delay = 0
#自定义单个目标,请求协程线程数。默认配置30线程
conf.request_limit = 30
#自定义最大重试次数。暂未实现。
conf.request_max_retries = 1
#设置持久连接。是否使用session()。暂未实现。
conf.request_persistent_connect = 0
#302重定向。默认False,不重定向。其他配置:e.g:True;False
conf.redirection_302 = False
#payload后添加后缀。默认空,扫描时,不添加后缀。其他配置:e.g:txt;php;asp;jsp
#conf.file_extension = "txt"
conf.file_extension = ""

#处理响应配置
[ResponseHandler]
#设置要记录的响应状态。默认配置[200],记录200状态码。其他配置:e.g:[200,403,301]
#conf.response_status_code = [200,403,301]
conf.response_status_code = [200]
#是否记录content-type响应头。默认配置1记录
#conf.response_header_content_type = 0
conf.response_header_content_type = 1
#是否记录页面大小。默认配置1记录
#conf.response_size = 0
conf.response_size = 1
#自定义匹配404页面正则
#conf.custom_404_page = "fake 404"
conf.custom_404_page = ""
#自定义匹配503页面正则。暂未实现。感觉用不着,可能要废弃。
#conf.custom_503_page = "page 503"
conf.custom_503_page = ""
#自定义正则表达式,匹配页面内容
#conf.custom_response_page = "([0-9]){3}([a-z]){3}test"
conf.custom_response_page = ""
#跳过显示页面大小为x的页面,若不设置,请配置成"None",默认配置“None”。其他大小配置参考e.g:None;0b;1k;1m
#conf.skip_size = "0b"
conf.skip_size = "None"

#代理选项
[ProxyHandler]
#代理配置。默认设置“None”,不开启代理。其他配置e.g:{"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
#conf.proxy_server = {"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
conf.proxy_server = None

#Debug选项
[DebugMode]
#打印payloads并退出
conf.debug = 0

#update选项
[CheckUpdate]
#github获取更新。暂未实现。
conf.update = 0

六、Fscan实践

1、Fsacn

fscan 是一个内网综合扫描工具,方便一键自动化、全方位漏洞扫描。

它支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。

2、功能

  1. 信息搜集
  2. 爆破功能
  3. 系统信息、漏洞扫描
  4. Web探测功能
  5. 漏洞利用

3、实战

python dirmap.py -i 127.0.0.1/pikachu -lcf

七、课上所演示插件安装成功截图

在这里插入图片描述
在这里插入图片描述

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值