Scenario-based attack techniques from Red Team

라온화이트햇 핵심연구팀 이재용

공격자 관점과 시나리오로 바라본 기업 보안 실태

이 문서는 공격자의 시각으로 작성한 시나리오와, 경험한 내용과 통계를 통한 기업 보안 실태에 대해 분석한 내용을 담고 있습니다.

1. 개요

세계적으로 2019년 말부터 시작된 COVID-19의 전파로 인해 기업계는 급격한 디지털 전환을 강제로 이뤄내게 되었습니다. 이에 따라 많은 기업들이 디지털화를 추진하고 있는데, 이러한 변화 속도가 급격하다 보니 보안 측면에서의 대응도 따라가기 어려운 경우가 많습니다. 특히 중소기업의 경우, 보안에 대한 취약점이 더욱 두드러지게 나타나고 있는 것으로 보입니다.

여러 다양한 통계 자료와 개인적인 견해를 종합하여 이 글을 작성하였습니다. 더불어 추가적인 시나리오를 통해 실제 공격 가능성과 공격 흐름에 대한 예시를 제시하였습니다.

급격한 디지털화로 인해 기업들이 직면한 보안 문제는 쉽게 무시할 수 없는 실제입니다. 중소기업은 특히 이러한 문제에 대한 대응이 미흡할 가능성이 높은데, 이를 바탕으로 공격자의 시선에서 그 가능성과 피해 흐름을 분석하였습니다.

2. 현재의 기업의 보안 실태

2019년 말의 COVID-19 발병 이후, 중소기업과 대기업을 막론하고 기업들은 급격한 디지털 전환을 경험하게 되었습니다. 재택근무, 원격강의, 온라인 쇼핑 등 디지털화된 프로세스가 빠르게 적용되었지만, 이로 인해 보안 문제가 발생할 수 있는 잠재성이 존재하며, 실제로도 다양한 공격 사례가 발생하였습니다. 반면에 보안에 대한 대응 및 기술적 발전은 이 변화에 비해 상대적으로 더딘 속도로 이루어지고 있는 실정입니다.

2.1. 기술 보호를 위한 보안 관리 애로사항 통계

/assets/2023-12-04/1.png

상기 표는 2022년 한국정보보호산업협회에서 발표한 정보 보호 실태조사 보고서에서 얻은 데이터를 정리한 내용을 담고 있습니다. 표를 통해 드러나는 사항은 기술적인 보호를 위한 보안 관리에서 마주하는 어려움으로, 이는 다양한 요인들로 인해 복잡하게 얽혀있음을 확인할 수 있습니다. 특히 정보보호 예산 확보시스템 및 체계 운용 관리 등의 측면에서 어려움을 겪고 있는 것으로 드러납니다. 이러한 문제들은 정보보호에 대한 신경을 쓰는 것이 중요함에도 불구하고, 실제 예산을 적절하게 할당하지 않거나, 사고가 발생한 이후에야 예산을 투입하는 형태로 보안에 접근하는 경향을 보여줍니다.

2.2. 정보보호 수행 인력 통계

/assets/2023-12-04/2.png

해당 보고서에 따르면, 정보보호 업무를 수행하는 인원의 평균은 1.6명으로 기록되어 있습니다. 더불어, 병행 수행을 하는 인원의 경우, 평균적으로 1.1명과 1.6명으로 나타나 있습니다. 이와 같은 상황에서는 정보보호를 전담하는 인력의 부족으로 인해 겉으로만 보이는 정보보호나 단순한 보직 설정에 머무르는 경우가 늘어날 수 있습니다. 이로 인해 실제 정보보호 활동보다는 보안 업무를 부수적으로 수행하거나 간접적으로 처리하는 경우가 더 빈번하게 나타날 것으로 예상됩니다. 이러한 현상은 정보보호 분야의 중요성에 비해 충분한 전문가 인력이 배치되지 않는 상황에서 발생하는 문제로 간주될 수 있습니다.

2.3. 경험한 침해사고 유형 통계

/assets/2023-12-04/3.png

이와 별개로, 보고서에 따르면 기업의 약 3.7%가 침해사고를 경험했다고 언급되며, 이 중 약 94.2%의 기업이 실제 침해사고에도 불구하고 신고하지 않았다는 결과가 나타났습니다. 이로써 랜섬웨어 감염, 외부로부터의 불법적 접근, 시스템 마비와 같은 침해사고가 발생하더라도 실제로 그 깊은 내용을 충분히 파악하지 않거나, 실제 침해사고를 경험했음에도 불구하고 그 사실을 모르는 경우가 많아서 이런 결과가 나온 것으로 보입니다.

이러한 상황은 중소기업을 비롯한 모든 기업에 영향을 미치는 일반적인 경향입니다. 그러나 특히 작은 규모의 중소기업은 이러한 침해사고에 대한 적절한 대응과 상황 대처가 더 어려울 가능성이 큽니다. 그 이유는 작은 규모의 기업은 한정된 리소스 내에서 다양한 업무를 처리해야 하기 때문입니다. 이에 따라 보안 역시 중요한 분야임에도 불구하고 실제 업무 우선순위와 경쟁하게 되어 보안에 충분한 관심과 예산을 할당하기 어렵게 됩니다.

