Initial OfficeCom Sentinel client and deployment assets
This commit is contained in:
74
docs/attacktracer-analysis.md
Normal file
74
docs/attacktracer-analysis.md
Normal file
@@ -0,0 +1,74 @@
|
||||
# AttackTracer Reverse Engineering Notes
|
||||
|
||||
## What the legacy app does
|
||||
|
||||
`AttackTracer` is a .NET Framework 4.5 WinForms application installed under `Servolutions\BotFence`.
|
||||
|
||||
Its main behavior is:
|
||||
|
||||
- scan Windows Event Logs for failed logins
|
||||
- Security `4625` for Windows logons
|
||||
- Application `18456` for SQL Server login failures
|
||||
- Application `1035` for Exchange-related login failures
|
||||
- scan IIS/FTP logs under `C:\inetpub\logs\LogFiles` and `D:\inetpub\logs\LogFiles`
|
||||
- scan FileZilla Server logs under both `C:` and `D:`
|
||||
- aggregate attacks by source IP
|
||||
- geolocate IPs through `http://www.autotimezone.net/atzonline/atz.svc`
|
||||
- render a top-10 result list and an HTML report
|
||||
- optionally email the report through `http://pulse.serverpulse.com/PulseCounter/notifications.svc`
|
||||
|
||||
## Important weaknesses in the old design
|
||||
|
||||
- UI-first architecture
|
||||
- the app is a desktop WinForms tool instead of a background service or scheduled automation
|
||||
- hard-coded paths
|
||||
- it only checks a few fixed IIS and FileZilla folders
|
||||
- legacy external dependencies
|
||||
- geolocation and email both depend on old unauthenticated HTTP WCF endpoints
|
||||
- weak integration model
|
||||
- results are shown locally or emailed, but not pushed into a central operations system
|
||||
- mixed responsibilities
|
||||
- scanning, aggregation, rendering, and notification all live inside the same form workflow
|
||||
|
||||
## Meaningful direction for a NinjaOne-connected replacement
|
||||
|
||||
Instead of reviving the WinForms app, the better replacement is a small service or scheduled CLI with this split:
|
||||
|
||||
1. collectors
|
||||
- Windows Security/Event Log collector
|
||||
- IIS/FTP log collector
|
||||
- FileZilla collector
|
||||
2. normalization
|
||||
- normalize all findings into one event schema like:
|
||||
- `timestamp`
|
||||
- `sourceIp`
|
||||
- `targetType`
|
||||
- `username`
|
||||
- `source`
|
||||
3. correlation
|
||||
- aggregate by IP and time window
|
||||
- compute severity, velocity, and repeated targets
|
||||
4. outputs
|
||||
- JSON report on disk
|
||||
- HTML report if needed
|
||||
- NinjaOne-facing output channel
|
||||
|
||||
## Suggested NinjaOne integration patterns
|
||||
|
||||
Because there is no NinjaOne code in this repository yet, the safest first integration targets are:
|
||||
|
||||
- write a machine-readable JSON summary that a NinjaOne script can collect
|
||||
- emit a plain-text summary to stdout for script-result capture
|
||||
- optionally write a CSV or HTML artifact for technicians
|
||||
- keep notification transport separate so we can later swap in a NinjaOne API client, webhook, or custom-field updater
|
||||
|
||||
## Practical next step
|
||||
|
||||
Build a new `AttackTracer` replacement around a headless scanner first, then add the NinjaOne transport as a separate adapter.
|
||||
|
||||
That lets us preserve the useful detection logic while dropping:
|
||||
|
||||
- WinForms
|
||||
- WCF
|
||||
- external HTTP dependencies
|
||||
- vendor-specific mail plumbing
|
||||
Reference in New Issue
Block a user