在这里插入图片描述



docker restart 29690f30ec93 && docker restart 097f21f20565 && docker restart 0d5dbaa288c3 && docker restart c3bc978c70cf


rmi

docker stop 29690f30ec93 && docker stop 097f21f20565 && docker  stop 0d5dbaa288c3 && docker stop c3bc978c70cf && docker stop a1c85e9a1585

docker rm 29690f30ec93 && docker rm 097f21f20565 && docker rm 0d5dbaa288c3 && docker rm c3bc978c70cf && docker rm a1c85e9a1585

git clone https://github.com/TophantTechnology/ARL


unzip 

docker volume create --name=arl_db

docker-compose up -d

admin/arlpass


980c23be6bf3   tophant/arl:latest                  "sh -c 'wait-for-it.…"   About a minute ago   Up About a minute                                                                          arl_scheduler
01606d856a00   tophant/arl:latest                  "sh -c 'gen_crt.sh; …"   About a minute ago   Up About a minute   0.0.0.0:5003->443/tcp, :::5003->443/tcp                                arl_web
21bbc6441e90   tophant/arl:latest                  "sh -c 'wait-for-it.…"   About a minute ago   Up About a minute                                                                          arl_worker
4e9080c7201a   mongo:4.0.27                        "docker-entrypoint.s…"   About a minute ago   Up About a minute   27017/tcp                                                              arl_mongodb
62945667115f   rabbitmq:3.8.19-management-alpine   "docker-entrypoint.s…"   About a minute ago   Up About a minute   4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 15691-15692/tcp, 25672/tcp   arl_rabbitmq

docker restart 980c23be6bf3 && docker restart 01606d856a00 && docker restart 21bbc6441e90 && docker restart 4e9080c7201a  && docker restart 62945667115f

docker exec -it 4e9080c7201a /bin/bash


 

mongo --host 127.0.0.1  --port 27017 --username arl --password arlpassword --authenticationDatabase arlv2host 
  系统 

 -> 跳过CDN  
							 
							
							\》ARL历史
								\》DNS字典
							



pip install requests-ntlm==1.2.0  -i "https://pypi.doubanio.com/simple/"
pip install Flask==2.0.3 -i "https://pypi.doubanio.com/simple/"
Flask-WTF==1.0.0
pymongo==3.13.0
flask-restx==1.0.3
psutil==5.7.2
celery==5.1.2
colorlog==6.7.0
dnspython==2.0.0
tld==0.12.6
geoip2==2.9.0
pyOpenSSL==22.1.0
python-crontab==2.7.1
lxml==4.8.0
pyquery==1.4.3
openpyxl==3.0.0
PyMySQL==1.0.2
xlwt==1.3.0
dnslib==0.9.23 
requests-ntlm==1.2.0
pycryptodomex==3.17


3.9
pip install backports.zoneinfo
pip install tzdata

cf030d6af269676d1957d0cb774f298b 



/api/policy/
/api/policy/add/
/api/poc/?plugin_type=brute
/api/poc/?plugin_type=poc 






massdns.exe 是一个用于进行大规模 DNS 解析的工具。它是一个开源的命令行工具,可以在各种操作系统上运行。

massdns.exe 的主要功能是对域名进行批量解析,它通过并发地向 DNS 服务器发送 DNS 请求,并收集响应结果。这使得它能够快速地处理大量域名,并提供了一种有效的方法来验证和收集关于域名的信息。

使用 massdns.exe,您可以执行以下任务:

1. 子域名枚举:通过提供顶级域名,利用 massdns.exe 可以查询该域名下的所有子域名。这对于安全测试和漏洞评估非常有用。
    
2. 云安全与负载均衡测试:通过批量解析域名,可以检测是否存在云服务,以及域名背后是否有负载均衡设备。
    
3. 域名历史记录分析:通过解析域名历史记录中的域名,可以获取与域名相关的更多信息,例如之前的 DNS 记录和之前的 IP 地址。

 

ARL资产侦察灯塔系统
https://github.com/TophantTechnology/ARL

灯塔  
https://www.anquanke.com/post/id/253480

https://github.com/TophantTechnology/ARL/wiki/Docker-%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85-ARL
https://120.48.83.89:5003/


https://tophanttechnology.github.io/ARL-doc/
文档

https://github.com/1c3z/ARL-NPoC
POC框架

ing -h

usage: xing [-h] [--version] [--quit]
            [--log {debug,info,success,warning,error}]
            {list,scan,sniffer,exploit,brute,listener} ...

positional arguments:
  {list,scan,sniffer,exploit,brute,listener}
                        子命令
    list                显示插件
    scan                扫描
    sniffer             协议识别
    exploit             漏洞利用
    brute               弱口令爆破
    listener            监听

