웹 애플리케이션 취약점 분석을 하다 보면 백신을 우회하기 위해 웹 애플리케이션 소스코드 인코딩와 또는 해킹 툴이 발견되어 분석을 위해 소스코드 디코딩이 필요한 경우가 있다.
○ 인코딩된 소스코드 예시
<%@ LANGUAGE = VBScript.Encode %>
<%#@~^nDgBAA==@#@&?nM\DRUmMrwDKr:W;O{,,O1,O,,O@#@&I/aWU/n ~EW0.P{PO.!+@#@&6 P3DMGMP]/!:+,1aY@#@&)f{JE@#@&/E(~?4WhA..`*@#@&qWP3.MPPtU@#@&I]jr@!4.@*@!l~tMn6'vNl7l/1Db2Y=tr/DW.zc4l1V`*B@*@!8.@*Lx(/2iE~LP3DM f/^.bwYrG~~~
<%@ LANGUAGE = VBScript.Encode %>
<%#@~^nDgBAA==@#@&?nM\DRUmMrwDKr:W;O{,,O1,O,,O@#@&I/aWU/n ~EW0.P{PO.!+@#@&6 P3DMGMP]/!:+,1aY@#@&)f{JE@#@&/E(~?4WhA..`*@#@&qWP3.MPPtU@#@&I]jr@!4.@*@!l~tMn6'vNl7l/1Db2Y=tr/DW.zc4l1V`*B@*@!8.@*Lx(/2iE~LP3DM f/^.bwYrG~~~
그러면 백신 우회하기 위한 소스코드 인코딩 방법과 침해사고 분석 시 가끔 위와 같이 소스코드가 인코딩 되어 있을 경우는 아래의 방법을 이용하여 디코딩이 가능하다.
○ 암 복호화
→ Encode
screnc 원본파일 암호화파일
Usage: screnc [/?] [/s] [/f] [/xl] [/l ScriptLanguage] [/e DefaultExtension] <source> <destination>
→ Encode
screnc 원본파일 암호화파일
Usage: screnc [/?] [/s] [/f] [/xl] [/l ScriptLanguage] [/e DefaultExtension] <source> <destination>
→ Decode
scrdec 원본파일 복호화파일 -cp 949
Usage: scrdec <infile> <outfile> [-cp codepage] [-urldec|-htmldec] [-verbose] [-dumb]
Code pages can be
932 - Japanese
936 - Chinese (Simplified)
950 - Chinese (Traditional)
949 - Korean (Wansung)
1361 - Korean (johab)
Any other code pages don't need to be specified.