From ff687861546a0eff4165a94be07511589039ff84 Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Fri, 14 Oct 2022 15:34:47 -0400 Subject: [PATCH] new branch --- KeywordSearch/solr/bin/autopsy-solr | 1 + KeywordSearch/solr/bin/autopsy-solr.in.sh | 2 +- snap/gui/autopsy.desktop | 2 + snap/gui/autopsy.png | Bin 0 -> 48497 bytes snap/snapcraft.yaml | 198 ++++++++++++++++++++++ unix_setup.sh | 5 +- 6 files changed, 206 insertions(+), 2 deletions(-) create mode 100644 snap/gui/autopsy.desktop create mode 100644 snap/gui/autopsy.png create mode 100644 snap/snapcraft.yaml diff --git a/KeywordSearch/solr/bin/autopsy-solr b/KeywordSearch/solr/bin/autopsy-solr index 3b99bbb6b8..dab19776fc 100755 --- a/KeywordSearch/solr/bin/autopsy-solr +++ b/KeywordSearch/solr/bin/autopsy-solr @@ -2240,6 +2240,7 @@ function start_solr() { exec "$JAVA" "${SOLR_START_OPTS[@]}" $SOLR_ADDL_ARGS -jar start.jar "${SOLR_JETTY_CONFIG[@]}" $SOLR_JETTY_ADDL_CONFIG else # run Solr in the background + echo "Starting server with \"$JAVA\" \"${SOLR_START_OPTS[@]}\" $SOLR_ADDL_ARGS -jar start.jar \"${SOLR_JETTY_CONFIG[@]}\" $SOLR_JETTY_ADDL_CONFIG in pwd: $(pwd)" nohup "$JAVA" "${SOLR_START_OPTS[@]}" $SOLR_ADDL_ARGS -Dsolr.log.muteconsole \ "-XX:OnOutOfMemoryError=$SOLR_TIP/bin/oom_solr.sh $SOLR_PORT $SOLR_LOGS_DIR" \ -jar start.jar "${SOLR_JETTY_CONFIG[@]}" $SOLR_JETTY_ADDL_CONFIG \ diff --git a/KeywordSearch/solr/bin/autopsy-solr.in.sh b/KeywordSearch/solr/bin/autopsy-solr.in.sh index a50411ab07..87ee5902ae 100755 --- a/KeywordSearch/solr/bin/autopsy-solr.in.sh +++ b/KeywordSearch/solr/bin/autopsy-solr.in.sh @@ -93,7 +93,7 @@ #SOLR_OPTS="$SOLR_OPTS -Dsolr.autoSoftCommit.maxTime=3000" #SOLR_OPTS="$SOLR_OPTS -Dsolr.autoCommit.maxTime=60000" #SOLR_OPTS="$SOLR_OPTS -Dsolr.clustering.enabled=true" -SOLR_OPTS=$SOLR_OPTS -Dbootstrap_confdir=../solr/configsets/AutopsyConfig/conf -Dcollection.configName=AutopsyConfig -Dsolr.default.confdir=../solr/configsets/AutopsyConfig/conf +SOLR_OPTS="$SOLR_OPTS -Dbootstrap_confdir=../solr/configsets/AutopsyConfig/conf -Dcollection.configName=AutopsyConfig -Dsolr.default.confdir=../solr/configsets/AutopsyConfig/conf " # Location where the bin/solr script will save PID files for running instances diff --git a/snap/gui/autopsy.desktop b/snap/gui/autopsy.desktop new file mode 100644 index 0000000000..24de9544a6 --- /dev/null +++ b/snap/gui/autopsy.desktop @@ -0,0 +1,2 @@ +Exec=autopsy +Icon=${SNAP}/meta/gui/autopsy.png \ No newline at end of file diff --git a/snap/gui/autopsy.png b/snap/gui/autopsy.png new file mode 100644 index 0000000000000000000000000000000000000000..3173fb97b55ba1b34ec5dd4e41383e402f37b482 GIT binary patch literal 48497 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 literal 0 HcmV?d00001 diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml new file mode 100644 index 0000000000..ce316fa23b --- /dev/null +++ b/snap/snapcraft.yaml @@ -0,0 +1,198 @@ +name: autopsy # you probably want to 'snapcraft register ' +base: core20 # the base snap is the execution environment for this snap +version: '0.1' # just for humans, typically '1.2+git' or '1.3.2' +summary: A graphical interface to The Sleuth Kit and other digital forensics tools. # 79 char long summary +description: Autopsy is a graphical interface to The Sleuth Kit and other open source digital forensics tools. +grade: stable # must be 'stable' to release into candidate/stable channels +# TODO look into turning back to strict for store inclusion +confinement: classic # use 'strict' once you have the right plugs and slots +architectures: [amd64, arm64] + +# Java package repo to use with snapcraft +package-repositories: + - type: apt + formats: [deb] + components: [main] + suites: [stable] + key-id: 99A5C88E3C5B1FA8B05A19D332E9750179FCEA62 + url: https://apt.bell-sw.com/ + +layout: + /usr/lib/jvm/bellsoft-java8-full-amd64: + bind: $SNAP/usr/lib/jvm/bellsoft-java8-full-amd64 + /usr/bin/photorec: + symlink: $SNAP/usr/bin/photorec + /usr/local/bin: + bind: $SNAP/usr/local/bin + # /usr/local/lib: + # bind: $SNAP/usr/local/lib + # $HOME/.autopsy: + # bind: $HOME/$SNAP/.autopsy + +plugs: + home-autopsy: + interface: home + read: all + # personal-files-autopsy: + # interface: personal-files + # read: [$HOME/.autopsy] + system-files-autopsy: + interface: system-files + read: [/dev] + +apps: + autopsy: + environment: + jdkhome: /usr/lib/jvm/bellsoft-java8-full-amd64 + LD_LIBRARY_PATH: $SNAP/usr/local/lib:$LD_LIBRARY_PATH + PATH: $SNAP/usr/local/bin:$PATH + command: autopsy/bin/autopsy + common-id: org.sleuthkit.autopsy + plugs: + # TODO verify these: + # taken from https://snapcraft.io/docs/supported-interfaces + - audio-playback + - avahi-observe + - block-devices + - cifs-mount + # - custom-device + - daemon-notify + # - dbus + - desktop + - desktop-launch + - desktop-legacy + - dm-crypt + - firewall-control + - fuse-support + - hardware-observe + - home + - kernel-crypto-api + #- locale-control + - log-observe + #- mount-control + - mount-observe + - network + # - network-bind + # - network-manager + - network-observe + - network-setup-observe + - network-status + # - online-accounts-service + - opengl + - optical-drive + # - personal-files-autopsy + # - posix-mq + - pulseaudio + - raw-input + - raw-usb + # - raw-volume + - removable-media + - sd-control + - system-files-autopsy + - system-observe + - system-trace + - udisks2 + - unity7 + - unity8 + - wayland + - x11 + +parts: + sleuthkit: + plugin: autotools + source: https://github.com/sleuthkit/sleuthkit.git + source-branch: develop + # source-tag: sleuthkit-4.11.1 + build-environment: [JAVA_HOME: /usr/lib/jvm/bellsoft-java8-full-amd64] + build-packages: + - build-essential + - autoconf + - libtool + - automake + - zip + - ant + - ant-contrib + - ant-optional + - bellsoft-java8-full + - libpq-dev + - testdisk + - libafflib-dev + - libewf-dev + - libvhdi-dev + - libvmdk-dev + stage-packages: + - libpq-dev + - testdisk + - libafflib-dev + - libewf-dev + - libvhdi-dev + - libvmdk-dev + autopsy: + after: [sleuthkit] + build-packages: + - zip + - unzip + - ant + - bellsoft-java8-full + - doxygen + stage-packages: + - libde265-dev + - libheif-dev + - libpq-dev + - testdisk + - libgstreamer1.0-0 + - gstreamer1.0-plugins-base + - gstreamer1.0-plugins-good + - gstreamer1.0-plugins-bad + - gstreamer1.0-plugins-ugly + - gstreamer1.0-libav + - gstreamer1.0-tools + - gstreamer1.0-x + - gstreamer1.0-alsa + - gstreamer1.0-gl + - gstreamer1.0-gtk3 + - gstreamer1.0-qt5 + - gstreamer1.0-pulseaudio + - bellsoft-java8-full + - perl + plugin: nil + source: https://github.com/gdicristofaro/autopsy.git + source-branch: 8425_linuxMacBuild + # source: https://github.com/sleuthkit/autopsy.git + # source-branch: develop + # source-tag: autopsy-4.19.3 + build-environment: + - JAVA_HOME: /usr/lib/jvm/bellsoft-java8-full-amd64 + - TSK_JAVA_LIB_PATH: $SNAPCRAFT_STAGE/usr/local/share/java + override-build: | + # ----- BUILD ZIP ----- + AUTOPSY_SRC_PATH=$(pwd) + NETBEANS_PLAT_VER=$(grep "netbeans-plat-version=" "$AUTOPSY_SRC_PATH/nbproject/platform.properties" | cut -d'=' -f2) + AUTOPSY_PLATFORM_PATH="$AUTOPSY_SRC_PATH/netbeans-plat/$NETBEANS_PLAT_VER" + AUTOPSY_HARNESS_PATH="$AUTOPSY_PLATFORM_PATH/harness" + export TSK_HOME="$HOME/parts/sleuthkit/build" + ant -Dnbplatform.active.dir="$AUTOPSY_PLATFORM_PATH" -Dnbplatform.default.harness.dir="$AUTOPSY_HARNESS_PATH" build build-zip + + # ----- SETUP EXTRACT DIRECTORY ----- + AUTOPSY_LOCATION="$SNAPCRAFT_PART_INSTALL/autopsy" + mkdir -p $AUTOPSY_LOCATION + AUTOPSY_ZIP=$(find ./dist -maxdepth 1 -name "autopsy-*.*.*.zip") + AUTOPSY_ZIP_TMP_LOC=./dist/autopsy_tmp_zip_loc + mkdir -p $AUTOPSY_ZIP_TMP_LOC + unzip $AUTOPSY_ZIP -d $AUTOPSY_ZIP_TMP_LOC + AUTOPSY_EXTRACTED_TMP_LOC=$(find $AUTOPSY_ZIP_TMP_LOC -maxdepth 1 -name "autopsy-*.*.*") + cp -r $AUTOPSY_EXTRACTED_TMP_LOC/* $AUTOPSY_LOCATION + + # ----- RUN UNIX SETUP SCRIPT ----- + UNIX_SETUP_SCRIPT="$AUTOPSY_LOCATION/unix_setup.sh" + chmod +x $UNIX_SETUP_SCRIPT + $UNIX_SETUP_SCRIPT + chmod 755 "$AUTOPSY_LOCATION/bin/autopsy" + # TODO is this necessary? + find "$AUTOPSY_LOCATION/autopsy/markmckinnon" -name "Export*" -o -name "parse*" | xargs -I{} chmod a+x {} + # TODO is this necessary? + chmod -R a+x "$AUTOPSY_LOCATION/autopsy/solr/bin" + + # include this line to print all set variables + # TODO remove after debugging + sed -i '129 i set -o posix ; echo $(set) >&2' "$AUTOPSY_LOCATION/platform/lib/nbexec" \ No newline at end of file diff --git a/unix_setup.sh b/unix_setup.sh index bfb4e8ad01..6b7a8c01ed 100644 --- a/unix_setup.sh +++ b/unix_setup.sh @@ -84,8 +84,11 @@ if [ -f "/usr/share/java/sleuthkit-$TSK_VERSION.jar" ]; then elif [ -f "/usr/local/share/java/sleuthkit-$TSK_VERSION.jar" ]; then sleuthkit_jar_filepath=/usr/local/share/java/sleuthkit-$TSK_VERSION.jar echo "found in $(dirname $sleuthkit_jar_filepath)" +elif [ -n $TSK_JAVA_LIB_PATH ] && [ -f "$TSK_JAVA_LIB_PATH/sleuthkit-$TSK_VERSION.jar" ]; then + sleuthkit_jar_filepath=$TSK_JAVA_LIB_PATH/sleuthkit-$TSK_VERSION.jar + echo "found in $(dirname $sleuthkit_jar_filepath)" else - echo "ERROR: sleuthkit-$TSK_VERSION.jar not found in /usr/share/java/ or /usr/local/share/java/." + echo "ERROR: sleuthkit-$TSK_VERSION.jar not found in /usr/share/java/, /usr/local/share/java/, or the environment variable: 'TSK_JAVA_LIB_PATH'." echo "Please install the Sleuth Kit Java bindings file." echo "See https://github.com/sleuthkit/sleuthkit/releases." exit 1