| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 기술 특강 및 OT
- sk 쉴더스 루키즈
- kisa #보안관제
- 인프라 활용을 위한 파이썬
- VMWARE#INSTALL#설치
- Foxyproxy#install#setting#firefox
- rocky linux#siem#project#threat detection#soc#onpremise#ids#python#csv#pipeline#kali linux#DVWA#security monitoring
- Kali#Linux#Brute#Force#Attack#Test#DVWA#Hacking#Low#무차별#대입#공격#해킹
- DVWA#INSTALL#github#security#kali#linux
- 클라우드기반 보안 시스템 구축/운영 실무
- 시스템-네트워크 보안 기술
- 클라우드 기반
- CERT
- DVWA#Brute#Force#Attack#Test#Kali#Linux#Medium#Level#sleep
- #루키즈
- sk shieldus
- 클라우드 보안 기반
- 애플리케이션 보안 기술
- Kali#Linux#KALI#LINUX#INSTALL#github#설치
- 루키즈
- 모의침투
- Case Study
- 모듈프로젝트
- 모듈 프로젝트
- 개인정보보호
- AI #취업
- 29기
- 쉴더스
- 클라우드 보안 기술
- 보고서
- Today
- Total
이것저것
[SK shieldus Rookies 29기] 20일차 본문
시스템-네트워크 보안 기술을 마치고 이제 애플리케이션 보안 기술을 할 차례이다.

