网安学习——信息收集

网安学习——信息收集_第1张图片

    /**cdn绕过     7.信息收集——CDN绕过技术 · 语雀

一、架构、搭建、waf

1、站点搭建类型:

(1)目录类站点搭建:

        同一个网站,但位于不同的目录下,搭建源码也不同,但其中一个网站出现问题会影响到另一个网站。

        如

        网安学习——信息收集_第2张图片

        网安学习——信息收集_第3张图片

        探测:御剑等目录扫描工具可查询到

(2)端口类站点

        网站位于同一服务器,但端口不同,比如练习搭建的那些靶机,dvwa是8023端口,pikachu是8022端口

        nmap端口扫描、上网查询

(3)子域名类站点

        上网查询子域名ip,ip不同不属于同一服务器。

(4)类似域名站点

        域名后缀不同,如.com和.cn,但出自同一服务器或公司。

网安学习——信息收集_第4张图片   网安学习——信息收集_第5张图片

(5)旁注、c段站点

      /**摘自:  8.信息收集——站点搭建及WAF · 语雀  **/

          1)旁注

        旁注是一种入侵方法,在字面上解释就是-"从旁注入",利用同一主机上面不同网站的漏洞得到webshell,从而利用主机上的程序或者是服务所暴露的用户所在的物理路径进行入侵。同服务器不同站点。两个网站或者多个网站放在同一个服务器上,其中一个网站是目标。

        可实施前提:

                有多个站点服务器;

                www.a.com(目标)

                www.b.com

                ........

                独立站点服务器

          2)c段

        同网段不同服务器不同站点。网站有一个或多个站点,通过服务器IP地址的网段来进行测试。              

                192.168.1.1

                www.a.com(目标)

                www.b.com

                ........             

                192.168.1.101

                www.a.com

                www.b.com

                ........

        通过查询网段1-254,去获取101网段服务器权限,在通过服务器同一个网段目标主机来实施内网安全的测试方法,来获取指定网服务器的权限。

(6)搭建软件

        如phpstudy、宝塔等搭建软件; f12查看站点信息,信息较全的通常软件搭建,如:        Apache/2.4.41(win32)OpenSSL/1.1.1c mod_fcgid/2.3.9a;

        类似搭建软件通常会有默认的账号密码或者是安全设置,如:/phpmyadmin目录

2、WAF

        (1)简介(百度百科)

        Web应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品;

        Web应用防护系统(Web Application Firewall, 简称:WAF)代表了一类新兴的信息安全技术,用以解决诸如防火墙一类传统设备束手无策的Web应用安全问题。与传统防火墙不同,WAF工作在应用层,因此对Web应用防护具有先天的技术优势。基于对Web应用业务和逻辑的深刻理解,WAF对来自Web应用程序客户端的各类请求进行内容检测和验证,确保其安全性与合法性,对非法的请求予以实时阻断,从而对各类网站站点进行有效防护。    

   (2)如何快速识别waf:wafw00f

        1)wafw00f下载及安装:

                github地址:https://github.com/EnableSecurity/wafw00f

               kali自带wafw00f:

                        a、启动命令:wafw00f -l

                网安学习——信息收集_第6张图片

                       b、使用命令:wafw00f 域名/ip

                 网安学习——信息收集_第7张图片

        2)sqlmap:

                命令:python sqlmap.py -u “url” --identify-waf

二、app及其他资产

        1、app提取及抓包及后续配合

        (1)某apk一键提取反编译

                漏了个大洞安装及使用:

             APK提取反编译 漏了个大洞下载_热爱编程的菜鸟-CSDN博客_漏了个大洞

        (2)使用burp历史抓更多url

        2、某ip无web框架下的第三方测试思路

        (1)各种端口乱扫

        nmap、搜索引擎(shodan、钟馗之眼、fofa.info等)

        /**  朋友们原fofa被b站某直播用来*站,导致原fofa被工信部拉黑不能用了   ***/

        eg:

        网安学习——信息收集_第8张图片

        网安学习——信息收集_第9张图片

        (2)各种接口乱扫

        (3)各种接口测试

        3、实例(某传销网站)

        (1)查看网站

                网安学习——信息收集_第10张图片

         (2)搜集各种信息:

                1)搜域名,查看各种端口

                网安学习——信息收集_第11张图片

                网安学习——信息收集_第12张图片

                发现登录端口

                网安学习——信息收集_第13张图片

                2)ping 网站发现真实ip

               网安学习——信息收集_第14张图片

                子域名查询

                网安学习——信息收集_第15张图片

                旁注查询

                网安学习——信息收集_第16张图片

                3)备案查询

                网安学习——信息收集_第17张图片

                网安学习——信息收集_第18张图片

                网安学习——信息收集_第19张图片