optional arguments:
  -h, --help            show this help message and exit
  --version, -V         show program's version number and exit
  --quit, -q            安静模式 (default: False)
  --log {debug,info,success,warning,error}, -L {debug,info,success,warning,error}
                        日志等级 (default: info)
其中子命令的-t参数可以为文件名也可以为单个指定的目标,-n 按照文件名筛选PoC

pip3 install -r requirements.txt
pip3 install -e .



https://www.anquanke.com/post/id/252321#h3-3
文章



整个程序利用Flask架构编写,通过入口main.py文件,通过入口文件,初始化Flask框架,加载api,
然后通过命名空间绑定路由。

各个功能模块大多是独立分开的,通过url直接调用。
其次,就是异步任务队列和任务调度器两个单独模块。


mongod.exe  -port 6321  --dbpath F:\Godmongodb_F
mongo 127.0.0.1:6321/GodV1

 db.createUser({user:'aming',pwd:'Msr010527',roles:[{role:'dbOwner',db:'GodV1'}]})
 
 
 
 celery -A app.celerytask.celery worker -l info -Q Godtask -n Godtask -c 2 -O fair -f GOd_worker.log
 
 python  -m app.scheduler
 
 
 

set ERLANG_HOME=G:\envir\base\Erlang OTP
rabbitmq:5672


  

nuclei的模板文件存放的默认路径是当前用户路径下,即 YourUserHome/nuclei-templates。
C:\Users\amingMM\nuclei-templates




Docker 启动
git clone https://github.com/TophantTechnology/ARL
cd ARL/docker/
docker volume create arl_db
docker-compose pull
docker-compose up -d 





 


想在命令行打印出来 celery worker 的运行情况,您可以使用 celery inspect 命令,它可以让您远程控制或查看 worker 的状态。celery inspect 命令有以下几个参数:

-A app.celerytask.celery 指定 celery 应用的模块名,也就是包含 celery 实例的 python 文件
-d Godtask 指定要控制或查看的 worker 的节点名,也就是 worker 的唯一标识
report 指定要执行的命令,report 命令可以返回 worker 的基本信息,比如主机名、平台、进程号等
-t 10 指定超时时间为 10 秒,也就是如果在 10 秒内没有收到 worker 的回复,就放弃等待
例如:

$ celery -A app.celerytask.celery inspect -d Godtask report -t 10

这个命令会向 Godtask 这个 worker 发送 report 命令,并等待 10 秒内的回复。如果成功,会打印出类似这样的结果:

-> Godtask: OK - platform: Windows-10-10.0.19041-SP0 - hostname: Godtask@DESKTOP-123456 - pid: 1234 - clock: 5678 - freq: 2.0 - loadavg: N/A - processed: 0 - active: 0 - registered: 1

如果失败,会打印出类似这样的结果:

-> Godtask: ERROR (no reply within 10s)


 -l info 是一个用于修改 celery worker 的日志级别的参数,它表示将日志级别设置为 info ,也就是输出一般的信息,比如任务的接收、执行、结果等。这个参数是一个缩写,完整的写法是 --loglevel info 。celery worker 支持以下几种日志级别:

CRITICAL: 只输出严重的错误信息
ERROR: 输出错误信息
WARNING: 输出警告信息
INFO: 输出一般信息
DEBUG: 输出调试信息
celery -A app.celerytask.celery worker -l DEBUG  -Q arlgithub -n Godtask -c 2 -O fair -f GOd_worker.log
celery -A app.celerytask.celery worker -l DEBUG -Q Godtask -n Godtask -c 2 -O fair -f GOd_worker.log 
celery -A app.celerytask.celery flower 

E:\hack\道普内部武器库\信息搜集\端口扫描\Nmap



python -m pip show pymongo
WARNING: Ignoring invalid distribution -ip (d:\python3.7\lib\site-packages)
Name: pymongo
Version: 3.0





celery.conf.update 是一个方法,用于更新 Celery 的配置选项1。您的代码中的配置选项的含义如下:

task_acks_late: 如果为 True,任务在执行完毕后才会发送确认消息,而不是在接收到任务时就发送。这意味着如果一个 worker 意外终止或被杀死,没有执行完的任务会被重新分配给其他 worker1。

worker_prefetch_multiplier: 每个 worker 进程可以预取的任务数量的乘数。默认值是 4,即每个 worker 进程可以预取四倍于并发数的任务数量。如果设置为 1,每个 worker 进程只能预取一个任务1。

broker_transport_options: 一个字典,用于传递给 broker 的传输选项。具体的选项取决于使用的 broker 类型。您的代码中使用的选项是针对 AMQP broker 的,它们的含义如下:

max_retries: 连接失败时重试的最大次数。默认值是 1002。
interval_start: 重试间隔的初始值,单位是秒。默认值是 02。
interval_step: 每次重试后增加的间隔值,单位是秒。默认值是 0.22。
interval_max: 重试间隔的最大值,单位是秒。默认值是 0.52。





