Overview
Thejira listprojects command enumerates all accessible Jira projects, providing detailed information about project structure, issue counts, recent activity, available issue types, and project descriptions. This is typically the first reconnaissance command used in a Jira engagement, as it maps the organizational landscape and identifies high-value targets for deeper investigation.
Syntax
Required Parameters
The base URL of the target Jira instance (e.g.,
https://company.atlassian.net)Optional Parameters
Authentication cookie (
cloud.session.token or tenant.session.token). Required for accessing non-public projectsReturn all accessible projects. Automatically paginates through results if there are more than 50 projects
Maximum number of projects to return (when not using
--all). Note: The Jira API only returns up to 50 projects per requestSort projects by either
issues (total number of issues) or updated (most recently updated). Useful for identifying active or large projectsValid values: issues, updatedSave command output to a specified file
Examples
Basic Project Enumeration
List the first 50 projects sorted by issue count:List All Projects
Enumerate all accessible projects:Find Most Active Projects
List projects sorted by most recent activity:Save Project Inventory
Save complete project listing to file for analysis:Anonymous Reconnaissance
Attempt to list publicly accessible projects without authentication:Use Cases
- Red Team
- Blue Team
Offensive Security Applications
- Initial Reconnaissance: First step in mapping the target organization’s Jira structure
- Target Prioritization: Identify high-value projects (Finance, HR, Security, Infrastructure)
- Activity Analysis: Find active projects with recent updates for better OPSEC blending
- Issue Type Discovery: Learn available issue types for each project (required for
createissue) - Access Mapping: Determine which projects are accessible with current credentials
- Data Hotspot Identification: Locate projects with high issue counts (more potential data)
- Project Description Mining: Extract information from project descriptions (sometimes contain sensitive details)
- Anonymous Access Testing: Identify publicly accessible projects
Output
The command returns comprehensive information about each project:Output Information
For each project:- Project Name: Full name of the project
- Project Key: Short identifier used in issue keys (e.g., FIN-123)
- Project Id: Numeric identifier
- Project Type: Project category (business, software, service_desk, etc.)
- Last Issue Update: Timestamp of most recent issue activity
- Total Issues: Count of all issues in the project
- Project Description: Description text (may contain sensitive information)
- Project Issue Types: List of valid issue types for creating issues in this project
Detection Considerations
Jira Audit Log Entries
This command generates the following audit log events:project_viewed- May be logged for project access- API access events for project search endpoint
- Includes: User ID, timestamp, IP address, user agent
Network Indicators
- HTTP GET requests to
/rest/api/3/project/search?expand=description,insight,issueTypes - Multiple sequential requests when using
--all(if more than 50 projects exist) - Query parameters including
maxResultsfor pagination - Requests to
nextPageURLs for pagination
OPSEC Considerations
API Limitations
- Jira API returns maximum of 50 projects per request
- The
--allflag automatically handles pagination - Very large Jira instances may have hundreds of projects requiring multiple requests
- Anonymous access typically shows very limited or no projects
Sort Behavior
--sortby issues: Orders projects by total issue count (descending)--sortby updated: Orders projects by most recent issue update timestamp (descending)- Sorting helps prioritize high-value targets
Related Commands
- jira listissues - List issues within discovered projects
- jira listattachments - List attachments in specific projects
- jira searchissues - Search for issues across projects
- jira createissue - Create issues in projects (requires valid issue type)
- jira listusers - Enumerate users who may be project members