
리눅스 사후 익스플로잇 권한 상승 열거
Enumy는 침투 테스트 또는 CTF의 후기 침투 단계에서 대상 Linux 머신에 배포하는 __초고속 휴대용 실행 파일__입니다. enumy를 실행하면 박스의 __일반적인 보안 취약점__을 열거합니다.
x86 또는 x64 릴리스 탭에서 최종 바이너리를 다운로드할 수 있습니다. musl에 정적으로 링크됨 최종 enumy 바이너리를 대상 머신으로 전송합니다.
./enumy
$ ./enumy64 -h
▄█▀─▄▄▄▄▄▄▄─▀█▄ _____
▀█████████████▀ | __|___ _ _ _____ _ _
█▄███▄█ | __| | | | | | |
█████ |_____|_|_|___|_|_|_|_ |
█▀█▀█ |___|
https://github.com/luke-goddard/enumy
Enumy - Used to enumerate the target the target environment & look for
common security vulnerabilities and hostspots
----------------------------------------------------------------------
Output
-o <loc> OUTPUT results to location (default enumy.json)
Walking Filesystem
-i <loc> IGNORE files in this directory (usefull for network shares)
-w <loc> Only WALK files in this directory (usefull for devlopment)
Scan Options
-f run FULL scans (CPU intensive scan's enabled)
-t <num> THREADS (default 4)
Printing Options
-a Print all security AUDIT issues to screen (probably won't help duing a CTF)
Issues are ALWAYS logged in result files regardless of this flag being set.
-d <1|2> Print DEBUG mode (1 low, 2 high) to enable error being printed to screen.
-g <H|M|L> print to screen values GREATER than or equal to high, medium & low
-p <H|M|L|I> do not PRINT to screen high, medium, low & info issues (see below for example)
-m 1-100 MAXIMUM number of issues with same name to print to screen default (unlimited)
개발 중에 컴파일하려면 make와 libcap 라이브러리만 있으면 됩니다.
sudo apt-get install libcap-dev
make
glibc 종속성을 제거하고 모든 라이브러리를 정적으로 링크하며 musl로 컴파일하려면 다음을 수행하십시오. 이를 위해서는 docker가 설치되어 있어야 apline 빌드 환경을 만들 수 있습니다.
./build.sh 64bit
./build.sh 32bit
./build.sh all
cd output

아래는 지속적으로 확장 중인 구현된 스캔 목록입니다.
| 스캔 유형 | 빠른 스캔 | 전체 스캔 | 구현 완료 | 화면 출력 | 로그 저장 |
|---|---|---|---|---|---|
| 커널 익스플로잇 제안 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| SUID/GUID 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| 파일 역량 스캔 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
| 흥미로운 파일 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| 코어 덤프 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| 탈출 바이너리 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| SSHD 설정 스캔 | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
| Sysctl 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| 생존 기술 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| 현재 사용자 스캔 | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
| *.so 인젝션 스캔 | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
| 권한 스캔 | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
| 파일 시스템 스캔 | ❌ | ✔️ | ✔️ | ❌ | ✔️ |
| Docker 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 환경 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 권한 액세스 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 네트워킹 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 시스템 정보 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 버전 정보 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 기본 약한 자격 증명 스캔 | ✔️ | ✔️ | ❌ | ✔️ | |
| 약한 암호화 스캔 | ❌ | ✔️ | ❌ | ✔️ |
참고로 ❌로 표시된 결과를 화면에 출력하려면 -a 플래그로 감사 모드를 활성화하십시오.
이 스캔은 커널 버전을 확인하여 알려진 익스플로잇이 있는 커널 버전과 일치하는지 확인합니다.
이 스캔의 목적은 시스템을 열거하여 SUID/GUID 바이너리 중 비정상적이거나 취약한 권한을 가진 것을 찾는 것입니다.
최근 Linux 커널은 역량을 지원합니다. 이는 위험을 완화하기 위해 파일에 루트 권한의 일부를 부여하는 선호되는 방법입니다. 이는 훨씬 안전한 방법이지만, 파일에 설정된 비정상적인 역량을 발견한다면 실행 파일을 악용하여 더 높은 접근 권한을 얻을 가능성이 있습니다. Enumy는 시스템의 모든 실행 파일에 설정된 역량을 확인합니다.
이 스캔은 파일의 내용, 확장자 및 이름을 기반으로 파일을 분류하는 일반적인 스캔입니다. 개인 키, 암호 및 백업 파일과 같은 파일을 찾습니다.