D:/python3.7/python.exe c:/Users/amingMM/Desktop/Godeye/test/__aming_main.py
celery -A __test__aming  flower
celery -A __test__aming  worker --pool=solo -l Debug -Q Godtask -n add -c 2 -O fair -f GOd_worker.log



platforms.C_FORCE_ROOT 是一个环境变量,用于控制 Celery 是否允许以 root 用户运行 worker1。如果设置为 True,Celery 会忽略 root 用户的警告,但这是非常不推荐的,因为可能会带来安全风险12。如果您想以非 root 用户运行 Celery,您可以使用 --uid 选项指定一个不同的用户1,或者在 Dockerfile 中创建一个新的用户并切换到该用户2。


您的 Celery 配置中设置了 CELERY_ALWAYS_EAGER = True,这会导致所有的任务在 Django 主进程中执行,而不是发送到队列中。您可以将该选项设置为 False,或者在测试环境中使用 CELERY_TASK_ALWAYS_EAGER = True1。
您的任务执行时间超过了 broker 的消息可见性超时时间,导致其他 worker 认为该消息已经被处理,重新将其放回队列中。您可以增加 broker_transport_options 中的 visibility_timeout 选项的值,或者优化您的任务执行时间2。
您的任务没有正确地返回结果或者抛出异常,导致 worker 无法确认任务完成,重新尝试执行该任务。您可以检查您的任务代码是否有逻辑错误或异常处理3。









根据搜索结果,Celery 任务可以通过 revoke 方法来终止或撤销1。您需要传入任务的 uuid 作为参数,以及 terminate=True 选项来强制终止正在执行的任务。例如:

from celery.task.control import revoke
revoke (task_id, terminate=True)
注意:revoke 方法只是告诉 Celery 将任务的 uuid 保存在一个内存集合中,而不是立即从队列中删除任务。当任务到达队列顶部时,Celery 会检查它是否在撤销集合中,如果是,就不会执行它。如果您重启 Celery worker,内存集合会丢失,撤销的任务可能会被重新执行。为了避免这种情况,您可以使用 --statedb 选项来将撤销集合保存在文件系统中1。



Celery 是一个 Python 的分布式任务队列系统,它可以处理在多个线程或网络节点上分发的任务1。它使得异步任务管理变得简单。您的应用程序只需要将消息推送到一个 broker,比如 RabbitMQ,然后 Celery worker 会从队列中取出消息并安排任务执行12。Celery 可以用于多种配置。最常见的用途是通过在 Celery worker 上运行资源密集型的任务来实现水平应用扩展,或者在 web 应用中管理长时间的异步任务,比如用户发布图片时的缩略图生成23。

RabbitMQ 是一个消息 broker,它负责创建任务队列,根据一些路由规则将任务分发到任务队列中,然后将任务从任务队列中传递给 worker12。RabbitMQ 是 Celery 推荐的 broker,因为它功能完善、稳定2。您也可以选择其他的 broker,比如 Redis 或数据库(比如 Django 数据库)2。


使用 Celery 的 inspect 方法,它可以返回当前的活动任务、预定任务、保留任务等信息1。例如:

from celery.task.control import inspect
i = inspect ()
i.active () # 返回当前正在执行的任务
i.scheduled () # 返回当前已经预定的任务
i.reserved () # 返回当前已经保留的任务
使用 Celery 的 Flower 工具,它是一个 web 界面,可以实时显示任务的状态(活动、完成、保留等),并且可以按照时间、worker 和类型进行过滤2。您可以通过以下命令安装和运行 Flower:

pip install flower
celery -A proj flower
使用 Celery 的 on_success 或 on_failure 方法或信号,它们可以在任务完成或失败时执行一些操作,比如将任务的信息保存到自己的数据库中3。您需要创建一个自定义的任务类来实现这些方法或信号。例如:

from celery import Task

class MyTask (Task):
    def on_success (self, retval, task_id, args, kwargs):
        # 将任务的结果和其他信息保存到数据库中
        pass

    def on_failure (self, exc, task_id, args, kwargs, einfo):
        # 将任务的异常和其他信息保存到数据库中
        pass
    
    
您的 Celery 应用程序没有正确地连接到 RabbitMQ broker,或者 broker 没有正常运行。您可以检查您的 Celery 配置中的 broker_url 选项是否正确,或者使用 rabbitmqctl status 命令查看 broker 的状态1。
您的 Celery worker 没有正确地注册到 Celery 应用程序中,或者 worker 没有正常运行。您可以检查您的 Celery 任务是否放在 <appname>/tasks.py 文件中,并且调用了 app.autodiscover_tasks () 方法来自动发现任务2。或者您可以使用 celery -A proj inspect registered 命令查看已注册的任务3。
您的 Celery 任务没有正确地发送到 RabbitMQ broker 中,或者 broker 没有正常接收消息。您可以检查您的 Celery 任务是否使用了 @app.task 装饰器来定义,并且使用了 delay () 或 apply_async () 方法来异步执行2。或者您可以使用 rabbitmqctl list_queues 命令查看 broker 中的队列情况1。