따라서 중소기업 역시 보안에 대한 적극적인 대응이 필요하며, 이를 위해 예산을 충분히 확보하여 보안 강화를 실시하는 것이 중요합니다. 보안 위협에 대한 경각심을 높이고, 전문적인 보안 전문가의 도움을 받아 효과적인 대비책을 수립하고 실행함으로써, 침해사고 발생 시의 피해를 최소화하고 기업의 지속가능성을 보장할 수 있을 것입니다. 이에 중소기업들도 보안에 대한 대책 마련과 예산 투입을 미루지 않고 적극적으로 추진해야 함을 강조하고자 합니다.

3. 해킹 (악의적 목적) VS 침투테스트

정의는 위키피디아 페이지를 참고하여 작성되었습니다.

3.1. 해킹 정의(악의적 목적)

3.2. 침투테스트의 정의

3.3. 차이점?

  1. 시간: 침투 테스트는 미리 계획된 일정 내에서 진행됩니다. 이로 인해 한정된 시간 동안 최대한의 결과를 얻으려고 노력하지만, 악의적인 해킹의 경우에는 사전 알려진 시간표나 일정이 없습니다. 이는 해커들이 무한한 시간을 할애하여 작업할 수 있다는 점에서 차이가 있습니다.
  2. 인원: 침투 테스트는 사전 협의된 인원만이 테스트를 진행합니다. 이로 인해 깊이 있는 진단이 어려울 수 있습니다. 반면 악의적인 해킹은 사전 협의 없이 진행되므로 해커들은 다양한 인원과 역량을 활용하여 접근할 수 있습니다.
  3. 접근 범위: 침투 테스트에서는 사전에 합의된 범위 내에서 작업이 진행됩니다. 악의적인 해킹의 경우 협의 없이 진행되므로 모든 서버에 대해 공격이 이뤄질 수 있습니다. 또한 중요한 정보를 획득한 후 이를 다크웹에서 판매하는 경우도 발생할 수 있습니다.

4. 시나리오로 바라본 공격 가능성에 대한 검증

위에는 간략하게 나타낸 시나리오 구상도 입니다. 순서대로 확인하며, 공격 가능성에 대한 검증을 진행해 보겠습니다.

/assets/2023-12-04/4.png

4.1. 공격대상 확인

실제 공격 대상이 정해진 경우 일반적으로 공격 대상에 대한 조사를 진행하게 됩니다.

4.1.1. OSINT

OSINT의 경우 여러 방법이 존재하지만 대표적으로 whois 정보 조사, Google Hacking, Search Engine을 통한 자료 수집 등이 있습니다.

/assets/2023-12-04/5.png

위의 그림은 한국 내 웹 사이트내 디렉터리 리스팅 취약점이 발생한 사이트를 시각적으로 보여줍니다. 이러한 단순한 검색을 통해서도 취약점이 존재할 수 있음을 확인할 수 있습니다. 이러한 취약점은 웹 사이트에서 디렉토리 정보를 노출시키는 문제로, 해커가 쉽게 웹 사이트 내의 파일 및 폴더 구조에 접근할 수 있는 문제를 의미합니다.

이와 같은 간단한 검색을 통해 실제 공격 대상을 식별하고 공격 포인트를 수집하는 것이 가능해집니다.

4.1.2 포트스캔

/assets/2023-12-04/6.png

포트 스캔은 외부에 노출된 네트워크 포트를 확인하는 과정을 의미합니다. 이 과정을 통해 잘 알려진 포트들을 확인하며, 이어서 해당 포트에 대한 알려진 취약점을 조사하고 공격 포인트를 도출하는 작업이 이루어집니다.

포트 스캔은 네트워크 보안 분야에서 중요한 역할을 합니다. 외부로 열린 포트를 확인함으로써 해커나 악의적인 공격자는 취약점을 찾아내어 해당 포트를 통해 시스템에 침입하거나 공격을 시도할 수 있습니다. 즉 포트 스캔은 해커들이 시스템에 침입할 수 있는 문을 찾는 작업으로 생각하시면 될 꺼 같습니다.

4.2. 실제 공격 진행

공격 대상을 식별 뒤 실제 공격을 진행하게 됩니다. 위 시나리오는 호스팅 업체에 있는 대표 홈페이지를 예시로 진행할 예정입니다.

4.2.1. 대표홈페이지 공격

/assets/2023-12-04/7.png SQL 인젝션과 파일 다운로드 및 업로드 취약점은 웹 보안에서 흔히 발생하는 문제입니다. 이러한 취약점을 통해 해커들은 웹과 연결된 데이터베이스(DB)에 접근할 수 있게 됩니다. 특히 SQL 인젝션은 악의적인 SQL 쿼리를 삽입하여 데이터베이스에 접근하는 기술로, 이를 통해 암호화된 관리자 계정의 비밀번호나 고객 정보와 같은 중요한 데이터를 탈취할 수 있습니다.

