实习实训第二次作业

目录

任务一:DNS解析详细步骤

任务二:绕过CDN查找主机真实IP的方法

方法1:查看CDN历史记录

方法2:查询子域名

方法3:网络空间引擎搜索法

方法4:利用HTTP标头寻找真实原始IP

方法5:利用网站返回的内容寻找真实原始IP

方法6:网站漏洞查找

方法7:全网扫描

任务三:子域名信息收集常用手段

任务四:Nmap全端口扫描(使用搭建的pikachu靶场)

SYN半开扫描通过发送TCP连结的SYN包来检查端口开放状态,但不建立完整TCP连结。

跳过主机存活检测扫描使用常见技术

任务五:dirmap目录探测工具实践(使用搭建的pikachu靶场)

任务六:Fscan实践(使用搭建的pikachu靶场)

任务七:课上所演示插件安装成功截图


任务一:DNS解析详细步骤

  1. 客户机上的用户在应用程序(如web浏览器)中输入网址。应用程序首先检查其浏览器缓存,如果缓存中有,则这个域名解析过程就结束。如果浏览器缓存中没有,浏览器会查找本地的hosts文件是否有这个映射关系,如果有,就先调用这个IP地址映射,完成域名解析。如果没有,应用程序则调用客户机上的解析器。
  2. 解析器向本地区的域名服务器(LDNS)发送一个DNS递归查询消息。LDNS一般提供给用户本地互联网的DNS解析服务。
  3. LDNS向根域名服务器发送查询请求。根域名服务器会返回给LDNS所查询域的主域名服务器地址(GTLD)。GTLD是国际顶级域名服务器,如.org、.com、.cn等。
  4. LDNS向GTLD发送请求,并获取到该域名对应的Name Server域名服务器的地址。Name Server通常就是你注册的域名服务器,即你的域名服务提供商的服务器。
  5. Name Server返回该域名对应的IP地址和TTL值。LDNS服务器会缓存这个域名和对应的IP地址,缓存时间由一起返回的TTL值确定。

任务二:绕过CDN查找主机真实IP的方法

方法1:查看CDN的历史记录

1)查看 IP 与 域名绑定的历史记录,可能会存在使用 CDN 前的记录

2)利用相关搜索平台,在搜索字段中输入网站域名,“历史数据”就可以在左侧的菜单中找到。

方法2:查询子域名

1)微步在线查询

2)Dnsdb查询法

3)Google 搜索

4)子域名扫描器

方法3:网络空间引擎搜索法

常见相关空间测绘网站:

网络空间 钟馗之眼 https://www.zoomeye.org/?R1nG 
网络空间 零零信安 https://0.zone/ 
网络空间 Shodan  https://www.shodan.io/ 
网络空间 Censys  https://censys.io/ 
网络空间 ONYPHE https://www.onyphe.io/ 
网络空间 FullHunt https://fullhunt.io/ 
网络空间 Soall Search Engine https://soall.org/ 
网络空间 Netlas https://app.netlas.io/responses/ 
网络空间 Leakix https://leakix.net/ 
网络空间 DorkSearch https://dorksearch.com/ 
威胁情报 VirusTotal 在线查杀平台 https://www.virustotal.com/gui/ 
威胁情报 VenusEye 威胁情报中心 https://www.venuseye.com.cn/ 
威胁情报 绿盟科技 威胁情报云 https://ti.nsfocus.com/ 
威胁情报 IBM 情报中心 https://exchange.xforce.ibmcloud.com/ 
威胁情报 天际友盟安全智能平台 https://redqueen.tj-un.com/IntelHome.html 
威胁情报 华为安全中心平台 https://isecurity.huawei.com/sec/web/intelligencePortal.do 
威胁情报 安恒威胁情报中心 https://ti.dbappsecurity.com.cn/ 
威胁情报 AlienVault  https://otx.alienvault.com/ 
威胁情报 深信服  https://sec.sangfor.com.cn/analysis-platform 
威胁情报 丁爸情报分析师的工具箱 http://dingba.top/ 
威胁情报 听风者情报源 start.me https://start.me/p/X20Apn 
威胁情报 GreyNoise Visualizer https://viz.greynoise.io/ 
威胁情报 URLhaus 数据库 https://urlhaus.abuse.ch/browse/ 
威胁情报 Pithus https://beta.pithus.org/ 

方法4:利用HTTP标头寻找真实原始IP

通过比较HTTP标头来查找原始服务器。

方法5:利用网站返回的内容寻找真实原始IP

如果原始服务器IP也返回了网站的内容,那么可以在网上搜索大量的相关数据。浏览网站源代码,寻找独特的代码片段。

方法6:网站漏洞查找

1)目标敏感文件泄露,例如:GitHub信息泄露。
2)XSS盲打,命令执行反弹shell,SSRF等。
3)无论是用社工还是其他手段,拿到了目标网站管理员在CDN的账号,从而在从CDN的配置中找到网站的真实IP。

方法7:全网扫描

1)判断厂商——缩小ip范围

2)通过ip库查询:纯真数据库——确认ip段

3)通过网站特征进行爆破——就是通过网站特征来一个一个ip爆破

任务三:子域名信息收集常用手段

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

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

被动子域名收集的方式:

信息泄露

搜索引擎

网络空间测绘引擎

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

主动收集子域名的方式:

字典枚举

DNS缓存

任务四:Nmap全端口扫描(使用搭建的pikachu靶场)

打开phpstudy,启动apache和mysql模式

进入pikachu靶场的网站,使用nmap对pikachu靶场进行全端口扫描

SYN半开扫描通过发送TCP连结的SYN包来检查端口开放状态,但不建立完整TCP连结。

TCP三次握手:

1.客户端发送SYN包给服务器请求建立连接

2.服务器收到SYN包后,回应一个SYN-ACK包,同意建立连接

3.客户端收到SYN-ACK包后,发送ACK包,连接正式建立。

SYN半开扫描只进行前两步,如果服务器返回SYN-ACK说明端口开放;服务器返回RST包表明端口是关闭的;如果没有反应可能端口被过滤。

跳过主机存活检测扫描使用常见技术

1.-Pn,用于跳过主机发现阶段

2.SYN扫描,nmap 中的-sS


任务五:dirmap目录探测工具实践(使用搭建的pikachu靶场)

在cmd中使用dirmap扫描pikachu靶场,结果如图

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

1.网络条件不同:网络连接质量的变化可能导致某些请求通过结果不同。

2.超时设置:可能请求出现超时而未扫描出结果。

3.并发问题: 多线程扫描可能导致结果的不一致。

4.随机性: dirmap 在内部使用了一些随机化策略。

dirmap高级应用,项目链接:https://github.com/H4ckForJob/dirmap

自定义dirmap配置,编辑项目根目录下的dirmap.conf,进行配置。

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实践(使用搭建的pikachu靶场)

安装fscan前需要先安装go环境,若存在旧版本的go,需要先删除,再安装最新版本

获取go的压缩包并解压

解压完成后配置环境变量

在文件末尾添加这样一段

修改后保存,输入以下命令,并查看go的版本是否符合

在主机下载fscan解压后拖拽到kali中,打开fscan-main文件,打开终端,并输入命令

之后便可成功开启fscan进行扫描了

利用开启phpstudy的主机地址进行扫描,其中站点创建成功-phpstudy for windows即为创建的pikachu靶场


任务七:课上所演示插件安装成功截图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值