Celery Flower 出现 unknown worker 的可能原因有以下几种:

您的 Celery worker 在 Flower 启动后才启动,导致 Flower 没有获取到 worker 的信息。您可以在 Flower 的 dashboard 页面上点击 Refresh 按钮,重新发送 inspect 命令,刷新 worker 的状态12。
您的 Celery worker 与 Flower 使用的 broker 不一致,导致 Flower 无法与 worker 通信。您可以检查您的 Celery 和 Flower 的配置中的 broker_url 选项是否相同,并且 broker 是否正常运行3。
您的 Celery worker 响应过慢,导致 Flower 在超时时间内没有收到 worker 的回复。您可以增加 Flower 的 --inspect_timeout 参数的值,或者优化您的 worker 的性能3

  
 
nuclei  环境配置
        
        
port_scan: 99.12

ssl_cert: 6.27

find_site: 5.22

fetch_site: 1.07

site_identify: 3.09

site_capture: 3.34

site_spider: 3.1

file_leak: 505.64

nuclei_scan: 222.18

npoc_service_detection: 94.28

poc_run: 46.35

weak_brute: 8.48

        task_options = {
            "port_scan_type": "all",
            "port_scan": True,
            "service_detection": True,
            "service_brute": True,
            "os_detection": True,
            "site_identify": True,
            "file_leak":True,
            "ssl_cert": True
        }

ARL-Puls

GitHub地址:https://github.com/ki9mu/ARL-plus-docker/releases

config-docker.yaml文件
在这里插入图片描述
https://mp.weixin.qq.com/s/hHTkdj3J3ChhxzBlHFBZ3g

yum install git 



下载到本地就可以了
git clone https://github.com/loecho-sec/ARL-Finger-ADD

进入目录
cd ARL-Finger-ADD

建议把指纹文件(finger.json)替换为比较新一些的EHole_magic指纹文件
访问链接下载指纹文件并替换原文件即可
https://github.com/lemonlove7/EHole_magic/blob/main/finger.json

连接arl
python ARL-Finger-ADD.py -O https://vps:5003/ admin arlpass

安装说明

源码地址 https://github.com/TophantTechnology/ARL

https://github.com/TophantTechnology/ARL/wiki/Docker-%E7%8E%AF%E5%A2%83%E5%AE%89%E8%A3%85-ARL

安装环境

  uname -a
Linux VM-24-12-centos 3.10.0-1160.49.1.el7.x86_64 #1 SMP Tue Nov 30 15:51:32 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux 

cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

默认 有 docker compose环境 并 启动

ubuntu

docker安装一键命令:
curl -fsSL https://test.docker.com -o test-docker.sh  
sudo sh test-docker.sh









docker-composd一键安装命令:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
python一键安装命令:
sudo apt-get install python









git clone  获取docker-compose.yml 等文件 
git clone https://github.com/TophantTechnology/ARL




sudo apt-get install docker-compose 
docker pull tophant/arl   从镜像仓库中拉取或者更新指定镜像  
docker run -dt --name arl -p 5003:5003 --rm tophant/arl
 

mkdir docker_arl
cd docker_arl
wget -O docker_arl/docker2.5.1.zip https://github.com/TophantTechnology/ARL/releases/download/v2.5.1/docker.zip
unzip docker2.5.1.zip  
docker volume create arl_db    挂在docker 数据不丢失
docker-compose up -d   以后台的方式运行容器

问题 :

在这里插入图片描述
WARNING: IPv4 forwarding is disabled. Networking will not work.

开启 ipv4转发

 vim /etc/sysctl.conf

#配置转发
net.ipv4.ip_forward=1
#保存退出就可以了
:wq!
#重启服务,让配置生效
systemctl restart network

#查看是否成功,如果返回为“net.ipv4.ip_forward = 1”则表示成功

sysctl net.ipv4.ip_forward

#重启docker
sudo systemctl start docker
#查看运行过的容器
sudo docker ps -a
#开启mysql容器开机启动
sudo docker update mysql --restart=always


漏洞监控

https://mp.weixin.qq.com/s/Gp3-iWS-l7DFdyfheDcpew
爬取exploit_db,github,seebug,metasploit,vulhub等多个平台的漏洞信息

init参数用来初始化,包括爬取历史漏洞信息等等。

crawl参数用来获取每日更新,并进行推送。
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