
NLA 허니팟 관련 연구
FreeRDP-ResearchServer/: 수정된 FreeRDP 2.2.0으로, RDP 핸드셰이크를 완료하고, (계정이 설정되어 있지 않으므로) 사용자를 내보낸 후, 여섯 개의 메시지를 /tmp에 덤프FreeRDP-Pot-Patches/: 프로덕션용 FreeRDP 서버를 위한 패치로, RDP 핸드셰이크를 완료하고, (계정이 설정되어 있지 않으므로) 사용자를 내보낸 후, 여섯 개의 메시지를 /tmp에 덤프dump/: 캡처된 Negotiate/Challenge/Authenticate Out/In 메시지 덤프NCC-FreeRDP-pyparser/nccfreerdppyparser.py: dump/에서 메시지 덤프를 추출하고, username:workstation:domain:$NLA$UserDomain$ntlm_v2_temp_chal$msg$EncryptedRandomSessionKey$MessageIntegrityCheck 형식으로 해시를 출력hashes.txt: nccfreerdppyparser.py로 생성된 해시NCC-FreeRDP-pyparser/crack.py: nccfreerdppyparser.py의 해시를 크랙docker/build.sh: FreeRDP-ResearchServer/ 빌드docker/dump.sh: FreeRDP 클라이언트를 FreeRDP 서버에 연결하여 RDP 연결 메시지를 덤프목표는 RDP 핸드셰이크를 캡처할 수 있는 허니팟을 배포한 다음, 오프라인으로 크랙하여 우리가 배포한 RDP 허니팟에 스프레이되는 비밀번호가 무엇인지, 조직별로 특화된 것인지 등을 파악하는 것입니다. 현재 핸드셰이크를 성공적으로 캡처하고(FreeRDP-ResearchServer/ 참조), 관련 데이터를 추출하고(nccfreerdppyparser.py 참조), 이를 크랙할 수 있습니다(crack.py 참조).
다음 단계:
crack.py를 hashcat 플러그인으로 재작성FreeRDP-ResearchServer/를 프로덕션 준비 상태로 정리