Skip to content

Commit d64f7d8

Browse files
authored
Merge pull request #240 from intelowlproject/develop
New analyzers, New auth, Many optimizations
2 parents b8adb56 + efcd4cb commit d64f7d8

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+2133
-2178
lines changed

.dockerignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ env_file_app_travis
1616
docs/
1717
integrations/
1818
docker-compose*
19-
*.quark.log
19+
*.quark.log
20+
.pre-commit-config.yaml

.env

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,28 @@
55
### the COMPOSE_FILE variable each separated with ':'. If you are on windows, replace all ':' with ';'.
66
### Reference to Docker's official Docs: https://docs.docker.com/compose/reference/envvars/#compose_file#compose_file
77

8-
INTELOWL_TAG_VERSION=v1.7.1
8+
### DO NOT CHANGE THIS VALUE !!
9+
### It should be updated only when you pull latest changes off from the 'master' branch of IntelOwl.
10+
INTELOWL_TAG_VERSION=v1.8.0
911

1012
###### Default (Production) ######
11-
1213
COMPOSE_FILE=docker-compose.yml
13-
1414
# To run all additional integrations in production
15-
#COMPOSE_FILE=docker-compose.yml:./integrations/docker-compose.peframe.yml:./integrations/docker-compose.thug.yml:./integrations/docker-compose.capa.yml:./integrations/docker-compose.boxjs.yml:./integrations/docker-compose.apk.yml
15+
#COMPOSE_FILE=docker-compose.yml:./integrations/docker-compose.peframe.yml:./integrations/docker-compose.thug.yml:./integrations/docker-compose.capa.yml:./integrations/docker-compose.boxjs.yml
1616

1717
###### For Tests or local development ######
18-
1918
#COMPOSE_FILE=docker-compose-for-tests.yml
20-
2119
# To run all additional integrations in development
22-
#COMPOSE_FILE=docker-compose-for-tests.yml:./integrations/docker-compose-for-tests.peframe.yml:./integrations/docker-compose-for-tests.thug.yml:./integrations/docker-compose-for-tests.capa.yml:./integrations/docker-compose-for-tests.boxjs.yml:./integrations/docker-compose-for-tests.apk.yml
23-
20+
#COMPOSE_FILE=docker-compose-for-tests.yml:./integrations/docker-compose-for-tests.peframe.yml:./integrations/docker-compose-for-tests.thug.yml:./integrations/docker-compose-for-tests.capa.yml:./integrations/docker-compose-for-tests.boxjs.yml
2421

2522
###### For travis ######
23+
#COMPOSE_FILE=docker-compose-for-tests.yml:./integrations/docker-compose-for-tests.peframe.yml:./integrations/docker-compose-for-tests.thug.yml:./integrations/docker-compose-for-tests.capa.yml:./integrations/docker-compose-for-tests.boxjs.yml
2624

27-
#COMPOSE_FILE=docker-compose-for-tests.yml:./integrations/docker-compose-for-tests.peframe.yml:./integrations/docker-compose-for-tests.thug.yml:./integrations/docker-compose-for-tests.capa.yml:./integrations/docker-compose-for-tests.boxjs.yml:./integrations/docker-compose-for-tests.apk.yml
25+
##### Docker Override #####
26+
# this can be used to add additional custom configuration
27+
#:docker-compose-override.yml
2828

29+
##### Nginx Dockerfile for Tests #####
30+
DOCKERFILE_NGINX=Dockerfile_nginx
31+
# To test IntelOwl without the interface (IntelOwl-ng Angular APP)
32+
#DOCKERFILE_NGINX=Dockerfile_nginx_no_angular

.flake8

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ exclude =
88
Dockerfile,
99
docker-compose*,
1010
venv,
11+
docs,
1112
migrations,
1213
virtualenv,
1314
ldap_config.py

