利用OnionScan对暗网进行搜索(一)
介绍一款扫描暗网中的隐藏服务,并收集一些潜在的泄漏数据的工具:OnionScan。这是一个非常棒的工具。
(一)首先我们需要做以下几件事:
1.配置运行的服务器。
2.在服务器上运行TOR软件。
3.安装OnionScan。
4.编写Python脚本来实现扫描过程的自动化处理
(二)、服务器搭建
拥有Linux服务器,连接外网,可以正常访问服务器。
(三)、配置运行环境-Go
在部署Python代码和OnionScan之前,需要对服务器的环境进行配置。
screen
apt-get update
apt-get install tor git bison libexif-dev
apt-get install python-pip
pip install stem
关于go语言环境安装请查询网站
(四)安装onionscan.
利用下列命令来安装OnionScan:
go get github.com/s-rah/onionscan
go install github.com/s-rah/onionscan
注意此处/root/go/bin/onionscan这是启动命令
ln–s /root/go/bin/onionscan /usr/bin/onionscan
现在,如果你只在终端中输入
onionscan
按下“回车键”之后,你就会得到“onionscan”的命令行使用信息,OnionScan就算安装成功了。
对TOR的配置进行一些改动,以便让我们的Python脚本能够申请到新的IP地址。我们可以利用下面这条命令来实现:
tor -hash-password PythonRocks
运行上面这条命令之后,系统将会输出一些数据。在数据的最后一行你会看到类似下面的信息:
复制上面这条数据,然后输入并执行下面这行命令:
nano /etc/tor/torrc
这行命令会开启一个简单的文本编辑器。现在,跳转到文本的底部(按下CTRL+W,CTRL+V),然后将之前复制的那一串数据粘贴进去,并将数据补充完整:
ControlPort 9051
ControlListenAddress 127.0.0.1
现在,按下CTRL+O来写入文件,然后按下CTRL+X退出文件编辑器。现在输入下面的命令:
service tor restart
这条命令会重启TOR服务,重启之后我们的配置才会生效。获取.onion地址列表。脚本才可以正常扫描暗网中的隐藏服务。
Wget https://raw.githubusercontent.com/automatingosint/osint_public/master/onionrunner/onion_master_list.txt
(五)、OnionScan脚本(Python)
该脚本的下载:https://raw.githubusercontent.com/automatingosint/osint_public/master/onionrunner/onionrunner.py
然后将其命名为“onionrunner.py”。
(六)、运行结果
python onionrunner.py
打开“onionscan_result”目录之后,你将会看到一个json文件,该文件会以OnionScan所扫描到的隐藏服务名称来命名。只要你有足够的耐心,你可以让这个程序一直运行下去。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Angular应用的依赖注入调试
- 给Angular应用增添搜索Search功能
- Angular应用一个创建场景的问题分析
- WPF 最简逻辑实现多指顺滑的笔迹书写
- WPF 如何确定应用程序开启了 Pointer 触摸消息的支持
- Hexo-Matery主题美化
- uniapp onPullDownRefresh 下拉刷新小坑
- Windows服务器常用配置
- SAP CRM订单数据库表CRMD_SHIPPING的填充原理
- 使用art-template模板引擎渲染数据
- SAP CRM索引数据库表CRMD_ORDER_INDEX的更新原理
- 将自己的nodeJS项目分享到npm上
- react中使用prop-types检测props数据类型
- git的常用命令及工作中冲突问题解决方法
- 关于react中的context