티스토리 툴바

1) 자료\2) 툴\5) 언패킹

GUnPacker.V0.4 generick unpacker & helper November 12, 2008

Posted by reversengineering in TOOLS, UNPACKERS.
trackback

GUnPacker.V0.4 generick unpacker & helper
ACProtect 1.09、1.32、1.41、2.0
AHPack 0.1
ASPack 102b、105b、1061、107b、1082、1083、1084、2000、2001、21、211c、211d、211r、212、212b212r
ASProtect 1.1,1.2,1.23RC1,1.33,1.35,1.40,SKE.2.11,SKE.2.1,SKE.2.2,2.3.04.26,2.4.09.11
Alloy 4.1、4.3
alexprot 1.0b2
Beria 0.07
Bero 1
BJFNT 1.2、1.3
Cexe 10a、10b
DragonArmor 1
DBpe 2.33
EPPort 0.3
eXe32Pack 1.42
EXECrypt 1
eXeStealth 2.75a、2.76、2.64、2.73、2.76、3.16(支持,但效果不是很好)
ExeSax 0.9.1(支持,但效果不是很好)
eXPressor 1.4.5.1、1.3(支持,但效果不是很好)
FengYue’Dll unknow
FSG 1.33、2.0、fsg2.0bart、fsg2.0dulek
GHF Protector v1.0(支持,但效果不是很好)
Krypton 0.2、0.3、0.4、0.5(For ALL 支持,但效果不是很好)
Hmimys Packer UnKown
JDProtect 0.9、1.01、2.0
KByS unknow
MaskPE 1.6、1.7、2.0
MEW 11 1.0/1.2、mew10、mew11_1.2、mew11_1.2_2、mew5
molebox 2.61、2.65
morphine 2.7(支持,但效果不是很好)
MKFpack 1
Mpress UnKown
Mucki 1
neolite 2
NCPH 1
nsapck 2.3、2.4、3.1
Obsidium 1.0.0.69、1.1.1.4(For ALL 支持,但效果不是很好)
Packman UnKown
PCShrink 0.71
PC-Guard v5.0、4.06c
PE Cryptor 1.5
PEBundle 2.3、2.44、3.0、3.2
PE-Armor 0.46、0.49、0.75、0.765
PECompact 1.x
PEDiminisher 0.1
PELock 1.06
PEncrypt 4
pepack 0.99、1.0
PELockNt 2.01、2.03、2.04
PEtite 1.2、1.3、1.4、2.2、2.3
PKlite32 1.1
PolyCryptA UnKown
peshield 0.2b2(支持,但效果不是很好)
PESpin 0.3(支持,但效果不是很好)、0.7、1.1、1.3
PEX 0.99
PolyCrypt PE 1.42
PUNiSHER 1.5(支持,但效果不是很好)
RLPack 1.1、1.6、1.7、1.8
Rubbish 2
ShrinkWrap 1.4
SDProtector 1.12、1.16
SLVc0deprotector 0.61(支持,但效果不是很好)、1.12
SimplePack 1.0、1.1、1.2
SoftSentry 3.0(支持,但效果不是很好)
Stealth PE 1.01、2.1
Stone’s PE Encryptor 1.13
SVKP 1.11、1.32、1.43
ThemidaDemo 1.0.0.5
teLock 0.42、0.51、0.60、0.70、0.71、0.80、0.85、0.90、0.92、0.95、0.96、0.98、0.99
Upc All
Upack “0.1、0.11、0.12、0.20、0.21、0.22、0.23、0.24、0.25、0.26、0.27、0.29、
0.30、0.31、0.32、0.33、0.34、0.35、0.36、0.37、0.38、0.39、0.399″
UPolyX 0.2、0.5
UPX “0.51、0.60、0.61、0.62、0.71、0.72、0.80、0.81、0.82、0.83、0.84、0.896、
1.0w、1.03、1.04、1.25w、2.0w、2.02、2.03、3.03、UPX-Scrambler RC1.x”
V2Packer 0.02
VisualProtect 2.57
Vprotector 1.2
WindCrypt 1.0
wwpack32 v1.20、v1.11、v1.12
WinKript 1
yoda’s cryptor v1.1、v1.2
YZPACK 2.0
yoda’s Protector v1.02、v1.03.2、v1.03.3、v1.0b