三、资产监控拓展

网安学习——信息收集_第20张图片 

1、POC、EXP、Payload与Shellcode

        渗透中POC、EXP、Payload与Shellcode的区别_浅浅的博客-CSDN博客_poc和exp     

(1) POC:全称 ' Proof of Concept ',中文 ' 概念验证 ' ,常指一段漏洞证明的代码。

        EXP:全称 ' Exploit ',中文 ' 利用 ',指利用系统漏洞进行攻击的动作。

        Payload:中文 ' 有效载荷 ',指成功exploit之后,真正在目标系统执行的代码或指令。

        Shellcode:简单翻译 ' shell代码 ',是Payload的一种,由于其建立正向/反向shell而得名。

(2)POC是用来证明漏洞存在的,EXP是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Exp通常是有害的,有了POC,才有EXP。

        Payload有很多种,它可以是Shellcode,也可以直接是一段系统命令。同一个Payload可以用于多个漏洞,但每个漏洞都有其自己的EXP,也就是说不存在通用的EXP。

        Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。

        Shellcode与Shellshcok不是一个,Shellshock特指14年发现的Shellshock漏洞。

2、github监控

        网安学习——信息收集_第21张图片 

3、各种搜集

                网安学习——信息收集_第22张图片

 4、演示:监控最新的EXP发布及其他

  (1)代码如下:

#Title: wechat push CVE-2020
#Date: 2020-5-9
#Exploit Author: weixiao9188
#Version: 4.0
#Tested on: Linux,windows
#cd /root/sh/git/ && nohup python3 /root/sh/git/git.py &
#coding:UTF-8
import requests
import json
import time
import os
import pandas as pd
time_sleep = 60 #每隔 20 秒爬取一次
while(True):
    headers1 = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3741.400 QQBrowser/10.5.3863.400"}
    #判断文件是否存在
    datas = []
    response1=None
    response2=None
    if os.path.exists("olddata.csv"):
    #如果文件存在则每次爬取 10 个
        df = pd.read_csv("olddata.csv", header=None)
        datas = df.where(df.notnull(),None).values.tolist()#将提取出来的数据中的 nan 转化为 None
        requests.packages.urllib3.disable_warnings()
        response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&per_page=10",headers=headers1,verify=False)
        response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&per_page=10",headers=headers1,verify=False)
    else:
    #不存在爬取全部
        datas = []
        requests.packages.urllib3.disable_warnings()
        response1 = requests.get(url="https://api.github.com/search/repositories?q=CVE2020&sort=updated&order=desc",headers=headers1,verify=False)
        response2 = requests.get(url="https://api.github.com/search/repositories?q=RCE&ssort=updated&order=desc",headers=headers1,verify=False)

    data1 = json.loads(response1.text)
    data2 = json.loads(response2.text)
    for j in [data1["items"],data2["items"]]:
        for i in j:
            s = {"name":i['name'],"html":i['html_url'],"description":i['description']}
            s1 =[i['name'],i['html_url'],i['description']]
            if s1 not in datas:
                #print(s1)
                #print(datas)
                params = {
                    "text":s["name"],
                    "desp":"链接:"+str(s["html"])+"\n简介"+str(s["description"])
                }
                print("当前推送为"+str(s)+"\n")
                #print(params)
                requests.packages.urllib3.disable_warnings()
                requests.get("https://sct.ftqq.com/SCT120223TgU9or8Qt2deaV50HnarzVRBN.send",params=params,headers=headers1,timeout=10,verify=False)
                time.sleep(1)   #防止推送太猛
                print("推送完成\n")
                datas.append(s1)
            else:
                pass
                print("数据已在!")
    pd.DataFrame(datas).to_csv("olddata.csv",header=None,index=None)
    time.sleep(time_sleep)

(2)步骤:

1)在sct.ftqq.com扫微信注册账号,获取sendkey:

        网安学习——信息收集_第23张图片

2)将sendkey值复制到requests.get这里:

网安学习——信息收集_第24张图片

 

3)执行结果:

网安学习——信息收集_第25张图片

 

        

你可能感兴趣的:(安全学习,安全)