
Azure, ADFS, OWA, O365, Teams에서 사용자 열거 및 비밀번호 무차별 대입, Linkedin에서 이메일 수집
이 프로젝트는 원래 Golang을 배우고, 침투 테스트 시 사용자 열거나 무차별 대입을 위해 접했던 다양한 방법들을 탐색하여 하나로 모으기 위해 작성되었습니다. 오류가 있으면 이슈를 생성해 주시기 바랍니다. 최선을 다해 수정하거나 도구를 개선하겠습니다.
새로운 것은 없지만 기존 기술들을 하나의 도구에 모았습니다.
아래 스크린샷은 최신 상태가 아니며 명령줄이 변경되었습니다
권장 모듈은 사용자 열거 및 비밀번호 무차별 대입/스프레이를 위한 o365입니다. 계정 잠금을 피하고, 비밀번호는 유효하지만 만료되었거나, MFA가 활성화된 등의 추가 정보를 검색할 수 있습니다.
이 모듈은 사용자 열거 모듈을 통해 검증하기 전에 이메일 주소 목록을 검색하는 데 사용됩니다. 회사는 Linkedin에서 검색되며, 해당 회사에 근무하는 모든 사람이 지정된 형식으로 반환됩니다.
프로필이 조회되지 않으므로 사용자는 어떠한 알림도 받지 않습니다.
Linkedin의 세션 쿠키 li_at 및 JSESSIONID가 필요합니다.

이 모듈은 사용자 열거 모듈을 통해 검증하기 전에 이메일 주소 목록을 검색하는 데 사용됩니다. 회사 이름은 Google과 Bing에서 특정 dork(site:linkedin.com/in+"%s")를 사용하여 회사에 근무하는 사람을 찾기 위해 검색됩니다. 결과 제목을 구문 분석하여 지정된 형식으로 이메일 주소를 출력합니다.

Azure 모듈은 테넌트의 사용자 열거에만 사용할 수 있습니다. 인증 요청은 https://autologon.microsoftazuread-sso.com에 전송되며, 상세 응답은 계정이 존재하지 않는지, MFA가 필요한지, 계정이 잠겼는지 등을 보여줍니다.

ADFS 모듈은 비밀번호 무차별 대입 또는 스프레이에만 사용할 수 있습니다. 인증 요청은 https://<target>/adfs/ls/idpinitiatedsignon.aspx?client-request-id=<randomGUID>&pullStatus=0로 전송됩니다. 오류 메시지는 비밀번호가 만료된 경우 사용자에게 알릴 수 있습니다.

이 모듈은 사용자 열거 및 비밀번호 무차별 대입/스프레이를 허용합니다.
여러 모드가 있습니다: office, oauth2, onedrive(아직 구현되지 않음). 인증이 이루어지지 않으므로 office 모드가 권장됩니다. Oauth2는 AADSTS 오류 코드를 통해 추가 정보(MFA 활성화, 계정 잠금, 계정 비활성화)를 검색할 수 있습니다.

사용자 열거와 마찬가지로 두 가지 모드가 있습니다: oauth2와 autodiscover(아직 구현되지 않음). Oauth2가 권장 모드이며, AADSTS 오류 코드 덕분에 많은 정보를 얻을 수 있습니다.

이 모듈은 사용자 열거 및 비밀번호 무차별 대입/스프레이를 허용합니다. 현재 NTLM 및 기본 인증이 지원됩니다.
열거는 인증 요청을 통해 이루어집니다. 존재하지 않는 사용자에 대한 인증은 유효한 사용자보다 더 오래 걸립니다. 먼저 유효하지 않은 사용자의 평균 응답 시간이 계산된 다음 각 인증 요청의 응답 시간이 비교됩니다.

계정 잠금 메커니즘은 이에 대한 정보가 반환되지 않으므로 구현할 수 없습니다.

이 모듈은 검색 기능을 통해 사용자 열거를 허용합니다.
기본적으로 한 조직은 다른 조직에서 연결될 수 있습니다. 이름, 성, 상태 정보, 부재 중 메시지 등과 같은 정보를 검색할 수 있습니다. 메시지를 보내지 않으면 대상 사용자는 자신이 검색되었음을 알지 못합니다. 이는 목표 이메일 주소 목록을 은밀하게 확인하고, 부재 중 사용자를 감지하는 등에 유용할 수 있습니다.

SMTP 서버는 사용자 열거 취약점에 취약할 수 있습니다. 세 가지 다른 기술로 사용자 열거가 가능합니다. 키워드는 RCPT TO, VRFY 및 EXPN입니다. 이 모듈은 지정된 도메인의 MX를 찾고 기본적으로 세 가지 방법을 테스트하여 유효한 사용자를 찾습니다.