original & unpacked:BY PAVKA
<출처>
http://reversengineering.wordpress.com/2008/11/12/gunpackerv04-generick-unpacker-helper/

Trackback 0 | Comment 0
Snort 시그니쳐 구조

나를 위한 정리 문서이므로 경어는 생략하겠습니다.
일단 예를 들어보자.

alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)
alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:올라;뭐라;)
...

지금 bold 처리된 룰은 rpc 관련 룰(rpc.rules)을 열어본 것이다.
rpc.rules 안에는 rpc 관련된 정책이 위와 같이 적용되어 있는 것이다.

하나하나 떼어보면 앞의 7개 단어는 rule header이며, 뒷 부분은 rule option을 나타낸다.
rule header부분은 rule option으로 탐지한 패킷에 대해 처리에 대한 판단을 내리는 것이다.
(뭐는 받고 말것인지 등..)


1.  alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)
action 부분이다.
예와 같이 alert 가 있고 pass, log, activate, dynamic이 있다.

activatedynamic을 활성화 하게된다.(activate는 alert 띄우고 호출, dynamic은 호출되어 로깅을 함)
즉,

ex>
activate tcp 블라블라 (~~ activates:123; msg:"~~";)
dynamic tcp 솰라솰라 (activated_by:123; count:횟수;)

activate가 activate에 지정된 activates값과  동일한 dynamic의 activated_by를 참조하여 dynamic의 rule action을 호출 하게 된다. 즉 activate 나름대로 활동하고 dynamic을 호출하여 count로 지정된만큼의 패킷을 기록하는 것이다.
하지만, Rule option의 tag로 대체 가능하여 잘 쓰이지 않는다고 한다.

다른것들은 직관적이다.
alert : 경고를 띄우고, 패킷을 기록한다.
log : 경고를 띄우지 않고 기록만 한다.
pass : 무시한다.

2. alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)
protocol 이다.

3,6. alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)
sorce, destination ip 이다. Any 및 CIDR 표기법으로도 표현가능하며, snort.conf에 지정된
변수를 사용할 수 도 있다.

snort.conf 에 EXTERNAL_NET, HOME_NET을 변수로 지정하고 $EXTERNAL_NET 과 $HOME_NET 으로 표기하여 참조하는 것이다.

ex> Snort.conf
var EXTERNAL_NET IP대역

4,7. alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)
port 이다.
!는 not 역할
:는 범위

ex>
!80    80을 제외한 포트
1:100  1~100사이의 포트,  80:  80이상 포트,  :80 80이하 포트

5. alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)
direction 이다.
inbound, outbound 여부를 나타내며 <> 쓸 수 있는데, 구애받지 않는.. 대중없단 뜻이다

8. alert tcp $EXTERNAL_NET any -> $HOME_NET 111 (msg:솰라;블라;)

