被动扫描框架Recon-ng

目录

  • 基础使用步骤
    • 启动
    • 菜单
    • 使用模块
    • 查看结果
  • 具体模块
    • 侦查
    • 发现
    • 攻击
    • 报告
  • 自行构建模块

基础使用步骤

  1. 启动

recon-ng -h
recon-ng -w [name] #新建工作区
help

  1. 菜单

show modules

  1. 使用模块

search [modulename]
use [path]
show info
set ...
run

  1. 结果

show <tables> #show profiles

具体模块

  1. 侦查
  • Profiler模块: 查询某个用户名在那些网站(知名)有注册。
  • Hashes_org模块:反查哈希加密(需要api key才能用)
  • Metacrawler模块:网站文件搜索(如pdf,xlsx文件等,其实就是google hack技术)
  • Dev_diver模块:查找某个用户是否存在某些代码库
  • Ipinfodb模块:查询ip的相关信息,如地理位置(这个功能要api)
  • Brute_hosts模块:暴力破解子域名
  • Google_site_web模块:相关域名查询(子域名)
  1. 发现
  • Interesting_files模块:查找某网站的敏感文件
  1. 攻击
  • command_injector模块:命令注入,多用于木马文件

Search command_injector
Use path-to/command_injector
Show info #可以看到具体的参数
set base_url http://1.1.1.1/other/a.php
Set parameters cmd=<rce>
run

4.报告

  • search report,查看具体输出格式模块

自行构建模块

在home目录下的’./recon-ng’下建立modules文件夹,然后在分别根据模块属性来建立文件,如建立侦查板块,需要建立recon文件夹,构建找代理模块示例:

cd ~
cd .rcon-ng
mkdir modules
cd modules
mkdir recon
cd recon
mkdir findproxy
cd findproxy
vim find_proxy.py

模块文件主要的格式:

from recon.core.module import BaseModule
class Module(BaseModule):
    meta = {
        'name': 'something...',
        'author': ‘something...’,
        'description': 'something...',
        'query': something...'       ##这个最好写清楚,方便别人查看用法
    }
        def mudule_run(self[,type]):
        some code,self参数可以用来获取一些api key等, type含有source的数据
        Pass
#-*- coding: utf-8 -*-
from recon.core.module import BaseModule
import re
from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from bs4 import BeautifulSoup
import subprocess
import os
import urllib
import copy
import time
import jsbeautifier
 
class Module(BaseModule):
    meta = {
        'name': 'Find free proxy...',
        'author': 'Cesign',
        'description': 'find defferent proxy, there are four kinds of proxy,http,https,socks4 and socks5, and the code is h,s,4,5....Enjoy!!!',
        'query': 'find defferent proxy, there are four kinds of proxy,http,https,socks4 and socks5, and the code is h,s,4,5....Enjoy!!!'
    }
 
    def module_run(self,type):
        STYLE = {
                'fore':
                {   # 前景色
                    'black'    : 30,   #  黑色
                    'red'      : 31,   #  红色
                    'green'    : 32,   #  绿色
                    'yellow'   : 33,   #  黄色
                    'blue'     : 34,   #  蓝色
                    'purple'   : 35,   #  紫红色
                    'cyan'     : 36,   #  青蓝色
                    'white'    : 37,   #  白色
                },
 
                'back' :
                {   # 背景
                    'black'     : 40,  #  黑色
                    'red'       : 41,  #  红色
                    'green'     : 42,  #  绿色
                    'yellow'    : 43,  #  黄色
                    'blue'      : 44,  #  蓝色
                    'purple'    : 45,  #  紫红色
                    'cyan'      : 46,  #  青蓝色
                    'white'     : 47,  #  白色
                },
 
                'mode' :
                {   # 显示模式
                    'mormal'    : 0,   #  终端默认设置
                    'bold'      : 1,   #  高亮显示
                    'underline' : 4,   #  使用下划线
                    'blink'     : 5,   #  闪烁
                    'invert'    : 7,   #  反白显示
                    'hide'      : 8,   #  不可见
                },
 
                'default' :
                {
                    'end' : 0,
                },
        }
 
 
        def UseStyle(string, mode = '', fore = '', back = ''):
 
            mode  = '%s' % STYLE['mode'][mode] if STYLE['mode'].has_key(mode) else ''
 
            fore  = '%s' % STYLE['fore'][fore] if STYLE['fore'].has_key(fore) else ''
 
            back  = '%s' % STYLE['back'][back] if STYLE['back'].has_key(back) else ''
 
            style = ';'.join([s for s in [mode, fore, back] if s])
 
            style = '\033[%sm' % style if style else ''
 
            end   = '\033[%sm' % STYLE['default']['end'] if style else ''
 
            return '%s%s%s' % (style, string, end)
 
        print '[*] Please wait, it will take about 2 minutes...'
        dcap = dict(DesiredCapabilities.PHANTOMJS)
        dcap["phantomjs.page.settings.userAgent"] = (
                "Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0"
                )
        driver = webdriver.PhantomJS(desired_capabilities=dcap,service_log_path=r"/home/cesign/watchlog.log")
        driver.set_window_size(1920, 1080)
 
        driver.get('https://hidemy.name/en/proxy-list/?type='+str(type[0])+'#list')
        time.sleep(1)
 
        soup=BeautifulSoup(driver.page_source,'html.parser')
        allurl=soup.find_all(name='td')
 
        result={
            'h':lambda x:'http',
            's':lambda x:'https',
            '4':lambda x:'socks4',  
            '5':lambda x:'socks5',  
        }
        i = 0
        print UseStyle('[*] Search proxy: type:'+result[str(type[0])]('hello'),fore='blue')
        print UseStyle('[*] IP adress---Port---Country,City---Speed---Type---Anonymity---Last check',fore='blue')
        while True:
            try:
                part = []
                part = allurl[i:i+7]
                i = i+7
                print UseStyle('[*]'+part[0].text+'---'+part[1].text+'---'+part[2].text+'---'+part[3].text+'---'+part[4].text+'---'+part[5].text+'---'+part[6].text,fore='green')
            except:
                break
                
        driver.quit()

调用模块

Reload
Search find_proxy
Use path-to/find_proxy
Show info
Set source h
Run

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,311评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,339评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,671评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,252评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,253评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,031评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,340评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,973评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,466评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,937评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,039评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,701评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,254评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,259评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,485评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,497评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,786评论 2 345

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,599评论 18 139
  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,156评论 9 467
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,135评论 2 34
  • 中文翻译 ng help ng build 构建您的应用程序并将其放入输出路径(dist /默认情况下)。 别名:...
    4ea0af17fd67阅读 2,010评论 0 0
  • 4.2.3 我怕…… 我常常用……方式攻击/防御 其实我投射了…… 4.2.4 我因为……而导致现在的结局 就是因...
    兮兮AX阅读 214评论 0 1