BLOG
Tracefield · 02
Tracefield · 01
블로그 · 14
Vibe Audit · 04
Vibe Audit · 03
Vibe Audit · 02
Vibe Audit · 01
출판편집자 · 01
StudyTree · 01
SecurityOps · 02
SecurityOps · 01
AI챗봇 · 04
AI챗봇 · 03
AI챗봇 · 02
AI챗봇 · 01
퍼플심 · 04
퍼플심 · 03
퍼플심 · 02
퍼플심 · 01
블로그 · 13
rootscan · 07
rootscan · 06
블로그 · 12
블로그 · 11
블로그 · 10
블로그 · 09
블로그 · 08
블로그 · 07
블로그 · 06
블로그 · 05
블로그 · 04
블로그 · 03
블로그 · 02
블로그 · 01
rootscan · 05
rootscan · 04
rootscan · 03
asmspeak · 03
asmspeak · 02
rootscan · 02
asmspeak · 01
rootscan · 01
웹보안도구 · 02
웹보안도구 · 01
루트캠프 · 02
루트캠프 · 01
All notes 167
2025-12-12 / 호스트기반모의해킹 · 34
리눅스 소프트웨어 취약점
1. 개요
리눅스 시스템은 수많은 패키지와 서드파티 소프트웨어로 구성된다. 커널(Kernel) 자체의 취약점뿐만 아니라, 설치된 응용 프로그램(Application)의 구버전 취약점을 악용하여 권한 상승을 시도할 수 있다.
2. 취약한 소프트웨어 식별
2.1 패키지 매니저 확인
dpkg -l: Debian/Ubuntu 계열 설치 패키지 목록.
rpm -qa: RedHat/CentOS 계열.
- 설치된 패키지 중 버전이 현저히 낮은 라이브러리나 데몬을 눈여겨본다. 하지만 목록이 너무 방대하여 육안 식별은 어렵다.
2.2 수동 설치 디렉토리(/opt)(★중요)
ls -al /opt/: 관리자가 패키지 매니저를 통하지 않고 수동으로 설치(Compile/Manual Install)한 소프트웨어가 주로 위치한다.
- 핵심: 수동 설치된 SW는
apt upgrade 등으로 자동 업데이트가 되지 않아, 심각한 구버전 취약점(Legacy Vulnerability)이 방치될 확률이 매우 높다.
- 예시:
/opt/screen-4.5.0/ 발견 -> GNU Screen 4.5.0 버전임을 확인.
3. 익스플로잇 검색(Search & Exploit)
3.1 취약점 DB 검색(Searchsploit)
Kali Linux에는 Exploit-DB의 오프라인 사본(searchsploit)이 내장되어 있다.
searchsploit screen 4.5.0
Local Privilege Escalation: 로컬 권한 상승 가능 취약점임을 확인.
3.2 익스플로잇 코드 확보
searchsploit에서 찾은 코드를 현재 디렉토리로 복사한다.
searchsploit -m 41154.sh
-m: Mirror(복사).
- 가져온 스크립트(
41154.sh) 내용을 반드시 cat이나 vi로 확인하여 악성 코드 유무와 컴파일 방법을 파악해야 한다.
4. 공격 실행(Execution)
- 파일 전송: 확보한 익스플로잇 코드를 타겟 호스트로 전송한다.(SCP, Python HTTP 등 활용).
- 컴파일(Compilation):
- 대부분의 로컬 익스플로잇은 C언어로 작성되어 있어 컴파일이 필요하다.
- 스크립트 내부에 컴파일 명령어가 포함된 경우도 있다.
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c(예시)
- 실행:
chmod +x 41154.sh
./41154.sh
- 권한 확인:
# whoami -> root
- 성공 시 루트 쉘을 획득하게 된다.
5. 실무 팁
- 컴파일 환경 부재: 타겟 호스트에
gcc가 없을 수 있다. 이 경우, 타겟과 동일한 OS/아키텍처를 가진 로컬 VM에서 미리 컴파일한 후 바이너리 파일만 전송해야 한다.