原文地址:初探脚本小子_白帽子技术/思路_i春秋社区-分享你的技术,为安全加点温度. - Powered by Discuz! (ichunqiu.com)

最近在学习写脚本,这里作者分析几个信息收集的脚本,方便大家学习、理解一些工具的原理

渗透测试时找准一个目标后首先需要收集资产,子域名收集很重要,域名越多攻击面越大

子域名收集

[Python] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
import time
import requests
import tldextract
head = {'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0'}#请求头
for yuming in open("yuming.txt"):#导入目标域名
    yuming = yuming.replace('\n', '')#去掉换行符
    extracted = tldextract.extract(yuming)#提取根域名
    root = extracted.registered_domain#提取根域名
    print(root)
    for name in open("ziyuming.txt"):#导入子域名字典
        name = name.replace('\n','')#去掉换行符
        url=name + '.' + root#拼接URL
        try:
            response = requests.get(url='http://' + url, headers=head, timeout=3)#尝试请求
            if response.status_code in [200302403]:#如果为以上状态码则则证明该域名存在
                print(url+'--存在')
                time.sleep(0.1)#添加延迟
        except Exception as e:
            continue
        url = ''

拿到域名之后需要反查真实IP方便CD扫描

域名反查IP

[Python] 纯文本查看 复制代码
?
1
2
3
4
5
import socket#导包
for yuming in open("yuming.txt"):#导入域名库
    yuming = yuming.replace('\n', '')#去掉换行符
    yuming = socket.gethostbyname(yuming)#调用socket中的gethostbyname()方法去反查IP
    print(yuming)#打印出IP

(都是CDN)

域名反查之后,得到的IP或许不是真是IP,或者说绝大可能不是真是IP,一些大企业一般会挂上CDN

判断CDN

[Python] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
import os#导包
for yuming in open("yuming.txt"):#导入域名库
    yuming = yuming.replace('\n', '')#去掉换行符
    cdn_data=os.popen('nslookup '+ yuming).read()#调用终端命令行
    x=cdn_data.count(".")#计算“.“的个数
    # print(cdn_data)
    if x>=10:#个数大于10则说明又cdn
        print("有cdn")
    else:
        print("无cdn")

原理:如果有cdn,则cdn_data中”.“的个数会大于9个,如果没有cdn就只有9个,以此来简单判断有无cdn

如果拿到了真实IP,那么就可以对其进行C段扫描了

C段扫描

[Python] 纯文本查看 复制代码
?
1
2
3
4
5
6
7
8
import nmap
for IP in open("IP.txt"):#导入IP库
    IP = IP.replace('\n', '')#去掉换行符
    nm = nmap.PortScanner()#创建端口扫描对象
    host = IP + '/24'#给ip加上/24 例:127.0.0.1/24
    data=nm.scan(hosts=host,arguments='-T4 -F')#开始扫描并将结果返回给data
    print(nm.all_hosts())#打印出扫描出来的其他IP
    print(nm.csv())#打印出IP的TCP服务端口

其实就是调用了nmap进行扫描

扫描到大量C段的 其他IP后再进行批量扫端口

端口扫描

[Python] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
import socket
for IP in open("IP.txt"):#导入IP库
    IP = IP.replace('\n', '')#去掉换行符
    for port in range(8060,8081):#遍历8060到8080的端口
        server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建面向连接和网络的套接字
        server.settimeout(1)#限制重连时间
        result = server.connect_ex((IP,port))#尝试与服务端发起连接,并将结果返回给result(类似nmap全连接扫描)
        if result == 0:#如果结果为0则便是端口开放
            print(str(port)+"端口---open")
            server.close()#关闭连接
        else:
            continue

希望这篇文章对您有用!