출처: 보안프로젝트
모의해킹(Penetration Testing)이란?
정의:
해커와 동일한 환경, 조건, 기술을 사용하여 조직의 시스템, 네트워크, 애플리케이션 등에 존재하는 보안 취약점을 식별하고, 실제 악용 가능성을 검증하는 활동입니다.
- 핵심: 공격자의 관점(Attacker's View)에서 시스템을 평가하여 잠재적 위협을 사전에 제거.
- 용어: Penetration(침투) + Test(테스트) = Pentest라고도 불림.
모의해킹 대상
과거에는 웹/앱에 국한되었으나, IT 기술 발전에 따라 범위가 대폭 확장되었습니다.
- 웹/모바일: 웹 애플리케이션, 서버, Android/iOS 앱 보안 점검.
- 리버싱(역공학): 게임, HTS/MTS/WTS(금융 거래 시스템), 보안 솔루션(메모리 보안, 방화벽, 키보드 보안 등)의 우회 가능성 분석.
- 소스코드 진단: 시큐어 코딩 진단(S/W 보안).
- IoT/스마트 기기: 자율주행 자동차, 스마트 홈 기기 등 사물인터넷 취약점 분석.
- 바이오메트릭: 정맥 인식기, 지문 인식기 등의 보안성 검증.
- 신기술 분야: 코인 거래소(블록체인), AI 서비스 및 LLM(대규모 언어 모델) 취약점 점검.

출처: NotebookLM
모의해커(White Hat) vs 크래커(Black Hat)
가장 큰 차이점은 '합법성'과 '목적'입니다.
| 구분 | 모의해커 (Penetration Tester) | 크래커 (Cracker) |
|---|---|---|
| 합법성 | 계약에 의거하여 승인된 상태에서 진행 | 승인 없는 불법 침입 |
| 공격 범위 | 서비스 가용성을 해치는 공격(DDoS, BOF 등) 제외 | 제한 없음 (시스템 파괴도 서슴지 않음) |
| 수행 시간 | 정해진 업무 시간 내 수행 | 24시간 365일 언제든 공격 |
| 대상 | 계약된 범위 (웹, 앱, IoT 등) | 무차별적 (개인 PC, 기업 서버 등) |
| 목적 | 보안 강화, 취약점 식별 및 조치 | 데이터 탈취, 금전적 이익, 과시 등 |
| 결과물 | 취약점 분석 보고서 및 대응 방안 | 피해 발생, 정보 유출 |
모의해킹을 수행하는 이유 (법적 근거)
기업은 단순히 '하면 좋아서'가 아니라, 법적 의무를 준수하고 기업의 자산을 보호하기 위해 모의해킹을 수행합니다.
관련 법령
- 정보통신망법 (정보통신망 이용촉진 및 정보보호 등에 관한 법률)
- 제45조의3: 일정 규모 이상의 정보통신서비스 제공자는 CISO(정보보호 최고책임자)를 지정해야 하며, CISO의 업무 중 하나로 '정보보호 실태와 관행의 정기적인 감사 및 개선', '모의 훈련 계획의 수립 및 시행'을 명시하고 있습니다.
- ISMS-P 인증 (정보보호 및 개인정보보호 관리체계 인증)
- 국내 주요 기업들이 취득해야 하는 인증으로, 인증 항목에 모의해킹을 통한 취약점 점검이 포함됩니다.
- 전자금융감독규정
- 금융권(은행, 증권사 등)을 대상으로 하며, 정기적인 취약점 점검 및 모의해킹을 의무화하고 있습니다.
모의해킹 업무 절차 (Process)
모의해킹은 체계적인 프로세스를 따릅니다. 글로벌 표준인 PTES(Penetration Testing Execution Standard)를 기반으로 일반적인 절차를 정리하면 다음과 같습니다.
- 사전 협의 단계 (Pre-engagement Interactions)
- 고객과 프로젝트 범위, 일정, 허용되는 공격 방식 등을 결정합니다. (매우 중요!)
- 정보 수집 단계 (Intelligence Gathering)
- 대상 시스템의 IP, 도메인, 사용 기술(OS, Web Server 버전 등), 외부에 노출된 정보(OSINT) 등을 수집합니다.
- 위협 모델링 단계 (Threat Modeling)
- 수집된 정보를 바탕으로 "어떤 공격이 가능할까?"를 기획하고, 공격 벡터를 식별합니다.
- 취약점 분석 단계 (Vulnerability Analysis)
- 식별된 공격 벡터에 대해 실제 취약점이 존재하는지 확인합니다. (자동화 도구 + 수동 점검)
- 침투 단계 (Exploitation)
- 확인된 취약점을 이용해 실제 시스템에 침투를 시도하고 권한 획득 가능성을 검증합니다.
- 내부 침투 단계 (Post Exploitation)
- 1차 침투 성공 후, 내부망 이동(Lateral Movement), 중요 정보 접근 등 2차, 3차 공격 가능성을 확인합니다.
- 보고서 작성 (Reporting)
- 발견된 취약점의 상세 내용, 위험도(Risk), 재현 과정, 그리고 가장 중요한 대응 방안을 정리하여 고객에게 전달합니다.
여기까지 가벼운 워밍업입니다.
저번에 구성하였던 VMWARE는 초기화합니다.


그전에 다시 한 번 리마인드 하겠습니다.
칼리 리눅스
- 칼리 리눅스(이전의 백트랙 리눅스)는 고급 침투 테스트 및 보안 감사를 목표로 하는 오픈소스, 데비안 기반 리눅스 배포판
- 칼리 리눅스에는 침투 테스트, 보안 연구, 컴퓨터 포렌식 및 리버스 엔지니어링과 같은 다양한 정보 보안 작업을 대상으로 하는 수백 개의 도구가 포함
- 칼리 리눅스는 정보 보안 전문가와 애호가가 자유롭게 접근할 수 있는 다중 플랫폼 솔루션
Metasploitable2
- Metasploit 취약점 진단 도구를 활용하기 위한 의도적으로 취약한 리눅스 가상 머신
- 보안 교육을 수행하고, 보안 도구를 테스트하고, 일반적인 침투 테스트 기술을 연습하는데 사용 가능
- 침투 테스트 및 보안 연구를 수행할 수 있는 안전한 장소를 제공
- 콘솔 관리자 계정 msfadmin : msfadmin
| 이름 | 설명 |
|---|---|
| TWiki | 프로젝트 관리, 문서 관리 등 프로젝트에서 활용할 수 있는 웹 기반 오픈 플랫폼 |
| phpMyAdmin | MySQL DB를 웹 기반에서 관리할 수 있는 오픈 도구 |
| Mutillidae | OWASP TOP 10 취약점 전체를 테스트할 수 있는 PHP 웹 서비스 환경 |
| DVWA | 웹 취약점 진단 항목을 테스트 할 수 있는 웹 서비스 환경 |
| WebDAV | WebDAV 취약점을 테스트 할 수 있는 환경 |
bee-box
- bee-box는 bWAPP(buggy Web Application)이 사전 설치된 맞춤형 리눅스 VM
- 100가지가 넘는 웹 애플리케이션 취약점 시나리오 실습 가능
- bWAPP 로그인 계정은 bee / bug
- 취약점은 OWASP Top 10 항목을 기준으로 분류됨
OWASP
- Open Web Application Security Project 약자로 국제 웹 보안 표준 기구
- 1984년 4월 미국에서 안전한 웹 및 응용을 개발할 수 있도록 지원하기 위해 비영리 단체로 시작
- 공식 설립일은 2001년 9월 23일로 웹에 관한 정보노출, 악성 파일 및 스크립트, 보안 취약점 등 연구
- 한국서울지사를 포함해서 현재 70여개 국가가 등록되어 있음
- OWASP Top Ten을 약 3~4년마다 발표 (최근 2025)
- 10대 웹 애플리케이션의 취약점 (OWASP TOP 10)은 OWASP 기관에서 연구하는 프로젝트 중 일부
- OWASP Top 10은 2004, 2007, 2010, 2013, 2017, 2021년, 2025 4년마다 신규로 업데이트 되어 배포
이제 모두 설정했으니 앞으로 실습할 환경을 구성하겠습니다.
우선 해당 파일을 다운받아야 합니다. gm

다운받은 bee-box를 복사하여 vmware환경 안에 붙여넣습니다.
그리고 이제 사용을 하기위하여 편한 설정으로 바꾸겠습니다.
현재 키보드 설정이 벨기에로 되어있어 키가 현재 키보드랑 안맞게 입력이 됩니다. 따라서 US나 KOR로 변경을 진행해야 합니다.
그러면 이제 정상적으로 입력이 되는 것을 확인할 수 있습니다.
다운받은 gm 파일을 풀기 위하여 아까 옮겨두었던 곳으로 이동을 진행하고 압축을 풀겠습니다. 
잘 설치된 것을 확인할 수 있습니다.
이제 DB에 한 번 접속해보겠습니다.
)
)
DB하나 생성하겠습니다.
성공적으로 만들어진 것을 확인할 수 있습니다.
DB 안에 데이터를 집어넣는 명령어를 입력해준다. 그러면 아래와 같이 나온다. 
#데이터베이스 연결 정보 및 sql 백업 데이터를 보고 싶을 때
cat db_info.php
cat solution.sqlOSINT 정의
- OSINT는 Open Source Intelligence의 약자
- 공개적으로 사용 가능한 소스에서 수집한 인텔리전스
- 오픈 소스 소프트웨어나 공공(Public) 정보와는 관련이 없으며, 다양한 공개된 정보 소스에서 수집한 인텔리전스
- 정보(Information) : 다양한 출처에서 수집된 데이터나 사실
- 인텔리전스(Intelligence) : 특정 목적을 위해 수집되고, 분석 및 해석된 정보, 정보에 의미를 부여하고, 특정 맥락에서 유용한 통찰을 제공
- 대표적인 정보 수집 출처로는 크리미널아이피(Criminal IP), 쇼단(Shodan), 구글(Google), 야후(Yahoo), 트위터(Twitter , X) 등
- 프라이빗 정보와 다크웹 정보도 수집하는 것이 OSINT와 연관이 있지만, Public하게 공개되어 있지는 않습니다.
전에 했던 거 리마인드입니다.

