From b7a872fb7680e7383ec4b037c2f45c1ddc999eba Mon Sep 17 00:00:00 2001 From: ThisIsLibra Date: Fri, 2 Apr 2021 15:30:41 +0200 Subject: [PATCH] Version 1.2-stable --- pom.xml | 2 +- src/main/java/endpoints/IEndpoint.java | 1 + src/main/java/endpoints/Triage.java | 106 ++++++++++++++++++ src/main/java/endpoints/VirusTotal.java | 4 +- src/main/java/malpull/ArgumentHandler.java | 9 +- src/main/java/malpull/Arguments.java | 17 ++- src/main/java/malpull/MalPull.java | 11 +- ...Pull-1.2-stable-jar-with-dependencies.jar} | Bin 2482455 -> 2484376 bytes 8 files changed, 141 insertions(+), 9 deletions(-) create mode 100644 src/main/java/endpoints/Triage.java rename target/{MalPull-1.1-stable-jar-with-dependencies.jar => MalPull-1.2-stable-jar-with-dependencies.jar} (95%) diff --git a/pom.xml b/pom.xml index ee9a43c..26b8745 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 malwarepuller MalPull - 1.1-stable + 1.2-stable jar UTF-8 diff --git a/src/main/java/endpoints/IEndpoint.java b/src/main/java/endpoints/IEndpoint.java index 2ec9c39..5f1cca2 100644 --- a/src/main/java/endpoints/IEndpoint.java +++ b/src/main/java/endpoints/IEndpoint.java @@ -17,6 +17,7 @@ package endpoints; /** + * The interface to use for all endpoints that are used * * @author Max 'Libra' Kersten [@LibraAnalysis, https://maxkersten.nl] */ diff --git a/src/main/java/endpoints/Triage.java b/src/main/java/endpoints/Triage.java new file mode 100644 index 0000000..a01ab1f --- /dev/null +++ b/src/main/java/endpoints/Triage.java @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2021 Max 'Libra' Kersten [@LibraAnalysis, https://maxkersten.nl] + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ +package endpoints; + +import exceptions.SampleNotFoundException; +import okhttp3.OkHttpClient; +import okhttp3.Request; +import okhttp3.Response; +import org.json.JSONArray; +import org.json.JSONObject; + +/** + * The class that is used to get a sample from Triage + * + * @author Max 'Libra' Kersten [@LibraAnalysis, https://maxkersten.nl] + */ +public class Triage extends GenericEndpoint implements IEndpoint { + + /** + * The API key for Triage + */ + private String key; + + /** + * The HTTP client that sends out the request + */ + protected final OkHttpClient httpClient; + + /** + * Creates an object to interact with the Triage endpoint + * + * @param key + */ + public Triage(String key) { + super("https://api.tria.ge/v0/", "Triage"); + this.key = key; + httpClient = new OkHttpClient(); + } + + /** + * Retrieves the sample identifier from Triage that is required to download + * the sample + * + * @param hash SHA-256 hash of the sample to download + * @return sample identifier assigned by Triage + * @throws SampleNotFoundException if the sample cannot be found for any + * reason whatsoever + */ + public String getSampleId(String hash) throws SampleNotFoundException { + //Create the URL + String url = apiBase + "search?query=" + hash; + //Prepare the request with the API key + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + key) + .build(); + //Execute the request + try (Response response = httpClient.newCall(request).execute()) { + //Check if the request was successful + if (response.isSuccessful()) { + //Parse the JSON response and extract the identifier + JSONObject object = new JSONObject(response.body().string()); + JSONArray array = object.getJSONArray("data"); + return array.getJSONObject(0).getString("id"); + } else { + throw new SampleNotFoundException("Sample not present on Triage!"); + } + } catch (Exception ex) { + throw new SampleNotFoundException("An exception occured when getting the sample id for Triage!"); + } + } + + /** + * Download the sample from the API + * + * @param hash SHA-256 hash of the sample to download + * @return the API's response, which is the raw file + * @throws SampleNotFoundException if the sample cannot be found + */ + public byte[] getSample(String hash) throws SampleNotFoundException { + //Create the URL + String sampleId = getSampleId(hash); + String url = apiBase + "samples/" + sampleId + "/sample"; + //Prepare the request with the API key + Request request = new Request.Builder() + .url(url) + .addHeader("Authorization", "Bearer " + key) + .build(); + //Return the value of the direct download link + return downloader.get(request); + } +} diff --git a/src/main/java/endpoints/VirusTotal.java b/src/main/java/endpoints/VirusTotal.java index d165538..7f9f35e 100644 --- a/src/main/java/endpoints/VirusTotal.java +++ b/src/main/java/endpoints/VirusTotal.java @@ -20,6 +20,7 @@ import okhttp3.Request; /** + * The class to get a sample from VirusTotal. * * @author Max 'Libra' Kersten [@LibraAnalysis, https://maxkersten.nl] */ @@ -31,7 +32,8 @@ public class VirusTotal extends GenericEndpoint implements IEndpoint { private String key; /** - * Creates an object to interact with the VirusTotal endpoint, based on API version 2 + * Creates an object to interact with the VirusTotal endpoint, based on API + * version 2 * * @param key */ diff --git a/src/main/java/malpull/ArgumentHandler.java b/src/main/java/malpull/ArgumentHandler.java index 6e208be..75b7dbe 100644 --- a/src/main/java/malpull/ArgumentHandler.java +++ b/src/main/java/malpull/ArgumentHandler.java @@ -38,7 +38,7 @@ public class ArgumentHandler { /** * Parses the arguments into an Arguments object. Stops MalPull upon the - * occurence of an exception and prints a help message for the user + * occurrence of an exception and prints a help message for the user * * @param args the arguments to parse * @return the parsed arguments @@ -77,6 +77,7 @@ public static Arguments handle(String[] args) { String malwareBazaarKey = null; String malShareKey = null; String virusTotalKey = null; + String triageKey = null; //Iterate through all keys, note that the endpoint prefix is case insensitive for (String key : keys) { if (key.toLowerCase().startsWith("koodous=".toLowerCase())) { @@ -87,6 +88,8 @@ public static Arguments handle(String[] args) { malShareKey = key.substring("malshare=".length(), key.length()); } else if (key.toLowerCase().startsWith("virustotal=".toLowerCase())) { virusTotalKey = key.substring("virustotal=".length(), key.length()); + } else if (key.toLowerCase().startsWith("triage=".toLowerCase())) { + triageKey = key.substring("triage=".length(), key.length()); } } @@ -103,7 +106,7 @@ public static Arguments handle(String[] args) { } //Return the parsed arguments - return new Arguments(hashes, path.getAbsolutePath(), threadCount, koodousKey, malwareBazaarKey, malShareKey, virusTotalKey); + return new Arguments(hashes, path.getAbsolutePath(), threadCount, koodousKey, malwareBazaarKey, malShareKey, virusTotalKey, triageKey); } /** @@ -160,7 +163,7 @@ private static String filterPath(String path) { * Prints the program's usage */ private static void printUsage() { - System.out.println("This tool downloads samples from MalShare, MalwareBazaar, Koodous, and VirusTotal based on given MD-5, SHA-1, or SHA-256 hashes."); + System.out.println("This tool downloads samples from MalShare, MalwareBazaar, Koodous, VirusTotal, and Hatching Triage based on given MD-5, SHA-1, or SHA-256 hashes."); System.out.println("The sample is written to the given output directory. API Keys for any of the used services is required."); System.out.println("Once all samples are downloaded, the hashes that couldn't be found will be listed."); System.out.println("For detailed information on the usage of MalPull, please visit https://maxkersten.nl/wordpress/projects/malpull/#usage"); diff --git a/src/main/java/malpull/Arguments.java b/src/main/java/malpull/Arguments.java index 7ce60e6..f5008a3 100644 --- a/src/main/java/malpull/Arguments.java +++ b/src/main/java/malpull/Arguments.java @@ -61,6 +61,11 @@ public class Arguments { */ private String virusTotalKey; + /** + * The API key for Triage + */ + private String triageKey; + /** * Creates an object that contains all parsed arguments * @param hashes all loaded hashes @@ -70,8 +75,9 @@ public class Arguments { * @param malwareBazaarKey the API key for Malware Bazaar * @param malShareKey the API key for MalShare * @param virusTotalKey the API key for VirusTotal + * @param triageKey the API key for Triage */ - public Arguments(Set hashes, String outputPath, int threadCount, String koodousKey, String malwareBazaarKey, String malShareKey, String virusTotalKey) { + public Arguments(Set hashes, String outputPath, int threadCount, String koodousKey, String malwareBazaarKey, String malShareKey, String virusTotalKey, String triageKey) { this.hashes = hashes; this.outputPath = outputPath; this.threadCount = threadCount; @@ -79,6 +85,7 @@ public Arguments(Set hashes, String outputPath, int threadCount, String this.malwareBazaarKey = malwareBazaarKey; this.malShareKey = malShareKey; this.virusTotalKey = virusTotalKey; + this.triageKey = triageKey; } /** @@ -136,4 +143,12 @@ public String getMalShareKey() { public String getVirusTotalKey() { return virusTotalKey; } + + /** + * The API key of Triage, can be null if the API key is not used + * @return the API key + */ + public String getTriageKey() { + return triageKey; + } } diff --git a/src/main/java/malpull/MalPull.java b/src/main/java/malpull/MalPull.java index 1837f26..eb57e1e 100644 --- a/src/main/java/malpull/MalPull.java +++ b/src/main/java/malpull/MalPull.java @@ -21,6 +21,7 @@ import endpoints.Koodous; import endpoints.MalShare; import endpoints.MalwareBazaar; +import endpoints.Triage; import endpoints.VirusTotal; import java.time.Instant; import java.util.ArrayList; @@ -103,6 +104,10 @@ public static void main(String[] args) { IEndpoint virusTotal = new VirusTotal(arguments.getVirusTotalKey()); endpoints.add(virusTotal); } + if (arguments.getTriageKey() != null) { + IEndpoint triage = new Triage(arguments.getTriageKey()); + endpoints.add(triage); + } //Create a download worker for the hash, with all configured endpoints embedded DownloadWorker downloadWorker = new DownloadWorker(endpoints, arguments.getOutputPath(), hash, count, hashes.size()); @@ -116,7 +121,7 @@ public static void main(String[] args) { } //Notify the user that all downloads are finished System.out.println(""); - System.out.println("All downloads finished! The sample number count is not always printed ascending as the threads print the messages."); + System.out.println("All downloads finished! The sample number count is not always printed in ascending order, as the threads print the messages."); //If some hashes could not be found, these are printed if (missingHashes.size() > 0) { @@ -128,7 +133,7 @@ public static void main(String[] args) { //Get the time since the start of the downloading String time = getDuration(start); //Display the time that the download process took - System.out.println("\nDownloaded " + hashes.size() + " samples in " + time + "!"); + System.out.println("\nDownloaded " + (hashes.size() - missingHashes.size()) + " samples in " + time + "!"); //Exit the program explicitly, as it sometimes remains open in some edge cases System.exit(0); } @@ -169,6 +174,6 @@ public static synchronized void addMissingHash(String missingHash) { * Prints the version information, together with an additional newline */ private static void printVersionInformation() { - System.out.println("MalPull version 1.1-stable by Max 'Libra' Kersten [@LibraAnalysis, https://maxkersten.nl]\n"); + System.out.println("MalPull version 1.2-stable by Max 'Libra' Kersten [@LibraAnalysis, https://maxkersten.nl]\n"); } } diff --git a/target/MalPull-1.1-stable-jar-with-dependencies.jar b/target/MalPull-1.2-stable-jar-with-dependencies.jar similarity index 95% rename from target/MalPull-1.1-stable-jar-with-dependencies.jar rename to target/MalPull-1.2-stable-jar-with-dependencies.jar index 497f3c9b6f02e321a34636a64d6e8ecb0eebc73f..2b64a93b24e5511c5fb68d5cce03cd6a384af661 100644 GIT binary patch delta 37016 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 bnbNU3eq_8_wca&)*GOq9RNGwSi_-rCu-VP_