.github/CHANGELOG.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Changelog
2+
3+
[**Upgrade Guide**](https://intelowl.readthedocs.io/en/latest/Installation.html#update-to-the-most-recent-version)
4+
5+
## [v1.8.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.8.0)
6+
7+
**BREAKING CHANGE:**
8+
- New Token authentication method using the django-rest-durin package. When upgrading IntelOwl to `v1.8.0`, pyintelowl users must upgrade it too to `v2.0.0`. Also, pyintelowl users must create a new valid Token to interact with IntelOwl. More details, [here](https://github.com/intelowlproject/pyintelowl#generate-api-key).
9+
- Many analyzer variants for VirusTotal and Thug have been removed from `analyzer_config.json` file.
10+
Explanation at [#224](https://github.com/intelowlproject/IntelOwl/issues/224). With added docs on how to use custom analyzer configuration at runtime.
11+
- Other analyzers were renamed due to better clarity and format:
12+
* `ActiveDNS_Classic` -> `Classic_DNS`
13+
* `ActiveDNS_CloudFlare` -> `CloudFlare_DNS`
14+
* `ActiveDNS_CloudFlare_Malware` -> `CloudFlare_Malicious_Detector`
15+
* `ActiveDNS_Google` -> `Google_DNS`
16+
17+
18+
**NEW INBUILT ANALYZERS:**
19+
- Added [URLScan](https://urlscan.io/about-api) analyzer.
20+
- Added [Quad9](https://www.quad9.net/) analyzers (DNS + Malicious_Detector).
21+
- Added [Phishtank](http://phishtank.org/) analyzer.
22+
- Added [Stratosphere YARA rules](https://github.com/stratosphereips/yara-rules) analyzer.
23+
- Upgraded Speakeasy to 1.4.7.
24+
- Added extra options to DNSDB analyzer + support for API v2.
25+
- Added [PDFid](https://github.com/mlodic/pdfid) analysis to `PDF_Info` analyzer.
26+
27+
**FIXES/IMPROVEMENTS/Dependency upgrades:**
28+
29+
- Changed Oletools pointer to main repository version (0.56).
30+
- Changed docs style to use the `Sphinx` theme.
31+
- Fix for issue [#138](https://github.com/intelowlproject/IntelOwl/issues/138).
32+
- Update Django and Django-Rest-Framework versions.
33+
- Updates to recent versions of postgres, nginx and rabbit-mq docker images.
34+
- Loads of internal changes and code optimizations.
35+
- Added more info in contributing section of docs.
36+
37+
## [v1.7.1](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.7.1)
38+
39+
Improvements to recent malicious document analysis:
40+
* Added [XLMMacroDeobfuscator](https://github.com/DissectMalware/XLMMacroDeobfuscator) analyzer, refer #196 thanks to @0ssigeno
41+
* Updated oletools to last available changes
42+
43+
Other:
44+
* updated black to 20.8b1 and little fix in the docs
45+
46+
## [v1.7.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.7.0)
47+
48+
- 3 new analyzers which can be used out of the box:
49+
* `UnpacMe_EXE_Unpacker`: [UnpacMe](https://www.unpac.me/) is an automated malware unpacking service. (Thanks to @0ssigeno)
50+
* `CheckDMARC`: [checdmarc](https://github.com/domainaware/checkdmarc) provides SPF and DMARC DNS records validator for domains. (Thanks to @goodlandsecurity)
51+
* `Whoisxmlapi`: Fetch WHOIS record data, of a domain name, an IP address, or an email address. (Thanks to @tamthaitu)
52+
- Some fixes to Cymru Malware and VT2 analyzers.
53+
- Now you or your organization can get paid support/extra features/custom integrations for IntelOwl via xscode platform. [Details](https://xscode.com/intelowlproject/IntelOwl).
54+
55+
## [v1.6.1](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.6.1)
56+
57+
This patch allows to download the most recent docker image of IntelOwl. Previous version was downloading the old (`v1.5.1`) docker image.
58+
59+
Please see [v1.6.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.6.0) for release details.
60+
61+
## [v1.6.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.6.0)
62+
63+
* added new analyzer for [FireEye speakeasy](https://github.com/fireeye/speakeasy)
64+
* updated [FireEye Capa](https://github.com/fireeye/capa) to 1.1.0
65+
* updated docs, including instructions for [Remnux](https://docs.remnux.org) users and a new ["How to use pyintelowl" video](https://www.youtube.com/watch?v=fpd6Kt9EZdI).
66+
67+
## [v1.5.1](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.5.1)
68+
69+
Patch after **v1.5.0**.
70+
- Fixed `runtime_configuration` JSON serialization bug when requesting file scan.
71+
72+
## [v1.5.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.5.0)
73+
74+
> This release contains a bug that was fixed in v1.5.1. We recommend cloning the `master` branch.
75+
76+
**Features:**
77+
- Ability to pass a JSON field `runtime_configuration` for dynamic configuration per scan request. [Demo GIF](https://imgur.com/5sxp9JP).
78+
- IntelligenceX's phonebook API for observables.
79+
- Increased JWT token lifetime for webapp. ([Ref.](https://github.com/intelowlproject/IntelOwl/issues/163#issuecomment-678223186)).
80+
81+
**Breaking Changes:**
82+
- Moved `ldap_config.py` under `configuration/` directory. If you were using LDAP before this release, please refer the [updated docs](https://intelowl.readthedocs.io/en/develop/Advanced-Usage.html#ldap).
83+
84+
**Fixes:**
85+
- Updates and fixes to: `Doc_info`, `PE_Info`, `VirusTotal` v3 and `Shodan_Honeyscore` analyzers.
86+
- Added migration files for DB.
87+
88+
## [v1.4.0](https://github.com/intelowlproject/IntelOwl/releases/tag/v1.4.0)
89+
90+
- Inbuilt Integration for [Pulsedive](pulsedive.com/) analyzer for IP, URL, Domain and Hash observables. Works without API key with rate limit of 30 requests/minute.
91+
- Inbuilt integration for Integrated [Quark-engine](https://github.com/quark-engine/quark-engine) for APKs - *An Obfuscation-Neglect Android Malware Scoring System*.
92+
- Increase `max_length` for `file_mimetype` column. Thanks to @skygrip for the report.
93+
- Index the fields that are used in `ask_analysis_availability` for faster fetching.
94+
- Update LDAP documentation, add section about GKE deployments.
95+
- Fixed: `is_test` issue in `_docker_run`. Thanks to @colbyprior.
96+
- Fixed: `active_dns` now returns proper result.
97+
- The base docker image is now based on Python 3.7.
98+
- Refactor test cases/classes to reduce duplicate code.
99+
100+
101+
_For version prior to `v1.4.0`, you can directly refer to the releases tab._
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# For most projects, this workflow file will not need changing; you simply need
2+
# to commit it to your repository.
3+
#
4+
# You may wish to alter this file to override the set of languages analyzed,
5+
# or to provide custom queries or build logic.
6+
name: "CodeQL"
7+
8+
on:
9+
pull_request:
10+
# The branches below must be a subset of the branches above
11+
branches: [master, develop]
12+
13+
jobs:
14+
analyze:
15+
name: Analyze
16+
runs-on: ubuntu-latest
17+
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
# Override automatic language detection by changing the below list
22+
# Supported options are ['csharp', 'cpp', 'go', 'java', 'javascript', 'python']
23+
language: ['python']
24+
# Learn more...
25+
# https://docs.github.com/en/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#overriding-automatic-language-detection
26+
27+
steps:
28+
- name: Checkout repository
29+
uses: actions/checkout@v2
30+
with:
31+
# We must fetch at least the immediate parents so that if this is
32+
# a pull request then we can checkout the head.
33+
fetch-depth: 2
34+
35+
# If this run was triggered by a pull request event, then checkout
36+
# the head of the pull request instead of the merge commit.
37+
- run: git checkout HEAD^2
38+
if: ${{ github.event_name == 'pull_request' }}
39+
40+
# Initializes the CodeQL tools for scanning.
41+
- name: Initialize CodeQL
42+
uses: github/codeql-action/init@v1
43+
with:
44+
languages: ${{ matrix.language }}
45+
# If you wish to specify custom queries, you can do so here or in a config file.
46+
# By default, queries listed here will override any specified in a config file.
47+
# Prefix the list here with "+" to use these queries and those in the config file.
48+
# queries: ./path/to/local/query, your-org/your-repo/queries@main
49+
50+
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
51+
# If this step fails, then you should remove it and run the build manually (see below)
52+
#- name: Autobuild
53+
# uses: github/codeql-action/autobuild@v1
54+
55+
# ℹ️ Command-line programs to run using the OS shell.
56+
# 📚 https://git.io/JvXDl
57+
58+
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
59+
# and modify them (or add more) to build your code if your project
60+
# uses a compiled language
61+
62+
#- run: |
63+
# make bootstrap
64+
# make release
65+
66+
- name: Perform CodeQL Analysis
67+
uses: github/codeql-action/analyze@v1

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ env_file_app
66
env_file_postgres
77
env_file_integrations
88
venv/
9-
docker-compose-override.yml
9+
docker-compose-override.yml
10+
compose-elk.yml

.pre-commit-config.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
repos:
2+
- repo: https://github.com/psf/black
3+
rev: 20.8b1
4+
hooks:
5+
- id: black
6+
- repo: https://gitlab.com/pycqa/flake8
7+
rev: 3.8.4
8+
hooks:
9+
- id: flake8

.travis.yml

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,6 @@ install:
1717
- sudo docker-compose -f docker-compose-for-travis.yml build
1818
- sudo docker-compose -f docker-compose-for-travis.yml up -d
1919
script:
20-
- sudo docker exec -ti intel_owl_uwsgi black . --check --exclude "migrations|venv"
20+
- sudo docker exec -ti intel_owl_uwsgi black . --check
2121
- sudo docker exec -ti intel_owl_uwsgi flake8 . --count
22-
- sudo docker exec -ti intel_owl_uwsgi python manage.py test tests
23-
after_success:
24-
- bash <(curl -s https://codecov.io/bash)
22+
- sudo docker exec -ti intel_owl_uwsgi python manage.py test tests

Dockerfile_nginx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Stage 1: Get build artifacts from intelowl-ng
2-
FROM intelowlproject/intelowl_ng:v1.5.1 AS angular-prod-build
2+
FROM intelowlproject/intelowl_ng:v1.6.3 AS angular-prod-build
33

44
# Stage 2: Inject the build artifacts into nginx container
5-
FROM library/nginx:1.16.1-alpine
5+
FROM library/nginx:1.19-alpine
66

77
COPY --from=angular-prod-build /usr/src/app/dist /var/www/angular_build
88
VOLUME /var/log/nginx

Dockerfile_nginx_no_angular

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
FROM library/nginx:1.16.1-alpine
1+
FROM library/nginx:1.19-alpine
22
VOLUME /var/log/nginx

0 commit comments

Comments
 (0)