OSINT 공격자 및 방어자 관점
- 공개적으로 사용 가능한 소스는 담당자(방어자)와 범죄자(공격자) 모두 접근 가능
- 방어자와 공격자 모두에게 기회를 제공하기 때문에, 회사의 취약점을 학습하고 조치할 수 있는 동시에 공격자는 취약점을 악용할 수 있습니다.
- 방어자는 OSINT를 활용하여 회사의 보안 취약점을 사전에 발견하고, 이를 개선함으로써 보안을 강화. 예를 들어, 쇼단(Shodan)을 이용해 인터넷에 노출된 장치를 찾아내고 보안 설정을 강화.
- 공격자는 OSINT를 이용하여 공격 대상을 조사하고, 취약점을 발견하여 악용. 예를 들어, 소셜 미디어나 데이터 덤프 사이트에서 수집한 정보를 이용해 피싱 공격 계획.

OSINT Process
- OSINT Process는 정확하게 정해진 것이 없어 조직에 따라 요구사항에 맞춰 제작하는 것이 중요합니다.
- Identifying the source(소스 식별)
정보를 찾을 수 있는 곳과 어떤 정보를 얻어야 하는지 식별하는 단계 - Harvesting(수확)
식별된 소스에서 관련된 데이터를 가져오는 단계
쇼단, 구글, 트위터 등에서 정보 수집 - Data Processing(데이터 처리)
획득한 데이터를 처리하고 의미있는 정보를 얻는 단계 - Analysis(분석)
여러 소스에서 수집한 데이터를 결합하는 단계 - Reporting(보고)
앞서 진행한 단계를 종합하여 최종 보고서 작성
서브 도메인 정보 수집
도메인(Domain)
- 도메인은 숫자로 이루어진 IP 주소를 쉽게 기억하고 사용할 수 있도록 영문으로 표현한 것.
- 예를 들어,
123.456.789.0이라는 IP 주소 대신example.com과 같이 사용
서브 도메인(Subdomain)
- 서브 도메인은 기본 도메인에 추가되는 확장 부분으로, 보조 도메인 또는 2차 도메인으로도 불림.
- 예를 들어,
blog.example.com에서blog가 서브 도메인으로, 서브 도메인은 특정 웹 서비스나 섹션을 분리하여 관리하기 위해 사용
구글 옵션을 이용해서도 서브 도메인 확인 가능
보안 중요성(중요중요)
- 일반적으로 알려진 도메인은 지속적으로 보안 진단을 받아 안전할 가능성이 높음
- 그러나 보안 담당자나 인프라 담당자가 모르는 서브 도메인이 존재할 수 있으며, 이는 보안상의 허점이 될 수 있음 (recruit, test…)
- 따라서 서브 도메인의 존재 여부를 확인하고, 그에 대한 보안 점검을 수행하는 것이 필수적