option 이다.
필수 조건은 아니지만, 상세한 조건을 주어 단순한 패킷수집에서 벗어난다.  옵션의 구분은 세미콜론으로 구분지으며, 값은 콜론으로 나타낸다. 일부 몇개만 옮겨 보았다.

 option  description
 content  content:"/etc/passwd" 및 "|fffe 011 f|" 같이 페이로드 지정
 문자열에 ‘;’, ‘|’, '"' 포함 시 문자 앞에 ‘₩’(escape) 추가
 uricontent  패킷의 리퀘스트 URI 부분만 대상, 바이너리 지정은 안됨
 depth  패킷의 depth bite 안에서 지정된 문자열을 검색
 offset  패킷에서 문자열 검색 시작위치를 지정(bite)
 nocase  content의 대소문자 구분을 없애줌. nocase; 로 쓰임. 
 session  telnet,tfp 등 TCP Session 중의 사용자 입력 데이터를 뽑아낸다.
 Printable/all 중 선택, all은 문자열 표현이 안되면 16진수로 나타내 줌
 regex  정규표현식을 위한 option으로, 아직 표준이 없는 듯 하다.
 flow  TCP계층의 reassembly 시 함께 동작한다.
 to_server, to_client, from_server, from_client
 only_stream  rebuild된 패킷 만
 no_stream   rebuild되지 않은 패킷 만 
 established  통신이 established 된 패킷만 
 stateless  상태 상관없이 활성화 되며, 비정상 무작위공격에 대비
 fragbits(IP)  IP헤더에서 지정된 fragment 및 예약 bit 체크
 M 분할이 덜 됐음, D 분할하지 않음, R 예약비트 (*,+,-,! 사용가능)
 ex) fragbits:MD+
    =>남은 fragment나 fragment 하지않은 bit가 지정 되어 있나 체크
 sameip(IP)  sameip;  라고 지정하며 src ip와 dst ip가 동일한지 체크
 ipopt(IP)  IP option이 존재하는지 체크(IP option은 따로..)
 tos, ID, ttl(IP)  ttl:3-5; tos:4; 로 지정하며 각각의 filed 에 대한 value값을 체크
 tos 는 !사용가능하며, ttl은 ><= - 사용가능
 seq(TCP)  seq:시퀀스넘버; 로 지정하며 지정된 시퀀스번호 체크
 ack(TCP)  ack:에크넘버; 로 지정하며 지정된 에크번호 체크
 flags(TCP)  flags:[!|*|+]<FSRPAU120>[,<FSRPAU120>]; TCP 플래그를 체크
 icmp_id(ICMP)  icmp_seq:ICMP IP값; 이며 ICMP ECHO의 ICMP ID 필드값을 체크한다.
 icmp_seq(ICMP)  위와 비슷하며 ICMP의 identification sequence field값을 체크함.
 static ICMP filed를 사용하는 은닉채널 탐지에 유용(stacheldraht DDoS agen)
 icode(ICMP)  icode:[<|>]<number>[<><number>];  지정된 ICMP code 값 체크
 itype(ICMP)  itype:[<|>]<number>[<><number>];  지정된 ICMP type 값 체크
 sid  시그니쳐의 ID를 지정함.
 0 ~ 99 : 예약이 끝난 상태
 100 ~ 1,000,000 : Snort.org 공식 배포룰 용
 1,000,000 ~  : 커스텀룰 용 (작성한 룰)
 rev  sid:1000983;rev:1;
 정보 업뎃을 위한 revirsion 번호를 지정하며, sid와 함께 쓰인다.
 priority   priority :숫자; 위험도를 지정한다.
 classtype  classification.config의 사용이 snort.conf에 정의 되 있어야 함.
 configclassification:<classname>,<classdescription>,<defaultpriority>
 classtype:<classname>;
 reference  reference:cve,CAN-2000-1574; 외부참조를 나타냄.
 bugtraq http://www.securityfocus.com/bid/
 cve http://cve.mitre.org/cgi-bin/cvename.cgi?name=
 nessus http://cgi.nessus.org/plugins/dump.php3?id=
 arachnids (currentlydown)http://www.whitehats.com/info/IDS
 mcafee http://vil.nai.com/vil/dispVirus.asp?virus k=
 logto   logto:"filename"; 시그니쳐에 매치되면 파일로 출력한다.
 스케닝같은 복합적인 데이터를 다룰 때 용이하며,
 snort가 바이너리 로깅 모드일땐 작동하지 않는다.


* reference
http://blog.naver.com/misman95/80041665451
Snort UsersManual.pdf
Snort로 만드는 부정 침입 검지 시스템
Trackback 0 | Comment 0




 
 
Trackback 0 | Comment 0

5hin's Blog is powered by Daum & tistory