-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New module using what-vpn #117
Conversation
extra_modules_config.py
Outdated
# Timeout counted in seconds, after which the what-vpn module terminates a connection and starts using the next sniffer. | ||
# Some of VPN gateways do not respond in any way to the HTTP(S) requests, so the timeout variable should be optimized in | ||
# order to avoid false negatives while not blocking the task for too long. | ||
WHATVPN_TIMEOUT_S = decouple.config( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nitpick: _S -> _SECOND
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changed all occurrences
karton_whatvpn/Dockerfile
Outdated
|
||
RUN apk add git | ||
RUN pip install requests | ||
RUN pip3 install https://github.com/dlenski/what-vpn/archive/master.zip |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pin versions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pinned latest hash on master branch
karton_whatvpn/Dockerfile
Outdated
FROM certpl/artemis:latest | ||
|
||
RUN apk add git | ||
RUN pip install requests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
requests is already in the artemis image
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed
karton_whatvpn/karton_whatvpn.py
Outdated
|
||
identity = "what-vpn" | ||
filters = [ | ||
{"type": TaskType.IP.value} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmmm, if you want a service on a port, use TaskType.SERVICE
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll stay with IP task type as profit from scanning all discovered ports is debatable while increase number of sent requests is noticeable.
Might change in the future based on observations.
|
||
error_messages = ["error", "timeout", "no match"] | ||
if any(msg in output for msg in error_messages): | ||
status = TaskStatus.OK |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TaskStatus.ERROR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
changed the logic to return separate OK and ERROR statuses
fix linter ;) |
Makes use of what-vpn project, enabling Artemis to identify SSL VPN servers.
Takes IPs as input, subject to change (other alternatives are domains or HTTP servises)