Fierce 도구
- Fierce는 DNS 정찰 도구로, 타겟 도메인의 서브 도메인을 자동으로 식별하는 데 특화된 오픈소스 Perl 스크립트
- 이 도구는 존 트랜스퍼(Zone Transfer) 시도, 워드리스트 기반 브루트 포싱(Brute Forcing), 그리고 비연속 IP 공간 탐지 등을 통해 서브 도메인을 빠르게 발견
- 주로 Kali Linux에 사전 설치되어 있으며, 침투 테스트나 보안 평가의 초기 단계에서 유용
- Fierce는 Nmap이나 다른 스캐너의 전 단계로 사용되며, 네트워크 지연이 없으면 몇 분 만에 스캔을 완료



| 옵션 | 설명 | 예시 명령어 |
|---|---|---|
--subdomains <리스트> |
지정된 서브 도메인만 브루트 포싱 (e.g., mail,www,ftp). | fierce --domain example.com --subdomains mail,www |
--subdomain-file <파일> |
외부 워드 리스트 파일 사용 (e.g., custom_subdomains.txt). | fierce --domain example.com --subdomain-file subdomains.txt |
--connect |
발견된 서브 도메인의 웹 서버 연결 확인 (HTTP 헤더 추출). | fierce --domain example.com --connect |
--traverse <서브도메인> |
특정 서브 도메인 주변 IP 스캔 (인접 클래스 C 네트워크 제외). | fierce --domain example.com --traverse 100 |
--dns-servers <서버> |
사용자 지정 DNS 서버 사용. | fierce --domain example.com --dns-servers 8.8.8.8 |
--range <IP 범위> |
IP 범위 스캔 (e.g., 내부 네트워크 탐지). | fierce --dns-servers 10.0.0.1 --range 10.0.0.0/24 |
--help |
모든 옵션 표시. | fierce --h |
Netcraft 서비스 Netcraft
- Netcraft는 영국에 본사를 둔 인터넷 서비스 회사로, 사이버 범죄 중단, 애플리케이션 보안 테스트 및 자동화된 취약점 스캔을 포함한 다양한 인터넷 보안 서비스를 제공하는 회사
- DNS 정보를 검색할 수 있는 무료 온라인 웹 서비스
- Netcraft는 DNS 정보뿐만 아니라 웹 사이트의 운영체제, 웹 서버 소프트웨어 버전, 서브 도메인 정보, SSL 인증서 정보, 서버의 생성 날짜와 가동 시간 등 다양한 정보를 제공하는 무료 온라인 웹 서비스를 제공

