Commit Graph
119 Commits
Author SHA1 Message Date
Daniel Kahn Gillmor 1288f8ca53 handle error cases better 2021-08-10 22:57:15 -04:00
DL6ER 290776a286 Log if there was no detection made by the module
Signed-off-by: DL6ER <dl6er@dl6er.de>
2021-08-10 12:13:23 +02:00
Hamza Z 15c0d71933 Fix merge conflicts 2021-08-08 20:05:50 +02:00
Nex e5f7727c80 Fixed typo (closes: #157) 2021-08-06 18:40:09 +02:00
Nex 9f696dcb72 Added version 14.7.1 2021-08-05 09:03:02 +02:00
Nex 2302c9fb1c Fixed language 2021-08-05 08:56:41 +02:00
Nex 9bb8ae5187 Merge branch 'clearer-error-reporting' of https://github.com/dkg/mvt into dkg-clearer-error-reporting 2021-08-05 08:54:29 +02:00
Nex 76e6138d77 Catching check if root exception more grafully (closes: #5) 2021-08-05 08:49:34 +02:00
Daniel Kahn Gillmor 33e90c1707 mvt-ios sqlite3 db recovery: fix quoting sent to sqlite3 .clone
In b2afce5c79, the db filename is
wrapped in double-quotes when passing it to the sqlite3 tool's
`.clone` helper command.

For parsing safety, we avoid performing this cleanup if the filename
itself has a double-quote character in it.  Otherwise, a malformed
filename could lead to arbitrary injection into the sqlite3 command.

In be24680046, the sqlite3 wrapping
changes to single-quotes.  Either the safety check should be amended
to block pathnames with single-quotes, or the sqlite3 wrapping should
revert to double-quotes.

I opted for the latter here because i think single-quotes are more
likely than double-quotes to show up in pathnames (e.g. a folder named
"Daniel's files"), but either change would be fine, of course.
2021-08-02 11:26:00 -04:00
Daniel Kahn Gillmor 706c429595 mvt-ios decrypt-backup: Improve error messages for known cases
The two most common reasons that `mvt-ios decrypt-backup` can fail are
wrong passwords and not pointing to an actual backup.

We can distinguish these cases based on the kinds of errors thrown
from iOSbackup (at least for the current versions that i'm testing
with).

When we encounter those particular exceptions, just report a simple
summary and don't overwhelm the user with a backtrace.  If we
encounter an unexpected exception, leave the reporting as-is.

Closes: #28, #36
2021-08-02 11:07:31 -04:00
Nex f011fd19e8 More explicit copyright and licensing notes 2021-08-01 21:11:08 +02:00
Nex bc48dc2cf5 Fixed import order 2021-08-01 19:53:20 +02:00
Nex f3c0948283 Fixing exception name in Manifest module 2021-08-01 19:50:25 +02:00
Nex be24680046 Enforcing double quotes 2021-08-01 19:50:04 +02:00
Daniel Kahn Gillmor b2afce5c79 Avoid breakage with paths with unusual names
If file_path has any whitespace or shell metacharacters in it, then
the invocation of subprocess.call would be likely to break (or even
accidentally execute code, depending on how perverse the pathnames
are).

It's generally a good plan to avoid shell=True for subprocess.call
where you can lay out the arguments deliberately in python.  This one
looks relatively straightforward (but note, i have not tested it,
sorry!)

Note that if a name has a `"` character in it, we still fail, out of
safety reasons.

in particular, we want to avoid command injection into the sqlite
binary with particularly malicious names that look something like the
following:

```
foo.db"; .shell touch should-not-exist; .nullvalue "
```
2021-08-01 11:35:38 -04:00
Nex b2e210e91c Removed unused import 2021-08-01 14:16:28 +02:00
Nex 6f83bf5ae1 Removed duplicates 2021-08-01 14:05:21 +02:00
Nex eaef75d931 Added iPhone models definitions 2021-08-01 13:59:30 +02:00
Nex bc3634bf30 Specifying it is a password prompt 2021-07-31 10:27:44 +02:00
Nex ad9ab1aeba Switched to using rich Prompt 2021-07-31 10:13:18 +02:00
Daniel Kahn Gillmor 270e002f1b mvt-ios extract-key: enable pulling password from the environment
This enables automated use of extract-key without requiring a password
to be placed in the command line, where it might leak.
2021-07-30 23:10:54 -04:00
Daniel Kahn Gillmor 53adc05338 mvt-ios decrypt-backup: Enable pulling password from the environment.
Specifying the password on the command line with `--password XXX`
leaves the password itself visible to any process on the machine which
can scan the process table.

On some systems (including common GNU/Linux distributions) this
visibility is possible by default.

This change should make it possible to offer the password without
putting it into the process table; rather, the user puts the password
in the environment, and specifies the name of the environment
variable, like so:

```
$ export MVT_IOS_BACKUP_PASSWORD=WronglySconeRoundnessUnruffled
$ mvt-ios decrypt-backup -d /path/to/dest /path/to/data/XXXXXXXX-YYYYYYYYYYYYYYY/
$ unset MVT_IOS_BACKUP_PASSWORD
```

or you can do so using a prefixed env var, as described in the updated
check.md documentation.
2021-07-30 23:10:54 -04:00
Nex b264ae946d Refactored to include functionality in existing DecryptBackup class 2021-07-30 18:46:45 +02:00
Nex bfcfb3aa06 Merge branch 'extract-key' of https://github.com/pkirkovsky/mvt into pkirkovsky-extract-key 2021-07-30 18:29:47 +02:00
Nex 632409c81d Using consistent constant names 2021-07-30 18:08:52 +02:00
Nex 6df6064370 Merge branch 'fix_SMS_PATH' of https://github.com/EmilienCourt/mvt into EmilienCourt-fix_SMS_PATH 2021-07-30 18:04:16 +02:00
Nex c966eea7e6 Sorted imports 2021-07-30 11:40:09 +02:00
Nex 18ed58cbf9 Removed unused dependency 2021-07-30 11:19:15 +02:00
Nex 490fb12302 Refactored creation of output folders 2021-07-30 11:08:32 +02:00
Nex e2d82b0349 Merge branch 'master' of https://github.com/febrezo/mvt into febrezo-master 2021-07-30 10:48:34 +02:00
Nex 1bf7f54c72 Merge pull request #131 from macmade/main
Chrome History - Cheking extracted URLs against indicators.
2021-07-29 13:48:34 +02:00
Nex 60a2dbb860 Added module to parse WebKit ResourceLoadStatistics observations.db (ref: #133) 2021-07-29 13:46:58 +02:00
macmade 5e03c28dbd Chrome History - Cheking extracted URLs against indicators. 2021-07-29 02:33:32 +02:00
Nex 4fb6e204d1 Ordered iOS versions 2021-07-28 08:33:33 +02:00
Pavel Kirkovsky f4340bd4f9 Merge branch 'mvt-project:main' into extract-key 2021-07-27 17:15:37 -07:00
Nex b1ae777621 Fixed variable name 2021-07-27 21:29:14 +02:00
Nex 404edfee9a Merge branch 'main' of github.com:mvt-project/mvt 2021-07-27 21:28:36 +02:00
Nex 3bb0d5020c Fixed variable name 2021-07-27 21:27:43 +02:00
tek 9e33ece3e9 Fixes issue with Manifest format 2021-07-27 01:23:22 +02:00
Nex 13ce55f4ac Added some context to error message 2021-07-25 15:51:24 +02:00
emilien 47df94fa12 fix typo 2021-07-25 15:13:23 +02:00
emilien e5003b6490 Handle SMS bases in mmssms.db instead of bugle_db 2021-07-25 15:06:22 +02:00
emilien 3d9574682c Fix WhatsApp thumb image 2021-07-25 14:13:10 +02:00
Nex 3dcc24acd5 Added build 18G69 2021-07-25 12:19:45 +02:00
Nex d8310797ef Merge pull request #109 from U039b/fix-#108
Fix #108
2021-07-25 11:49:12 +02:00
Nex 7fffef77ce Automatically recover malformed sqlite3 databases (closes: #25 #37) 2021-07-25 11:47:05 +02:00
U039b b7d65e6123 Fix #108 2021-07-25 11:03:28 +02:00
Nex 9d9b77e02e Changing error message to info, to avoid confusion 2021-07-25 10:46:10 +02:00
Nex 97558ec3af Merge pull request #19 from goshawk22/patch-2
Better check for if device has root
2021-07-24 13:56:12 +02:00
Nex 25d6d52557 Merge pull request #98 from Trigus42/main
Fix download of APKs that require root privileges #2
2021-07-24 13:53:43 +02:00