111 Commits

Author SHA1 Message Date
Gavin K c1e34aea28 Merge pull request #6 from atomiczsec/devin/1781148812-fix-cloud-metadata-bugs
Fix bugs in cloud_metadata_check: select() error fd, O(n²) cred path, redundant URL build
2026-06-10 23:38:12 -04:00
Gavin K 0c39bea2e6 Fix bugs in cloud_metadata_check: select() error fd, O(n²) cred path, redundant URL build
- probe_tcp_port: add error fd set to select() so failed non-blocking
  connects that only signal the error set are correctly detected
- build_aws_cred_path: track append position in a local variable instead
  of calling wstr_len() on each iteration (O(n) instead of O(n²))
- build_appservice_token_path: resolve the resource string once up front
  instead of building the URL with a hardcoded default then tearing it
  down and rebuilding when a custom resource is provided

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-11 03:34:11 +00:00
Gavin K d21f77ef45 Merge pull request #5 from atomiczsec/devin/1781148087-improve-error-handling
Fix silent error swallowing and improve error propagation across BOFs
2026-06-10 23:31:19 -04:00
Gavin K b1a9df6a79 Merge pull request #4 from atomiczsec/devin/1781148028-security-fixes
Security hardening: fix GHA script injection, wrong constant, invalid JSON
2026-06-10 23:29:30 -04:00
Gavin K e1e8b82368 Improve error handling: fix silent failures and add error diagnostics
- applications_enum.c: Remove RegCloseKey on uninitialized handle when
  RegOpenKeyExA fails (undefined behavior bug)
- window_handles_enum.c: Report errors when GetClipboardData or
  GlobalLock fail in TestClipboardAccess instead of silently ignoring
- powershell_history.c: Add error codes to file open/seek/read failures
  in read_snippet_ascii_at for diagnosability
- notepad_grab.c: Report error when CreateToolhelp32Snapshot fails
  in FindNotepadProcesses
- process_tokens_list.c: Report specific failure reason in
  EnableSeDebugPrivilege (OpenProcessToken vs LookupPrivilegeValue)
- wevt_logon_enum.c: Report which wevtapi function failed to resolve
  instead of generic failure message

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-11 03:26:03 +00:00
Gavin K 045126c9af fix: security hardening — GHA injection, wrong constant, invalid JSON
- .github/workflows/release.yml: Fix script injection by moving
  user-controlled inputs (module_path, tag_suffix) to env vars instead
  of direct ${{ }} interpolation in shell blocks. Pin
  softprops/action-gh-release to SHA (v2.6.2). Add explicit
  permissions: contents: read to the detect job.

- collection/ai_surface/ai_surface.c: Replace INVALID_FILE_ATTRIBUTES
  with the correct (DWORD)0xFFFFFFFF for GetFileSize error check.
  Both happen to be 0xFFFFFFFF but the former is semantically wrong.

- discovery/wallpaper_enum/metadata.json: Remove trailing comma that
  made the file invalid JSON.

