信息收集-资产监控拓展

95b9e373165adb518bd12604adb253a1.png

Github 监控

便于收集整理最新 exp 或 poc 便于发现相关测试目标的资产

  1. POC、EXP、Payload与Shellcode
  • POC:全称 ' Proof of Concept ',中文 ' 概念验证 ' ,常指一段漏洞证明的代码。
  • EXP:全称 ' Exploit ',中文 ' 利用 ',指利用系统漏洞进行攻击的动作。
  • Payload:中文 ' 有效载荷 ',指成功exploit之后,真正在目标系统执行的代码或指令。
  • Shellcode:简单翻译 ' shell代码 ',是Payload的一种,由于其建立正向/反向shell而得名。
  1. 几点注意
  • POC是用来证明漏洞存在的,EXP是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Exp通常是有害的,有了POC,才有EXP。
  • Payload有很多种,它可以是Shellcode,也可以直接是一段系统命令。同一个Payload可以用于多个漏洞,但每个漏洞都有其自己的EXP,也就是说不存在通用的EXP。
  • Shellcode也有很多种,包括正向的,反向的,甚至meterpreter。
  • Shellcode与Shellshcok不是一个,Shellshock特指14年发现的Shellshock漏洞。
  1. Payload模块
  • 在Metasploit Framework 6大模块中有一个Payload模块,在该模块下有Single、Stager、Stages这三种类型,Single是一个all-in-one的Payload,不依赖其他的文件,所以它的体积会比较大,Stager主要用于当目标计算机的内存有限时,可以先传输一个较小的Stager用于建立连接,Stages指利用Stager建立的连接下载后续的Payload。Stager和Stages都有多种类型,适用于不同场景。
  1. 总结
  • 想象自己是一个特工,你的目标是监控一个重要的人,有一天你怀疑目标家里的窗子可能没有关,于是你上前推了推,结果推开了,这是一个POC。之后你回去了,开始准备第二天的渗透计划,第二天你通过同样的漏洞渗透进了它家,仔细查看了所有的重要文件,离开时还安装了一个隐蔽的窃听器,这一天你所做的就是一个EXP,你在他家所做的就是不同的Payload,就把窃听器当作Shellcode吧!

  • https://sct.ftqq.com/donate

  • python代码通过接口爬取github信息,可以利用接口推送到微信https://sct.ftqq.com/

#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 = 20# 每隔 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", hea ders = 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", heade rs = 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(url = "https://sc.ftqq.com/SCU101248T******.send", params = params, headers = headers1, timhout = 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)

各种子域名查询

xmind-v1.png

全自动域名收集枚举脚本

子域名爆破工具

src平台

在漏洞挖掘当中SRC算是进阶的办法。当学习了基础的漏洞原理和知识之后,可以通过SRC漏洞挖掘来进行技术的提升。想要学习漏洞挖掘,那么就必须具备清晰的逻辑,这也是程序员最主要的品质。而比较写程序的人来说,挖掘漏洞还需要耐心和细心,只有这样才能更好的进行漏洞挖掘。在挖掘漏洞的同时,可以利用搜索引擎,以及各种qq群钉钉群等,还有Telegram上的社工信息都可以成为信息收集的资源

QQ截图20211122164753.png