Internet Archive Internet Archive
- 수백만 권의 무료 도서, 영화, 소프트웨어, 음악, 웹 사이트 등의 비영리 도서관
- 전세계의 모든 웹 서비스에 대하여, 과거부터 현재 까지 웹 서비스 기록을 수집하여 보관하는 웹 서비스
구글 해킹 (Google Dork , Google Hacking)
- 구글 검색 및 기타 구글 애플리케이션 서비스를 활용한 정보 수집
- 구글에서 제공하는 다양한 검색 옵션을 활용
- 검색 옵션을 악의적인 목적으로 이용하여 “구글 해킹“ 용어 생김
- 구글봇이 수집하는 데이터를 서버에 캐시상태로 저장하기 때문에, 해당 사이트가 삭제되거나 한 후에도 오랜 시간이 지나기 전엔 검색결과에 노출되기 때문에 이전 페이지가 그대로 노출 될 수 있으며, 이 데이터를 모으면 손쉽게 취약점을 찾을 수 있습니다.

신규로 만들어졌거나, 서비스 페이지가 변경이 되었을 때
구글 검색 서비스에 노출이 되는 이유는?!!!!!! —→ 접근제어미흡(인증처리 미흡)이 발생하면 노출!!
site:naver.com inurl:admin filetype:xlsx # 관리자 페이지에서 xlsx 노출된 것 찾아!!
site:naver.com filetpye:log
site:naver.com inurl:admin intext:password구글 검색 연산자 (기본 옵션)
| 옵션 | 내용 |
|---|---|
inurl |
- URL에서 특정 문자열을 검색 - URL에서 특정 웹 페이지나 디렉터리를 찾을 때 주로 사용 |
intitle |
- title(타이틀)에 특정 단어나 구문이 제목에 포함된 페이지를 검색 - 특정 주제와 관련된 웹 페이지를 찾을 때 주로 사용 |
filetype |
- 특정 파일 형식을 검색 - 특정 파일을 찾거나, 특정 파일 형식으로 작성된 문서를 찾을 때 주로 사용 |
site |
- 특정 도메인 또는 하위 도메인에서 검색 - 특정 웹 사이트에서 정보를 찾을 때 주로 사용 |
intext |
- 페이지의 본문에서 특정 단어나 구문을 검색 - 특정 주제와 관련된 웹 페이지를 찾을 때 주로 사용 |
쌍따옴표("") |
- 특정 단어나 구문이 정확히 일치하는 검색 결과를 표시할 때 사용 - 예: "아이폰 갤럭시" 를 검색하면 "아이폰 갤럭시"라는 구문이 그대로 포함된 결과만 표시 |
더하기 기호(+) |
- 검색 결과에 반드시 포함해야 하는 단어나 구문을 지정할 때 사용 - 예: 아이폰 +갤럭시 → 아이폰 관련 결과 중 갤럭시라는 단어가 반드시 포함된 결과만 표시 |
빼기 기호(-) |
- 검색 결과에서 특정 단어나 구문을 제외할 때 사용 - 예: 아이폰 -갤럭시 → 아이폰 관련 결과 중 갤럭시가 포함된 결과는 제외 |
와일드카드(*) |
- 검색어 구문의 일부분을 대체할 때 사용 - 예: "apple * iphone" → apple Korea iphone, apple Store iphone 등 다양한 조합의 결과 표시 |

잠깐 퀴즈
퀴즈
robots.txt 파일을 확인 한 후에 관련 디렉터리에 접근, 각 디렉터리에 접근했을 때 어떤 취약점들 도출되고 있는지 판단하시오.
- solution

우선 robots.txt에 접근을 진행합니다.
우리가 접근할 디렉터리 목록이 나옵니다.
순서대로 접근해보겠습니다.
http://192.168.206.128/bWAPP/admin/
-> 관리자 인증 처리 미흡 OWASP TOP 10 A1

http://192.168.206.128/bWAPP/documents/
-> 서버 버전 정보 노출 (index of는 고객사 인터뷰 후에 결정)

http://192.168.206.128/bWAPP/images/
-> 서버 버전정보 노출, index of 취약점 확인

http://192.168.206.128/bWAPP/passwords/
-> 서버 버전정보 노출, index of 취약점 확인 (중요한 백업파일 존재)
휴...드디어 Velog에서 Tistory로 다 옮겼다
'SK Shieldus Rookies 29' 카테고리의 다른 글
| [SK shieldus Rookies 29기] 22일차 (0) | 2025.12.08 |
|---|---|
| [SK shieldus Rookies 29기] 21일차 (0) | 2025.12.05 |
| [SK shieldus Rookies 29기] 19일차 (0) | 2025.12.05 |
| [SK shieldus Rookies 29기] 18일차 (0) | 2025.12.05 |
| [SK shieldus Rookies 29기] 17일차 (0) | 2025.12.05 |
