From c7f996ee9598715b96fd426de8aac201ee578e57 Mon Sep 17 00:00:00 2001 From: firmianay Date: Tue, 8 Aug 2017 23:25:51 +0800 Subject: [PATCH] update pin --- doc/5.2_pin.md | 111 +++++++++++++++++++++++++++++++-- src/Others/5.2_pin.c | 18 ++++++ src/Reverse/5.2_baleful | Bin 0 -> 144956 bytes src/Reverse/5.2_reverse_400 | Bin 0 -> 138462 bytes src/Reverse/5.2_th3jackers_100 | Bin 0 -> 5564 bytes src/Reverse/5.2_wyvern_500 | Bin 0 -> 84967 bytes 6 files changed, 123 insertions(+), 6 deletions(-) create mode 100644 src/Others/5.2_pin.c create mode 100755 src/Reverse/5.2_baleful create mode 100755 src/Reverse/5.2_reverse_400 create mode 100755 src/Reverse/5.2_th3jackers_100 create mode 100755 src/Reverse/5.2_wyvern_500 diff --git a/doc/5.2_pin.md b/doc/5.2_pin.md index 3bfb684..37d4c06 100644 --- a/doc/5.2_pin.md +++ b/doc/5.2_pin.md @@ -113,7 +113,7 @@ sci: ## Pin 简介 -Pin 是 Intel 公司研发的一个动态二进制插桩框架,可以在二进制程序运行过程中插入各种函数,以监控程序每一步的执行。 +Pin 是 Intel 公司研发的一个动态二进制插桩框架,可以在二进制程序运行过程中插入各种函数,以监控程序每一步的执行。[官网](https://software.intel.com/en-us/articles/pin-a-dynamic-binary-instrumentation-tool)(目前有 2.x 和 3.x 两个版本,2.x 不能在 Linux 内核 4.x 及以上版本上运行,这里我们选择 3.x) Pin 具有一下优点: - 易用 @@ -161,27 +161,27 @@ $ cd source/tools/MyPintools ``` 对于 32 位架构,使用 `TARGET=ia32`: ``` -$ make obj-ia32/mypintool.so TARGET=ia32 +[MyPintools]$ make obj-ia32/mypintool.so TARGET=ia32 ``` 对于 64 位架构,使用 `TARGET=intel64`: ``` -$ make obj-intel64/mypintool.so TARGET=intel64 +[MyPintools]$ make obj-intel64/mypintool.so TARGET=intel64 ``` 启动并插桩一个应用程序: ``` -$ ../../../pin -t obj-intel64/mypintools.so -- application +[MyPintools]$ ../../../pin -t obj-intel64/mypintools.so -- application ``` 其中 `pin` 是插桩引擎,由 Pin 的开发者提供;`pintool.so` 是插桩工具,由用户自己编写并编译。 绑定并插桩一个正在运行的程序: ``` -$ ../../../pin -t obj-intel64/mypintools.so -pid 1234 +[MyPintools]$ ../../../pin -t obj-intel64/mypintools.so -pid 1234 ``` ## Pintool 示例分析 -Pin 提供了一些 Pintool 的示例,下面我们分析一下用户手册中介绍的指令计数工具 inscount。 +Pin 提供了一些 Pintool 的示例,下面我们分析一下用户手册中介绍的指令计数工具,可以在 `source/tools/ManualExamples/inscount0.cpp` 中找到。 ```c #include #include @@ -259,6 +259,15 @@ int main(int argc, char * argv[]) - 在每条指令之前(`IPOINT_BEFORE`)执行分析函数 `docount()`,功能是对全局变量递增计数。 - 执行完成函数 `Fini()`,输出计数结果到文件。 +由于我当前使用的系统和内核版本过新,Pin 暂时还未支持,使用时需要加上 `-ifeellucky` 参数,`-o` 参数将运行结果输出到文件。运行程序: +``` +[ManualExamples]$ uname -a +Linux manjaro 4.11.5-1-ARCH #1 SMP PREEMPT Wed Jun 14 16:19:27 CEST 2017 x86_64 GNU/Linux +[ManualExamples]$ ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount0.log -- /bin/ls +[ManualExamples]$ cat inscount0.log +Count 528090 +``` + ## Pintool 编写 #### main 函数的编写 @@ -323,3 +332,93 @@ Pintool 的入口为 `main` 函数,通常需要完成下面的功能: ## Pin 在 CTF 中的应用 +由于程序具有循环、分支等结构,每次运行时执行的指令数量不一定相同,于是我们可是使用 Pin 来统计执行指令的数量,从而对程序进行分析。特别是对一些使用特殊指令集和虚拟机,或者运用了反调试等技术的程序来说,相对于静态分析去死磕,动态插桩技术是一个比较好的选择。 + +我们先举一个例子,[源码](../source/Others/5.2_pin.c)如下: +```c +#include +#include +void main() { + char pwd[] = "abc123"; + char str[128]; + int flag = 1; + scanf("%s", str); + for (int i=0; i<=strlen(pwd); i++) { + if (pwd[i]!=str[i] || str[i]=='\0'&&pwd[i]!='\0' || str[i]!='\0'&&pwd[i]=='\0') { + flag = 0; + } + } + if (flag==0) { + printf("Bad!\n"); + } else { + printf("Good!\n"); + } +} +``` +这段代码要求用户输入密码,然后逐字符进行判断。 + +使用前面分析的指令计数的 inscount0 Pintool,我们先测试下密码的长度: +``` +[ManualExamples]$ echo x | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152667 +[ManualExamples]$ echo xx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152688 +[ManualExamples]$ echo xxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152709 +[ManualExamples]$ echo xxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152730 +[ManualExamples]$ echo xxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152751 +[ManualExamples]$ echo xxxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152772 +[ManualExamples]$ echo xxxxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152779 +``` +我们输入的密码位数从 1 到 7,可以看到输入位数为 6 位或更少时,计数值之差都是 21,而输入 7 位密码时,差值仅为 7,不等于 21。于是我们知道程序密码为 6 位。接下来我们更改密码的第一位: +``` +[ManualExamples]$ echo axxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152786 +[ManualExamples]$ echo bxxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152772 +[ManualExamples]$ echo cxxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152772 +[ManualExamples]$ echo dxxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152772 +``` +很明显,程序密码第一位是 `a`,接着尝试第二位: +``` +[ManualExamples]$ echo aaxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152786 +[ManualExamples]$ echo abxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152800 +[ManualExamples]$ echo acxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152786 +[ManualExamples]$ echo adxxxx | ../../../pin -ifeellucky -t obj-intel64/inscount0.so -o inscount.out -- ~/a.out ; cat inscount.out +Bad! +Count 152786 +``` +第二位是 `b`,同时我们还可以发现,每一位正确与错误的指令计数之差均为 14。同理,我们就可以暴力破解出密码,但这种暴力破解方式大大减少了次数,提高了效率。破解脚本可查看参考资料。 + +#### 参考资料 +[A binary analysis, count me if you can](http://shell-storm.org/blog/A-binary-analysis-count-me-if-you-can/) +[pintool2](https://github.com/sebastiendamaye/pintool2) + +#### 练习 +[Baleful - picoCTF 2014](../src/5.2_baleful) +[Reverse 400 - Hack You 2014](../src/Reverse/5.2_reverse_400) +[wyvern 500 - CSAW CTF 2015](../src/Reverse/5.2_wyvern_500) +[rev100 - th3jackers CTF 2015](../src/5.2_th3jackers_100) diff --git a/src/Others/5.2_pin.c b/src/Others/5.2_pin.c new file mode 100644 index 0000000..a6a1d38 --- /dev/null +++ b/src/Others/5.2_pin.c @@ -0,0 +1,18 @@ +#include +#include +void main() { + char pwd[] = "abc123"; + char str[128]; + int flag = 1; + scanf("%s", str); + for (int i=0; i<=strlen(pwd); i++) { + if (pwd[i]!=str[i] || str[i]=='\0'&&pwd[i]!='\0' || str[i]!='\0'&&pwd[i]=='\0') { + flag = 0; + } + } + if (flag==0) { + printf("Bad!\n"); + } else { + printf("Good!\n"); + } +} diff --git a/src/Reverse/5.2_baleful b/src/Reverse/5.2_baleful new file mode 100755 index 0000000000000000000000000000000000000000..3e8d641d2f0688445f8b94904ee17a6c21ee4be3 GIT binary patch literal 144956 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 literal 0 HcmV?d00001 diff --git a/src/Reverse/5.2_th3jackers_100 b/src/Reverse/5.2_th3jackers_100 new file mode 100755 index 0000000000000000000000000000000000000000..f07f1db463c197e57a2576e1dc7a2d46d11c5462 GIT binary patch literal 5564 zcmeHLZEO_B8J@G(VM)xHglp?2mvpF()TU*@;23Pn*V;`z4z;xnRjO1UGL2Iw{&&{0s*0@M$`&gL$0Q`Lbl#tjW1D0q&u7ghl*Mj%J-g8XT$%|l<8H3wr2n?d>I8FK#%my&5N|?^JO!J~IL9E{z}py`ycsrG#h(7ii4_4ZzNG17e=b$=XAp<^UxXC> zK6W8qonHxlGW+NJmM7vp%M-C>iFh)5*vO=emE{;x_v2f4c0nu8gE=>X*){~`+A;3# z8eKmA>giSAysYhB+BJQ4+sB)J%Xt&eG5ocXLPGU@Z|wLmPraIqD&qm@Y^O*ktv^6*{tkfaV|P$j?juY=8+uZr8%&-q%dnH}GP{$4e?xfbezcA`N zDn`$LgLw4smKsk+fW@LbaF#wO^Dk-<`n>6P3uAr`S7+Ulytp}{uLlBBJBZ2vibYoZ zG7@J@R$^@!3o%%t_?z3Fm)jf(BhG>sXV+t@=UOoB=0eN6HTuLvZQG9QzjBvymvhfW zLVz_&z-9ttBWRJ+BE?169`q2R-Ed|KqR}k|8qSPym`|;tHYC(C-Ebzqb|M>e6OqP% zdomUL2beblj69Wr~Lx6&E8u2~KyEHh)tUfb$@ULHwh)3PsN z_DkDJTZ`}QfVxiNZ%F!xH2d+QSbVP#`z+I5EFC+Zk@){v6Lf|smttg#{)egVTxoxy zVol_0eKYV-?c;p8@V&VPk9;R&C#F9L`5kQK4>r#yaSvfY=!Bz{j_#}^v^b~l0fjlm=KSHM$f zPdyLG^B4~mJU3I~lO#0`KXOVjms!YHU_<@F#51#Mv>NC94)9)ZANU2Zif!GrX`O89 z>d7XZ?DEcd(oCmhtFhWxwX7xUJ0EK<+d>!_JL9Asvqu>5q+_KAg^^4-meIa(+cL-O zuUP%btkIK=<7ga@34@kxW^7@^jwCZj2FlV&mm@FWD>0r*-eE)$OIr!z%gSKF;ea?@ z8jf`szkM(eO2tga6ozF-`_krs6}4k%sVrgiI;nI9!1M&i^5~_uMP)wSN}^gZrt7F%o^eTOiKAvp_&XSERn_7Q>-%Cs1Sj z7WL0m6`;bk!u|yH!TwmArz-uiMoGkxd2(Zp#Ia`I2W}9$x?>=Qwc7z^-4e$de*#MR z1_KTdn)$R7zpPKI$U|Xqs{WWC z?F?Aq_zX<}*Hpprc~!Wh(3va8;WIo7T=g9ZaikZ)3McVANKF190~O+$5PKY~aJ(-Y z0xp3*6%j`|0aiG^GfJ2M?@|=0aeo8{aqL3k*eQ|d>k33)MRy?;?mgh%1McBUjDj)J zPr(Z3-*o}U+EAp%{Usa<7k*jO!zi-60zoR=n-v_US-zXY6%f~7k;4574)#YJFCD`F z19!d($IFEXaH%d9) z6cIzd0#^NnaJ3M^hTd(ye+G_z&X>0;Vc^=JE0PuELrC_wqGA)bw4zfmrkH&x>Hw~! J3`k-~{{iW4<@o>r literal 0 HcmV?d00001 diff --git a/src/Reverse/5.2_wyvern_500 b/src/Reverse/5.2_wyvern_500 new file mode 100755 index 0000000000000000000000000000000000000000..15b6f25f053adec2a058caeae13cd42e803b9fc6 GIT binary patch literal 84967 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%0Ab4IxaI2dvvN%#aj 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 literal 0 HcmV?d00001