Compare commits
2 Commits
856da79166
...
7efe07fd7b
| Author | SHA1 | Date | |
|---|---|---|---|
| 7efe07fd7b | |||
| 7cb3006e7b |
32
README.adoc
Normal file
32
README.adoc
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
This is a simple, but (eventually) very fast scanner to identify certificates in use on your network.
|
||||||
|
|
||||||
|
Documentation is terrible at this point; the program is still being written and debugged, so configuration and output formats are in flux.
|
||||||
|
|
||||||
|
== Installation
|
||||||
|
|
||||||
|
Download the sources and run `cargo build --release`
|
||||||
|
|
||||||
|
Copy the binary `target/release/ascertain` somewhere on your path.
|
||||||
|
|
||||||
|
== Configuration
|
||||||
|
|
||||||
|
A simple example to get you started:
|
||||||
|
|
||||||
|
Place the following in sample_config.toml and run using `ascertain -c sample_config.toml`
|
||||||
|
[toml]
|
||||||
|
----
|
||||||
|
[targets]
|
||||||
|
hosts = ["10.24.74.0/24"]
|
||||||
|
ports = [443, 80, 8443, 636]
|
||||||
|
live_port = 22
|
||||||
|
|
||||||
|
[output]
|
||||||
|
format = "json"
|
||||||
|
output_file = "certs.jsonl"
|
||||||
|
issuer_file = "issuers.jsonl"
|
||||||
|
----
|
||||||
|
|
||||||
|
This probes port 22 to see if the target even exists; if so, it scans the other four ports.
|
||||||
|
|
||||||
|
There are many more config options; read src/config.rs and JSONConfig in src/report.rs for details.
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ impl CertInfo {
|
|||||||
pub fn extract(data: &X509Ref) -> anyhow::Result<Self> {
|
pub fn extract(data: &X509Ref) -> anyhow::Result<Self> {
|
||||||
let md = MessageDigest::sha256();
|
let md = MessageDigest::sha256();
|
||||||
let cert_digest = data.digest(md)?.to_vec();
|
let cert_digest = data.digest(md)?.to_vec();
|
||||||
let issuer_subject = data.subject_name();
|
let issuer_subject = data.issuer_name();
|
||||||
|
|
||||||
|
|
||||||
Ok(CertInfo {
|
Ok(CertInfo {
|
||||||
|
|||||||
Reference in New Issue
Block a user