ntdsextract2 panics on NTDS extraction: libesedb_record_get_long_value error · Issue #39 · janstarke/ntdsextract2 · GitHub
More Web Proxy on the site http://driver.im/
You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently installed version 1.4.7 via Cargo, and while attempting to extract user or group info from NTDS the tool consistently fails with a panic related to libesedb_record_get_long_value.
command line to reproduce (done with 1.4.7):
ntdsextract2 ntds.dit group -D -A --member-of sam -F json-lines
Error and Stack:
thread 'main' panicked at /home/.../.cargo/registry/src/index.crates.io-.../ntdsextract2-1.4.7/src/ntds/sd_table.rs:38:22:
called `Result::unwrap()` on an `Err` value: c-libesedb: libesedb_record_get_long_value: unable retrieve value data.
libesedb_data_definition_read_long_value_segment: invalid data definition.
libesedb_record_get_long_value_data_segments_list: unable to read data definition long value segment.
libesedb_record_get_long_value: unable retrieve value data.
Stack backtrace:
0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
1: <libntdsextract2::cache::record::Record as libntdsextract2::cache::record::with_value::WithValue<libntdsextract2::cache::column_index::ColumnIndex>>::with_value
2: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
3: <std::collections::hash::map::HashMap<K,V,S> as core::iter::traits::collect::FromIterator<(K,V)>>::from_iter
4: libntdsextract2::ntds::sd_table::SdTable::new
5: libntdsextract2::c_database::CDatabase::new
6: ntdsextract2::main
7: std::sys::backtrace::__rust_begin_short_backtrace
8: std::rt::lang_start::{{closure}}
9: std::rt::lang_start_internal
10: main
11: <unknown>
12: __libc_start_main
13: _start
stack backtrace:
0: rust_begin_unwind
1: core::panicking::panic_fmt
2: core::result::unwrap_failed
3: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
4: <std::collections::hash::map::HashMap<K,V,S> as core::iter::traits::collect::FromIterator<(K,V)>>::from_iter
5: libntdsextract2::ntds::sd_table::SdTable::new
6: libntdsextract2::c_database::CDatabase::new
7: ntdsextract2::main
I originally used version 1.4.2 on a different system without issues. To troubleshoot, I tested different versions by force-installing them. I found that versions 1.4.2 and 1.4.3 work as expected, while versions 1.4.4 through 1.4.7 consistently fail with the same error.
Using Kali 2024.2
rustc 1.84.0
Let me know if any additional info would help.
The text was updated successfully, but these errors were encountered:
Some AD databases use LONG values, which are more complicated to parse. I added support for this in one of the younger releases.
Today, changed the error handling on this issue and added a cli switch --include-sd which you can you to enable reading of the SD table. If you don't set --include-sd, this table will not be parsed and the error should go away. This code is in the issue branch only, at the moment.
However, this does not solve the originating problem. Is it possible to get a copy of your test data, so that I can debug the problem?
I recently installed version 1.4.7 via Cargo, and while attempting to extract user or group info from NTDS the tool consistently fails with a panic related to libesedb_record_get_long_value.
command line to reproduce (done with 1.4.7):
Error and Stack:
I originally used version 1.4.2 on a different system without issues. To troubleshoot, I tested different versions by force-installing them. I found that versions 1.4.2 and 1.4.3 work as expected, while versions 1.4.4 through 1.4.7 consistently fail with the same error.
Using Kali 2024.2
rustc 1.84.0
Let me know if any additional info would help.
The text was updated successfully, but these errors were encountered: