11# !/usr/bin/env perl
22#
3- # $Id: onyphe,v 7517f7691810 2024/08/16 15:30:45 gomor $
3+ # $Id: onyphe,v 462dcd9243b5 2024/10/31 09:09:10 gomor $
44#
55use strict;
66use warnings;
@@ -40,6 +40,7 @@ GetOptions(
4040 # "poll" => \$lopts{poll}, # -poll
4141 " maxscantime=i" => \$lopts {' maxscantime' }, # -maxscantime 120
4242 " aslines=i" => \$lopts {' aslines' }, # -aslines 1
43+ " aslink=i" => \$lopts {' aslink' }, # -aslink 1
4344 " full=i" => \$lopts {' full' }, # -full 1
4445 " urlscan=i" => \$lopts {' urlscan' }, # -urlscan 1
4546 " vulnscan=i" => \$lopts {' vulnscan' }, # -vulnscan 1
@@ -80,6 +81,7 @@ GetOptions(
8081 " ondemand-resolver-result=s" => \$lopts {' ondemand-resolver-result' }, # -ondemand-resolver-result ID
8182 " asd-tld=s" => \$lopts {' asd-tld' }, # -asd-tld DOMAIN1,DOMAIN2 | input.txt
8283 " asd-ns=s" => \$lopts {' asd-ns' }, # -asd-ns DOMAIN1,DOMAIN2 | input.txt
84+ " asd-mx=s" => \$lopts {' asd-mx' }, # -asd-mx DOMAIN1,DOMAIN2 | input.txt
8385 " asd-task=s" => \$lopts {' asd-task' }, # -asd-task TASKID
8486) or exit (0);
8587
@@ -350,6 +352,7 @@ elsif (defined($lopts{'ondemand-scope-result'})) {
350352 my $v = $lopts {' ondemand-scope-result' };
351353 my $param ;
352354 $param -> {aslines } = $lopts {aslines } if defined $lopts {aslines };
355+ $param -> {aslink } = $lopts {aslink } if defined $lopts {aslink };
353356 $param -> {full } = $lopts {full } if defined $lopts {full };
354357 if ($param -> {aslines }) {
355358 $oa -> ondemand_scope_result($v , $param , $opp_json_cb , $opl );
@@ -421,6 +424,25 @@ elsif (defined($lopts{'asd-ns'})) {
421424 $oa -> asd_ns($v , $param , $opp_perl_cb , $opl );
422425 }
423426}
427+ elsif (defined ($lopts {' asd-mx' })) {
428+ my $v = $lopts {' asd-mx' };
429+ my $param ;
430+ $param -> {aslines } = $lopts {aslines } if defined $lopts {aslines };
431+ if (-f $v ) { # If its a file, we create the list of values to push
432+ my $list = $oa -> asd_load_input($v );
433+ unless (defined ($list ) && @$list ) {
434+ print STDERR " VERBOSE: asd_load_input: failed from bad content or empty content\n " ;
435+ exit (1);
436+ }
437+ $v = $list ;
438+ }
439+ if ($param -> {aslines }) {
440+ $oa -> asd_mx($v , $param , $opp_json_cb , $opl );
441+ }
442+ else {
443+ $oa -> asd_mx($v , $param , $opp_perl_cb , $opl );
444+ }
445+ }
424446elsif (defined ($lopts {' asd-task' })) {
425447 my $v = $lopts {' asd-task' };
426448 my $param ;
@@ -484,9 +506,9 @@ APIs:
484506 -summary domain 'DOMAIN | OPP' use domain Summary API for query
485507 -summary hostname 'HOSTNAME | OPP' use hostname Summary API for query
486508 -bulk-summary <ip|domain|hostname> 'input.txt | OPP' use Bulk Summary API for query
487- -alert-list use Alert API for query
488- -alert-del \$ id use Alert API for query
489- -alert-add -alert-name NAME -alert-email EMAIL 'OQL' use Alert API for query
509+ -alert-list use Alert List API to list configured alerts
510+ -alert-del \$ id use Alert Del API to remove an alert
511+ -alert-add -alert-name NAME -alert-email EMAIL 'OQL' use Alert Add API to create a new alert
490512 -ondemand-scope-ip '<IP|CIDR>' use Ondemand Scope IP API to launch a scan against IP or CIDR
491513 -ondemand-scope-ip-bulk 'input.txt' use Ondemand Scope Ip Bulk API to launch a scan against a given list of IPs from an input file
492514 -ondemand-scope-domain 'DOMAIN' use Ondemand Scope Domain API to launch a scan against given domain
@@ -500,6 +522,7 @@ APIs:
500522 -ondemand-resolver-result \$ scan_id use Ondemand Resolver Result API with Scan ID
501523 -asd-tld DOMAIN1,DOMAIN2,...|input.txt use ASD Tld API to find related domains by TLDs
502524 -asd-ns DOMAIN1,DOMAIN2,...|input.txt use ASD Ns API to find related domains by using nameservers
525+ -asd-mx DOMAIN1,DOMAIN2,...|input.txt use ASD Mx API to find related domains by using MX records
503526 -asd-task TASKID use ASD Task API to retrieve an ASD Task results
504527
505528EOF
0 commit comments