Co-Authored-By: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-06-11 03:21:24 +00:00
atomiczsec 56363bb917 Add cloud_metadata_check BOF entry to README
Included a new entry for the cloud_metadata_check BOF, detailing its functionality in probing cloud-local metadata services for AWS, Azure, and GCP.
credential_access-cloud_metadata_check-2026-05-29-145430-56363bb
2026-05-29 10:54:14 -04:00
atomiczsec e57ed1e5d0 add service_control BOF + gitignore for no bloat execution-service_control-2026-05-18-152359-e57ed1e 2026-05-18 11:23:38 -04:00
atomiczsec 17a6fce074 update community readme 2026-05-06 14:08:53 -04:00
Gavin K 4533d230bd Add net_use BOF entry to README 2026-05-06 10:00:19 -04:00
Gavin K 8fe4c1582b add trustedsec net_use community-net_use-2026-05-06-135839-8fe4c15 2026-05-06 09:58:16 -04:00
Gavin K 4b692b23c5 Revise README description for clarity and focus
Updated repository description to clarify the purpose and organization of BOFs.
2026-05-06 09:44:19 -04:00
atomiczsec 748b403bb6 Refactor ai_surface functionality and update documentation
Reduced MAX_PROJECT_HITS from 48 to 16 and renamed sections for improved clarity. Updated functions for artifact reporting and path checks, including new checks for Codex and Claude agent artifacts. Enhanced README to reflect changes in functionality and added details on MCP configuration discovery.
collection-ai_surface-2026-04-26-004554-748b403
2026-04-25 20:45:40 -04:00
atomiczsec a6cacea6f5 attribution note 2026-04-08 15:31:55 -04:00
Gavin K 08d9570295 fix readme 2026-04-08 15:29:24 -04:00
atomiczsec 2ca4ee6eb2 Enhance ai_surface functionality and update README
Increased MAX_PROJECT_HITS from 16 to 48 and renamed related sections for clarity. Introduced new functions for reporting artifact hits and directory checks. Updated README to reflect changes in AI configuration and agent artifact discovery, including additional paths for Claude, Cursor, Codex, and Gemini configurations.
collection-ai_surface-2026-04-08-192443-2ca4ee6
2026-04-08 15:24:17 -04:00
atomiczsec c6b7120524 trim README 2026-04-07 22:28:04 -04:00
Gavin K 6e95a29bd9 Clarify ai_surface functionality in README
Updated description for ai_surface to clarify its functionality.
2026-04-07 18:38:18 -04:00
atomiczsec 4de0982478 update ai_surface, new sources and collection collection-ai_surface-2026-04-07-223652-4de0982 2026-04-07 18:36:17 -04:00
atomiczsec 305ffeaa87 add powershell_history collection-powershell_history-2026-03-27-183152-305ffea 2026-03-27 14:31:36 -04:00
atomiczsec 5fe4f8095a move com_probe and wevt_logon_enum to execution execution-com_probe-2026-03-23-202046-5fe4f80 execution-wevt_logon_enum-2026-03-23-202045-5fe4f80 2026-03-23 16:20:30 -04:00
atomiczsec 8aeb3263b4 add firewall_rule execution-firewall_rule-2026-03-23-122259-8aeb326 2026-03-23 08:22:42 -04:00
Gavin K 6788a44b2b add updated pre built .o discovery-proxy_enum-2026-03-11-020729-6788a44 2026-03-10 22:07:14 -04:00
atomiczsec 1fdbdfc66c add example output again 2026-03-10 21:57:46 -04:00
atomiczsec d7abfdf73f Add CheckProxyMgrCache function to enumerate hidden ProxyMgr cache entries in proxy_enum.c and update README to document new functionality. 2026-03-10 21:56:01 -04:00
atomiczsec d94e571282 add example output 2026-03-10 20:58:53 -04:00
atomiczsec 810d633e8b update README to add proxy_enum 2026-03-10 11:36:46 -04:00
Gavin K 31b4b0aaa1 add proxy_enum discovery-proxy_enum-2026-03-10-153539-31b4b0a 2026-03-10 11:35:19 -04:00
atomiczsec 50c437a352 add power_state to readme 2026-03-07 23:30:34 -05:00
Gavin K 6d767d2289 add power_state BOF discovery-power_state-2026-03-08-042845-6d767d2 2026-03-07 23:28:32 -05:00
Gavin K 75425cda92 Add win_version BOF to README 2026-02-19 23:27:38 -05:00
atomiczsec c959dc38c3 add basic win_version BOF discovery-win_version-2026-02-20-001423-c959dc3 2026-02-19 19:14:06 -05:00
atomiczsec 962c1359ab update release markdown (#2) 2026-02-19 19:09:50 -05:00
atomiczsec da01c0b47c addded notepad_grab multi tab support (#1) community-notepad_grab-2026-02-18-035343-da01c0b 2026-02-17 22:53:27 -05:00
atomiczsec cee091ea75 standardizing chunking [skip ci]
final fix to notepad_grab, standardizing chunking for future BOFs with large output
2026-02-17 21:48:52 -05:00
atomiczsec 95c6663b47 fixed make files that caused BOF to crash in some instances [skip ci] 2026-02-17 15:25:42 -05:00
atomiczsec e42d0d69b1 Removed -ffunction-sections -fdata-sections from Makefile community-notepad_grab-2026-02-17-192804-e42d0d6 2026-02-17 14:27:49 -05:00
atomiczsec a017927a97 chunk notepad_grab
Single BeaconPrintf call with up to 32KB content caused .NET-based C2
agents to throw startIndex out of range errors. Output is now chunked
into MAX_OUTPUT_LENGTH (32000 byte) segments.
community-notepad_grab-2026-02-17-190132-a017927
2026-02-17 14:01:15 -05:00
atomiczsec a9e8572d39 del bof to fix 2026-02-08 22:43:45 -05:00
atomiczsec cc074a850b Update README to include usage instructions for notepad_grab 2026-02-08 22:27:00 -05:00
atomiczsec 87af2abbac add GH link 2026-02-07 23:13:11 -05:00
atomiczsec ce77235da1 add notepad grab to readme 2026-02-07 23:12:05 -05:00
atomiczsec ffa47383fe del placeholder 2026-02-07 22:47:04 -05:00
atomiczsec 2390a0ef9c fixing the release for the 20th time community-notepad_grab-2026-02-08-033218-dbb42d9 2026-02-07 22:26:41 -05:00
atomiczsec 7f57d6b108 fixed the jq parsing 2026-02-07 22:15:37 -05:00
atomiczsec f1e75a5509 fix github action 2026-02-07 22:08:20 -05:00
atomiczsec 1b92a9dfdc add notepad_grab 2026-02-07 22:07:28 -05:00
atomiczsec cc4e558c22 Update Table of Contents heading for clarity 2026-02-05 13:51:07 -05:00
atomiczsec 7917fae7cc change directory structure to mirror the MITRE framework taxonomy for easier understanding 2026-02-05 13:49:45 -05:00
atomiczsec 9591d9af65 Update README with caution note for com_probe
Added caution note regarding registry lookups when using com_probe.
2026-02-03 17:23:14 -05:00