初探脚本小子--快速上手自写信息收集脚本相关推荐

  1. 人人都是 DBA(XII)查询信息收集脚本汇编

    什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA& ...

  2. 人人都是 DBA(X)资源信息收集脚本汇编

    什么?有个 SQL 执行了 8 秒! 哪里出了问题?臣妾不知道啊,得找 DBA 啊. DBA 人呢?离职了!!擦!!! 程序员在无处寻求帮助时,就得想办法自救,努力让自己变成 "伪 DBA& ...

  3. 自动脚本以及打包,将写好的脚本打包成exe可执行文件

    自动化脚本以及如何打包成可执行程序 1.自动化脚本 2.前置工作准备 2.1. selenium模块 2.2.浏览器驱动 2.2.1.版本选择: 3.开始 3.1.打开页面 3.2.操作页面 需求 分 ...

  4. python写魔兽世界脚本_用python bat写软件安装脚本 + HM NIS Edit自动生成软件安装脚本...

    2019-03-11更新:原来NSIS脚本也可以禁用64位文件操作重定向的! 1.在安装脚本的开始处定义 LIBRARY_X64. !include "MUI.nsh" !incl ...

  5. python可以制作游戏脚本吗_用Python写一个游戏脚本,你会吗?

    学习python有一段时间了,由于python语言的强大和简洁,是一个不错的脚本语言,就准备做个游戏脚本练练手.如果你也想多练项目实战.可以去小编的Python交流.裙 :一久武其而而流一思(数字的谐 ...

  6. python apscheduler 脚本 动态_用apscheduler写python定时脚本

    apscheduler 官方文档:http://apscheduler.readthedocs.io/en/latest/ 写一个后台定时任务,一般2个选择,一个是apscheduler,一个cele ...

  7. python自动游戏脚本_[python游戏脚本]我想用Python写一个游戏脚本,自动点击排队!...

    我只是学会了Python,我用我的知识掌握和使用\u201Cautopy\u201D功能来编写一个脚本,该脚本自动点击鼠标队列,但是我希望这个脚本运行而不被显示在前面的窗口,即使是最小化.我在后台继续 ...

  8. 人人都是 DBA(XI)I/O 信息收集脚本汇编(转)

    http://www.cnblogs.com/gaochundong/p/everyone_is_a_dba_io_info_collection.html 转载于:https://www.cnblo ...

  9. 让你IDA Pro 快速上手使用

    让你IDA Pro 快速上手使用 写这篇博文主要是在打pwn的时候,有时候在IDA中想要寻找信息,自己不会IDA Pro的使用.只能一个一个查找太费时间和人力,寻找相关书籍和博客做了一些适合新手的笔记 ...

最新文章

  1. Windows系统软件推荐
  2. 【Python】Pandas 数据类型概述与转换实战
  3. python编写接口初识一
  4. java简述垃圾回收原理及算法_Java垃圾回收原理和算法
  5. jsp解决mysql乱码_解决mysql+jsp出现乱码的问题
  6. ClickHouse内核分析-MergeTree的存储结构和查询加速
  7. js 判断时区, 时区过滤
  8. python如何导入numpy简书_如何使用python3.x成功导入numpy?
  9. C++/mfc错误总结
  10. uni-app开发开发h5,小程序,app,注意事项
  11. 水彩画笔效果PS笔刷
  12. 英语音标、发音技巧、浊化规则
  13. Albumentation使用指南
  14. lwip协议栈在linux运行,一种轻量级的TCP_IP协议栈LwIP在嵌入式系统中的应用
  15. 云原生落地实践的25个步骤
  16. robots文件对网站优化有哪些作用
  17. Unknown label type: ‘continuous
  18. php curl添加授权Authorization 验证头
  19. outlook 签名_如何在Outlook 2013中创建新签名
  20. vscode_历史版本下载_便携版/安装版

热门文章

  1. laravel的视图操作
  2. 如何把excel的数据快速导入到数据库
  3. webpack打包分析
  4. 【C++】运算符重载2-深拷贝深赋值、前加加后加加的重载
  5. CSS:css减肥瘦身工具
  6. vuepress reco主题优化与修改
  7. 每次开机Edge浏览器自动启动怎么办
  8. 华为U8220 fastboot刷机
  9. Python画动漫人物(2)
  10. springboot spring.factories说明