标注的博客| 安全研究| 渗透测试| APT

首页

torscraper:fresh ononions是一个开源的torspider/hidden service洋葱爬虫程序,托管在zlal32teyptf4tvi.onion

作者 cayo 时间 2020-04-07
all

这是http://zlal32teyptf4tvi.onion隐藏服务的源代码的副本,该服务实现了一个tor隐藏服务爬虫/蜘蛛和网站。

特征

执照

此软件在GNU Affero GPL 3许可下提供。。这意味着,如果您将此软件作为可供公众使用的网络软件的一部分进行部署,则必须使源代码可用(以及任何修改)。

从GNU站点:

GNU Affero通用公共许可证是普通GNU GPL版本3的修改版。它有一个附加的要求:如果您在服务器上运行一个修改过的程序,并让其他用户在那里与之通信,那么您的服务器还必须允许他们下载与在那里运行的修改过的版本相对应的源代码

依赖关系

pip安装:

pip安装-r requirements.txt

安装

从schema.sql创建mysql数据库

为数据库设置编辑etc/数据库

为TOR设置编辑etc/proxy

script/push.sh someoniondirectory.onion script/push.sh anotheroniondirectory.onion

仅编辑etc/uwsgi_并将BASEDIR设置为安装torscraper的位置(即/home/user/torscraper)

运行:

init/scraper_service.sh # to start crawling init/isup_service.sh # to keep site status up to date

可选的ElasticSearch全文搜索

torscraper带有可选的elasticsearch功能(默认情况下启用)。编辑etc/elasticsearch并设置vars或设置elasticsearch_ENABLED=false禁用。运行scripts/elasticsearch_migrate.sh在配置后执行初始设置。

如果elasticsearch被禁用,将不会有全文搜索,但是爬行和发现新站点仍将工作。

亲信

# harvest onions from various sources 1 18 * * * /home/scraper/torscraper/scripts/harvest.sh # get ssh fingerprints for new sites 1 4,16 * * * /home/scraper/torscraper/scripts/update_fingerprints.sh # mark sites as genuine / fake from the /r/darknetmarkets superlist 1 9 * * 1 /home/scraper/torscraper/scripts/get_valid.sh # scrape pastebin for onions (needs paid account / IP whitelisting) */5 * * * * /home/scraper/torscraper/scripts/pastebin.sh # portscan new onions 1 */6 * * * /home/scraper/torscraper/scripts/portscan_up.sh # scrape stronghold paste 32 */2 * * * /home/scraper/torscraper/scripts/stronghold_paste_rip.sh # detect clones 16 3 * * * /home/scraper/torscraper/scripts/detect_clones.sh

基础设施

新鲜洋葱运行在两台服务器上,一台运行数据库和隐藏服务网站的前端主机,一台运行爬虫程序的后端主机。读者可能最感兴趣的是后端的设置。TOR作为客户端是完全单线程的。我知道!现在是2017年,再加上完全没有飞车,托尔只能一丝不苟地跑。这意味着,如果你试图在一个TOR实例上运行一个爬虫程序,你很快就会发现你的CPU已经达到了100%的最大值。

解决这个问题的方法是运行多个TOR实例,并通过某种前端连接到它们,从而循环处理您的请求。新鲜洋葱爬虫运行八个Tor实例。

Debian(和ubuntu)附带了一个有用的程序“tor instance create”,用于快速创建tor的多个实例。我使用Squid作为前端代理,但不幸的是它不能直接连接到SOCKS,所以我使用privoxy作为中间代理。每一个TOR实例都需要一个privoxy实例。“scripts/create_privoxy.sh”中有一个脚本可以帮助在debian系统上创建privoxy实例。它还有助于用空文件替换/etc/privoxy/default.filter,通过删除不必要的regex来减少CPU负载。

此外,此资源https://www.howtoforge.com/ultimate-security-proxy-with-tor可能对设置squid很有用。如果您所做的只是爬行而不关心匿名性,我还建议您在tor2web模式下运行TOR(需要重新编译)以提高速度