Metadata-Version: 2.1
Name: norecon
Version: 0.917
Summary: auto recon tools for domain, whois, service scan and screenshot.
Home-page: https://github.com/ntestoc3/norecon
Author: ntestoc3
Author-email: ntoooooon@outlook.com
License: Expat
Keywords: recon hacking domain scan whois
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=3.6, <4
Description-Content-Type: text/markdown
Requires-Dist: bs4
Requires-Dist: fake-useragent
Requires-Dist: hy
Requires-Dist: requests
Requires-Dist: retry
Requires-Dist: lxml
Requires-Dist: ratelimit
Requires-Dist: publicsuffix2
Requires-Dist: dnspython
Requires-Dist: python-whois
Requires-Dist: ipwhois
Requires-Dist: validators
Requires-Dist: event-bus
Requires-Dist: qqwry-py3
Requires-Dist: Jinja2
Requires-Dist: elasticsearch


# 用途
  recon自动化, 提供域名或ip,进行whois查询，dns记录查询，ip端口扫描，http屏幕快照．


  生成markdown格式的报告，可以使用[Obsidian](https://obsidian.md/)或vscode的[markdown notes插件](https://marketplace.visualstudio.com/items?itemName=kortina.vscode-markdown-notes)打开,借助双向链接功能，方便查看．

# 安装使用

## 安装依赖程序

### amass 
   用于子域名查找,[下载地址](https://github.com/OWASP/Amass/releases)

### findomain 
   用于快速子域名查找 [findomain](https://github.com/Findomain/Findomain/releases)

### nmap
   用于服务扫描

### masscan
   用于端口发现

### aquatone
   用于屏幕快照,注意必须使用修改版，提供了session单独保存与合并的功能,下载地址:
   [aquatone](https://github.com/ntestoc3/aquatone/releases)

## 安装程序

  使用python3环境
  ```shell
  pip install norecon
  ```

## 自动化安装
  不喜欢手动安装的话，可以使用[ssh-scripts](https://github.com/ntestoc3/ssh-scripts#norecon)进行自动化安装

## 使用方法
  norecon -p 项目保存目录　域名或ip 

  比如测试yahoo,支持一级域名或子域名
  ```shell
  norecon -v -p yahoo yahoo.com engadget.com login.aol.com
  ```
  如果中途中断，继续执行以上命令，会自动跳过已经扫描的部分．可使用--overwrite强制重新扫描．

  也可以在项目执行完毕后再添加ip或域名,或只进行ip扫描(支持cidr子网或ip范围):
  ```shell
  norecon -v -p yahoo 202.165.107.00/28 119.161.10.15-119.161.10.40 106.10.236.40
  ```

  扫描完成后，生成报告:
  ```shell
  noreport -v2  yahoo
  ```

## 使用docker镜像
   使用norecon镜像创建容器，把本地目录/data/project映射到docker容器的/data目录,
   设置nowx的token值为AT_xx(需要修改为自己申请的token,参考nowx部分),并命名容器名为norecon:

```shell
　　docker run -d --name norecon -e WXPUSHER_TOKEN=AT_xx -v /data/project/:/data ntestoc/norecon
```

   如果容器已经存在，则要删除已经创建的容器:
```shell 
   docker rm norecon
```

   容器启动后,进入容器shell:
```shell
   docker exec -it norecon /bin/bash
``` 

   然后就可以正常使用norecon等命令，在容器的bash上操作是为了方便执行管道操作，读取stdin输入数据等。

   容器中没有提供chrome,因此屏幕快照无法执行，可以自己使用docker配置browserless，
   或使用提供的docker-compose.yml:
```shell
   wget https://raw.githubusercontent.com/ntestoc3/norecon/master/docker-compose.yml
   # 修改docker-compose.yml中WXPUSHER_TOKEN的值, 参考nowx部分
   docker-compose up -d
```
   docker-compose默认使用当前目录映射到/data,可以根据自己需要修改;

   退出容器的交互式shell使用CTRL-p, CTRL-q组合键。

   更新容器为最新版本(删除所有使用的image,再重新下载),在docker-compose.yml文件目录执行:
```shell
   docker-compose down --rmi all  && docker-compose up -d
```   
   或者直接在容器中使用pip更新

# 报告截图
  使用Obsidian显示报告结果
  ![报告结果](https://github.com/ntestoc3/norecon/raw/master/resources/report_screen.gif)

# 附带的单独工具

## noresolvers
  域名解析服务器查询工具，根据可用性和超时时间获取域名解析服务器列表．按响应时间排序．

  使用方法,可用性为0.9,响应时间为3秒内，输出解析服务器列表到resolve：
```shell
noresolvers -r 0.9 -t 3 -o resolve
```

## domainvalid 
  检测一级域名是否有效，即含有ns记录，是正常使用的一级域名．

  可以指定resolvers文件，即noresolvers输出的域名解析服务器文件．

## norecords
  获取一个域名的所有解析记录

## wildomains
  获取一个通配域名的所有一级域名，比如baidu.*,会查找所有可能的tld后缀，找到还在使用的一级域名．

  可以使用tld文件指定要查找的后缀，如果不指定，会查找大量tld,速度比较慢．

## nosubsfinder
  从网页查询子域名

## noamass
  调用amass查询子域名

## nofindomain
  调用findomain查询子域名

## nowhois
  whois查询域名或ip

## nonmap
  调用masscan和nmap进行服务扫描

## noffuf
  调用ffuf进行路径爆破

## noscreen
  调用aquatone进行屏幕快照

## nowx
  发送微信消息,借助[微信消息推送服务](http://wxpusher.zjiecode.com/docs/)发送消息．
  可以实现命令执行完毕后发送微信消息进行通知．

  - 第一次运行输入nowx执行，根据提示进行配置:
```shell
➜  sub-domains git:(master) ✗ nowx
未发现token配置
访问 http://wxpusher.zjiecode.com/admin/app/list 创建token.
输入申请的APP_TOKEN:[粘贴页面申请的token]

网页打开下面的网址，微信扫码关注以接收消息：
https://mp.weixin.qq.com/cgi-bin/showqrcode?ticket=xxxxxx
```
  **或者直接通过环境变量设置token**:
```sh
  export WXPUSHER_TOKEN=AT_xxxx
```

  - 然后可以在执行时带上消息参数发送消息:
```shell
nowhois bing.com  ; nowx whois执行完毕,返回代码:$?
```  
  上面的命令在nowhois执行完毕后，nowx发送微信消息，通知完成及nowhois的返回代码．
  注意两个命令之间使用;分割．

# 声明
  本程序仅供于学习交流，请使用者遵守《中华人民共和国网络安全法》，
  勿将此工具用于非授权的测试，
  程序开发者不负任何连带法律责任。



