- 신원 및 액세스 관리
- 네트워크 및 IT 운영
편집자 주: 이 프레젠테이션은 Andy Robbins가 GraphConnect 2017년 10월 뉴욕에서 진행했어요.
프레젠테이션 요약
SpecterOps는 현재 사이버 보안 조치를 평가하려는 기업에 Red Team 시뮬레이션, 적 탐지 및 적 복원력을 제공하는 곳이에요. 그들의 전문가들은 금융 서비스, 의료, 기술, 미디어 및 통신 산업 분야의 전 세계 기업뿐만 아니라 정부 기관을 보호하는 데 힘써왔다고 해요.
이번 프레젠테이션에서는 Resilience Lead인 Andy Robbins가 그래프가 어떻게 해커가 공격하는 방식을 변화시켰는지 자세히 알아볼 거예요. 그는 Robin Granberg의 Active Directory ACL Scanner와 ANSSI의 매우 중요한 프랑스 연구와 같은 몇 가지 관련 이전 작업을 언급하면서, 해커가 간단한 4단계로 기업을 공격하는 방법에 대해 자세히 설명합니다.
- 사후 공격 단계 (Post-Exploitation Phase)
- 데이터 유출 (Exfiltration)
공격 후 단계에 대한 몇 가지 생각을 나눈 후, Andy는 ID 눈덩이 공격, BloodHound 및 SharpHound 생성, 공격 경로 자동화를 탐색해요. 그는 또한 Calvin Hedler와 Vincent Yiu의 ANGRYPUPPY와 Tal Maor와 Itai Grady의 GoFetch라는 두 가지 주요 프로젝트의 제작에 대해서도 논의하는데, 이 두 프로젝트와 일반적인 공격 경로 자동화는 사이버 보안의 모습을 완전히 바꿀 수 있는 잠재력을 가지고 있다는 점이 정말 흥미롭죠?
전체 프레젠테이션: 그래프가 해커의 공격 방식을 어떻게 변화시켰는가
오늘 Andy Robbins는 공격자가 대기업에 침투하여 찾고 있는 정보에 액세스하고 엄청나게 빠른 시간 내에 빠져나가는 방법에 대해 이야기할 거예요.
제 이름은 앤디 로빈스에요. 앤디 로빈스이고, SpecterOps의 적 복원력 책임자입니다. 스펙터옵스에서 일하고 있죠. 간단히 말해서, 저는 공격자가 네트워크를 통해 어떻게 이동할 수 있는지 조직이 파악하도록 돕고, 기업이 이러한 공격 경로를 최대한 효과적이고 저렴하게 차단하는 방법을 찾도록 돕고 있어요. 이 모든 걸 공격 그래프를 통해 초안을 작성할 수 있답니다.
솔직히 말씀드리면, 제가 공식적인 수학이나 컴퓨터 과학 교육을 받은 적이 없다는 걸 아셔야 할 거예요. 하지만 지난 5년 동안 전문 침투 테스터이자 레드팀원으로 활동해 왔어요. 조직에 침입해서 데이터를 훔친 다음 보고서를 작성하고 떠나는 대가로 돈을 받았죠.
예전에는 그들이 문제를 해결하도록 도울 필요가 없었지만 지금은 그렇게 하고 있어요. 그래서 예전만큼 재미있지는 않네요.
저는 Black Hat Conference, DEF CON, ISSA International, (ISC)², 부에노스아이레스의 ekoparty, 오슬로의 Paranoia Conference에서 연설했어요. Black Hat USA와 Black Hat Europe에서 교육도 제공하고 있고요. 올해는 Black Hat Asia에서 싱가포르에서 강의하도록 초대받은 첫 해였답니다.
저희는 레드팀 전술을 가르치고, 적이 실제로 네트워크에 침입하는 방법을 가르치고, 마지막으로 개인 훈련과 더불어 이러한 전술을 수행하는 방법을 사람들에게 가르치고 있어요.
주목할 만한 이전 작업
제가 인정하고 싶은 이전 작업은 Microsoft의 백서인데요, 바로 Heat-ray: Machine Learning, 조합 최적화 및 공격 그래프를 사용하여 ID 눈덩이 공격에 대처입니다. Alice Zheng, John Dunagan 및 Daniel Simon이 2008년에 발표한 논문이죠.
안타깝게도 이 프로젝트는 빛을 보지 못했어요. Microsoft는 그냥 종료해버렸죠. 그걸로 돈을 버는 방법을 몰랐던 것 같아요. 아마 지하실 어딘가에 있는 상자 안에 쳐박혀서 다시는 보거나 들을 수 없을 거예요.
제가 인정하고 싶은 또 다른 작품은 Active Directory 제어판인데요, 프랑스 정부의 일부인 ANSSI의 프랑스 프로젝트입니다. 이걸 통해 그래프 이론 자체에 대해 조금 더 배우고, 정점과 모서리가 서로 어떻게 관련되어 있는지, 실제로 그래프 디자인을 효과적으로 구상하는 방법을 배울 수 있었어요.
또한 Microsoft의 Robin Granberg가 작성한 Active Directory ACL Scanner에도 감사의 인사를 전하고 싶어요. 덕분에 Active Directory에서 ACL이 작동하는 방식을 더 깊이 이해할 수 있었답니다.
제 생각에는 공격 그래프에 대한 이야기는 이 인용문 없이는 완성되지 않아요. Microsoft 위협 인텔리전스 총괄 관리자인 John Lambert의 글인데요.
존은 "수비자는 목록으로 생각한다. 공격자는 그래프로 생각한다. 이것이 사실이라면 공격자는 승리할 것이다"라고 말했어요. 이건 John이 2년 전에 올렸던 블로그 게시물의 제목이기도 하죠.
여기서 핵심 아이디어는, 방어자 입장에서 자산 목록, 사용자 목록을 가지고 있다는 거예요. 취약점 스캔을 수행하면 취약점 목록을 얻을 수 있죠. 하지만 아시다시피, 연결이 끊어진 데이터는 연결된 데이터만큼 가치가 없어요.
그렇다면 이러한 취약점은 실제로 무엇을 의미할까요? 어떤 시스템을 사용하고 있나요? 누가 그 시스템을 사용하죠? 해당 시스템에는 어떤 데이터가 있을까요?
목록 기반 사고방식으로는 이러한 질문에 대답하기 어렵지만, 그래프는 분명히 답을 제시해준답니다.
해커가 공격하는 방법
좀 더 구체적인 내용을 살펴볼까요? 해커는 실제로 기업을 어떻게 공격할까요?
Experian, Target 등 거의 매주 새로운 스토리가 쏟아져 나오죠. 항상 침해를 당하는 Fortune 500대 기업이 있어요. 흔히 듣는 표현은 "이것은 정교한 공격이었고, 이를 막기 위해 우리가 할 수 있는 일은 아무것도 없었습니다."일 거예요.
우리 업계에서 실제로 번역되는 내용은 "감사원이 지시한 일을 하기에는 너무 게을렀지만, 이게 국가 수준의 공격자나 그와 유사한 일이었다고 말할 때 여러분이 우리를 믿어주길 바랍니다."라는 뜻이죠.
이러한 공격이 실제로 어떻게 작동하는지 보여드릴게요. 실제로 얼마나 정교함이 거의 필요하지 않은지 알 수 있을 거예요.
1단계: 정찰 단계
모든 기업 공격은 4단계 방법론을 따릅니다. 정찰 단계, 초기 액세스 단계, 악용 후 단계, 그리고 유출 단계가 있죠.
정찰이란 특정 조직을 해킹하고 싶다는 걸 알고 있지만, 어떻게 해야 할까요? Neo4j를 해킹하고 싶고, Neo4j의 다음 버전이 출시되기 전에 소스 코드를 얻고 싶거나, 무료로 기업 라이센스를 삭감하고 싶다고 가정해 볼게요.
그러기 위해서는 Neo4j의 특정 시스템에 대한 액세스 권한이 필요해요. 저는 그 시스템이 무엇인지도 모르고 어디에 있는지도 모르죠. 아마도 LAN 어딘가에 있을 거고, 이에 접근할 수 있는 사람들이 있을 거예요.
그래서 그 사람들이 누구인지 알아내야 해요. 거기 누가 일하죠? 그들은 무엇을 하나요? 그들은 그곳에서 얼마나 오랫동안 일했을까요? 그들의 직업 이력은 무엇일까요? 나중에 설득력 있는 피싱 공격을 준비하기 위해 그곳에서 일하는 개인에 대해 무엇을 알 수 있을까요?
LinkedIn은 사회 공학자, 즉 해커의 가장 친한 친구나 다름없어요. LinkedIn에서 아래에서 볼 수 있듯이 저는 Michael Hunger와 1급 연결로 연결되어 있답니다.
저는 2차 연결의 전체 이름, 전체 프로필, 직업 이력, 교육, 그리고 보증까지 볼 수 있어요. Neo4j에서 Michael과의 연결은 단 하나뿐이지만, 그는 회사 거의 모든 사람들과 연결되어 있어서 그들의 이름을 모두 볼 수 있죠.
이걸 종합해서 이메일 목록을 만들 수 있어요. 해당 웹사이트, ICAN 등록, 또는 문의처 페이지를 통해 해당 이메일 주소 스키마가 뭔지 확인할 수 있죠. 피싱 공격에 사용될 이메일 주소의 전체 목록을 정리할 수 있다니!
정말 구체적으로 말하고 싶다고 가정해 볼게요. 특정 개인을 피싱하고 싶다면 어떻게 해야 할까요? Max에게 저는 2차 연결이지만, 여전히 그의 프로필에서 모든 걸 볼 수 있어요. Max에 관해 구글에서 어떤 정보를 얻을 수 있는지 찾아보죠. 그의 교육 정보를 볼 수 있네요. Florida Institute Technology에 다녔고, 컴퓨터 과학 학사 학위를 취득했다는 걸 알 수 있어요.
흥미로운 점은 그가 Tau Kappa Epsilon이라는 형제회에 속해 있었다는 거예요. 그래서 저는 그것에 대해 약간의 조사를 해볼 거예요. Tau Kappa Epsilon에서는 Christopher Niles가 Alumni Engagement Director인 것을 알 수 있네요. 여기서 중요한 점은 조직에 대해 가능한 한 많은 정보를 찾는 것이에요.
저는 사람에 초점을 맞춰왔지만, 기술적인 부분도 볼 수 있어요. 공용 IP 범위는 무엇일까요? 그들은 어떤 시스템을 사용할까요? 그 사람들이 Mac을 사용하나요? 아니면 Windows를 사용할까요? Active Directory를 사용할까요? 저는 정찰 단계에서 이 모든 정보를 알아낼 수 있어요.
2단계: 초기 액세스 단계
우리는 Max를 목표로 삼지 않기로 결정했어요. 대신에 우리는 이 사람과 이 형제회를 포함하는 일종의 계획을 세울 거예요. 우리가 원하는 건 초기 액세스 권한이에요. We assume the data we want or the system we want exists within the Neo4j LAN.
지금까지 우리가 알고 있는 내용은 다음과 같아요. 아래 이미지에서 대상은 오른쪽에 있고, 공격자는 왼쪽에 있으며, Neo4j가 이 대상 자산을 소유하고 있다는 것을 알고 있죠.
방화벽 덕분에 우리는 해당 대상 시스템에 즉시 논리적으로 액세스할 수 없어요. 따라서 LAN에 대한 일종의 초기 액세스가 필요하죠.
LAN 내에 존재하는 또 다른 것은 사용자 워크스테이션이에요. 대부분의 조직에서 내부 네트워크 토폴로지는 완전히 평면적이에요. 즉, 일단 네트워크에 접속하면 다른 시스템이 어디에 있는지, 조직에 어떤 위험 수준이 있는지에 관계없이 다른 시스템을 만질 수 있다는 거죠.
해당 시스템에 인증할 수는 없지만, ping은 할 수 있어요. 특정 포트에 접속할 수 있죠. SSH를 통해 비밀번호나 그와 유사한 것을 추측해 볼 수도 있구요. 해당 워크스테이션에 액세스할 수 있다면 시스템에 대한 논리적 액세스 권한이 생기는 거예요.
다음과 같은 이메일을 작성해 볼게요.
Max가 이 사람을 조사하거나 전화할 시간이 없도록 의도적으로 마감일을 오늘로 정했어요. 그가 우수 동문이 되고 싶다면 지금 당장 이 문서를 작성해야 하는 거죠.
짐작하시겠지만, 이 이메일에 첨부된 문서는 다소 악의적일 거예요. 공격자로서 우리가 할 수 있는 일에는 다양한 옵션이 있어요. 문자 그대로 바이너리(실행 파일 등) 또는 Python 스크립트로 만들 수 있죠.
좀 더 은밀하게, 좀 더 효과적으로 스팸 제어 및 맬웨어 방지 제어를 우회하고 싶다면 해당 스크립트를 실행할 수 있는 일종의 다른 문서에 포함시킬 수 있어요. 결론은 Max가 우리를 위해 스크립트를 실행하기를 원하고, 그가 그렇게 하도록 격려하고, 자신이 하는 일이 자신에게 좋다고 믿게 되기를 바라는 거예요.
해당 스크립트는 그의 워크스테이션에서 실행될 것이고, 공격자인 저에게 다시 HTTPS 연결을 만들 거예요. 그리고 이는 웹 요청과 매우 유사하게 보일 거예요. 제가 할 수 있는 다양한 수송 수단이 엄청나게 많으며, 이를 명령 및 제어 수송 수단으로 사용할 수 있죠.
이제 Max가 첨부 파일을 두 번 클릭했지만 맬웨어 방지 프로그램이 이를 포착하지 못했다는 가정 하에 LAN에 액세스할 수 있게 되었어요. 공격의 가장 쉬운 단계는 네트워크에 액세스하는 것이죠.
3단계: 공격 후 단계
이제 액세스 권한이 있으므로 공격 후 단계에 있어요.
착취 후는 훌륭한 침투 테스터와 훌륭한 레드 팀을 구분하는 요소예요. 누구나 네트워크에 액세스할 수 있어요. 아주 아주 간단하죠. 그러나 낮은 권한에서 매우 높은 권한으로 이동하여 대상에 액세스할 수 있는 능력을 갖추는 것은 조금 더 어렵고 기술 기반이죠.
우리가 아무것도 모르는 네트워크에 접속할 때 필요한 것은 상황 인식이에요. 우리는 어떤 컴퓨터가 존재하는지, 어떤 사용자가 존재하는지, 어떤 파일 공유가 존재하는지, 사용자가 어디에 로그온했는지 등을 알아야 하죠.
Microsoft Active Directory의 장점과 마법은 Active Directory의 인증된 사용자가 거의 모든 정보를 알아낼 수 있다는 거예요. PowerView는 이에 대한 솔루션이죠.
PowerView는 Will Schroeder가 개발한 공격 후 상황 인식 프레임워크예요. PowerShell로 작성되었고, PowerShell v2와 호환되죠. 즉, PowerShell이 실행 중인 시스템에 접속하면 바로 사용할 수 있다는 뜻이에요.
다음으로는 Mimikatz를 살펴볼까요? 여러분이 Windows 워크스테이션의 로컬 관리자이고 프로세스 무결성이 높은 무결성이라고 가정해 볼게요. 다른 사람이 동일한 시스템에 로그인했다면, Mimikatz를 사용해서 메모리에서 해당 비밀번호를 가져올 수 있어요.
Mimikatz를 사용하면 사용자의 비밀번호가 아무리 길고 복잡하더라도, 비밀번호의 매개변수가 어떻든 일반 텍스트로 메모리에서 사용자 비밀번호를 추출할 수 있어요. Mimikatz는 Benjamin Delpy가 Vincent Letoux의 다른 기여와 함께 만들었어요.
아래에서 메모리에서 가져온 일반 텍스트 비밀번호의 예를 볼 수 있어요.
관심 있는 사용자가 로그인한 시스템에서 로컬 관리자 권한을 얻을 수 있다면, 그 사용자의 비밀번호를 알아내고 그 사용자가 될 수 있어요. 공격 경로를 계속할 수 있죠. 작업을 수락한 다음 내 제어 서버로 정보를 다시 보내는 컴퓨터에서 실제로 실행되는 소프트웨어를 에이전트 또는 임플란트라고 해요. Beacon, Empire 그리고 Meterpreter는 훌륭한 도구들이에요.
다음은 Mimikatz의 실제 동작에 대한 간략한 설명이에요.
4단계: 유출 단계
에스컬레이션 프로세스를 거친 후 대상을 인증할 수 있어요.
액세스 권한을 얻은 다음에는 유출할 준비가 된 거예요. 이를 수행하는 가장 쉬운 방법은 네트워크에서 기존 전송을 다시 이용하는 것이죠. Neo4j 4.0 소스 코드 또는 Enterprise Edition 라이센스에 액세스한 다음 기존 전송을 통해 내 시스템으로 다시 가져오는 거예요.
사후 착취에 대한 몇 가지 추가 생각
공격 후 공격은 조직의 보안 태세의 성숙도에 따라 매우 쉬울 수도 있고 매우 어려울 수도 있어요.
예를 들어 많은 조직에서는 모든 사람에게 로컬 관리자 권한을 부여하고 모든 워크스테이션의 로컬 관리자에 대해 동일한 비밀번호를 사용해요. 이 경우 공격자가 침입하여 로컬 관리자가 되면 그걸로 끝이에요. 모든 것에 접근할 수 있게 되죠.
하지만 많은 조직은 그렇게 구성되어 있지 않아요. 사용자에게는 로컬 관리자 권한이 없고, 로컬 관리자 비밀번호는 시스템마다 다르죠. 그런 상황에서 우리는 익스플로잇을 사용하는 것이 두 가지 이유로 매우 위험하다는 것을 알게 되었어요.
첫째, 시스템을 망가뜨릴 수 있고, 이는 좋지 않아요. 컨설턴트로서 그건 나쁜 고객 관리죠. 또한 바이러스 백신 프로그램이 작동될 수도 있어요. 이로 인해 다른 경고가 발생할 수 있고, 우리가 원하지 않는 주의가 집중될 수 있죠.
둘째, 상황 인식은 시간이 많이 걸리고 매우 지루해요. 저는 모든 시스템을 사용해보기 때문에 제가 관리자인지 파악하는 것은 매우 쉬워요. 하지만 한 번에 다른 사용자를 파악하는 것은 거의 불가능하죠.
우리가 발견한 것은 매우 일반적이고 매우 신뢰할 수 있는 패턴이 나타났다는 거예요. 이러한 침투 테스트와 공격을 계속해서 수행하면서 패턴을 발견했죠. Target, Fannie Mae 및 공개된 기타 조직의 위반 보고서에서 이러한 내용을 확인할 수 있어요. 이를 파생 로컬 관리자 또는 ID 눈덩이 공격이라고 해요.
신원 눈덩이 공격
다음은 ID 눈덩이 공격의 모습에 대한 간략한 설명이에요.
블러드하운드 소개
친구가 저에게 Graph Theory를 소개해줬어요. Node와 Relationship, 다익스트라 알고리즘, A-star 알고리즘에 대해 배웠죠. 저는 이 워크플로를 자동화하기 위한 개념 증명을 생각해냈고, 효과가 있었어요.
따라서 이 프로세스를 수동으로 진행하는 대신, 공격 그래프를 사용해서 이 모든 내용을 그래프로 표현할 수 있어요. 그 결과가 바로 이 프로젝트, BloodHound랍니다.
제 생각에 그래프에서 가장 첫 번째 단계는 그래프 디자인이에요. 시스템을 효과적으로 표현해야 하고, 효율적이어야 하며, 확장성도 좋아야 하죠. 어느 정도 미래에 대한 대비도 되어 있어야 하고요.
그래프를 디자인할 때 가장 먼저 고려한 사항은 보안 그룹 위임이었어요. 예를 들어, 내가 어떤 그룹에 나 자신을 추가하고, 그 그룹이 컴퓨터의 로컬 관리자라면, 나는 그 컴퓨터의 로컬 관리자가 되는 거죠. 이건 무한정 확장될 수 있어요. 그룹을 그룹에 추가하고, 또 그룹에 추가하고, 또 그룹에 추가할 수 있거든요. 그리고 맨 끝에 있는 그룹은 어떤 권한을 가지고 있든 완전히 롤백돼요.
두 번째는 사용자 자격 증명 도용이에요. 컴퓨터에 접근할 수 있다면 사용자 자격 증명과 사용자가 어디에 로그인했는지 같은 자격 증명 가용성을 훔칠 수 있잖아요. 우리도 그 점을 고려해야 했어요. 저는 이걸 단순하게 유지하고 싶었고, 앞으로의 스키마에 추가할 수 있을 만큼 유연하게 유지하고 싶었어요. 결과는 아래에서 볼 수 있듯이 매우 간단하답니다.
맨 왼쪽에 있는 사용자는 그룹의 구성원일 수도 있고, 컴퓨터의 관리자일 수도 있어요. 그룹은 그룹의 구성원일 수도 있고, 컴퓨터의 관리자일 수도 있고요. 컴퓨터는 사용자를 위한 세션을 가질 수 있죠.
왼쪽 하단의 사용자에서 오른쪽 하단의 사용자까지 경로가 나타나는데, AdminTo 관계, 그 다음은 HasSession 관계예요. 이 데이터 모델의 단순성 덕분에 매우 간단한 쿼리를 작성할 수 있었답니다.
자, 여기 두 개의 Cypher 쿼리 예제를 살펴보고, 인터페이스에서도 이것이 실제로 어떻게 보이는지 보여드릴게요.
첫 번째 줄은 사실상 사용자의 그룹 멤버십이에요. 원본 사용자에서 임의의 그룹 레이블이 지정된 Node까지 무제한 검색을 수행하죠. 그런 다음 사용자의 효과적인 로컬 관리자 권한을 위해 트래버스해요. MemberOf and AdminTo Node를 사용해서 해당 보안 그룹 위임을 끝까지 따르면 AdminTo 관계를 무기한으로 따라가는 거죠.
종종 이것이 따르는 마지막 관계는 AdminTo예요. 매우 간단하죠? 아주 아주 쉬워요. 컴퓨터에도 효과적인 추가 기능은 매우 쉽답니다.
저는 항상 특정 그룹에 속한 사용자가 어디에 로그인했는지 알고 싶어 해요. SQL Admins라는 그룹이 있고 이들이 SQL 서버에서 작업하는 경우, 해당 서버에 액세스하려고 할 텐데, 해당 그룹의 사용자가 정확히 어디에 로그인했는지 알고 싶은 거죠. 이 쿼리(아래)는 여기서 맨 마지막에 지정하는 그룹을 보여줘요.
해당 그룹의 유효 구성원이 누구인지, 해당 사용자에 대한 세션이 있는 컴퓨터가 무엇인지 확인하는 거죠.
데이터 수집: SharpHound
이 데이터를 얻으려면 다음과 같은 도구가 있어요. SharpHound!
이는 Will Schroeder(위에서 언급한)의 원본 PowerShell 수집기를 기반으로 해요. .NET 리플렉션을 사용해서 PowerShell에서 실행할 수도 있는 C# 컴파일 바이너리랍니다.
공격자로서 SharpHound를 사용하면 완전히 메모리 상주 상태를 유지할 수 있어요. 대부분의 바이러스 백신은 메모리 내용을 분석하지 않기 때문에 우리에게는 흥미로운 부분이죠. 디스크에 기록된 내용만 분석하니까요. 디스크를 사용하지 않으면 대부분의 바이러스 백신 프로그램을 피할 수 있답니다.
SharpHound에는 LDAP 또는 SMB를 통해 도메인 컨트롤러에서 정보를 수집한 다음, SMB를 통해 도메인 가입 워크스테이션에서도 정보를 수집할 수 있는 기능이 있어요. 우리가 수집하는 데이터는 기업 전체의 로컬 관리자 그룹 멤버십이며, 사용자는 기업 및 보안 그룹 멤버십 전체에 로그인한답니다.
제가 몇 번 말씀드렸듯이, 도메인의 모든 사용자는 이 정보를 수집할 수 있어요. 이걸 수집하기 위해 특별한 권한 같은 건 필요 없고요.
BloodHound UI는 Linkurious를 기반으로 만들어졌고, Electron App이기 때문에 크로스 플랫폼 기능을 아주 쉽게 제공할 수 있죠.
저희는 Neo4j의 JavaScript Driver를 사용해서 Neo4j와 연결해요. 그리고 UI를 통해 청크 CSV 주입을 하죠. Neo4j 콘솔에서 작업하는 걸 불편해하는 분들을 위해 사용자 친화적인 옵션을 많이 준비했어요.
침투 테스터들은 그래프 자체에는 크게 관심이 없어요. 오직 목표를 달성하는 경로에만 집중하죠. 그래서 저희는 UI에서 CSV 주입을 청크 단위로 처리하고, 사용자 정의 `Cypher` 쿼리를 실행해서 결과 그래프나 `Node`를 인터페이스에서 바로 그릴 수 있도록 모달 추가 기능도 제공하고 있어요.
인터페이스가 실제로 어떻게 생겼는지 한번 살펴볼까요?
공격 경로 자동화
공격 경로 자동화는 정말 혁신적이라서 많은 사람들이 공격 경로 자동화를 시작하게 만들었어요. 기업 방어자 입장에서는 꽤나 무서운 개념이죠.
공격 경로 자동화 분야에서 눈에 띄는 주요 프로젝트 두 가지가 있어요. 하나는 GoFetch인데, Tal Maor와 Itai Grady가 Microsoft의 ATA 팀에서 만들었어요. 또 다른 프로젝트는 ANGRYPUPPY인데, Calvin Hedler와 Vincent Yiu (전 MDSec)가 만들었죠. Tal Beery와 Tal Maor는 올해 Black Hat Europe에서 수평 이동의 산업 혁명이라는 주제로 꽤 인상적인 발표를 했어요.
이들은 공격 경로 식별 및 자동화가 사이버 보안의 판도를 완전히 바꿀 잠재력이 있다고 언급했어요. GoFetch나 ANGRYPUPPY가 나오기 전에는 공격자가 네트워크에 침투하는 데 엄청난 노력이 필요했죠.
공격자들은 방어자에게 자신을 드러낼 기회를 많이 줬고, 방어자들은 느릿느릿 움직이는 공격자들에게 의존해야 했어요. 예전에는 2주 반이나 걸리던 과정이 이제 공격 그래프 덕분에 한 시간 만에 끝낼 수 있게 되었죠.
이제 방어자들은 거의 희망이 없어요. 공격자들이 공격 경로를 빠르게 식별하고 실행해서, 방어자들이 절대 뿌리 뽑을 수 없는 방식으로 네트워크에 지속성을 확보할 수 있기 때문이죠. 예전에는 몇 주, 몇 달 걸리던 일을 이제는 아침에 끝낼 수 있다니, 정말 놀랍죠?
방어자 입장에서 보면, 그래프 덕분에 공격자들이 해킹하는 속도가 너무 빨라져서 무서울 정도예요.
- Bloodhound
- Cybersecurity
- GraphConnect
- JavaScript
- Mimikatz
- Situational Awareness
에이치시스템즈의 LogTree는 Neo4j 기반 GraphRAG 플랫폼으로, 데이터를 자동으로 지식그래프화하고 자연어 질의로 즉시 답을 제공합니다.
'Neo4j' 카테고리의 다른 글
| Bluesky 사용자 상호작용 그래프: AuraDB Free로 발견하기 (47주차) (0) | 2026.09.30 |
|---|---|
| Bloom Scene Actions - 그래프와 상호작용하는 색다른 방법 (0) | 2026.09.30 |
| 블로그 포스트: 커뮤니티 지원 (0) | 2026.09.29 |
| 눈 깜짝할 사이 추천: Tim Hanssen과의 5분 인터뷰 (0) | 2026.09.29 |
| Neo4j와 NeoDash로 만드는 비트코인 거래 실시간 대시보드 (0) | 2026.09.29 |