또한 웹 서버에 저장된 데이터베이스 정보를 통해, 회사에서 사용하는 중요한 데이터베이스에 접근할 수 있는 문제도 발생할 수 있습니다. 이를 통해 해커는 민감한 정보와 비즈니스 데이터를 탈취하거나 조작할 수 있습니다.

암호화된 비밀번호를 탈취하는 경우, 해시값을 해독하기 위해 HASHCAT과 같은 도구를 사용합니다. 패스워드가 소문자와 숫자, 몇 가지 특수문자로 이루어진 경우, 공격자들은 비교적 짧은 시간 내에 해시 값을 해독할 수 있습니다. 이를 통해 공격자는 유저의 패스워드를 복원하고, 이를 통해 다른 시스템에 대한 권한을 획득할 수 있습니다.

4.3. 내부망 침투

이후, 외부에서 획득한 정보를 활용하여 내부망 접근을 시도하게 됩니다. 위 그림과 같이 시나리오에서는 MSSQL의 사용을 가정했습니다. 또한 내부와 외부가 연결되어 있는 DMZ망에 위치하며, 앞에서 획득한 암호화된 패스워드를 해독한 후, 크리덴셜 스터핑을 통해 내부망으로의 접근을 시도하는 것으로 가정하겠습니다.

크리덴셜 스터핑은 이전에 유출된 패스워드와 아이디 정보를 활용하여 다른 시스템에 접근하는 공격 기법으로, 사용자가 동일한 패스워드를 여러 시스템에서 사용하는 경우에 취약점이 될 수 있습니다.

4.3.1. 내부망 침투 및 터널링

앞에서 획득한 정보를 바탕으로 MSSQL에 접근하며, 이후 xp_cmdshell 기능을 활용하여 터널링 작업을 진행합니다. xp_cmdshell은 데이터베이스 서버에서 운영 체제의 명령어를 실행할 수 있도록 해주는 기능으로, 이를 통해 다양한 악의적 행동을 시도할 수 있습니다.

해커가 xp_cmdshell을 통해 터널링을 성공시키면, 내부 사용자 PC에 접근할 수 있는 기회를 얻게 됩니다. 이후에는 다양한 시나리오가 발생할 수 있습니다. 예를 들어, 랜섬웨어 감염을 통해 중요한 데이터를 암호화하고 금전적 이득을 추구할 수 있습니다. 또는 공장의 경우, 공장 시설을 마비시키는 악의적 조작을 할 수 있습니다. 또는 서버를 장악한 후, 해당 서버를 2차 경유지로 활용하여 다른 시스템으로의 침투 작업을 시도할 수 있습니다.

이러한 시나리오는 데이터베이스와 운영 시스템 간의 상호작용을 통해 발생하며, 보안 강화와 데이터베이스 관리의 중요성을 강조합니다. 데이터베이스 관리자와 보안 전문가는 xp_cmdshell과 같은 위험한 기능을 비활성화하거나 적절한 접근 제어를 설정하여 이러한 공격을 방지하고 대비해야 합니다. 또한 데이터베이스 및 시스템 보안을 강화하여 내부 및 외부 공격으로부터 데이터와 시스템을 보호하는 것이 중요합니다.

터널링 기술의 경우 라온 기술 블로그에 상세히 적혀있으므로, 세부적인 기술 내용은 생략하겠습니다.

5. 결론

이번 글을 통해 다양한 통계 자료를 분석하고, 실제 사례와 유사한 시나리오를 가정하여 침투 과정을 설명해보았습니다. 비록 실제 사건의 세부 내용을 직접 다루지는 못하였지만, 이러한 예시를 통해 보다 많은 기업들이 보안에 대한 중요성을 깨닫고, 실제 해킹 사고가 어떻게 이루어지는지에 대한 이해를 높일 수 있기를 바랍니다.

우리는 지속적으로 발전하는 디지털 환경에서 보안 위협에 더욱 노출되고 있습니다. 따라서 이러한 인식과 이해가 중요한데, 이 글이 그 방향으로 한 발짝 더 나아가는 데 도움이 되었으면 좋겠습니다.

긴 글을 읽어주셔서 감사드립니다.

6. 참고자료

https://stat.kosis.kr/statHtml_host/statHtml.do?orgId=142&tblId=DT_34006H_063&dbUser=NSI_IN_142

[https://www.kisia.or.kr/bucket/uploads/2023/08/07/2022년 정보보호실태조사 보고서(최종)웹 버전 최적화.pdf](https://www.kisia.or.kr/bucket/uploads/2023/08/07/2022%EB%85%84%20%EC%A0%95%EB%B3%B4%EB%B3%B4%ED%98%B8%EC%8B%A4%ED%83%9C%EC%A1%B0%EC%82%AC%20%EB%B3%B4%EA%B3%A0%EC%84%9C(%EC%B5%9C%EC%A2%85)%EC%9B%B9%20%EB%B2%84%EC%A0%84%20%EC%B5%9C%EC%A0%81%ED%99%94.pdf)

https://ko.wikipedia.org/wiki/해킹

https://en.wikipedia.org/wiki/Penetration_test

https://nmap.org/book/man.html

https://hashcat.net/hashcat/

https://core-research-team.github.io/2020-04-01/Multiple-tunneling