PenTest+ study materials
PenTest+ study resources

1,240 Criticals, 900 Backports, and One Jenkins Box

PenTest+ · Put your knowledge to work in context.

All case studies

1,240 Criticals, 900 Backports, and One Jenkins Box

An authenticated internal scan of 10.10.0.0/16 returns 3,812 live hosts and 1,240 Critical findings. Nine hundred of them are OpenSSH 7.4 issues on RHEL 7.9; the client's Linux team says those packages carry Red Hat backports. One host, build-07, runs Jenkins 2.289 with the script console reachable to anonymous users. Your authenticated checks only ran against Windows hosts, because the client supplied one domain service account and no SSH keys. The remediation SLA is 30 days for Critical and 90 for High. It is day 3 of a 10-day test and the report is due day 10.

1. How do you triage 1,240 Criticals into something the client can act on?

Read the worked answer

Treat the scanner's severity as a hypothesis and collapse by vulnerability, not by row.

Reasoning: The number that matters to the client is not 1,240; it is how many distinct problems need fixing before the 30-day clock runs out. Banner-based OpenSSH checks are famously wrong on enterprise Linux, because distros backport fixes without bumping the version string - so all 900 may be non-findings, and if you ship them the Linux team will spend the SLA arguing with you instead of patching the real one. Conversely, burying build-07 under 900 false positives is the actual failure mode.

Action: Group by CVE and template, then validate the backport claim per host with the RPM changelog (rpm -q --changelog openssh-server) and Red Hat's fixed build number for that CVE, not the version banner. Record the evidence for each reclassification so the client can defend it in an audit. Re-rank the remainder by exploitability and business role rather than raw CVSS, and flag anything on build-07 or similar build infrastructure to the top.

2. How do you handle the Jenkins host while staying inside the ROE and the reporting deadline?

Read the worked answer

Escalate it now, and prove it with the smallest possible footprint.

Reasoning: Anonymous script console access is remote code execution as the Jenkins service account, and build servers are credential-rich - deploy keys, registry tokens, sometimes domain service accounts. That makes it the highest-value finding in the scan and the one most likely to be a path into the domain, so it cannot sit in a report delivered on day 10. But the console is also the client's build pipeline: a careless proof can break builds, and the client's developers will notice immediately.

Action: Confirm anonymous reachability and capture the console page. If a proof is needed, use a single benign evaluation (echo of a hostname or user) rather than a shell, note the exact time, and coordinate with the client's point of contact if the ROE requires it before touching production. Report immediately with the recommendation to disable anonymous read access and rotate anything stored in Jenkins credentials. Do not enumerate those credentials beyond what is needed to demonstrate risk unless the ROE authorizes deeper access.

3. What does the missing Linux credential coverage do to your conclusions, and what do you do about it?

Read the worked answer

It weakens exactly the conclusion you just drew, and you have to say so.

Reasoning: Without authentication, Linux findings rest on banners and network-visible behavior only. That is enough to raise a suspicion and enough to see a Jenkins console, but not enough to confirm patch level - which means your "900 are backports" reclassification is the client's assurance plus your changelog spot-checks, not full coverage. If you present it as verified, the report overstates confidence; if you present nothing, the client gets 1,240 unusable rows.

Action: Request non-privileged SSH access or an SSH key by day 4, early enough for authenticated rescanning. If it does not arrive, mark affected findings "unverified - banner-based," list the coverage gap in the report's limitations section, and state which conclusions would change with credentials. Note the asymmetry explicitly: Windows coverage is authenticated and high-confidence, Linux coverage is not, so cross-platform comparisons in the report need a caveat.