From e46a22c5cef4ebca58c79be433f8255b6e148e93 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:24:33 +0200 Subject: [PATCH 01/89] changed timeout to float --- tcpproxy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcpproxy.py b/tcpproxy.py index 50c8bf7..28fd12e 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -47,7 +47,7 @@ def parse_args(): help='comma-separated list of modules to modify data' + ' received from the remote target.') - parser.add_argument('-t', '--timeout', dest='timeout', type=int, default=5, + parser.add_argument('-t', '--timeout', dest='timeout', type=float, default=5, help='Socket timeout to wait for incoming data') parser.add_argument('-v', '--verbose', dest='verbose', default=False, From d0fb55035c645af25b194a083b987765384f69fe Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:34:24 +0200 Subject: [PATCH 02/89] added Java object (de)serialization to/from XML structures using XStream --- README.md | 5 ++++ proxymodules/java_deserial$py.class | Bin 0 -> 5682 bytes proxymodules/java_deserial.py | 42 ++++++++++++++++++++++++++ proxymodules/java_serial$py.class | Bin 0 -> 6150 bytes proxymodules/java_serial.py | 45 ++++++++++++++++++++++++++++ 5 files changed, 92 insertions(+) create mode 100644 proxymodules/java_deserial$py.class create mode 100644 proxymodules/java_deserial.py create mode 100644 proxymodules/java_serial$py.class create mode 100644 proxymodules/java_serial.py diff --git a/README.md b/README.md index 151c2c4..c826e95 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,11 @@ CLASSPATH=$CLASSPATH:/home/user/test/Someclass.jar jython27 tcpproxy.py -ti 127. ``` Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. +### Deserializing and Serializing Java Objects to XML +Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known by tcpproxy. +``` +CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om java_deserial,textdump +``` ## TODO - implement a way to pass parameters to modules - implement logging (pre-/post modification) diff --git a/proxymodules/java_deserial$py.class b/proxymodules/java_deserial$py.class new file mode 100644 index 0000000000000000000000000000000000000000..4538939fb4fbd5e3f24edeaff3718536eb775c5f GIT binary patch literal 5682 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 XQ8r4`8v9if4Ps}b(o|eJCDrm@2nhNL literal 0 HcmV?d00001 diff --git a/proxymodules/java_deserial.py b/proxymodules/java_deserial.py new file mode 100644 index 0000000..d0c4100 --- /dev/null +++ b/proxymodules/java_deserial.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- +import platform +if 'java' in platform.system().lower(): + import java.io as io + import java.lang.reflect.Modifier as Modifier + + from com.thoughtworks.xstream import XStream + +class Module: + """ + This is a quick PoC and definitely needs to be modified to be useful. + """ + def __init__(self): + self.is_jython = 'java' in platform.system().lower() + self.name = 'Java Deserialization' + self.description = 'Deserialization' if self.is_jython else \ + 'Deserialization (needs jython)' + + + def execute(self, data): + # this is a quick and dirty PoC to show that jython can be used to + # deserialize Java objects on the fly, manipulate them and send them + # on their way. + + if not self.is_jython: + print '[!] This module can only be used in jython!' + return data + + # turn data into a Java object + bis = io.ByteArrayInputStream(data) + ois = io.ObjectInputStream(bis) + obj = ois.readObject() + + # converting Java object to XML structure + xs = XStream() + xml = xs.toXML(obj) + + return xml + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/java_serial$py.class b/proxymodules/java_serial$py.class new file mode 100644 index 0000000000000000000000000000000000000000..d7e509caebe0d05720675229c3d12f305992df8f GIT binary patch literal 6150 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 bCHP1Ca;SD@k2p)D`QZZ5AvAs{i_Cuk(N1Fu literal 0 HcmV?d00001 diff --git a/proxymodules/java_serial.py b/proxymodules/java_serial.py new file mode 100644 index 0000000..38827b8 --- /dev/null +++ b/proxymodules/java_serial.py @@ -0,0 +1,45 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- +import platform +if 'java' in platform.system().lower(): + import java.io as io + import java.lang.reflect.Modifier as Modifier + + from com.thoughtworks.xstream import XStream + +class Module: + """ + This is a quick PoC and definitely needs to be modified to be useful. + """ + def __init__(self): + self.is_jython = 'java' in platform.system().lower() + self.name = 'java serialization' + self.description = 'serialization' if self.is_jython else \ + 'serialization (needs jython)' + + + def execute(self, data): + # this is a quick and dirty PoC to show that jython can be used to + # deserialize Java objects on the fly, manipulate them and send them + # on their way. + + if not self.is_jython: + print '[!] This module can only be used in jython!' + return data + + # Creating XStream object and creating Java object from XML structure + xs = XStream() + serial = xs.fromXML(data) + + # writing created Java object to and serializing it with ObjectOutputStream + bos = io.ByteArrayOutputStream() + oos = io.ObjectOutputStream(bos) + oos.writeObject(serial) + + # I had a problem with signed vs. unsigned bytes, hence the & 0xff + return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' + From 3e6c117f249c5137ad62d9f2bbb5d25974baa8af Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:37:30 +0200 Subject: [PATCH 03/89] removed .class files generated by jython --- proxymodules/java_deserial$py.class | Bin 5682 -> 0 bytes proxymodules/java_serial$py.class | Bin 6150 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 proxymodules/java_deserial$py.class delete mode 100644 proxymodules/java_serial$py.class diff --git a/proxymodules/java_deserial$py.class b/proxymodules/java_deserial$py.class deleted file mode 100644 index 4538939fb4fbd5e3f24edeaff3718536eb775c5f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5682 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 XQ8r4`8v9if4Ps}b(o|eJCDrm@2nhNL diff --git a/proxymodules/java_serial$py.class b/proxymodules/java_serial$py.class deleted file mode 100644 index d7e509caebe0d05720675229c3d12f305992df8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6150 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 bCHP1Ca;SD@k2p)D`QZZ5AvAs{i_Cuk(N1Fu From 9fbaaf67bccc8095a57790d41fe5a57ca3aa122d Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:36:43 +0200 Subject: [PATCH 04/89] removed .class files generated by jython --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d1c8995 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +*.class +*.pyc From cad138a6d2655daf497088d49673821f4f2cde00 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:40:38 +0200 Subject: [PATCH 05/89] added HTTP simulation, this is quite the hack to be compatible with BurpSuite, since this is only HTTP aware --- README.md | 1 + proxymodules/http_get.py | 15 +++++++++++++++ proxymodules/http_ok.py | 15 +++++++++++++++ proxymodules/http_strip.py | 21 +++++++++++++++++++++ 4 files changed, 52 insertions(+) create mode 100644 proxymodules/http_get.py create mode 100644 proxymodules/http_ok.py create mode 100644 proxymodules/http_strip.py diff --git a/README.md b/README.md index c826e95..eb18406 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,7 @@ Using the Java xstream libary, it is possible to deserialize intercepted seriali ``` CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om java_deserial,textdump ``` + ## TODO - implement a way to pass parameters to modules - implement logging (pre-/post modification) diff --git a/proxymodules/http_get.py b/proxymodules/http_get.py new file mode 100644 index 0000000..50a5088 --- /dev/null +++ b/proxymodules/http_get.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python2 + + +class Module: + def __init__(self): + self.name = 'fake HTTP GET Header' + self.description = 'Simply adds a fake HTTP GET header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' + + def execute(self, data): + http = "GET / HTTP/1.1\nHost: tcpproxy\n\n" + + return http + data + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py new file mode 100644 index 0000000..239551d --- /dev/null +++ b/proxymodules/http_ok.py @@ -0,0 +1,15 @@ +#!/usr/bin/env python2 + + +class Module: + def __init__(self): + self.name = 'fake HTTP OK Header' + self.description = 'Simply adds a fake HTTP header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' + + def execute(self, data): + http = "HTTP/1.1 200 OK\nServer: tcpproxy\n" + + return http + data + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py new file mode 100644 index 0000000..49bd5e6 --- /dev/null +++ b/proxymodules/http_strip.py @@ -0,0 +1,21 @@ +#!/usr/bin/env python2 + + +class Module: + def __init__(self): + self.name = 'stripping fake HTTP Header' + self.description = 'Simply adds a fake HTTP header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' + + def execute(self, data): + + print data + if 'HTTP' in data: + data = data.split('\x0d\x0a\x0d\x0a')[1] + + return data + + print 'no HTTP!!!' + return data + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' From a9842ae88157e583f74308c960401547bf49f485 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:51:09 +0200 Subject: [PATCH 06/89] added Readme text for deserial --- README.md | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/README.md b/README.md index eb18406..91c0383 100644 --- a/README.md +++ b/README.md @@ -86,6 +86,26 @@ Using the Java xstream libary, it is possible to deserialize intercepted seriali ``` CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om java_deserial,textdump ``` +If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML structure use this setup: +``` + + +---------+ + +-------> |BurpSuite+-----+ + | +---------+ v + | ++------------------+ +--------+--+ +-----------+ +-----------+ +| Java ThickClient +------> |1. tcpproxy| |2. tcpproxy+------------> |Java Server| ++------------------+ +-----------+ +-----------+ +-----------+ +``` +Example for the tcpproxy parameters: +``` +1.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om java_deserial,http_get -im http_strip,java_serial -t 0.1 +2.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om http_strip,java_serial -im java_deserial,http_ok -t 0.1 + +``` + + + ## TODO - implement a way to pass parameters to modules From 9b4010d5a93b0e1e923ac7379c364ce170f417b1 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 09:55:03 +0200 Subject: [PATCH 07/89] added XStream lib and dependencies to deserialize Java Objects --- lib_javaSerial/kxml2-min-2.3.0.jar | Bin 0 -> 10649 bytes lib_javaSerial/xmlpull-1.1.3.1.jar | Bin 0 -> 7188 bytes lib_javaSerial/xpp3-1.1.4.jar | Bin 0 -> 120041 bytes lib_javaSerial/xstream-1.4.4.jar | Bin 0 -> 482681 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 lib_javaSerial/kxml2-min-2.3.0.jar create mode 100755 lib_javaSerial/xmlpull-1.1.3.1.jar create mode 100755 lib_javaSerial/xpp3-1.1.4.jar create mode 100755 lib_javaSerial/xstream-1.4.4.jar diff --git a/lib_javaSerial/kxml2-min-2.3.0.jar b/lib_javaSerial/kxml2-min-2.3.0.jar new file mode 100755 index 0000000000000000000000000000000000000000..a77dd1d0063db3d18e1a81cb5a895c45531eccc5 GIT binary patch literal 10649 zcmaiaWl$c=*7bwKgS!R|?(XjH4#C}BgS$&`clY2Bg1ZHG3-0dlCHLNQ&XrT|*HhEg zQ?*v_z2`^Io?1&m8Vno=_&r<=7FhnV_}2sj00+p5stD3b%8AjxjQ{`&|AImTTz)~l z{IoQ6e?cvO-Dtn=KcTXMa*|@A$|`iSV%M@`qcYO8bkp$Cv{VyglMPA?v&@^jj$^_o z4m1)n6B4R`2oTco8ySz*%t$3vX(eUnEUK#SLXd4`;cb$|7(krvA`jrVv|-W5{-l1= zvetfJw#Tq%dWTMj&Y$W0Z|2~?(y?fj2hPIoPbl<1 zUe_|a*BmMy0Kmu&0DSmwsI-QSwSs}8lZhjpk+p%7Q#2Q>xAN}oetWB=?Tmn(9efd4 z@P)NxItEaU!p7qZ)f^ud?Ku&=4KSW1ToNcMnzp?ze~*&cM5x^qj_cAiwj}zC+ff_ig`i!fk!uyP3z~a?}hYS4->Ek9^6LdqoMb zVWwTSBsT79>8f!3Yf^H`3OqIBodvHFcvk^vZB*5Mf|96=O-EvV{n`;K=2Zqmed4LL zwEvwfzZN7|)B?+?mZRO@6~#6AYr_{X(}r;%ZlOf6vVkI)|5f;ZRT4@528Cns6X_w8tRwotS6_fvab=y!Za8}j2&=FfrP&qS7d zm9?=HCvrGGU(#b0uN^G;1gCNer*&Dlqza5?S7m496`f*x&Qv!sfw;v>VW9MizB>MT zR3|}MYx{oDCm(4)YZ>GyYW$jtmiE!^Jc8G1YL$Ureh)98d9TE*CFpGBwNMrhq?Y(f zi>W;W=xl<<{4(Ptz~}m&35pZN;LpMO6DSi-ES@q3vD}O5OADosT(rKuAmWQ2IJydp z?C5v2!Mu63b~8mAii>XOcf8Bb-vW8d8g9{8`Ew5uEpAAHd2P%lkx*2oV$ttVari1~ zbErcHp5tk(e$0@I8SC!DU$Jw6q+8HZ)5h+OXhfB33!k^kRt_^fHNf6;Ud+kI|J8GD=i+(kV-%DZ1(10^xn0 zfo1kIBLY_Kd@cMMs4!ypv(9JV_+~S-hV`F{W0I?IwbI+Q=T9vUJC2k}t5t~c)&dn~ z(v7B#sjy^i5X2yb;WDdiY-rVMELP?^ZG>ULaAnh*8TG3$(AHtyPv`HNbdR;tSIpmd zz@Fa}h=~Y|itZ=Q(?_#&>O-wtS72I-k0Kd4b>~8k01p-V3AWkK2l|d|yD_9FGi);B|Ku36IA-P@4n~4Wq?5W5!uRx3}{OzYZ zg-Db#`Gh7Sc;Yzj<%>QGveW?aGfX=x`U)m-8*b0EeR;Tlk>j)}&pO^Q$w<#Id^i?W zVZCE{P_w+QRuB#?^qnq$s*D3X36qY)SGe2!^(nEq&BHu%M+Rg|1mg2jTgXVNYx5cx z#ZO6XS8;+rF@mCSB~J75RE`CB3{#{OlP~p&u`OXwVeYnd9e3|UOFxtA>0lnusR~zQ zz)vNc>$xGR*2Mj6d*pNU52f)EqRh{AQREx>`JnGepJz#`GQ&Z|@=YXy#A(VFw%M*H zD$({MN|D~uNKNuE-k~#d4iQR+LS8?DEpm$LUKdL%Js!CeT#;76rJ#t066aDjOdfsv z$QF_y1xGDY7tM#EebqdDVA2g4sCZJjS6>osaZStfR9FE~)@XE|JGf1Tx61xkV#NHH zdrV?WrZ$CuphgA)kjH#oM*L$2Zz+wA4~4(>p}$Y(fpDN@EI63(ghuJ(5l)x~2RaSdxdup+_#e z0sCQMSsm4*i#klhBf4neCXd<;e%=9O5RE6~Z_d8ajt=Mw3ss@?+ytoisS37OaEYgC zYE9o%Gj;1({{RZHl(D%upstrf`!s|8(ei?;eGt+sKgWKenVp3DYCG42+kKpe^g+I%=!$ZKmhiq^ZQBiIhz_~=j);la^@sR|7&%`P7f-72T z(L|07b8FMid6fEs=Ey|2!VQpE$BrY+Me)G{F-X~~a|i_|n_{&ikEk%N+Fviu?-Mbj z27;1{B2Q5W3F(-95B-+92AZgmdoa;~_2vGWJia^*B@^3a&o>3TJ{Vu}`a%J~2N&_{ zHr6#O*G+R>vxZMLT;SfF&Hgu^WZ}l0m@qR0cdcg$XGceumLRXz7Xc9bc6t;j_}@{e z70=NWj>r*GV7}wM3 z50nxWYT6>xG*lnhuHJ$l=yIk+z8T51TSuL+mxjQEs*n@cGwZgXW?%v-m#jfB=FAA8 zf38~{klg5^Qn&2~j4x5-Belo7jzw#ts^Ov_Ie zh+;}1DiU8*G{9_E8L$e7#4=hn3s64RNS=)t z{^*H4_Uo(Xo`l-DEWF5G_@LbPs4PixWet!(YFW_?lLYqQLvgqHHDgXsd*EH-E!OQC z-VMc;B*^t#5jM3ZlyeW_W+>d=E;LT>n!>(*d4n%42KeV;JX2a8tT9ZU4;=QnPv4a$ zP`+JTCRb|Ib&&0sDe<9Kx?XPgv-0@Qa%j@-ei8d_mj9WdjUIok3>BdHC`7wz@9rsa7uskc!G#UpkC~a>_?j(5EU_zSPz0;0k ziAfc&rWG`AQ*x@;tc`~sCx{1X6tlbYV-TF?`D<(w`mX2{bgiP6{Y++S38r|bv)}fVD|9)NM1n?f# z-Fnau^o^!yu4{7J_fkpkLn}74sRPRsabgJ9YE(ZnpEps=JYFxG!e>Gc=I7Ba`#GuJ ze&uGe&aQi0=q8VkohDDq&ZoSQxq6twCmI(of&jbTSOj5_;BonFwaggo63 zAtqnSYHak;$eX_#?}3jeT=i7B7U?4}7GTf$0-Zh3Xl73%h&bV!$;=;mo%6k6@1=y} zU321P|Do42Jhl#Rn|IG;ouAxOW~F1WC;eVy@%jxhfAA{%UW4)Kjnp3z)^q(`H1oOQ z;GOJAUF5yo@3}p-i|lEk|MeZ|;f?aiH~ekG@EsoHoj`C>lyUOF{$_TQcV?lCVY5^8 zhUr`#w4em8$u;xVAKe7Jc8(ontfX8I!~%|nPjw4y$;@|_5mHT$5zl9q3z7}2=d2;h zf4kv_t^c`!eU$K)$>z)Anu5YfFw0_}|6#$)IS3A^lEV&4p~irZzaBLX)Gd|$FOBVi0=-q6S2W$7G0Gi+x8Mj1t9+pT z>~)LKTB3|!-tg$nk)q3HH3>fUG3`P#SNePx->0#vq>0)detY!Xic9FQaDJ zMPh@kQ1fhsPwb1=6F%f5@?kVdLgoaG6G3pzA>Pt64zF9UJAQSHAZv9pL0|+kgVhRl zYNrio$8x4aYUEXV#dt5|E{883hRpXKCmrBcnbJj)=3rj_x|(S_fR*dph>kbKdn-7T zy0$Z=kep&#Rph;+d|IRQ6xM+d+mAH1%qNbz=xif}GiIbG7{IiA9=(%E@iP z<$>G?d7jK~j28}N>O}EINZ%DVK`(-@IXNm^GF8dsa@0bmY;9S_!lR>_bR+iyYm5y( zqnn=_f3|(soOGytlJ`<+gpzIRwS&=kF;m3#pJ^MP?$vDOEQNx_p*=|82VU1zwEDT> z2GNKCU%1eX6cWV-FXX=`Oj8<{k_|xCIz&ZI3Y@a>w5gnOgSh(Q@PL+VBKc*LWkjWeWW6<3J5NgTh>GMMKBs)lbsljX5K7$=;gMJSicVmm0;3dN{J zmMe(k|IuTz6Y28uxl$M&kJq5S#Y!^G`{VsAFiCq=4QECnKGdmjIh7T=YWNGC|5`;u z0TTBJ#jk&r=vbUSevpa-G2@r(kJZN##t#i!H3+^w_(6bbG%wi8??;NnzT*@K3o$WI zvyeP%-f$<5IL50Q;$wJV=m}QU@uGaoTs>@0#yId(I0TKcwPaD~rTCzN zYYz`x@NnMRH#5kn@+;6z2PK{N2H5vVl_}!6NY84|lJ!YeL%#OD@DPNL9B5Vx31-?> z9@Zj$Y@oTMxRw>V)eY?@;GUqYbAqGgRmq_ph6shr$mQ2zS=b5=HegjdWu2vV2(5`m z1xeYXpNXgs6}8yj%kO6pV4O4F`5%; zZ$xl$6;)d*C2^_PAdYxXK(id80HgfMF=mICn_O9^zJxSBUBw_%h?(1XwYN2dD+S5B zY&wg#2Qf6r;H<|iv|I1gDwhb-a+nYyt2&5NU8=U8tVUN0Z~sWc)U7`vylf}eSI4ns zqXDc99?p2)T-(;Oq`)_7RaXnC=`>v-%P@$bA*kr4$&%Y^xXo+j5{J7G)GE67%>M zh0qbJ0MZ`TU>ea~WG}h}PRv@i4=5v*aOBk_DAK~nF~C>}>@l>f(g`}IMy9M*YDC2% zvD{wI@dyy?%``l#L05KBKbV8tGFgg!>j&iOiraXWv7w?+eC=4UsW^@D{$=ZjEz^=!KitY`am#X~MQ z$N>!`46y@uolRk#`-)cFv|8mfUqfJ))J22I=^Pr?N!g|^~APVFcUW}PI5^zO8#KzZ-G?F zhG3M;M04Y*cpRP{+H3XP#*q0qD^~BlqmhM9BG}LH#gN@CRfkY0zCSXrCk_#a2CI{z zI`4#MxQ%R<3(E~eRGZ_b(VxL2*k=XbFP-I@9m1}62j|Dw0{+D66QM-^VHO*hGEk}t zMG8ZWq3NA9i-Wb3)HDZ}=WS|3eLhg6+s7Jd6`()ja4iRGe+W}wQ+--2-$1;{kb&A`+*z6$8D!cO*5o6c;Wo z?-G$NO4~#7dI}&z3}VEy*vD=aCa#Tj(3&GA0~eyMFi3EMpZr~OGD3CBaVeAyr*jP* zisQnc%V|=HW<5x1OQnjZkwUJhD!U_9Zw*?A;Df*FyfA!B_uj?37LMz?N$`ZLP$!rl zY%_}PCbWga4;J-=nK51-_xXxlp413dd|7DF6in)l)kY?#ckXLR>N%r9c#SK4i90676mGY8*M zASMPY&d((hVjm_}^;4nB79~jR`j$mc-l24kmlX*tgWlF#tZ$xt=nmmSXv3l`KlMha zDlZ>kU@LimC60O83vin5ZOygSmE?6%HEQq0*lPd5M&n`2!F>=5kLO2)Mhc-PU;R_Dw3oKoV<>-%|S% z9!1#@jI)WO((Dqu%)SY_Gw<_Q-rDaW_whLpUlY2WA>`odYWwoZF(m>UTs4ENfh`m`fnDxN3QQ)$L1XwGohmyQnQXaeG+^z7}WFRI4vyB zO1FK7sBAR9SF=P=b_z>Zat@;AQ*5{LYe7j zMvOEy88YD=18Jco*mHGWH0g9w=DPmiV;#h6t5RACfy@2MF7&cM3CuqQ+;qVje3&Rb z;9SjBZvcBjJG0ebW$}A$xtm6iGf3}mjK%Ins!EV9h0l<0!e@6GuY0>=b6vypR zj2NI0FPE2ITHVNW^OPKF=I_;QpjxizQGpd;I~H7tJ>}a6w99qK8v3=u(Jt6j{*X;3 zq339D!l4LW?A<=ZuvX0aRh+d>x{eNzw$ps9phe5Pt>3x8O_?&j$wlyi-P>M6k?FhR ziBU+qZln4al$E9&u7o4E%1@ypB`$p4Hj+$}(UTUN1~-$kDs-{;PEdT(OrlV%5ZS!5 zB!7KLD^mb*9NBL+&&l?iJh;A6#&}i!XaoW$`7~_UC)&uNN|#mA@5)+%oUKKP0-r=X z49gJxt;WLQ5}Ed}X5^eUatX!%n=;b;$@S>6nXJ;X{LG8fUPs0x|K$D`iF5wRg1cAG zivb?{BNpbcivFK@Bst{U3Y4U=KN5ciAm$Qw34GNQ{U|n7WV&>Y;!pwrF>dBjvD(xz z4fq0#69Nga!v#A4s*(Hk2vKo2(jRR%S(M0IF-Kh1_{Y?j0c?8ggChCT>tO^2*PtmUXW=3MZYQzcvth`JaTB$3tyNo5_E7 zJ~3CzfULNi0*`8ZRHavg(01=;8sjXgv8s7`*k=jV!xevC*;dDeBV2WUn8RVL;zDHg z=`|+5Ng;i=ezw0;F1`!1?ZJz8_xPddEwYK*vFZeBJAq z7>Vk=Qf}wF1i-Z0$Y|IUr*Y(R3e~g8kDRH^NU3(kFJ+rq?&>!z!XGFVx!7F_K@tO}(#v)4n`RUq5SM=8`ZUThPsuAFF*EOCv;Me#ZRr zLd}{o|GL9KP(w{V)8!n>;~#rjX+S`IwLIwA%Xf5b+ZZ%^(cgva=eW_ zFYO(yUb%l0TSuGNCCB{K(AH9{wV5`0iMO9)@d#_s_G!lGK`du*#Nhj8u0Lx;!)ed+ zd{{%{z!Fne|Bu5I7iF#GvisO9HudHo3Gn+U6Gd{#w@cpsbo$opyK8sYD-~C^>c3{$ zrEv_N6zH6h2+MvI#j4?ocobm+t8opLpp1|3k#{W)Cd}I8Y$cJh!*EBmd)*L1Q6^|u z(lL4{Sf{pDY-hSA_+?1qt9Fik>Cu7eUAw}Z-A=FCe8!`^vs4JWfuW_2wpZc&w5&-R z<5hvrpV4D;ci*l%#0FZn*oCQL!AfE^)+NlcS*o^iuKN=!{CAaAU2G<1Bv9l@ou`KO)iMT@nggs(sE%z%0=`0U6scnb6rc)*kVe(R=OIc4{hAF~ zbjBC{zXZw%*#^2_0^*+o?$_$KK>16bw0E(#{!@1Z{6l;F6ZUI?_+Lm@#y`Q(fGmp! zx((3LnT21HC?YHXK>WYp-zw#=2>-5BCaE2(t%xCI!w;aO*dsTiBotFZoP6CR>kJY~ zpB)OIU~IA)_RA}yKIzAZCl$p6+US*+ygSN013s5#PmI(f_mt$l)fJqtv|5rWn+g~#h{(JWtmx-fy=qtM8#5`wbrcKjW9G(rz!;x6aE%nYv*)L;?oC2yqAy=1D>M+Xe_IjZr3G55|Jh3CJd)Jh>0L5%5Y=_sf;imsRx3DGoaq)^wgB5MgvM3$D= z#}n8K4moEjsRS+a;g-5P%Z9Q-ZA6JS%3hN>IFuPQa_zNVg=)LvuE|PMm3CAcJ&E#7 zMxXACVk{uksnW;Ii9RF6Ni&%n5mN&q#dAgF+B(*sDa;5$(&r#AULGhe0I<+v&lFR&4ZD**&JIoGc5QOuFJ+XO>u3_ z?(h>k)J-UAPo7qZOyXAJ;t#y4GsVIFopi2*8F54L=-t>7UaaVeXZfS**``j|;e#*Q zR<5hYykqZ+_ie11;g0c4GJTJ7Szapa6X?9RJ*J**D@KktBG=Ki>Y;UL0ou{upTYnushnB$UeFi55ED49j~_xAMn#`Kh2VEeZx z&x~a@!{fp;nZ+`xTi2wzOt2Zay^D=rpG3rfDL?tGLZWj8tEO!| zN$sTWff6^+;pI-Iheu{J0^X27JXMGXo|%^?(w#1VUx0_8+YO0UO#)2TC_(-yyV57?wC>&b|Tb6~0v%Gx7`Pwm9+&)+HwL3n|Uc z{yX&pP8#`17huH2_?v(9W^6YZPxPrb>|{XJ{)MjfKBuwK7)F@CEkfbq1lvhpDkkAz zYRW>YdK}`*sSr_I|CBFf-$rOXoYa^SJS%lA=8!tkI^wP%Ma2RQqHvCQDtsb;(3J~? zFPsUy53mr!5IzP>Q~bFCAD5Rb{DTHm#Hu7gHB6ONW{k%`>r4yn#RVkX&*h=cftC|; z*{BzoLN3BprE(YpfieUjOi?--WD*tm$0RCxdnp%U%8M4q9;E6HhN$B>hJfQ*hVmDX zW?#fNn{+`6*T;^&IUwZl8|ELUEi~ZwX{%x;@zw(d0N6kQ0M!4VV^P%I$i&{+!p`G&0DM@_;E>kj^dcLgJK()oiv7xuthpv8e+Kcz*cr9#&KtI_P{x@g27pXIB!ML1Z1^Wngmx6La>}6B4+j z$Wk_ES2lMZ*MC2C0p|DsW8^MD&(&NFA?u>$E8?)q<%QE9;!Q7q6$FF7Cfj{8N_>t?oeLNeLTH0X{;M*=zSu2Tf$+iUA%80TMtWe%L!(f z)ry4e_I3?Nla`NIlM5s`;uR%)qdaB*r8d?C??zC4s#mt}Q|jG^J`)+mCQ6;#!Q2Go zzM)Sf+QeIC6qd;mIlZJhka$ud;8}=0-Or| zUj1op`=<-;59;6h;Qqx06#D-@RsN*@n=9`B3jRlE0N{7rC!5;+ z_Pl!U^;F+``*y#sGu8K~D7=71gm^}#O&!ZW8vlGCJiQgAG{l(Yl%!czp3JZy;GeEP z&9HtqQxsE@la^A~U{RDlQyduvC@`~3q9`ykjE#)fsjBI`PI{Ept2vJ_ zLIP9w@m*aYAygFL;JbxhKtE@|{B%E$_g7j##eYu=`l;8+)#@J^{bvj0e_D7u*gJdJ z+y9Lv+8>sl?7vMkgeKOWj1gK~N07mRj7w6NhC8ee=r>ykiANfD^LqI)0p77t- zi{h#GIsboU_cW%CgT2aAqADh?ZWgXAX7(m-Zi!llTFcVtSt$K4lbtb|Ud9#C!yMJG z({u!hr_Bro(6Kk#eff}E%6J6AiKUjpMRYJKD}HoU`U&y2Bx`J_7Ne&)_n{{L$8w8} zrRPrPqt6vCL`Am~QTvWbS|~rsu8+?81_|1gk9Suu1)73T1^6RL0J}4vGd~zU5(n5I z?y0RNud7NywyoU2$!unA$(ipR?a0H6u!6%peZe)oJdK=vx{isbK4Y(2xdSw{&}Jxs z4iox-4-zOB<3k^GKE2jnzAiiMi&UBzJ*BVk|j&#=L3=ZXlidem`)nM2xzihPA)np#l z$4;bw02s3z(~Sg#x>daMa$`+TcGFD~M8nmANq)1eapo7gsZdl!>z%S@)*$dneR;Y@ zm*_5_8NVj&z${UOiY=f@A=*NHpjVXfZ9N6xOVRhO zZN*@o)2G~QqerXes@K0O)g+JFFKA_v{BxI+M6-%d zAS<2j>;ZTwbYh*{+t>t;T%bczSHYQ7UMDuF+H}0%4OnOIj}pSkU2lpho&F+LkKF0t znX0U3bp3wIuh*^{eR42a)|Uzj4QJXRe5ZKVmsP0N_dMD4^B3*$wN{Z#%|HPhIE z^kqLm-_CQzTzKSh;i{E8BiuEX1JHM)lvl9G#|Ta5M*-*MJF)GcaH-98Z6+9BwMt&B;c@=+%1?E5De_-NOU1@ ziajKFJ$~p;P|V1OX}!3QHuBV-jYcsK!5;Sd=B{rg%4bbT{gq8VZA;B63e?*J>W%Ix z2IKp;B~6cHG@%fpa9G7~Xxo2E@fhPV@p_aVK0As6%sWQih%Sd{j%T>DPnRxc8ROy<@PLb;9o2JUPg=zd3Lh>Nb^AuMUNL==yT~#s^vaPrCVOoL%D3n zGTx`wwM4C>nrnK(K$p8qK#ve$9f)E|Dw85Egu*E-6yePh@JdvOwA%}vSrTl}cSUh6 z(RW38P1%P=ac$NYfpLehSqN_^-TtzhzV873T^ODWZ1$cB_bG{87$?RZ|E3Ja9o`8p z#vL`&*4`uIH9;!vQ76QZhxup!sP&j`8lkA~en{g1nR{RZ`#pYhvk{yye@E1Ug)yF^ zz7$-tft2L=6zz{_ci+XyKY}LS)AxN1twoj}QA6Qoti~PGCSOC_5u+=gXF`+6mPtX0 ze-(7nE( zu$ryx4zlSz+Ji%y7@g-$d*3V~?3V}JXPW;CH9S54#Nud3ztiNOG|%`yXj01C%);5- z#>w$7zKqiN>V~O__23vsv+S-QZ>^3|0$E9wo}f}jrU)bVe!>)Sa!&rfW7Tj9q{vg( zCI$w%RYZRhY&LH5_tlmT)uQY6J#?ZaExFxo%CBvtfu^eL9sA$xW9yD2`In4?#w zkh}}NMq>QYQY(>LIJ;&gePDl4cY`;rHVDXxKfYa^2Ncei2k)Q^JV+bWnX8fksy^uC zsPs0bH3;ylTdtm0q0`ny)Nk`!cIb^%!All>_n`ksm+s+Hr>h@7#$kmio8%zTq~$)a z?SmBQO<2U}+-NU2+jE~bYptiXvF5$uIa>Bnf09^RpzaD~5e#TkqDDyOBwo-p{;VJz zYRT;Bkfskmzrx_L1nz~FMpdSqFtgvMv6b`YoA;VihDmM#CJ}NRBQ@TN+$Wj*kF3sP2WNF`FA(G=&n07H)&Im9~u>H>E)@yFT`J`t7+T0~_y9 zY>sNX9Y{INe9GkL>6=%IZ7K-IL6jE+7@PGcdF}=s49j^(Q5a!2O@m8}dV2z!Tpid0 z2L}k#nBs6UhC!^6ucEKbumXNyEKYNklSz`YHe&KqJVCF5$D$rB~qv)acUeaYnz?T3N;>W6d8j3(nsYT}5 zoeZ}>`L1`;NMKp|Ex0{f4+ToE6y`C+U@$lPDwfrqI>w7S^eUdVHSQqBDfWEC-LkCX=H@59M!k2^jUKSjXs7fj4a)SO6Meif;jclpDZW|nZ&NOb`z!#ejr6ZC z26Eys`UVXt^(i*2=xmdK*}c@SY28h%jV_M`g0}ajEDCLtFvFSeo!e&q~pAQ zh|T!n_tp39+VEAD)tc`$JH&vesxIXrx1A*hbb130fH7Hzg_RP-qk)@$^Im!&|!MkhP74B5B$IIQD*SWR!5vFgn?(b!5 zgo`h;=D}vP@A9zhRUz&*ddH!&3ML(>qI4Flfdhd2ulB$YHTv!v2Rn&F34d$4In3%t zOQa!OR^9q$AGy7uVF7~WbeKdKE`?EZs=53yI$Dbm)7?`QE(g97H%De0!&d9XxT0Mm zBOi(c0KS|;MeNY9TzagvaSH~|mfTP&a`{%YN_MPmM5u%%6-mCPc|=fNEF)rb=Bo4{ zfOd9DooxS3rEDI#GMpemQ-JnmM2Z!X{X^Ogl&^aGFnXk2L|qdRwt5usAG%z?E-~F$_i%X5eh|qyz&v+E~rO zeEl-Fda{|kfNJqR$x~alqaPW2A1G_fhpn1-?t01@63b#rdYCJBh-7#!TL!KWvb4v8 zl2|{Rk3>iY%26fCm*)__>S^&gIChMXrnqZBte2!nPNEJE%DJ_!4OSx3{)jYM(EvE^NS&?p?a_t%<_|G+h@k2GE!^wEXrm1n;?90OvFdp)%LF9H8)SJJkUy)F!E_#vvJ&Hv3Se2ohF4VNkQOU%sls<*Z?WE1IW3_ z{dJ^*dwcGtnq~o)#~lJI2TGvG!{}}{FOjlL8`F3XK%@2PU)s9m+KN~KYos_TU0T)M@wBz zRYN|tXyXM2jlqZ8Z*b}k_anEa)OlOXcZ$x$oa1FQ3LO@16Ib0-x3}WS)9$;q<3}i| zfnP9G!58@K9w^tYexLh6m7isY2EbBzWn|oU1_R69y20DT#E)IBiO!E$Ok>MekWsY& z)qBRi^7dgbM1A=8C|uFpwy6EXw(cUF$Bg?O4`~!5*u8t`#E(6l9(Qn$vnMPM#aqHe zH~=3~11&a@bb}Et@sHd=Cq==olABiPrds=xcbdf77fYP?lx^PzGt*2f=li?G*($?6 zDdW`AGzaQ@Pf*c!+^ed=Z+ept#qSTt&5BwK+4re6iwNwwP2;@Tmq@X z=ZKXpW3%2Q+!5ZHyM(s3p5`(FSt?y#uCDm$?vT<48(Ave8A5RpeG=f-He~7&hhJ)D z5ffArmFfP;v@m-y)?i>zGv_9EoSBc1EufuYG*}bhbY{GTSW>bIQ@R=vm)K^!jPUb5 zsUGR(Juf1v?m{u?5hwjng*Q$wOUSJr;^1_p+hQJof5kPPgWSNB;n z#gK7NBjrIfp;)q@P2DJQmnDdcK5*-*ds#KP8{sD#yR|l(IUD^xUe|%)07(YjLg+W+ z(xs~;OH8T~pN4y|H}~$KR)VjO@z=n3dlh7&(neyD{e~a#Wh)Ics@I{`5<6HAKJ@qI z7aZJn*pJ%CU5%xZG&>p1Th0X&;Wh=vrde@kUGinC3%zAyJ&QdA5RGOG$7a;8x?26h zoR6tySpsh0tNQYrNn$oEg`x!yhCPohz*y8r1H*hD=4BswvTAx<*k2=_zUE8XFrlg* z1MWFe#pd-pqWaPJhDFull0{u0tG^;ht-A*l9NK`Si!|sPh^?^wLpoBT8Lflw!w~P_ zMbePYK`U(CPXZQEF%fXJF#<#gO?70lGem0 z1d%E)2%)Y)MH?`iZt#%r>gq9nT6ibQc1nMn58u___9kpvCtm5l_vLFT4a-nu3Re`N zDD{(^+o5#T5~1LE9UOz9TnE3)B7L0pI<&I!TXG>?E#ZY=#nfp70CKpstN%S?3~P&voz%y!qUqu$k{Yx`Ap8fedR5l67_D zwxnGJ-F5uE<3TTXPxp^<-a2nobE{m4I)IST6mBzMNAnX`P?Jv!#L6!c-smju!Dha6 zmz((RaV%{%vE#w+7H|y77ii($bGQ^U+Ze*}=_dkUga`8FNS&2eQ8}^9hSIc_WxpUi0Q zJUBh`${gX$G)C8!2P%By>mD}zE{S{aBU6z)=|j~S)|2ElhP?ra2r1NtBeCIpGBmlm zN|J3F`RYnN)GPYT@srf**Yv&|x8?*qKvG@>=HtXSM;{?B2TQ%xEH`aZg9BX!vXWtm z;yA&r8Ns|%VZ0VBYq4(Ns*K^7Xz3b-_-6CZ`%_F?g;F#_K5ERB9Ev!ynM?`lg$82@ zsHv0@=2@>r%L;`K5*&5ORa2>Lbg2nC1TD`wQ5Ba9wftEhBD=9$!44 z1&-xV=^LI(1OU9hI}7~hYO1=0tBr}h&6|H!Q#0fBou=8a24ZC9&ugP<9Rs_K+4_?> ztQVTw&k^Y285FTpXL3)siyV`_gi{Wr3WyM(`9X+aZBn5)ka_NP?#+F^;2)Ufz_@Rx_lA0XH2r;57U? zzc}(pOn+Wws$OcWUT)y_adwGB z&btO3^-dbbIn$)rNb%c;I;4hv?n)EwtprrTh zBeV_JN3ZS+eEwKJym)}mW2RRN5{VJ7u*#*Tu&FakrhI)*Sz=2B>tCtsk4bkgEDY`0 zU((I*M)#gMv%p8DSJ~KisHCvO6ccCXtHg|Tv~?1MKTKHmD6%J|Iru%sW36nRG1;&f z3B)`UR`F$$G5?~z|KWil>f3~=RqW>6+;Ww<32vSF36$p2+$LkrLYI17s-_L4mjgH} zigUgPtteOAw{X?@xo8cIZD3i2D=v3Z07|9xff=*##1yUGt%gE*zEFP){f6Df6_n6V znCBfTvF0kM_EhjUfqmYgkWg3<|6NFVI`Td)$^6d6YSovK7c@|cFf%d8S z|8Bp@EWZ!@XASLHD)|e~11CQ<{}N7qrTVAGvvl$oo;_Ngn!igGe>c{%l=2szJ-42k zzkB{eSot;8e@QFN%P3sf;|QvQ*@uVUQsHRbC{udH$pGUl+uG?ut?x;w&H~X*QMr!Vn;y|G`c| z#Qco@d2IJj!};%+qPP-BT1s7mRZ;r4;>@&yJPYe0syqwh+{}E78v6>@j}zA!AeIZW ztiqhECPXwO&Fn+0cV}*l8n(Qex_cg@_@&|_${}j3M+(XeE_aChZybNFl$iS%rWkoO zw-{XE-^q{MKAqm35dT{b1jL{JAsg$z>v6Mm^|Up&bo+1m|AVJn=cW3G1N_te<@3MY z{5SvA)tc4Y(ZSin!GYD2gH^}TLFJ#WimB^AgtV!-`&U<=X*Rj_nu%Ek`q|0F={kD$ zmEUm)vdoN1EUxkjtdnfj$58)Pi2!l`Un-&gneAWYUn+G}RJe>eSUFg^jkToI)IrKh z(Eqmhzx{&y$HLCk)71OlzWm?JzZUX8nSZqZf4G0G+5h33OdT!VoK4Lw|80TrA8)n% zhQ(PL76PK1mkc?C|RI@DVG_vf`#&lM97uULqW_Q)q~d}qF_#$+lCXAnmmVkl zgm~QP-sVP)IRei0{@HO0Jlok9u>Spb-#9Rw0?wHxnxB&~Dnrx#C@dN?7pF@V)*Lgo z2H_}`Us;l!VQm>{u5ux)4BR5oLpf4|R8GlHw__ah!=tGWFyaGXMQ~9?07_=#9j5YI zX&w*Y&d_IC+MI+ZyIC$V5EN^1*y|ig zZ<-=xO!KmExAt@3)Syr^KFvKP@kAw?(J(7I|PCWFKCZB*9cQE0P!d zH%-_s(M%{2FJ;xHn%R*=Ir&GrXDa&wU=tT#Cr3b!Je=iTW3|5n7;rLvACx?*@Tz(r zD?_Om3dB8rgthmhdR9Q(=X*(qx_BsZ;M~8 zAlL9T5i?F$BhNK3+H{(V!MYGK0PC%4L2)t@jg2@ROesgi8vKQczjjbuGtwu?tRD;@ z(Q?)uh5{3s&CY(=Y*-MRv~^|v&En;})=WjKL%{6tW{;|l23=)K3F*BYOn{(%j3FVPY*z@XV`cai@mt#NJS# zeDaH=3M0Vj^KITIXG@@0h+03=Tf5W9;z|(;CP|!tCcCGzAT8#pV*^yuWnj|0>#HR5 zg!O%q|K!}dp%h*%Vg|S>-)3x`4@7IFZ9!H!8Y)(0BtuTY7!;k&Vh3bIRWd!~+7pa; zkc@2egS{-ex`_Moox1X!w&b<1VP?gbZltErFW`0S4GX&H0{yPL zx)YZAz&dWV3B+bU|Co)AR*c1X#MQzEgo6Ik>Pf^*!bb*0rvE7Zro1PUo1UY?2Gvnf z$&JjqcH|BO_#_y)7I+$)llFz2T` z-)Ii2`(EaXXjr3hvGO#KU^A?|5mr!@5D56&zzxx_8q$A6|1p609u@Ok^N|Zf6Zox5 z1H=9>k>sx98N+X0;2f9Zbj>zLzu57Xl^6HC01P!M90J83awdzEE70(zm)kMnf;BT! za2FP*gtonI_V+3X7BYrnM5DDu%fa%&cyNnoYEhp}hAqE>k29NZg0l4DH_o67ir-fk zYt+c->M&90ZYm+qM@%|UA3d=D;ol(`0^;d^BsQ3TLhwIn>Aw;GGxeeT7x7<->;FSy z{twd8+nM9v_{r@%f{~q{1a7CT}Oo#s&{d;=h{nMn@!~(5O zFXm~&24E$yI@}RJ=Li5q39RTZAw}2>fX*-6vpCU)18_BFQeOZRM20$}P?hwaI)1mk ze>~Rv@b1N|^IdOI2k$@j{xp!6XK-21`OjzF?+6DT=Z8{I82T6g?$;f79z8ZNYxWOh z5Flm_B<#!KY!N^6|)}n{^%JrrkLxi{GEaF(F~jN!lZGm8QO34Yn>rpYLERn z2QDavb8qcM2yf;v0`-ISVe-=G-#a|GPy#1C@fckIw0yI=Dt9|B2#!Uy|HvyCs_ zjq#WdjEUd(1wRu8`#GM!YrF|DK8gs4VK9g#|HhX3l%Jc2`wW-+Yxip(C2-`&EEodF z4s-@0FavOamEZ*hUh#7t3C-9a1;QwSlZ4W9&aTplZX^O!s2tJn3a-*ADN;)90M`j};M^UU zK>mZ@)fM*3Z%p8EQ4owzigMHuD#suOHY&#?1|5M}GoYNntQvsiu4)r$3+7Lf!zDE9 z0$354l>@8@&DsH{1ZMSsQ&p=bfD-43KN2hZh{QcUVetq?463SKBquNowP^%Hp20c` zFy*o}G707%#lQtumaZ_mR->w#N2;T$+D8fkSBQ%TF{V+QhA@~=o2D=-RI8RzUBG}j z?h#!u|2D=M!Jz@LmUo0`%D_JI_k>u%h8JWwEBA;LSjRf@5$7!jz*=4_kK$4V;3YWZ z1Y+<;GNFi1P}DDtuHxC#@v0pY0UbC;tWp`8Mlsfj4h4Y@JR`h7ZX&a8fG58^JVbnfe~ z0vBUDHK^Fcyrzb9U!<1laPin>1sUyMW1C=o%qwv4j=yVhe8!K*{fNM%LNIMFu6w(|Drs16*fCOWp*cD7XfTm2sGOhc2#Y+0BdZhx7f zS`}TKj4O!_t!j`PGyBHSOlTBq*nYQMPQiiF>Kv|K7T{u!Z5zf^z6#DrZ5Rn0!sW7` zCL9ssIWBZ_8IW}}0EuYn?5Nz*wBBLoj%|;Q(50^cdL93AH$;3ZpcIO3y_8ceoVwDE zuc#w`B(mA39KE1dQ{=U$Jeo=hUkN)2BcP#mH zh(=iTvvu{7@%*lY39#d=^+4TPbma!Ns?j01RgVxNIGPqoMINNi;QEYEahYa2IZP}& zxn1|Rat+!VRF4B&NrcI^nG`5{RUBmgr0nD_U$!N%>zLMBnEjR9@q>!L9q1JF+;CwfJs{_Ow!lzngtQFsq z&0W^zdGUqBQxPaNIxv;S6AG`C$5mI_t`uFai)(c75LUR=!0)wG`cW4guErRyticBO zPH7-zzfyDYg>lHgqq@F`_nK12&Cw5$Q)7`(T#7edlPY9X z^>EFuXnw(<6h5bvV=mGYX{UL?2jVPK!fQoTD=&hO(T@4zU8*NTU0%q;4&oOaCbSes znP|P^7{8d(2{F5AEfhkLWIin;&`h6PL1Wb~MUgqTiC{VVK9J7KVM~w5;lhwZ`d&)# zaJiz_T>As62w2M~g}m;i<)i5n5N{Cicr;A&C`-{?zQ5=urhMNamt0bO*dVh%Wvm;W zjhI0;mC?ps9d5$J@=!ph?ftiP%g*3~`=PHcHCm3rz~8l_HIUn*meuP4IJCIAalUje z{nonXVZW+^zb;=os=3)fqoZEYLlQ2~W?a*_BS)?S%8|FJ=hfvFMNkSLy`W*sdRuv;YKV6?* zK2~aESp9J`Ot4xcJIN|rH7$u!{~_ov$ka{$^_;aJWnc<+ij9YN`1TS7Z zx`pfA^TgwYrB3|P!~xl!nII2u)Ezeq*XTlaYeOfL1t2(i#a5nc9#5OP{=(pMKtqFy zTOT%KFCJ|_6!-2nw6Qglqlq~M^1Y{$ZZaYkZ7a$xEHmy01!--i`RcCM3x!`lj&j)z zk0c|tCQbBI4uM?DQ5@R^1(*%XF;mhQv&^Spnt?k=DU9}w^+tN9gc4=(kO?0+x(H|M zEqUzpzYiNrp*2_A(r9oaM=U#S@JC)$@#9NLxzWnbaE8vqDl-dg*q9io z5T}`{*zQ&?R-AvTjn~%#+Ts&+R26}`dWK?oIN<$hHI!sWcE2ud-u`lf^b=}k(t!6V zHWKnUZ71FJRIZaPSMHGbt7*hZ0e67~>GXumaKQ_!DAe?orM>o0%22}~1lFAtL{L>` zaCe2BHP6wWBqzU8`vr2IK~N{RTkC!iR5>&$=S(AI##9xp+~8I6FDM1H#6jWN@1EOJ zv0a-dkJG0bS}G#uG%v{zz03v&nVT-G#0L7QTA>CzUG@@`@MR3^(Y{)50{lO2R7%az zCY*z1g1)rJk98wEFVT8>3K%U!U6!G?&7sYYB!;S5luUOPNNz-oDwpcg7pSUrr!s>C zm7-7Zgke29H--^rt*rJu($o?N#GglIJq}TS5G}| zM)Up}=6$X7dvRU#-dX_6?PJ2=2_1@!>JG;9pPnkp1SqA-V@nyU8L0wZs*4zoGw;gg zlp@=QnCy?+femcBm)TmGVUNSq%S(HbC3p1PF1#8YP?9VxqGiq5i4)E!f?J=J8~86< zldF{hu6c8$A6)|{td4cYPA;s7wR$(y-Y>8Stjo4b2sODr6iL;;TO|fieTwyr*3Hnx zc`%Y$=!QYqCmzcu(ew?~UcAua%&XO=#%BZCTDIZVm`V*!l`NW{2m8>iwHCE2UCK*g)pld@ot0$^x zE5NywydndPRkAEn%9g*OYV##LQrn}ec~rJs<@CiD({KdiT+bRokh~eLF_QvO+1bi- zP|>WV3k*1dDS5ai*6Ihp8Gb^^btmS=OuP^aTutiA%+VYh$j!kq`V$Idq`1KfXeYbj z3TUUaWD)HS)uT3E(YMC@l>SI;$?mw<_#(`bj~Hn^>IT^ku0w77UAY^>(3)0fxj;3v z3&O=cD5JqOx6k0kAbYl%Dcr^y-$28>55G*;T zSlE8HT%dJ+`4McnS_ZufcgdN)s;%|luH3y8Kx%-G!4`>6_z=IxXQpXzv&?=z0mKnE zf6oSdXGx7ol(Do0X;yYso8cx!@awj58-NFCIua#XV+}EV83wF4a5gc6((N{_eLI6P zy>hWj^DVV1dl)6(_EiKJoe+oaOIgDhMryhy81`I((o`+Um>*+_oQzCaNrCN4AHT%5 zMe$_+BoIP7@ZOb}UqyxqW&CqsIcO22Fv4qq8L7GEf-4eB#G($GXhN)U@zgvavrP(} zQ%VY)mT+p)%qr@ubh|V5VmtBbB7HpT9;F<)csR-ToP53VxGIhh`+zsh5ImEFe1h7Z zrO*xWs#LmxEwdSC?s41bM8VSECbuo0F$gDr?TA zUpcsOS}_QPiXg-a0;bP@<&%>Ci2WNGJOgpY?;J>GJWSDBEqJVCi8K3{*}-h!8*Ood z6!cXa-(-D(Fz^gqtzKQNO_5j_kM=_MIAPTubuS|;RLZNdsX`YHvB@1Uwoy!oY#p12 zvE44bi5|{mVBctsGq)^S*I3l&Jjt*3>Y<9g4;->8mBRXNNi#hR`20nZwYHiN_TG7a zPAFN+38eqLaj)+5F}IFIZM2eztju<8YEQI+!`5O3u1U|@iaBAk^fl7HLrFn6gCxc?oQx`?O1v`88ZB=cW#i-L0m5$KcT`p=nbx%;>dvjCeIQ zJ(QwFlK6zUm1O!s+^X6E0)D;P44f;aw1z6ewHXzR{X(KHv83mK5Apzq>q;X;5b4SB z33M5YVi?j62>l*`Ku^Lc{|t^?P(xe%P@B^ERwKFhi}1zG>REHj1*oDGe?=B<3To?i z$8SJ7!9SkVqFfd_|04*DpR(#z%KL!PR$1`(9Krb`SU3jlK()o!1J6>adW=F>5qt*s ztS~|th%|0{v!-(LUE?w@B$2W{_3XV>?gbW7G=T}SFS`Np7nD(CHe<-wn?QkMhh%Ey z>Bs`6s+f~&NEkr>Zr8&5i$D?9lC#coDEIXY&_OgzmPEFN-4Eo$(o7Aeg`d<;T?x0s zQ8T@wR$i_3 zuKS2+r$SeQ^tP$&*PCcV@x+LPAUHf(BTHdz#w_T~^JT>Ba zz*Q+Tx60O@Y%BC!{lSKrH#fTslkYI{FBcN8zFkTMTU;fCan;p?$UKa*r;5Zv57&&JFPJeI*+1S$VJ zLT9Tul}@F3a6gM&!G_Y>N{di_lsNZ z&$T!jgt!mckRDW5>6^%?m3eoolj|GjsEou@8S_Bh4MT1!gWNc&ny&k1df=2J!QkGe zXGF8g+*8WvJ9`{I@&SGCi~w{(a#|(m;U`8aNwZC<#d_zTYTqm`|2-kOkm9pcrE6Qkoy540#uOP`{%{e$om*&#k+DFy#`iR{$?L&eDU9XOs zAS&EEmNvdU`ZXC}aV8s;n#XrLBlsjigfy6pfM3Q55MoLAQZYcSKM(Gc@oHzXEBbf> zYU4tn_<@y%O0=}J6&4`YTUo^)uj?vVwmpeS7uaGqh0yq)=ZEfJSS`*j(4@EJ-o7ju zsT#`2+iJC<8iZr-P>}0|l`Fc&Yf&D>6fWoW8k5+t_WAVfZ85FTH~FbN#zm-R1;Tc^lE? z`q9R0>?{!w`kph_uyiajK}Dsr2dl0%1|##YRSnwVc45MK;Xn zAYmv%FQp6-|9+E*N?IS}n(Ucd=!eP5hm)|x*N;z&jk;E@rJ||%BrYP6n@TC&Sm^PC z`2@=>F1#y-PnCh&f&V{BZ4CmA1y}KEs-(Rruvl9UD)o!XN+f(Bv-XfEa9bhGr!Zhg%!s z^BZzCy9sxApN*M7A^Sa&K37Vj(x4soizTh$|`a}x3arIV%#yoS~q=F z(S6Rkn%d;`lD=|w_VQY3TI;pZJ!(;b2b@)D)SEUdjLddlG!>CTjc%WlOlGKX_y!V~(~%q%p<~{B0meY>#pL^R+}ixi8n|tud5sSmYu>uVrB+fh?m*7C z6zhQQf(ad=f zVHkv{&-mA}-uUK~uKT5;`d_#m6SA*qrH^Tu|Hg4N<$+>sjaBZ$nXoA7gCpe`5@S z@~#@Z{`Pl%j5-Nrbo_Jp4hr4gv#by5yfQv`)$aPxtPg6t`s)7I-k^)G^TTR=f2cm~ z!^6qH=2|SPR^fuL>%((>|KN4K`(ut?bobjGv97v?0V4#8yyLe($fw4bpJP~`0~-)8 zOXQ!sv@!c3^|aVy&H7czDU(kV{^6|3JJHMHu&@Dd5RIMC$?8wg`^&{q!kd!S>NAcZ z5?++M3g9Qo69e#*sjLb7+g~)RPSO!6!43FgOLFXz*T~;*|E?X=#3FA*Zwrfj>bEc_ z7#qi=4p34Srm~uNG>#EL>hwnYXpm_V)7k7+l`+jJ?IHClizMk))cf$~2Y~*oIHFDak48r!j5dMQL=+C3#7Y9Ht=bQFstk^mlVjCrYOu2{yLCcrZhNI z4(S87&WuARNc_-qBcE*GmLEv`@b$rN2YNcFe1k+AuxEp09S~20g8UFy2Z7JT!jKsQ zZjF#e;OQS89VDV)rUUs7qQ2m`U(g1_{0>%d?}kdZlDVaTU!2|gN|t!SlQ)AjG>Pfs z8;~&QuzoeBe<&R)b^58g(Ss#RY&~F$N#94%mM8}&`wK*VD1GebPDWHDp}Nc+k55j{ zE6MGl{h=Pc5*pM<$t9czJ)Qc64JEd4yV$9?WD>}rC_NF7;OA`e(zZA{Soteh`8!y3 zXU=$LCN~mxmHn8pGfH~m4w&3~Xd9nOA~b-=Tj(X1`Gjx}gD>I}Mhg9bff61xMDLBF z^ljXfNH_}lCxZ@>@{zDujN3a&ZTOi>zR^gh4`Tb#JNICXGjb1{*AHP4sIMk<-zEb-mWB>58xKOS<_>9r})TWQv zFGPy}0?j?FhjZnj@JClW+~#lObXVha7i43i2xGV}`;29T!CKuP-S2zWySCSj7KWUL z*4>qzqf)aRlR4tJ-RddelhTnZCiRqLdMBkK%kN@4 ztgbX|uyJkBF>T|WHz-xin9aI!I1llr3G$YbMZL+wNIz4Kb=h-84kT_ z2sU>%vySFOA809m-2e)#^q{^Lb8T*hWx`?&l9*_cat~t}qKTvVQ07^&E@nMZYa{L0 zG&8|EwYCV&a%T78cgar5CMPE`pY^sdk;7C7g4Ic0WHF<Ikr^;wG9%O=9UxlG zZ4)Dla|hvuRd`{fn~ElqO%vzA!#KQ9r%gwNxp84>4mbt_(!={Ycm{LLn6IuTOhRN% zCgzwQV}p*&_+%z8&XEFL^$43!Ub(+3RGi!=2JX?A(ZZQFmg!lb@c)cn6NY_(g}jG) zs!c8Q=g$y18=xe4GIb&M+Y2AXe~+3RUE&VlD{byw;K3zaV$r+~#}L?^ybxDXcJ)mv zNnXy$r4WeHs6!VBVAx8?{iv!k+cT2gMTS<(Ga>o_g01cNbjs4Gpg{5<+U6u9TKTCNh4^j)Ic z2Q3|h3}!tC@H|Dhi+$R#XX_%%+(W1Jq#Jg3Xng9X7ksMT08BiA2SyW0y~wUlgPCZ~ z?`isj4)_wWt6Ll$_$N*Vj8mGtAH-hHy8gPOMiY)@jYL7hX|wX06VnOKMK#>kPD6+y zn4RpgijMigZaKhH*?(SSM7?14^0VSm~0KEgoI zPlJd#Dg-xS`ITO11IL|+>S~*TnZ7}G_eS(KAuovGN?D$hIVRc6?2cl&-a!(o)IO;S z`K&3{{FA(z1)DI23|9~{+1=z;bTgaqZXA9$qM0(5RH4(s?Xt&)Hj}$??C$783%%@# zA_yg$z>a1zFz6Zsr)iiy<}Ws0Q-!mKNP_wcRPL0~NR^*1n&>ggg3NNvCQ~a@N|Cmz zsml`)e?fzy^jgo{o->^b*BTX*YwmpZq0Jh>M0Ut788(J@Z?L+vbm`2@E+tf56++xM zk&z}o7vZl5*@5`JEq@Bx{K(;&&{Y(~#+m|<##`oTev*g6Y0Vf`a_aCD z4hO^zhbYJpM1A%LdT5LL1EjoChx5K40)$%>svXKBD@QEMXVqVd4_JZ zxcS!lw-IMuD>s&!+0E=COYVU?Kei=9df6LEFltJ)a-dU^hj!iSRkTt;5lG#KifDrl zy%@>r6~PX*^#cRT8Q~`&9==FKIZUYs+5HT(5K}SmWe*zs%ZWWU;s^B}yqvd~&d}R* z(P<&x1)9XoI4lZK=Wk{JO2fKqiTFik=8yulrTEcQ21+qXWJ zb{}CDq)rX;PEl*)j(2~e=_HM{9}b#HxL>9Oa7WAZ3e{WCmGYF(i4>LsUSj3YPrJABf4+1bUU_{;a>TXnbWTpTn4HcaQpeY!3qQ&dQyxmAIU=L|DWdjsjvD=!fa`BF%es?>o?i?yu8&jm3d=3% zZk0f+G34FYv8mq3;|i2{>=dxN5g7@c`F;m z*?IUh1Rk^pLpa8M68AvZq5U+B`3CTuKUL{3#f8wXU`T&tlJSOchd@$=BYjiB{ZpVZ z?@ddPl_FNZb(8V&0Y!MAM?$Vu)4qY#teMPlUj_W7k{Lxbyoi7Y>dzZiE0Mu+iteR5 z4tVX=E56kkx@3s#d zn)kpePk{3S%RFFn!pS@hu4}nEx=eaw_Mx=^a>*5d!N&0K15aun`r6W=z&v8XEpvV( zj2tj^A0_vb6w?yl{p9nT=sO<4=$`?SzV(Q~`oxQtD@1L2e&MmfBo^PHooELSdj|bK zZROipI>>E0*1k<)-n$o5!}2?K8e8ljrHsR8RPif;-Q~EdyjaxO z?9s$xg(-Is9_{^^Devp=mzc)Hew68FCTGr|*)w;}Qdxk7a}W6thrm&sG@GyARr628 zTq#D6a`TtzV5YbcYEaD@y<<}hz2~B7=EbiPk&`OcoJQFM4P|%3CMBu@7;iR%u&cG{ zIVw>s{7J7C%PS1?v%Bw@OQPRA->Ftw$bozx3`lF%9cp3`o$ttDO>Cw#pMrLB^A8mo zM_v7stH-H*6cw$Qd@0EfrI4-faCm4c{(?wR%_5v4yCAQLiU$|Jogy-}h%QvG3Tnb_ zi`D$QQ(gw*i3-QLJqEItkU8eBq2Ew+;+!hRZG?v&c%eri!twF(nnf1%0`ppA{iIX7 z=UIK!M*D$3A4Qt4;m;?6B%R+76;lcTp`TD$@7e^zIi_{&CcW&YC5=DyOov%9;k_c; z8?{?wmb}@XCqAM0bh0ErzWRf7qbwsg1(K=a)MRiw&bCTXz_Je;N6{l3t|i==JKrKP z2#Vp|aYc#}&S79@UV&AKyKUQx9yn`ZPvhFl%n3v!3wFYmP=IVOG8Ryj=v$szj?c`UOk8Hr)b>hM}p+J+m%3Lq8Ws z-LP3V(KE2}U~?AP^?Ju!eEhyfa8Lcw8iupxdC;1Y6)?nee4M(xvw`{NQ-vuVfUgX; za6!tYXDm4mh-bTX^Ujr&AKQM_sCTPk=Fgt`WN>s@Yz0lLuTVNZvWqh(6xR$?{8O3s zD(p+-*RRc8(3{?ZL}>7pk#MUz?rD7RlE^KY?yhCZ==W3hgn z>}Zo+f0^h&F0m0Dthj(FD2Lhk5aiA~TjIV5iYl*kBa0~Q2Y@mtK*Yte*~cl|lXO+X zpJlOaLV9EM5?#EMhB+T!#sq&A)(FSAT-tvBER@&&V}r!%f-=O^qh2O|tNc5jzux_O ze&oA5T-cR&^h8md=PfCFEU)Ap1JLQ4Hy<^hXdXhuks9S&sV76nE~X8e$R5nmLNe;Y zQ+}y0l60<9eX-L!SUrAo$WOIU58`JM?zYOTLxe`~aU`)xYX{~S!nO1}X?dif3YAkR zE`g}}4&oWY3bGlw0rO1=%OP2ZILWu|(Ew*Y@GU;NoEF;f#dN6Z(h8O{>4P(Hg1?{_ z{XYI??o-?cE}UL&-=?#W)UoZ!!L%(ph|IBV?3Xfbg|cv zc8Y302j^GBb;)>`6m~~-D)(_g7h8fo=9kRGz(~ysb9ZEEzLw_mwR#UvVo>Xf9TEFw^QREHymUFYK93ZQAUDYQuP1|a); zlD5<1($QsiIRi@4p;9St>F89Ypx*}m@LkVj3U|=0 zm|~Re?=X2IL5p%Pguao+h2Ni1U!$l#>Zu|5mXUY<8V6-KV@n8cim69oWQDY+0FT{n zq(;@U?e?=f2ivR?*J`P`FJ;Wm$EuWY6o2(Cs%^QaR`RDUKT#jhPmUxi?j4uD0!c!U z(NgP8=ywZ4m!PrI@)tBO!r^?so>x2syO*)$R-$~nkRzH=T`JNcJV$S%Lpe0e)BS}m zhmC26-^#h-Bns!?jQX9DXxzc8dkK$EtrYW0m1$?vOMC%$SDgMm!Q#&?>^<1g)k!2`QMI8ub&-dTc3B9( zW8Sbc^0);{d0Jl9k1=C#-xSo5b ztE+f_?c0&VDcpx%z977xEd^tN!EiyTe@s1U&C}d`tay(&%(^Ad;I3RPyTLgY3PSSlUE`DwOo70c3NZA^Rf8qt5I2^G`u zFa#=4ak`N22yD|$*@V*v7AWKN=jm;BUsMjFM-laK(F7I0iN?)%`aW$F-n1QEG zz$JpaC6%y|awuVQj{PyBy9kQlA0>bOKsye18%pwW7E%Kx{j<$SL5J|OCEIc0QFz?4PB{yCbJ%4ns5)IaIAZ;nf-pR_g|Q1cCf_(E z>_hg%1F&II4&8_hC;G+-6PW2v;};TzJ+ON+arVnG<#4VCQ+&LfdxhhFrsBJKk%|n7 zanyR-TVbzIFK$ks7dGprllLI<>=jf;A2}uO3^V@ykW8blK45LAbu>wqBz>XaY%DiU zNa9=WfGekK9vT3^-5^^egSQ?FUb2H9mnk&Dd0O6dfQn1HVm2;LFvNn@PBdAJ-XCH!( zVcImK8OljjYlw8p*15oycBdg18lCZM(DcOLTcQ&qUz;^VJJsV?yDNu(p#f9@L&lKT z6x?%zs{r(goE3w1llO@oo(69-wI%jdxq}tq6dtc!XL_7gy}7`Y7O#=5Mfen|1K5>H zzm~hna!RpQt}}~=zI)SlN^FC0ip3$$l}Sk1C(W?3XUs`!&*D4d*CwH~@0-I@Lf5t@ zhEKKkWPaj41-(W7BcfWOR-dY(regF3P5Y^A9rgaBZw&jtP)__r(vCrDv91XR*%`L@q&PDFG6Jo7s>KIam5NKYbWsL=nec#6G}Tp(yQ37^x+hfqqK{TlIFv}K?^g%S@&z?!v?HRV zE@hh}NokZ+xuntr^>VANqI`K|YPH5ADly$wWEg-h_F)>m{7nLOHUw9e?kg31?#cuap+Qc@K>f|Ki5HR84L8L(Hd z%5)5CH7YIT+PV~~w5QYDR#MVDE*Yjq?aEv`^~wy&*67!(D;T#|1*=57fI=H#S_elD z?gXAbfOZr$Z{@B|6U~LFKSPOAL=^dd#uCSZz(>dV(r3#*p!XuC?##T?{*<})z~rC( z-OyW*6wR4R?WDA^wO0>c5O%w6- z22g@!n3}FQOD8{?)8#topq#wmk-8-h(lo~JI9>^Objg=2&}_STo7nsfPcK=6>ED`H zCOn+-dZZ@?W{!Hi_|Q9uz7)Z$z8#a15N{d=4xiMVb3SIXgQ^vM=g zUGo>p_pkGQ-{yP=BzM{iP`iB5TD9lH<1g)G)#gLVE~OTf4dI7ZZ@7YhEgC6!Q+EJ<@jQ_7Xa&e?ofI zd>?>(sPIOg3NWRBzR*f_dU4<& z68CjDg%uCSFt=GMkU;5_OvI>*f^VWMmZ^v&o$0%4gl@rLn=-d=L}wS64~D|0B70zm zax)VzzR0A&)X+oVT$9Q?CpG+~QUhy=1SO@gI9!Jp$9gw!&IiW0FHa6PdBesECTNzO zd=U%7xQ6Di(3mm?W3+Zzf4&fjORYs7EScB+rr_-FC$)iEgwZOOD7iYA@%buKC`gke zD|ksgn?XBTuop&mT-S_La$pz8CX7aWAbueRvoHIpk4I6^cHlML5vnbq66yWOMR3Ws zApRG%=@Q{#0m9c7McS4`+MXzO*`0m`g?>pPvt*Oq7(d!Bj!^Ae;OxqSUwj+EOKl~MO2}0@O5zXyV1K(l--13V1XphF^3q1 zYTe1ft~2`TGfSr3p~LP~CP!&C-?&``o&Ks4HETAqdPm~1H1GD;qpI0iG3seWtN4@x zHCouD8@g4%eF^dwbTy&4B{6f+w*OgLZ%PNbcll{Age)Q>&Uy*RH`|EyvUNNFEI|~W zPje=4#yOlm%fC*5)*BL!6*7g!Z`j_c)o2=Jr$XG0I<>R+*Qv*;jk9b9#2tURT{xHj zr|S7{-@07~vC&mFcYDctPX8#&PhJAD-Fsx!SW!>=4~aNI;C(`e5}1{L);hF058AQS z%_VwmNcN}j#4_tQ&{nu}u_s}D3zJEcCyj=k_Ta^q^hTi}bX-SHpnf-+=xY05P}@(1 zbbN{_KO7t_#(%cNxraNm&^Dh-%%^RLNh6h05wfNkJV!$%$7QKrq zI|9Z_gay`&hRMzgJu=+h+b2WgeT~T;;*-~y^GVAh+|&-ah)*VUg01=b3B(t3 zS8%ZGe2IA@k$8h>ka>f0XL?JHGyH)A#%PMO5smlLN@~dlXp7SWFYF_TZP+F1{rBqbCyCG6_V@#Yb06 zheQ`-)iU3ANt6r3tg}SI9a=O1JT;^$G}T0%Hl6x26k{LK#nD(paRfKT+v`C9rr`Xl zr~BtmIg9-zc|7GJ8ZI{9$sV~H>M|PMGFdK4va6o-qbF=Pl_%etwn%#iWyYdO;w<0d zK!T+UggH5#yehs$O@-26K9QBEdX|DR>dWO(1S;8sJ)u&quf*J7i|nXVz=VP#ca+KyislnS;WP?Rupq~*lZ(u?~^ze&{tZTYR6e)Q_(pqC*8J_l%)786!oeTR4}f{ zg?uZ?t0kzqz_xp&wbD$odcz4(@ZD3au1xea^*5yAkD0Ls4xtRqDKS7 zFXP6AaVH+Q_D$x@C=5?Foh|Y6LJ^3lt0-V=INSw`>iL)BN3lKX9?}KG4?X%!QTIwREa5Ya`c^f=Ewe6JGh|%SF|A)# z&a8y@kJi}1RtkCi}mkM~S=!KERig_J#c zehN|V?8q)i9`=tD&V5lN(;X9W$^7x|PiXN!>N!7dm6~SVw*u`{fHMNHs5yn;?j7%1 zy-w8VCOzyK6uasajV4susZtklMYrVYh2ta;bZGVs^{Qhi87BiFu@qF4l5$1g*)2uV zgGzLR{l1vo`YHbiFOPBs&zc{({{W{)x-GwCP+ad%2*riAC0c?|)TX)ke0i5P&Y^Rw z?|0}_o@@Mc`notHX@QJY!G9tn2^l7JLL2j5U0W+kP84LO37g{NB_Cp59rct<9Ul1` zSWdO#?H3!lmI%sfg>-o1zQoF<(7dXeV*f9~&M`QXuzT|p+qP{xnP6huPM+Aw1W#<+ z#>BR5+xEmZcDCOAZ|&A@?S8rM?yBzobf2noPM_;{MZL-_Z49YDyG?<_W`7HB1H5d$ zxy^Ofq?L?KfU&l5A^JPEbvla*hnPz?`L09I6Frj2nYK_Q3)$j<(zE2}ep}QE!n&-2 zkADgj$oO~ex5cF-r|X8s%6$LMifqfb%-1;!8i7|$#q9)yz06J)_c&RhsG9Q@wb3_c z#K=0sm(uDQRc1*YDQHB_ZMtC6-QG9Ic8u|iMtJu#I8*bqA_<<5fi|w!kAauos-Iwe z&0qfai`jGNy)%0EK*=f96F#;0yTR#GT|Iwi zSboVKF!9K@dh{mPthY0BwQ_BS^!K?A@DO+b^-1!S`NiDwDB+&y}4*!4vzl;=B&bVhU=`WX9)_D1yq@#*}P@de?l@txqC=Q|{{ z@;&4``#t5m(1X(cRTZ|-gGTb{HK+5f^swTKYWe0nWcUeS(YD7lL7*JQ%lfKr&@?XH zR~|skjP`3CvLGWIzA+Kkxy_jq23mm+afwUZX3j|&i35JIpkgeX7Bq6T(|SkSjVqEB z9pY^zhl?})nLVva!u3vqEbOTtmQT zI(0v4YCK_tI+L1zIjdHzMG7u;=Q)j;+M(eG!h*?|wBp_ThWv1NFt=)1F&#o@W|!rJ zp%X-jg=;c?P9LsNglk2zIZ922wa65f1fsgqj}FZ?Uo|)dqQ?lg&X`@`8-~Ajh&A% zTYETlXbcS>*r&s#U>#4Zx6lN77k*g%#_Cd%dReB>8U#!w6)hYLjm3{sM8^^6wXv47 zU>tDFMSGucEsxmJrzHI8kr-?6Il^yYT^}D}Ns^7O)?$3=zO1f78(^>W_C!tHB>wxk8f~3!t~-`e8A|o+8Qcgf^W!#i{!B79yWr5bdNY( z$iK!t*nt=7k#nmcxaJ;}Yr)@lf~#-`F{}dYxTWtIbC20E?(BWWVY&kwmiY*~Emw?Q z39{`ZS;w=Fm>%9JsJM+eHR`1E#32e39uEC7xnZ20EFr;koWo$37m_Aj6>lE;OvfK2 zzyd=P8};@V)!c4NTQoz3K1SAeE_aA}9EtCD;$yT_0;k=d%PiMw|Z%8Y6$U4imev zZ0zc#^uIHs_C`T1*+6AaKFyB6_y1@hgJ zhe1l$x=Bk%U`pe;Y3704=86rCovgcQ<3a3Z8(|yB>TOR$(^7Co#k0uib($KpDdtI@ zVuAaYk&j|#F04A;i@EvpWLL2P>LaIKZ31~h_3Wlipr#-$l$=SthII$^Ib~Km%+qzn zsQh6L*1$ak%6iFDs1WEeifik#ddE zDC_98!i(5wHW2RBJvkk_FL{1ii{?U3m`S?_jR8kfP zv&Sj(A~(Pp*Qf_xy22!LbBH&-EZQMED$cn2#)+Es56W_p1)m?OY#{@doi`vNQGo?Tf5?mf9WZot||$*&$h+s<2K2E^it~oJ9_- zz?3$467MMMxlvRb=x{onQ9&E5Ji9{R>#-Fz+e)vpGeeeD4%Ecdy-~6UNtTg5I3V*J zS#x;+^B%QzyA!>ewI;}ZvSK%^4Mup67d)82rqx3L&;H7EVG<7+-OjWmO|Ei&bI5Aa zw-)jq(=EhYUGvto<`q7a4K>#^+om`M{oleQ^R3!d_Jl1 zB7Tq1y#!3;O1Hn&nQVF0JLdZkyw~$t{rDL$V~K3IK>TZ)F|!gIwTQs1kDG8N^2m8U zd^6$3_+~ARu`kpoai0YX$a~X;>V!>xCxGh2y$;58mss?4Jy3IUe?;Pg*`o=X1#9xc z3**3mbc=NpT&>qUaHz?PDn;lg+Do;K=KAmswT!6!bOWMVhhN$cIx z=SR*P7hP4_Tz*dhdCXlbamPuWx}n5I^VOKmtYY_*h2Ne^HUUoxK6V{uP3jh|rO#37 z7H7lI0X2IADNbF+=J)!w4MmM(-j82`6r~p??H?e$m_m|PUr|=KShe(!x0s<~GX8cc zuw4uYl$w;Xb@bHrHkyVIyZCg3>N+qE{!4^k<`8?V6=eKo6#Xmeut0!oFj1A=tW9v5 zxhtS~X`rPc{`-r{0Ysy(GQ<^#vbOC2k~Jc8h|eX8*R3gN7n41stbaUNvW|EJW6Ld! z6!DHpPL@pqI0?+k428^z9<14H|kVE#A1`>Hcs1ze6l z!-y;8V|C)3N$b3a;i{Jwx^)YwP#8QcRDBHpyY|*qVjAyBt^N1((L!rWa2W5WC91i5 zsm6&Xs7HoJIP}sgWD4B)&c*JDD2kJe_$|rXyFR7% z)DYCgTn`HXLn&bNB3`Vfv6qN0&foTD_ z2aHSf9sx!{YTx{=5d8Xnzm5Hm7 z%fP2%wf^pA%!cbK=JzS>aSUsmmP#kWM)_l!Wtz@ZwLU6M4q&+}ZLa0gopMD?u6@<+ zd1W#%uqnd8HhZ|HLH>kG3vkC*)$k&GZu6Dq%IG_$J!R0ed}B}v2j0Sn9$48EjR0cS)q_upnYA~_>OE3ow5SkRRHQ~vOv()g_?o$d7q7c%4MYE?Sr zdT?8EZSiCH`!f}8itfvxTi1f{aph@1Q#3Y;q(13Mn3wSnpCip>@bt2eWZhMO@Uj5& zChrfls&~V3S7b~rq@Syv$m-fi1L@0TwSBzcE1C+u=I2taOP;WHEjj+5%MCYvkNEuN z0!U0cOugsJkvG+ks6fN6kcmsz#XbAHFP}u1bB2Fcg^0eP5LHN;zUQKx>u+I4T0{+& z%T$$F=FOd**AG$8YoH z=v?~XH+Azi1DMU}2lXCQ?qH2povFT6+|R>BSk(B7L+ZUtR1{v>89wp1Rg6Bt0KOou*AJV_Z|%p0Lfp*s)L-YD(=9XZlm*dhv1KSfho!QY{C-Kn(A3aaHE)yD648vxI_g zV&vm|V#LNu{^fpxN^6<>&JGRUy3R?q8YjQ!01o*55W4RQQ#H~ z=SFt^oO}@8C8I;Hdl}U)C68O ze<-~J%}1DN35IuqOUA0or?vD~O2QWSm{jJ`%#w8CW1e;$7`(K4a%GX+UD*{klS*q< zamttwo^nJgWtL5yQsfdsS~cm=V=m-#pkI-;MiPIJ~=yA&k;jMsjaaBvaf2gTEdIw z+w_T2_d!~Tu5z+FF)(-@v!kNnTN%>1SUsT@d>cL-L!zd{4i6+vV?QgY99!Qh+eB4R zMh+#|TH5GRd~~I@V2O%a09_90^A+l9YcQO{UMl>0U*%D6;1Yu3sC8Z{*>UG_F;YIio!RaSHYMs#Kb4N^qvZypR2Gib=N zo)&~EUaQC-)dyp{yf!b06*|+;05c4|qbj3G^mIb3==4 zu{RceSLf{C9-v%psT+H`v?=b&ovOb!A9@miriIe%@+Q);B{IcYeQtoegj$1qCuyGZ zNwRG~s-t{o?pX4Px@;fc5nT&}#pz9aZ#e^&oK1Ggp~`P3o6>ZjJHxQ=GsMbl>>F+m0nT5lR8DD0MupX5IG zJDflndf=LNSWYP(6xAVABGeqY-nE42O$0|9S|55~nxJVi)KEO0^Rt+USH1@!FqSbHuQyQd(tR%?2dWcs};c#hWc5vN++9odbGXc?(e)M zq&hD&rgeKa(`IoQ6MAvzrKX+aF->%befVV?(}^kMZ%X9v=EepN2JZ>U{QyU;W96pVfVc0+@Jk$wU7^C|`dC!I!f@tVJR} zK=FV}M_%{Kya3w*kMr>b58$N!9lH} z#9f8@w$rjt$AtBPtRCpk5yJ^AzwcICzqwc8{?oM-SKn&ov{M_mI6a8 zj`mR`rzJpNp@Lrd=j@9I)2+dQaJN~${>CbBJaK=czBW!z~f0t_rA& zGze(3Qo?R6y9W$)o>cb_%ej%S-tU+|-=DWg)L$!2Mq|GEcd?O%GLG&uNtzqZ73n4;HAEQL*cq%rcm}hPnJJ>_-wU9)LqxmRE zF(M>_;6j1{KLkURfgOG3fwwXC4%z6j~=;})jNQg-lsi@Wq#_H|k|WxE6GvzM%*qA}9$Akr*9)GTt} z?7ZC3J zvHeel>QF=#iQ4+?Ti)6F){<+*d9~}tR`t0vk#>)V+}nN22jxkQ^Htk_ zmd#lEuD2ta*16I%xY_6hAO6!31Bjb3;`ChDeR#sVg9TO}O20i~!N>+-AR^NHt%uO` z>uoS`#Es;S*zuQNAZQ?2sgA5+BR79QUvABGqDclJghEV9MgqxmkZs0eBUuG$c4|K~ll_8FukNyJ>cHK)&&(Tr^oyOq z7nrYs*xZQrT$q-M^?MpgU~VRX}0#LsQBz5oMpBFSmBA*r!8APG5b)FGMWaq zc)5`%S#q9?QQ9Ov4}k$oGPbNJBx-j=yaUy9L3ieYT|6`i$!Vcgp9aBVuA#?4MHQ|U z@(^u|&d*!Zenm}1os+cft=|oExkrsu3HZATJ&N6F- z;?Rtks6my&Tla<0_{H_&m`|?Z1gvCkF-71+`ps;sFQRBA$eobV(ask!9N*H z)BwXWL*&$-?X_F@Z9X#eC=+%RS~@MUa2^&bxSnq8a%@=3`h<&Mq(@SxWW$pdvLjhA zDMzLbqxoe(L^)U4(OyIP{1Fog8s#`Ya#mPuCOv^>G^99}*H_LDc7aNG%RNy5z_W-HYMsw1)R zug}4HnyLQLW=W5Bf8pNB3&Opx`jZw-$H&Z=RB&-)J`(odS&Lz8=poenq&6)JQ}#rJ zA#r6#lR-&SQI9STT)P1opAYo`<}}5MuSuJw8@|qqk!y|*rmvY;Aq#hin);A5@!ysVQH{9!CzczwxXN z`;oF;&z;411rQg~&;olfuJ|KhD}pQocDLYAOH~D;wX`g6avCiUh8kTz-f$=&8Csn- zPqr5b0%uyFTN@0DsnnoN-wE4SjjT^`HLsfNX9Xftt1%$3uW;|cnQ3J?9_-o_3XOADVdP@j(M|6=FN5W92awy7T zR28$H%a9l?$^gi}C;?3K2LRur`p8SjMO*#)G&HPUe%P(tsCUW@u;8!U5O&H8WP`pr z{1ol+LsAxFP?_M^3{CWD5>cUBqSfzR3#G-i=1?oygw>E$aI2#j6o(I8%A~J&bRU&0 zN&K6l$hksV+4*P6kt~rUQ~%+drb{S=z#gVbZ)WxDJ4N~`DE;zv$vklUFE+N^kjZBy z5R9Y@lz~LOKQ0G*SM#?0d4QfveLl5urW3NNMuq)(3OZvcP*Xz7hRjibEZaf6hAn+j zjX!dze~5xW+>Lu|yUsQy8&SV_sEo@Nez?s!@sIyM_HP%@8@5ao1yTdPZFN_tH(_TM z2cYKZZ&^}&UUNuWffLRIEn-!};K{0CiaT-UBu9RFYzPp{NtLQwI-x~7x%sE3j2HkS zyU9%7e7Jf+myu&%@2x7^Tw>|&MgF#lSz#P4SeSV~MYlKX+9=ILBF#)3XrH0hI+!uR ztcUOpqgD#AbltI7u2oN-&ikEiTg^Q)L9=*=uVSy1!@iN_vcAdLhH(#Yq@U8xu|9*T z54|DONCAYA=4}n=YAvsj`^DUM}!xJa-bH@|8=Lt8*gw?R~es2iJQyYv1Kq zz!tgdPH7$G;MG0*aQkIyrAxve8a~IPskGKBQ^opb{6tq;?-uhrDf_B)ujLn)5Qwf# zl-g;Z{{H(5`R_f*`FFrv7k69G6oV|!3IDUH<+*hF6lU$jzUJr9_nM_M%iYFb{;2|gZ+ zxK=+95Whm+oF^}t-S#}uS$mM!HVlS1f;4WwI1176l)}~N2h^o6dpR$PY@q(s9G!eJ zn%+Q0C3?cyAM$zpmcJ>^-e-8Hzn&rM6i``waUHy+SAIdU>#JdoNM$Yta*qSfbY9AV zncDs>73TOF8V86=;T?yJzv22wTKgm1%&+_qk26$d9ZY!WmCMaM{guJL?R(dd zq<8EYr*DQc!qQ+~d*PgO?P6Ss1$54M1hqc9=V}`0YHBw+V^3jMt?3A=53!1QRrxD; zr4G>d%HPY<%03jU_KUsYnH-2^A(|-!Wy(u=vFfzY#w-33QJ-|o@%v~Q!rfr)i@76z z=?cZ*CkuQ_0w%4dTrykcg&m!h*8)JNCLf{=Mz3|u*FRPIbN_MKP6&ILpBF0Co*1RK zSJZ6}q5e&q=KZlj>)Ha&Pd=t3Qg{0;Z`U&zafDYeg`}@esg+EQkI}04%eCYP3%7P# zp{~eYcL(7>e}wS$3`TtNy*;yby$CEHAgxZ)W5|ds+j;ov+_-fPG*$<{wx(t{0p`br zd_Y%ouJ_<)kl~!%AT4C>*Bm~{o3p2M6v@|<;ULDNNsl;w>snMzT(|aaEA7Pqb-qRvRTdkVL|JiVowz1A11AZO7lkfEk%-qG(KBfhI9;uFwnPM zLFTq$ugSL^2v=HO=(91l?POZ}R|u~D;N*y+g{i(26KuzzW~}>pl*c1-QY@esIf(FOH2*~P3(Rq-J|wU`R+>4kkN64^C>i}r+`z{iW+MvzxZ{+t$R)I zQqFm>=qkSiEp7!rT{|jfDFLy{@CaZ#n?X~7ARBEr0+4@xdir^+stn|a>hvd55DZX&Id0^SL)D6X zj0vc_-TNzh5PD5QNuLZ!x335zU%GI4jSCc~EO48Y$TNl}d2gOif|nwPm`*Cum8H2R zmznoi!LTR2r`v&a=h1>*Mf9rLeYGd9p0e*pv-eL{_@!(7G1KD-Nw)aY?0V!gL!#t; z+!R`xp|v7;dMKGZ(&=9?wCe3`5AlruCp^7_GuEbw5eACGrkX!2bkznmxWj8Q!=GNJdNJZsD zR_GH&eRr6bk5_Qc-h6s1cezD|scZq<mmsYDS;X<6tr6j)cZCsB2qVnNLkg|=`^6#E)Na~C4E`#@ryEyyjcQu)GWRJ& zlHbGSW_-&9WDtWU{!cI)O#@Q?E_FThd9q$IV!W~&$cUQ zB}aX6NjA_fnKPAY6Atvh*U~IiO&J;mQVrjJzw%301Tzjcp<3xQW$`Xd*n-)6=8#oU zDPCVR~?Z8{wc(x0)In9=d)tNkaRILaC)bvQsidVAEEbAchnhSYAxKa zMnt0^aBiiVZPNh|+`p*hS;r3Y`iM#m1;o6&6Dw|dZzdYbK<0FcHZeuV_r4C`HXOO$ zGS}EDo90NFl;R6wg0%2|Lg##D6n0hOkj3FpyQrTiE zrMckuGe;uRT+PUAaCsmyC+q5;F>}YHu@OG&$=%CZu{Kup3}m&H<*x?*4w&v?L$YSc zfunFMZF)5jKBqdy! z6HLw!p>Wd_Vp}*jGH=fn-#gS~B{|@Z$O*!XfWUeb5s}V*Hhnl!fe6yz?gE}yOHqey zLdwNKV5CK#6f5izrE4^Rsjk<@od4%Ja`kPbK=4E-Atd1*EPa$QjK;wkrIvM0K~}U! z@#tdYedR=vF4pKDW}hgax0sftN-+9CB){-Ykl4KNSE##uCH$*OomD!5OWoT6({CES zX1O)l#D<|Hqv}iqUbJ^b-(b(~h=1zPzk61LiyDGp|9hmWAaNJ{_~$W|gZASG{r@Xc zdUYyK0j$r{!!cuOc>%PI6)YveH|CFJ#EA;`4^#vGJLwHWuc7zK-t zx*I{z)aq8h_(jlZk=liLB3PxR|m=`QaeS-d0aqBhs!LiEKqOkyIrOPlD3$h=1yf zmZg{urNPxA@$%N)rs6#id4g-x9_6UNLD;LtxRWDUfoanpMG!%RZc|c3g#Dcum+2j} zb27xh+NQ>AhcXR-=ycwtu)S*Ozd5w{z z48lisT8#`f`>4i>b$1kFr|fc99UkF-$$^Tc(~Og*A`_=vNRM*Cjc)}tOAUxHq(@=f zz)0d^zf#;ilN3jQfa@@ZDdgkhG%b36%;%<9(i;mS+{rI7Vf`J%=**s?G&`Ft8w)-> zvR`JyPl%1DP=#Q#u~t~ZCf?4MzWT3KptKc5A-<0O!Wz=HHalgLk;`Oxx?Xj?1m-Bf zf_lofP*6W{N17k2#d$(c=Kzr1IxJvfCuC7Jr%%s=>W(K}T}Q2r-YmDKrDy4_=`D_UyuVgW)ilC~Qu3&S{i<2q`HOMJkj}>32!cE8Ed@63P zmv^OL>6>QUY7V1dX4N&@OFKnp3N{fNLu@c)AEPF~ z%FR`s3(1R+4^p)m(ol6V%8V!xdt!f6;}6uw5W>8pk12PTZ_VBHz)(q3ca(k5?~SC@ z@28-RiM%LzNsmZ1dxO@5r2By+JM$U zg=3?BBsx#hRc1Q;*9F70O8kUine7;}!pIXBlCOVnIKA15hQ8LrlB`*KjhN$jMzZQy zN054J#d^9?*2L~vpI`HA-64IL8_W6_Xb7S~8Rh-zkZaDT32W-}b#7F$GxZ{I(yFEZ z!_u5Cg|pqVTEVVDpbmWmRv?+xwD2UUJ?l8^f=o6tnMPjjy}8N^iRlRAApW_lIKN2T zgMI<915$|@>-y_4s4CMz<7@m(GG=X02YbThE~WGY4`lg-xTkv;vMv80wYRULeH-IYTGss&cbT5Rf5iws6*NQkuo$%FAB_C_t^SxUliu{8=6T zfX{xfFlpTkGt%jh=@@>b{6nX;f;DKYgWBB}&#v-MOc?fw1NHnrizTv7X$`{kN1SPV@YJhX}P z#xY4p^)rSG>>rtD<;_HnXPwh!&N`b)+M5R2{EFI}D%$uN48=l^DwFf<@~OCG_V(qO z!%mS~yQumH8r~9$QlnDl2?-dPcXxeK?k`6;uO9CxSv033bxyn3)0O%h(G8}THZcnp z)U1CaaBwmBt6Y!bqTcTV)}ZpcT9!R+m>&4!riS zJND|{mC-ixIeE+0WHb8u-K_cD!0EqWc$HV<-fsXd|FHsnWp!$fjVqf@y8A!k-P%U!?O;)IaUM=PhZJpsjaoGg=uO&zb>dc9Rk zH%(r+3bWGPu6T|~mybM^L-+8*s(o@?f0~`yg(|Gq?9L##G<3K?B5Dx4Rz@PVbCpqp zW>iZa2@1rXJm(ECvedjzBrjh9D>(!SaFi^u7a0>y?pp>;#;6im!5nU38P4v*@w(*Y zK`@67s|FYuVxwB8PMF=35qBD{d<{)JX+!#rNq5HLpPTq1LucpGWmt5TOn;cs`oNj= zcGZT@I5>y7(qgzg*s^=YmtTV2BUi3AI=8m>q&!kx-v~38uQjuK0Af1;3|~L=FTbuA zvdoiQ2V~#lwwGC6G=+m2eiowpo^*w@+@89vPlE40p@_44(|kdNl*$S-Z z4qDO_eb1yZpjnAQ0{VNuf6P*0M;9vrBtzUoUBW8m(eAyk&vVyUXOI*$n6L;c z>xEGQGAD`%bPzH#E+{2^J&Y)8+-Y2RB246a0G+x{)gzQP=bR>&B6%Kling#$$Li6_ zvelNAPW!sH@7Ck9z;l;Y0({E%wZZG*)kNC~aK`Bxujh8md1Ne4nS(Qs@B{<1Mz&6(z?4!X9~*Tnm(+o|RI_CL(mox1_xyeZeYZAlb^M{WRCVH^rbcm0kduJbtb@t0F^0!u}PJ|cz_W7|lj_L%Gbp6hLsA>NI=5MW!F!Ubd+d`ZV zY$3Z_G)y7OTaa{j#rB+p`Go}h`WKurB%Mu$SCq(D>90!i87Zg9{SyjbVQM}*$8`LY zUzV@sVFItfHtA10B$#)AEX z{-8^DU*9*-`M`_xwZ6SJUA<=b3LGNR{*Z|LCMWkLANaDl9l`vL9rCSvsloi7+V9c% zK#Kh54A^7Zra=FN9*AK^tuBo^@axXto2OxG+=VVx=MPI8lfGh$xs)hFV$0QhZ}Cqp z>e=S}%71_^+YRPGng-s@WfX+QU#XBH*}}yx@HO_0RPLBus%k5hmX&%+IzqYO8rb#x zDk)p~3z~XOlFu(EOR5a|^M3gp2u*6PO>|bc%m3~>8_VsarZOm^IjqYu8EkYnYaQlZ zIb;J(0?#Wj7ul=Jstj}&6b;x?%N$U|7uo6cb2?>hKQ}YphSVahv6k7QB{>SJoAo*M zRhJZ-+>O8%{9f|fgO{cUC!2eR4JB-K*s(3)I0Hj|qQh&h;2<#mg;sA0)q6~$_{5oL>z$`ILT3|H%_ zn8${jgJ%N^LE3lxD}MKFnV}D{7FpMo18Sp?LH08s-!s2lU^XZks#=yJo81fk2|naP ztyX8g^UMK&2dzl=OWU??IfE0w&bJdcGYz|zd_IC=rKP#atr429^695UBMJVn@+V(_ zl9z}pF?xbL(=JLlBce^Itu?H@4H875h=Oygx-;yLb7;to*=RH=OL_8H7cFMmd(24VpJ2o6VLokT!4KnxS3@bS-8e_af;!B*`okNDvo{+A^I{D*NQMTF_)A+ zmW!PY6nCQb@hGMi9+-}e_IW^N0LiF(gJc;ar7FXM&6av*8tk@)pU|ANqBgr7O`;Zo zT?&GkzW2$nYv1U8Z@Z%6BCG>61A>_LpDXr^xfJ!RJ_D>68|saEmc?xx*ks$yc|k`x z31l$QDh+TlGdM=OC=KEZdT+z`N?doIU*0VFQkDy84!;5j`c*=hp`bQ+dCB@R6dlOq zXO#&2(sT-SIL2`c4SmQsLEbk4GA|QK7_e=wN)cP^mvnIap<4}`&uqfFH1W-(COqnX zdfOX5D%dTqj{h*a5Adf}2eGAzsS}yr1FZ*_#o^G&$V1!Z)l8`)v9yv#to-Rk-df$j zv8cNtvkau6*VNtSX8LKK%Z2dgmr>;olhiyX49b{j078qCHM%HR|7BkozPk-9Y=Sms zbqD(@`jWDvZ9PM2i#-?SR$S+4n(7GeLSuVt6OJl7V{*LY2=T^^;r(iysYy}{8pB0Y zb7U2+=3<9|g~GFy%ipn0Dm`v#?IgNI#fnRB7J*Brpv zRh}Ck7IOW85NAI-11!I`^t~57@W;l_4&?qN(C6mkLC(L9CQtSd=`Q7sZUAXdoqoZS zp#HrH-VH2q{6a#Vr=9Tn&?Ldg6bu@GnJsiP#NO}y_dola5sS_^%d=K+ElV~wShHHh zhSiszhI4~Pc_d?CZP~Qq!}Nj+n+*rrNNg>Z#%n`(q5`sbU|r<|uvQjQZM##;2h8Fn z*pUydZ06ekET%q*s7GyJgZToYZvzpQ!eWVbQmlIGge`x@6DDIEh;4=rjJxO9Ow}EXek%mROaIU%a zBLJ-E{5p6x7o!S=owd0dgUR-@Qkr&mV^MY9Qh4E~&oE>FYH(sX#h37%W+LYU-kilqKz>rl;>zAu2F@ zTd~$ZLRTwU1Xswz@&5&E`{+J#N-13)`P=KJ{!3-__8TX9Z(35tLBC>>Anu}ZWP+8@ zGj-dfJ&yv{mWe4c+^I7RV?XG}`0~b8r3p~R#l*st^anM>P16GPQs_EQGGQH_aQ&i83sOkg35OU``hV=*Pct79LiH2RTF77R%f7;VF7mlf<3eLd zlrX&&P;8zcc!3}Q-B5cIfW%@8<7wor zv$IU?RLM1M_p08|$<5Bn`W{>}OlbxLM2WydLDofuOTVZ=;z3(42MaX>A{v+dHowok z>C`_%ElOGHg)K8be%M-QZ;3rlbxy~(2TL>1(MCKH|A<3;|B6-1oP_zB^ltfu8AQ;l83cBX2Ia_?_zgd@n+88q+0dLyhj?Y{Kkz3~ zrIX$t>XV@U-Ew`BP|#^SZu>7VCXPROw@R$R+r@jAUyOwpWQ_)qR~ZdRe`NesZzJST zJpy6TIf^M-@0T=J^K{3JeRe?TI@v3eJk_Wl;&CHJlW5HP377L8UhkgCw;@`!8*Ls! z_;)WDo;GB7ZuvK(H+g2%p;AH=h(%`LIaqdnDH99SX2KqWznn0@2r2d$h42j~39EPX znHes=2TeY8Bygd?@ySl^ZU3(*AE!PMWQK9buSg|0(GDXdq>*yn-hs3X*GMMZ)i`?k zTOkMDSu+F00%8LL-teZi`he%w;%ViaKm!@tbzTDD%*5 z_n#{4(*yVJg2!THPIC!rjSA=!XpaygescHf1{ai9aC}N{9)RrvjOwm73=uFh|Hs}; zCc;C^=<~Yx7NUK45)?w%-dC9o~Q=@9oZ>i$Z zPYar!HY7Er;7?t>^9CFAie7N1A3$zQ$h>1c*_v|McDHF)#Z@vG&f&n~9v_ zomKp`QSt6(ArctWexn?ewRL)o=q4gg@5(0P?P?^IX`o{`atsdUa{Uf-3F0i+zZ8=l zyM99~8yinPV8EaQ*T(|$`QjEvkOI z4WycR)aJC-Sd?vv>>FKA|BbP)463AE(!|}}Y24l2-QC?C4(^RN?(Xi;(73xa?(Xj1 zI4rZ@+&g=}*}1zFQ76uis*1{teBaER6*69H*=*6 zPF=oVUJwm}iHk0jN%+S>UF$6CH4laI@dV6yQ{b5NhS_?6KEV2>V-jza088%)e)btR zUIZlOLJ1ak;jsSgX@k&@NvX!Kp||v6miSxrR>h(6V4nbvgs?0RveMzXkh!RE>@$+y z?ZE9JN7G9FWpLIkg2LhO6X;tNem*HkMSe-q2=V+6Rb^i=_~OzN#f}fS(=hLONU3l5 zwKVgwqziKMvE&PLivH~7_D0=D38&7Cp!wv#OTgr~B_u2F_T)bb5=p@3xe5fc{WnID z*H7P)61#Wze*j!R0!$un{0(}3dxsr1 zO0x&~@{4YRNs=4lYe>VJ!rblcwE`$QghMV=XJq-b43y6bWxgazX!NzLn-{=qQ%vWiJ!w-=^#52Zi{#)w*;Kl#?Qw4}QiEm_FG z8Xvc%En+1?{QF6%l779gB1T8>+FtN=#fp$9Rmb%e zbH18Q|752wavRwNP!~gyP6K~52OMP*HR2uoE4WX0 z-gB)=xzE_YfLxTepU}7{WTgg`r}@ElM060iwpdHYom}67C?Cm-45F{<0AI{@c$s zLSApI;|q`}f_zs_SJ>a;}yy~?eMACxtpVXoPh0X<}Eom+>;f|-Tr zo`!=UQm5d$6afaN;^9Oh!4%)qm2hg4e}twAH=@#FiJVBrsvwNuz=&u=k#Ixo%Ld$J zfd+9A4%H)s%ElZtLp#MJi_F~{Ar;SR^#}zPDLSm10idXopxLX)6;-dt-gc9*C?L+?4 zaq{ON6FOP>lwo+X7q1&oc`~0pFG1-Ss4@P7fb|2I^#hsp1De%Ow6K>$fHRp<*0xPVA9#g0N8{?ry^ZbGhIHM+l|mFlX_Q*^m` z%!%!<*a2O23|kgWZNRvFMx$va^xjibrwW)qE$d{+m<^PavJZ?EC_+*7+09KC!^~%(&@f# zTSVBb+hi#NiGLjIiP9e>j@Z0ZPqcTaXPvU{DKTyGBN6+hzRvI+7UZs|0{{Gd;V0Gw zs~|AE@Q0waPth|Ga*zOp#te65tZgsoWu^n=OG7IjbtF9X63IjX(#XC9XpuA%Sw`$?Y%x#uAOQ$P`CxK0qCoAk#smvOWs^;(u ziBK}Ol!HD4Mj16m){mz5$K{S*1CjDu<?)xwl#O(-7(fwY3=Q^6fGa}(j2N2E+BBD z$BY5D@1&=U?vV!{S2-u6+?b6SVQ86(ZK@ZGq?rBu8{xUtLkmKw*7rHu0V@n8ego0M z)_}M5AEySZ+U%3zx`;-JbaBru6%$2^5ko& z3z%&sJDJD6QL*SD&q4zES+W#AVi!X$A0xBx6aV8}5r6``!c?KBuL}sK@3Gf|;&6F~ z(pxrhwp-@{W3mlqvM%h!D~XSyjAAI2T8{_I7X_`O#v&Z|K8Rrsq03h1*rJnh7Cs%;|#pd7KxG`AaAF-@51 z4lF~tyUEJLI1`G8L~kX%)Wr!R6dvH*v35&V2zX4<;d%FvvMXe5>|bqy&n(>1lXwPN z-+*`dGt_BkOnQsL$|+YgYf(&mlhhxz4NoH-m-TXUTtL+K@n3kS#xi!iZMi-<+G zqGGNVN_9}%$LdSo{^8Y3ZWnfK-&pRiTwhlktyYNK<9hH z%CH~X*)Jh{5PE+KNO(VC@eNGP0s95y?Cde#GR!JG+1vwniqV|43-Cw6H zWk~%i{gF&*o_uxAWvM4!mpOrgvZ)XW=E2299>*aw5S!37V0O@UuWY5)0>8F52bcwn zzb7T0&4SJ`4lbwsv05tao^-`uH!rwW{g4OT2<10Y^`fqAzCmTZL3=*IFK6W{6MVwC z9oc1!UQO%zr7qq;{#f#p(zvcY7U!39zjLr;_>9RB^!p(on)C$BH$_N-@2vC}}PvLkMu4 zxog`>g>dC`u7FHq%D;)aW-a+!GoO>7U)ISuEvn_>vKYVOn^j2E6AT%Z#)y1t-;X4k zB;u#Vlr_%pK_ucTY*Hy}R~*~45eICLZxd)A5k>+IVdgv?av1eaf41R`Plr|*gi1QV zPM}|02UBz+tCIm;>uG?YNt?4;+_qEtAvWRrmb#^D6mJi=Sw}1zcj(Ym&VE=|RaT?c zW;KZu%aNMzJPiD!sc2`GZ=f~JCz}_B(mZItJbiw(hBXaOo3blVb2v}zhK(eit*7=g zjZ5XySQS+7)^u_wAidMOAGJB_Au5%adfAt=V;t83s&!So;!bjOaT_ND?P@B!B4-=T zI90tOX5W_|XJ3@%9vo@EaYT$O`;I76*pAWtPWSrboaB<7_iTD5Y=3R~lBRG3e{R|LkCrMu{= z&C*!2ch*!KhglKqHslz@It4-0&3wO!V?aI3% zJ1D{XkiFDuVBX1Db2(^KKHIxO3*;?c`!%NIDgyJDE#5FKj1Mn(`Kj4$6P984sWjfU zpEC1T3%^-3DjiflSO-T`C^t&UDP}IfHL9sq(li)1_LtTQj;KP68SZei2T|nhABHzT z`7<^#rr3BSVCk%D*Y1zH2zHls7hgp7I_x4;t!>c7VuuB= zj=SKzh_4j8f#Jw+WPVrVgBQKw7CiRCscxF_aAlFxXr8ro#g%=zU_4o~s(Zn!R?jVU zJteSKdsG(n4X;r(2-VsWb1&m-(6}g;Sm5_k;wu|u1DDl~{#mIQnLqr_d3h(#8MVk^ zhO8WmWMxeY5(dxy@I>MCV}{48zJm{a?48H352Zv6RvPYc86U0w7lDm#j&<~Aee^xP zOE7l>7_}X=2mTnBW4>Rx0$A}uOKd_QzFO?}?pWn;uc(p=3dEz57cxjTX~JAne#>ZK^HIVdbRqc?emXT0*Aa6epra{ zd<`@oa=UeCOJ!C}7FF873YJV;so$YlU6w6ET5qOzh$tD}p;@xFVX_R{- zJ8K1WRD`Z%^}i?cSm0llJ8^RknLA`!xkQIrjqFd zef&cYuXZ&<`M{rdE7P;jDm=cW6!yaBE95KLzCZ{Z8G9`CVBw|q9+LdRQ(EcoSn@)F zsQzi3`w}dHGjN16o*cTX-M<|Pm#Be7Z_f;IZ5EnZI3(CLG_rFsWcbnHgs^1;7rw$; zQ|#>7W;gfL^<;L{l_n>WX*ZWMkX+Z1Drb_@i#}N?++J9V>ZM7+LplF;>2SAJFYtuE zcIx7aVsVdJ%M{fiP87}V!@7x;_os8Zd+DCsC@ml~#cbDTuW944;t@VmXDDTUsFmCsL8 z^VpMzmlQrw_|8#YL{oXt^f@7Ou8}NYW}3;2@rq9%j@qk<2{Nh{E?iUffN`#Gzi><^ z!PD6+v@K8Cf^}K2{3zx!~aMkoJ;uDiurDJ(Li@AwTUg%j`u?r@twq$gO%q1QEmL?)<18{pYX^5Q2>i}@co8){r zC`R5yLM;4;>eWfgBgS)$lTE9YtSdGE8GYz{&uEa#YJ=6Lf@e6J&m1v&L~6|GqV$7o zkci$?Dh|iiu8ScFZ*el~I)^5PLYQ_PR3dQD>IjPJDdU>w;5Q95am` z(%nqF^?q;!KP+46g3dz^spdTfL_;ljbo(W zC)OZl@{Hf*boqTOYBvj&E>pt*V1k2s_xbxD^e^aMYy;zg?@4OPy5ABLfXp*&Xxfjd zqAI?K)xC|Acze*U@|>`A)4i@c!+TQ=(FB{|v|j9c2FbovilwwlY#LZR1VoPs{Z37Y z0~lBr-M17xJLx~ye2$(3>IJR^vH(kj1rC`MMGaGpaS8@S2dNtJiWNqcT4gywVH{y+ zSQ=vPK}|5mC}-c$vSCflFz;c3M;%cacL?f4?YT7G5N}xdB)j2K924!?0L{t(&5i-h zHlMKVwcBD}Ir{JEO|lUj3GZP-Vfv4f4b`@cb55v4Z4LX+u%yAm6ReYZSe`qjPDKYD z=?=F^Wx^8-CbB6;=?j)Se^-uf+-I>@^8^bnSRsqr4+PyWx~$`>$`AtCdS>{xW!4jvIWanOoDew< zJ+qRzXmf}Sb1%!%bSdu%TCdshlKw*=ZgZ~_GiRhuqnBekXSAcVM6Ru@K9i`})`6_a z#0fx--Kx?WHIyfmh1K=Qm3pYn^@zk?1*b=aaUHY94G53Ac=_z}xN0%58HfkEZY^Ex z;M|49Pg2W+u}_2D4g�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 z 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 literal 0 HcmV?d00001 diff --git a/lib_javaSerial/xstream-1.4.4.jar b/lib_javaSerial/xstream-1.4.4.jar new file mode 100755 index 0000000000000000000000000000000000000000..137607f58bf8e228bbbd72d34ce32fc687239a97 GIT binary patch literal 482681 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

*Gfr%JK-9tT5Nj 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 From ddd487ca69205e5e9f5af7166b00dcac0d0c2931 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 29 May 2024 23:35:54 +0200 Subject: [PATCH 89/89] Removed javaxml module This hasn't worked for several years anyway. --- README.md | 38 -------------------- proxymodules/javaxml.py | 79 ----------------------------------------- 2 files changed, 117 deletions(-) delete mode 100644 proxymodules/javaxml.py diff --git a/README.md b/README.md index bcd5629..3d672b8 100644 --- a/README.md +++ b/README.md @@ -73,7 +73,6 @@ hexdump - Print a hexdump of the received data http_ok - Prepend HTTP response header http_post - Prepend HTTP header http_strip - Remove HTTP header from data -javaxml - Serialization or deserialization of Java objects (needs jython) log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. replace - Replace text on the fly by using regular expressions in a file or as module parameters @@ -189,43 +188,6 @@ The above example should give you an idea how to make use of module parameters. You can see how the first hexdump instance gets a length of 8 bytes per row and the second instance gets a length of 12 bytes. To pass more than one option to a single module, seperate the options with a : character, modname:key1=val1:key2=val2... -## Deserializing and Serializing Java Objects to XML - -**Note: at present this does not work due to changes that made the code not compatible with Jython's `socket` implementation. If Java deserialization is what you are looking for: the last compatible commit is e3290261.** - -Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. - -``` -CLASSPATH=./lib/* jython tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om javaxml:mode=deserial,textdump -``` -If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML structure use this setup: -``` - - +---------+ - +-------> |BurpSuite+-----+ - | +---------+ | - | V -+------------------+ +--------+--+ +-----------+ +-----------+ -| Java ThickClient +------> |1. tcpproxy| |2. tcpproxy+------------> |Java Server| -+------------------+ +-----------+ +-----------+ +-----------+ -``` -The setup works like this: Let's say you want to intercept an manipulate serialized objects between the thick client and the Java server. The idea is to intercept serialized objects, turn them into XML (deserialize them), pipe them into another tool (BurpSuite in this example) where you manipulate the data, then take that data and send it to the server. The server replies with another object which is again deserialized into XML, fed to the tool and then serialized before sending the response to the client. -``` -$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -om javaxml:mode=deserial,http_post -im http_strip,javaxml:mode=serial -``` -The call above is for the first tcpproxy instance between the client and Burp (or whatever tool you want to use). The target IP is the IP Burp is using, target port tp is Burp's listening port. For listening IP li and listening port lp you either configure the client or do some ARP spoofing/iptables magic. With -om you prepare the data for burp. Since Burp only consumes HTTP, use the http_post module after the deserializer to prepend an HTTP header. Then manipulate the data within burp. Take care to configure Burp to redirect the data to the second tcpproxy instance's listen IP/listen port and enable invisible proxying. -Burp's response will be HTTP with an XML body, so in the incoming chain (-im) first strip the header (http_strip), then serialize the XML before the data is sent to the client. -``` -$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -im javaxml:mode=deserial,http_ok -om http_strip,javaxml:mode=serial -``` -This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialize the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP response header, then send the data to burp. - -Using this setup, you are able to take advantage of Burp's capabilities, like the repeater or intruder or simply use it for logging purposes. This was originally the idea of jbarg. - -If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserializer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. - -Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. - ## Logging You can write all data that is sent or received by the proxy to a file using the -l/--log parameter. Data (and some housekeeping info) is written to the log before passing it to the module chains. If you want to log the state of the data during or after the modules are run, you can use the log proxymodule. Using the chain -im http_post,log:file=log.1,http_strip,log would first log the data after the http_post module to the logfile with the name log.1. The second use of the log module at the end of the chain would write the final state of the data to a logfile with the default name in- right before passing it on . diff --git a/proxymodules/javaxml.py b/proxymodules/javaxml.py deleted file mode 100644 index 049da8d..0000000 --- a/proxymodules/javaxml.py +++ /dev/null @@ -1,79 +0,0 @@ -#!/usr/bin/env python3 -# -*- coding: utf-8 -*- - -# THIS MODULE DOES NOT WORK AND WILL BE REPLACED, DO NOT USE - -import os.path as path -import platform -if 'java' in platform.system().lower(): - import java.io as io - from com.thoughtworks.xstream import XStream - from java.lang import Exception - - -class Module: - def __init__(self, incoming=False, verbose=False, options=None): - self.is_jython = 'java' in platform.system().lower() - # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = path.splitext(path.basename(__file__))[0] - self.description = 'Serialization or deserialization of Java objects' if self.is_jython else \ - 'Serialization or deserialization of Java objects (needs jython)' - self.incoming = incoming # incoming means module is on -im chain - self.execute = self.error - - if options is not None: - if 'mode' in options.keys(): - if 'deserial' in options['mode']: - self.execute = self.deserial - elif 'serial' in options['mode']: - self.execute = self.serial - - def help(self): - return '\tmode: [serial|deserial] select deserialization (to XML) or serialization (to Java object)' - - def deserial(self, data): - if not self.is_jython: - print ('[!] This module can only be used in jython!') - return data - - try: - # turn data into a Java object - bis = io.ByteArrayInputStream(data) - ois = io.ObjectInputStream(bis) - obj = ois.readObject() - - # converting Java object to XML structure - xs = XStream() - xml = xs.toXML(obj) - return xml - except Exception as e: - print ('[!] Caught Exception. Could not convert.\n') - return data - - def serial(self, data): - if not self.is_jython: - print ('[!] This module can only be used in jython!') - return data - try: - # Creating XStream object and creating Java object from XML structure - xs = XStream() - serial = xs.fromXML(data) - - # writing created Java object to and serializing it with ObjectOutputStream - bos = io.ByteArrayOutputStream() - oos = io.ObjectOutputStream(bos) - oos.writeObject(serial) - - # I had a problem with signed vs. unsigned bytes, hence the & 0xff - return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) - except Exception as e: - print ('[!] Caught Exception. Could not convert.\n') - return data - - def error(self, data): - print ('[!] Unknown mode. Please specify mode=[serial|deserial].') - return data - - -if __name__ == '__main__': - print ('This module is not supposed to be executed alone!')

*Gfr%JK-9tT5Nj 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 literal 0 HcmV?d00001 From d14d4a9df5550e5c7d2a0eb7b469c1632ededb51 Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 27 May 2016 10:36:23 +0200 Subject: [PATCH 08/89] java serial running --- README.md | 3 ++- proxymodules/http_ok.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 91c0383..718c067 100644 --- a/README.md +++ b/README.md @@ -100,7 +100,8 @@ If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML Example for the tcpproxy parameters: ``` 1.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om java_deserial,http_get -im http_strip,java_serial -t 0.1 -2.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om http_strip,java_serial -im java_deserial,http_ok -t 0.1 +2.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om java_deserial,http_get,textdump -im http_strip,textdump,java_serial,hexdump -t 3 + ``` diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index 239551d..2f7e2e0 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -7,7 +7,7 @@ def __init__(self): self.description = 'Simply adds a fake HTTP header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' def execute(self, data): - http = "HTTP/1.1 200 OK\nServer: tcpproxy\n" + http = "HTTP/1.1 200 OK\nServer: tcpproxy\n\n" return http + data From 414645435230b71722bb08ef921269300781477b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 27 May 2016 22:10:02 +0200 Subject: [PATCH 09/89] Module cleanup cleaned new modules of last pull request removed my java deserialyzer in favor of jbarg's implementation --- proxymodules/deserializer.py | 63 ----------------------------------- proxymodules/http_get.py | 9 ++--- proxymodules/http_ok.py | 10 +++--- proxymodules/http_strip.py | 23 +++++++------ proxymodules/java_deserial.py | 19 +++-------- proxymodules/java_serial.py | 21 +++--------- 6 files changed, 32 insertions(+), 113 deletions(-) delete mode 100644 proxymodules/deserializer.py diff --git a/proxymodules/deserializer.py b/proxymodules/deserializer.py deleted file mode 100644 index 51198bb..0000000 --- a/proxymodules/deserializer.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -import platform -if 'java' in platform.system().lower(): - import java.io as io - import java.lang.reflect.Modifier as Modifier - - -class Module: - """ - This is a quick PoC and definitely needs to be modified to be useful. - """ - def __init__(self): - self.is_jython = 'java' in platform.system().lower() - self.name = 'Number Changer' - self.description = 'Deserialize Java objects' if self.is_jython else \ - 'Deserialize Java objects (needs jython)' - - def execute(self, data): - # this is a quick and dirty PoC to show that jython can be used to - # deserialize Java objects on the fly, manipulate them and send them - # on their way. - if not self.is_jython: - print '[!] This module can only be used in jython!' - return data - - # turn data into a Java object - bis = io.ByteArrayInputStream(data) - ois = io.ObjectInputStream(bis) - obj = ois.readObject() - # at this point you have the deserialized object in obj, do what you - # want. Set the jython classpath to include custom classes and cast obj - - mod = Modifier() - # get all methods of the object - print type(obj) - methods = obj.getClass().getDeclaredMethods() - print "Object is of class " + obj.getClass().getName() - print "Methods:" - for m in methods: - print "\t%s %s %s(%s)" % (mod.toString(m.getModifiers()), - m.getGenericReturnType(), - m.getName(), - m.getGenericParameterTypes().tolist()) - - declared_fields = obj.getClass().getDeclaredFields() - print "Fields:" - for f in declared_fields: - if not f.isAccessible(): - f.setAccessible(True) - print "\t%s %s %s => %s" % (mod.toString(f.getModifiers()), - f.getType(), f.getName(), f.get(obj)) - - # serialize the object again and turn it into a string again - bos = io.ByteArrayOutputStream() - oos = io.ObjectOutputStream(bos) - oos.writeObject(obj) - - # I had a problem with signed vs. unsigned bytes, hence the & 0xff - return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) - -if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_get.py b/proxymodules/http_get.py index 50a5088..94af6d9 100644 --- a/proxymodules/http_get.py +++ b/proxymodules/http_get.py @@ -3,13 +3,14 @@ class Module: def __init__(self): - self.name = 'fake HTTP GET Header' - self.description = 'Simply adds a fake HTTP GET header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' + self.name = 'http_post' + self.description = 'Prepend HTTP header' def execute(self, data): - http = "GET / HTTP/1.1\nHost: tcpproxy\n\n" + http = "POST / HTTP/1.1\nHost: tcpproxy\n" + http += "Content-Length: " + str(len(data)) + return http + "\n\n" + data - return http + data if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index 2f7e2e0..7fb628e 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -3,13 +3,13 @@ class Module: def __init__(self): - self.name = 'fake HTTP OK Header' - self.description = 'Simply adds a fake HTTP header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' + self.name = 'http_ok' + self.description = 'Prepend HTTP response header' def execute(self, data): - http = "HTTP/1.1 200 OK\nServer: tcpproxy\n\n" - - return http + data + http = "HTTP/1.1 200 OK\nServer: tcpproxy\n" + http += "Content-Length: " + str(len(data)) + return http + "\n\n" + data if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index 49bd5e6..1021957 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -3,19 +3,22 @@ class Module: def __init__(self): - self.name = 'stripping fake HTTP Header' - self.description = 'Simply adds a fake HTTP header. This is quite usefull if you want to inspect the payload in tools like BurpSuite' + self.name = 'http_strip' + self.description = 'Remove HTTP header from data' - def execute(self, data): + def detect_linebreak(data): + line = data.split('\n', 1)[0] + if line.endswith('\r'): + return '\r\n' * 2 + else: + return '\n' * 2 - print data - if 'HTTP' in data: - data = data.split('\x0d\x0a\x0d\x0a')[1] + def execute(self, data): + if data.startswith('HTTP/1.'): + delimiter = detect_linebreak(data) + data = data.split(delimiter, 1)[1] + return data - return data - - print 'no HTTP!!!' - return data if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/java_deserial.py b/proxymodules/java_deserial.py index d0c4100..ce56d18 100644 --- a/proxymodules/java_deserial.py +++ b/proxymodules/java_deserial.py @@ -3,26 +3,16 @@ import platform if 'java' in platform.system().lower(): import java.io as io - import java.lang.reflect.Modifier as Modifier - from com.thoughtworks.xstream import XStream - + class Module: - """ - This is a quick PoC and definitely needs to be modified to be useful. - """ def __init__(self): self.is_jython = 'java' in platform.system().lower() - self.name = 'Java Deserialization' - self.description = 'Deserialization' if self.is_jython else \ - 'Deserialization (needs jython)' - + self.name = 'java_deserializer' + self.description = 'Deserialization of Java objects' if self.is_jython else \ + 'Deserialization of Java objects (needs jython)' def execute(self, data): - # this is a quick and dirty PoC to show that jython can be used to - # deserialize Java objects on the fly, manipulate them and send them - # on their way. - if not self.is_jython: print '[!] This module can only be used in jython!' return data @@ -35,7 +25,6 @@ def execute(self, data): # converting Java object to XML structure xs = XStream() xml = xs.toXML(obj) - return xml if __name__ == '__main__': diff --git a/proxymodules/java_serial.py b/proxymodules/java_serial.py index 38827b8..5df49c0 100644 --- a/proxymodules/java_serial.py +++ b/proxymodules/java_serial.py @@ -3,34 +3,24 @@ import platform if 'java' in platform.system().lower(): import java.io as io - import java.lang.reflect.Modifier as Modifier - from com.thoughtworks.xstream import XStream class Module: - """ - This is a quick PoC and definitely needs to be modified to be useful. - """ def __init__(self): self.is_jython = 'java' in platform.system().lower() - self.name = 'java serialization' - self.description = 'serialization' if self.is_jython else \ - 'serialization (needs jython)' - + self.name = 'java_serialization' + self.description = 'Serialization of XStream XML data' if self.is_jython else \ + 'serialization of XStream XML data (needs jython)' def execute(self, data): - # this is a quick and dirty PoC to show that jython can be used to - # deserialize Java objects on the fly, manipulate them and send them - # on their way. - if not self.is_jython: print '[!] This module can only be used in jython!' return data # Creating XStream object and creating Java object from XML structure xs = XStream() - serial = xs.fromXML(data) - + serial = xs.fromXML(data) + # writing created Java object to and serializing it with ObjectOutputStream bos = io.ByteArrayOutputStream() oos = io.ObjectOutputStream(bos) @@ -42,4 +32,3 @@ def execute(self, data): if __name__ == '__main__': print 'This module is not supposed to be executed alone!' - From f4bf7a3f00580fdd0ea033000decf010326944a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 27 May 2016 23:15:52 +0200 Subject: [PATCH 10/89] changed README, renamed lib folder --- README.md | 50 +++++++++----------- {lib_javaSerial => lib}/kxml2-min-2.3.0.jar | Bin {lib_javaSerial => lib}/xmlpull-1.1.3.1.jar | Bin {lib_javaSerial => lib}/xpp3-1.1.4.jar | Bin {lib_javaSerial => lib}/xstream-1.4.4.jar | Bin 5 files changed, 23 insertions(+), 27 deletions(-) rename {lib_javaSerial => lib}/kxml2-min-2.3.0.jar (100%) rename {lib_javaSerial => lib}/xmlpull-1.1.3.1.jar (100%) rename {lib_javaSerial => lib}/xpp3-1.1.4.jar (100%) rename {lib_javaSerial => lib}/xstream-1.4.4.jar (100%) diff --git a/README.md b/README.md index 718c067..0de8969 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,6 @@ To intercept the data, you will either have to be the gateway or do some kind of This tool is inspired and partially based on the TCP proxy example used in Justin Seitz' book "Black Hat Python" by no starch press. ## Usage - ``` $ python2 tcpproxy.py -h usage: tcpproxy.py [-h] [-li LISTEN_IP] [-ti TARGET_IP] [-lp LISTEN_PORT] @@ -42,19 +41,20 @@ optional arguments: You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. -### Modules - +## Modules ``` $ python2 tcpproxy.py -l -deserializer - Deserialize Java objects (needs jython) hexdump - Print a hexdump of the received data -httpparser - Check if data is HTTP and try to parse it +http_get - Prepend HTTP header +http_ok - Prepend HTTP response header +http_strip - Remove HTTP header from data +java_deserializer - Deserialization of Java objects (needs jython) +java_serializer - serialization of XStream XML data (needs jython) removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. textdump - Simply print the received data as text all - use all available modules ``` Tcpproxy.py uses modules to view or modify the intercepted data. To see the possibly easiest implementation of a module, have a look at the textdump.py module in the proxymodules directory: - ``` #!/usr/bin/env python2 @@ -71,43 +71,39 @@ class Module: if __name__ == '__main__': print 'This module is not supposed to be executed alone!' ``` - -Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one paramter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. - -### Playing with Java objects -The deserializer module implements a way to alter serialized java objects on the fly. To use it, change the CLASSPATH env variable to make sure the custom classes are available to your code. -``` -CLASSPATH=$CLASSPATH:/home/user/test/Someclass.jar jython27 tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om hexdump,deserializer,hexdump +Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. Note that self.name will be removed in the near future since I am not using it. +## Deserializing and Serializing Java Objects to XML +Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. ``` -Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. - -### Deserializing and Serializing Java Objects to XML -Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known by tcpproxy. -``` -CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om java_deserial,textdump +CLASSPATH=./lib/* jython tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om java_deserializer,textdump ``` If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML structure use this setup: ``` +---------+ +-------> |BurpSuite+-----+ - | +---------+ v - | + | +---------+ | + | V +------------------+ +--------+--+ +-----------+ +-----------+ | Java ThickClient +------> |1. tcpproxy| |2. tcpproxy+------------> |Java Server| +------------------+ +-----------+ +-----------+ +-----------+ ``` -Example for the tcpproxy parameters: +The setup works like this: Let's say you want to intercept an manipulate serialized objects between the thick client and the Java server. The idea is to intercept serialzed objects, turn them into XML (deserialize them), pipe them into another tool (BurpSuite in this example) where you manipulate the data, then take that data and send it to the server. The server replies with another object which is again deserialzed into XML, fed to the tool and then serialized before sending the response to the client. ``` -1.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om java_deserial,http_get -im http_strip,java_serial -t 0.1 -2.tcpproxy$ CLASSPATH=/pathTo/xstream/libary/*:/pathTo/jarFiles/* jython 27 tcpproxy.py -ti 127.0.0.1 -tp -lp -om java_deserial,http_get,textdump -im http_strip,textdump,java_serial,hexdump -t 3 - - +$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -om java_deserializer,http_post -im http_strip,java_serializer -t 0.1 ``` +The call above is for the first tcpproxy instance between the client and Burp (or whatever tool you want to use). The target IP is the IP Burp is using, target port tp is Burp's listening port. For listening IP li and listening port lp you either configure the client or do some ARP spoofing/iptables magic. With -om you prepare the data for burp. Since Burp only consumes HTTP, use the http_post module after the deserialzer to prepend an HTTP header. Then manipulate the data within burp. Take care to configure Burp to redirect the data to the second tcpproxy instance's listen IP/listen port and enable invisible proxying. +Burp's response will be HTTP with an XML body, so in the incoming chain (-im) first strip the header (http_strip), then serialze the XML before the data is sent to the client. +``` +$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -im java_deserializer,http_post -om http_strip,java_serializer -t 3 +``` +This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialze the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP header, then send the data to burp. +Using this setup, you are able to take advantage of Burp's capabilities, like the repeater or intruder or simply use it for logging purposes. This was originally the idea of @jbarg. +If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserialzer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. - +Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. ## TODO - implement a way to pass parameters to modules - implement logging (pre-/post modification) diff --git a/lib_javaSerial/kxml2-min-2.3.0.jar b/lib/kxml2-min-2.3.0.jar similarity index 100% rename from lib_javaSerial/kxml2-min-2.3.0.jar rename to lib/kxml2-min-2.3.0.jar diff --git a/lib_javaSerial/xmlpull-1.1.3.1.jar b/lib/xmlpull-1.1.3.1.jar similarity index 100% rename from lib_javaSerial/xmlpull-1.1.3.1.jar rename to lib/xmlpull-1.1.3.1.jar diff --git a/lib_javaSerial/xpp3-1.1.4.jar b/lib/xpp3-1.1.4.jar similarity index 100% rename from lib_javaSerial/xpp3-1.1.4.jar rename to lib/xpp3-1.1.4.jar diff --git a/lib_javaSerial/xstream-1.4.4.jar b/lib/xstream-1.4.4.jar similarity index 100% rename from lib_javaSerial/xstream-1.4.4.jar rename to lib/xstream-1.4.4.jar From 103fe546c8f069e27f0f22e7d6261b04821cf7a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 27 May 2016 23:20:49 +0200 Subject: [PATCH 11/89] renamed two modules, fixed typos --- README.md | 10 +++++----- .../{java_deserial.py => java_deserializer.py} | 0 proxymodules/{java_serial.py => java_serializer.py} | 0 3 files changed, 5 insertions(+), 5 deletions(-) rename proxymodules/{java_deserial.py => java_deserializer.py} (100%) rename proxymodules/{java_serial.py => java_serializer.py} (100%) diff --git a/README.md b/README.md index 0de8969..b834155 100644 --- a/README.md +++ b/README.md @@ -88,20 +88,20 @@ If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML | Java ThickClient +------> |1. tcpproxy| |2. tcpproxy+------------> |Java Server| +------------------+ +-----------+ +-----------+ +-----------+ ``` -The setup works like this: Let's say you want to intercept an manipulate serialized objects between the thick client and the Java server. The idea is to intercept serialzed objects, turn them into XML (deserialize them), pipe them into another tool (BurpSuite in this example) where you manipulate the data, then take that data and send it to the server. The server replies with another object which is again deserialzed into XML, fed to the tool and then serialized before sending the response to the client. +The setup works like this: Let's say you want to intercept an manipulate serialized objects between the thick client and the Java server. The idea is to intercept serialized objects, turn them into XML (deserialize them), pipe them into another tool (BurpSuite in this example) where you manipulate the data, then take that data and send it to the server. The server replies with another object which is again deserialized into XML, fed to the tool and then serialized before sending the response to the client. ``` $ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -om java_deserializer,http_post -im http_strip,java_serializer -t 0.1 ``` -The call above is for the first tcpproxy instance between the client and Burp (or whatever tool you want to use). The target IP is the IP Burp is using, target port tp is Burp's listening port. For listening IP li and listening port lp you either configure the client or do some ARP spoofing/iptables magic. With -om you prepare the data for burp. Since Burp only consumes HTTP, use the http_post module after the deserialzer to prepend an HTTP header. Then manipulate the data within burp. Take care to configure Burp to redirect the data to the second tcpproxy instance's listen IP/listen port and enable invisible proxying. -Burp's response will be HTTP with an XML body, so in the incoming chain (-im) first strip the header (http_strip), then serialze the XML before the data is sent to the client. +The call above is for the first tcpproxy instance between the client and Burp (or whatever tool you want to use). The target IP is the IP Burp is using, target port tp is Burp's listening port. For listening IP li and listening port lp you either configure the client or do some ARP spoofing/iptables magic. With -om you prepare the data for burp. Since Burp only consumes HTTP, use the http_post module after the deserializer to prepend an HTTP header. Then manipulate the data within burp. Take care to configure Burp to redirect the data to the second tcpproxy instance's listen IP/listen port and enable invisible proxying. +Burp's response will be HTTP with an XML body, so in the incoming chain (-im) first strip the header (http_strip), then serialize the XML before the data is sent to the client. ``` $ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -im java_deserializer,http_post -om http_strip,java_serializer -t 3 ``` -This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialze the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP header, then send the data to burp. +This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialize the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP header, then send the data to burp. Using this setup, you are able to take advantage of Burp's capabilities, like the repeater or intruder or simply use it for logging purposes. This was originally the idea of @jbarg. -If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserialzer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. +If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserializer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. ## TODO diff --git a/proxymodules/java_deserial.py b/proxymodules/java_deserializer.py similarity index 100% rename from proxymodules/java_deserial.py rename to proxymodules/java_deserializer.py diff --git a/proxymodules/java_serial.py b/proxymodules/java_serializer.py similarity index 100% rename from proxymodules/java_serial.py rename to proxymodules/java_serializer.py From 64e19f3fce79fc953badc960860d2ca50db0f7f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Sun, 29 May 2016 21:35:04 +0200 Subject: [PATCH 12/89] Implemented chain direction indicators It is now possible for a module to know if it is on the incoming chain or not. It is now possible to make a module behave differently for each chain. Credit goes to jbarg for the initial idea. --- README.md | 4 +++- proxymodules/hexdump.py | 7 ++++--- proxymodules/http_get.py | 3 ++- proxymodules/http_ok.py | 3 ++- proxymodules/http_strip.py | 7 ++++--- proxymodules/java_deserializer.py | 4 +++- proxymodules/java_serializer.py | 4 +++- proxymodules/removegzip.py | 3 ++- proxymodules/textdump.py | 3 ++- tcpproxy.py | 10 ++++++---- 10 files changed, 31 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index b834155..237e3fe 100644 --- a/README.md +++ b/README.md @@ -60,9 +60,10 @@ Tcpproxy.py uses modules to view or modify the intercepted data. To see the poss class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'Text display' self.description = 'Simply print the received data as text' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): print data @@ -72,6 +73,7 @@ if __name__ == '__main__': print 'This module is not supposed to be executed alone!' ``` Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. Note that self.name will be removed in the near future since I am not using it. +The incoming parameter in the constructor is set to True when the module is in the incoming chain (-im), otherwise it's False. This way, a module knows in which direction the data is flowing (credits to jbarg for this idea). ## Deserializing and Serializing Java Objects to XML Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. ``` diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index c3091ce..9fd34e0 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -2,9 +2,10 @@ class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'Hexdump display' self.description = 'Print a hexdump of the received data' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): # this is a pretty hex dumping function directly taken from @@ -14,10 +15,10 @@ def execute(self, data): digits = 4 if isinstance(data, unicode) else 2 for i in xrange(0, len(data), length): - s = data[i:i+length] + s = data[i:i + length] hexa = b' '.join(["%0*X" % (digits, ord(x)) for x in s]) text = b''.join([x if 0x20 <= ord(x) < 0x7F else b'.' for x in s]) - result.append(b"%04X %-*s %s" % (i, length*(digits + 1), + result.append(b"%04X %-*s %s" % (i, length * (digits + 1), hexa, text)) print b'\n'.join(result) diff --git a/proxymodules/http_get.py b/proxymodules/http_get.py index 94af6d9..93040f1 100644 --- a/proxymodules/http_get.py +++ b/proxymodules/http_get.py @@ -2,9 +2,10 @@ class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'http_post' self.description = 'Prepend HTTP header' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): http = "POST / HTTP/1.1\nHost: tcpproxy\n" diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index 7fb628e..e445bf3 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -2,9 +2,10 @@ class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'http_ok' self.description = 'Prepend HTTP response header' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): http = "HTTP/1.1 200 OK\nServer: tcpproxy\n" diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index 1021957..2b40589 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -2,11 +2,12 @@ class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'http_strip' self.description = 'Remove HTTP header from data' + self.incoming = incoming # incoming means module is on -im chain - def detect_linebreak(data): + def detect_linebreak(self, data): line = data.split('\n', 1)[0] if line.endswith('\r'): return '\r\n' * 2 @@ -15,7 +16,7 @@ def detect_linebreak(data): def execute(self, data): if data.startswith('HTTP/1.'): - delimiter = detect_linebreak(data) + delimiter = self.detect_linebreak(data) data = data.split(delimiter, 1)[1] return data diff --git a/proxymodules/java_deserializer.py b/proxymodules/java_deserializer.py index ce56d18..4c2f57f 100644 --- a/proxymodules/java_deserializer.py +++ b/proxymodules/java_deserializer.py @@ -5,12 +5,14 @@ import java.io as io from com.thoughtworks.xstream import XStream + class Module: - def __init__(self): + def __init__(self, incoming=False): self.is_jython = 'java' in platform.system().lower() self.name = 'java_deserializer' self.description = 'Deserialization of Java objects' if self.is_jython else \ 'Deserialization of Java objects (needs jython)' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): if not self.is_jython: diff --git a/proxymodules/java_serializer.py b/proxymodules/java_serializer.py index 5df49c0..2e6f5a5 100644 --- a/proxymodules/java_serializer.py +++ b/proxymodules/java_serializer.py @@ -5,12 +5,14 @@ import java.io as io from com.thoughtworks.xstream import XStream + class Module: - def __init__(self): + def __init__(self, incoming=False): self.is_jython = 'java' in platform.system().lower() self.name = 'java_serialization' self.description = 'Serialization of XStream XML data' if self.is_jython else \ 'serialization of XStream XML data (needs jython)' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): if not self.is_jython: diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index feec8c1..8d26f42 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -2,10 +2,11 @@ class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'Remove gzip' self.description = 'Replace gzip in the list of accepted encodings ' \ 'in a HTTP request with booo.' + self.incoming = incoming # incoming means module is on -im chain # I chose to replace gzip instead of removing it to keep the parsing # logic as simple as possible. diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index 79af84c..f8c38fe 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -2,9 +2,10 @@ class Module: - def __init__(self): + def __init__(self, incoming=False): self.name = 'Text display' self.description = 'Simply print the received data as text' + self.incoming = incoming # incoming means module is on -im chain def execute(self, data): print data diff --git a/tcpproxy.py b/tcpproxy.py index 28fd12e..3534af6 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -72,10 +72,12 @@ def parse_args(): return parser.parse_args() -def generate_module_list(modstring): +def generate_module_list(modstring, incoming=False): # This method receives the comma-separated module list, imports the modules # and creates a Module instance for each module. A list of these instances # is then returned. + # The incoming parameter is True when the modules belong to the incoming + # chain (-im) modlist = [] if modstring == 'all': cwd = os.getcwd() @@ -83,13 +85,13 @@ def generate_module_list(modstring): module_path = cwd + os.sep + 'proxymodules' for _, n, _ in pkgutil.iter_modules([module_path]): __import__('proxymodules.' + n) - modlist.append(sys.modules['proxymodules.' + n].Module()) + modlist.append(sys.modules['proxymodules.' + n].Module(incoming)) else: namelist = modstring.split(',') for n in namelist: try: __import__('proxymodules.' + n) - modlist.append(sys.modules['proxymodules.' + n].Module()) + modlist.append(sys.modules['proxymodules.' + n].Module(incoming)) except ImportError: print 'Module %s not found' % n sys.exit(3) @@ -195,7 +197,7 @@ def main(): sys.exit(2) if args.in_modules is not None: - in_modules = generate_module_list(args.in_modules) + in_modules = generate_module_list(args.in_modules, True) else: in_modules = None From 00b80033edea190a2e9eba172ab58f48ba7557ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Mon, 30 May 2016 21:16:41 +0200 Subject: [PATCH 13/89] Implemented parameter passing to modules You can now pass options to each individual instance of a module. A PoC is shown in the hexdump module. Consult the readme for details. --- README.md | 70 +++++++++++++++++++--- proxymodules/hexdump.py | 19 ++++-- proxymodules/http_ok.py | 5 +- proxymodules/{http_get.py => http_post.py} | 5 +- proxymodules/http_strip.py | 5 +- proxymodules/java_deserializer.py | 5 +- proxymodules/java_serializer.py | 5 +- proxymodules/removegzip.py | 5 +- proxymodules/textdump.py | 5 +- tcpproxy.py | 47 +++++++++++++-- 10 files changed, 138 insertions(+), 33 deletions(-) rename proxymodules/{http_get.py => http_post.py} (68%) diff --git a/README.md b/README.md index 237e3fe..1f4dcf2 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ This tool is inspired and partially based on the TCP proxy example used in Justi $ python2 tcpproxy.py -h usage: tcpproxy.py [-h] [-li LISTEN_IP] [-ti TARGET_IP] [-lp LISTEN_PORT] [-tp TARGET_PORT] [-om OUT_MODULES] [-im IN_MODULES] - [-t TIMEOUT] [-v] [-r] [-n] [-l] [-s] + [-t TIMEOUT] [-v] [-r] [-n] [-l] [-lo HELP_MODULES] [-s] Simple TCP proxy for data interception and modification. Select modules to handle the intercepted traffic. @@ -36,11 +36,13 @@ optional arguments: -r, --receivefirst Receive data from remote first, e.g. a banner -n, --no-chain Don't send output from one module to the next one -l, --list list available modules + -lo HELP_MODULES, --list-options HELP_MODULES + Print help of selected module -s, --ssl use SSL, certificate is mitm.pem ``` You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. - +You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1,key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 ## Modules ``` $ python2 tcpproxy.py -l @@ -60,8 +62,9 @@ Tcpproxy.py uses modules to view or modify the intercepted data. To see the poss class Module: - def __init__(self, incoming=False): - self.name = 'Text display' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain @@ -72,8 +75,59 @@ class Module: if __name__ == '__main__': print 'This module is not supposed to be executed alone!' ``` -Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. Note that self.name will be removed in the near future since I am not using it. +Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. The incoming parameter in the constructor is set to True when the module is in the incoming chain (-im), otherwise it's False. This way, a module knows in which direction the data is flowing (credits to jbarg for this idea). +The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, it may be a good idea to also implement a help() method. See the hexdump module for an example: +``` +#!/usr/bin/env python2 + + +class Module: + def __init__(self, incoming=False, options=None): + # -- 8< --- snip + if 'length' in options.keys(): + self.len = int(options['length']) + else: + self.len = 16 + + def help(self): + return 'length: bytes per line (int)' + + def execute(self, data): + # -- 8< --- snip + for i in xrange(0, len(data), self.len): + s = data[i:i + self.len] + # # -- 8< --- snip + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' +``` +The above example should give you an idea how to make use of module parameters. A calling example would be: +``` +python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -lp 12344 -ti 127.0.0.1 -tp 12345 +< < < < out: hexdump +0000 77 6C 6B 66 6A 6C 77 71 wlkfjlwq +0008 6B 66 6A 68 6C 6B 77 71 kfjhlkwq +0010 6A 65 68 66 6C 6B 65 77 jehflkew +0018 71 6A 66 68 6C 6B 65 77 qjfhlkew +0020 71 6A 66 68 6C 6B 65 77 qjfhlkew +0028 71 6A 66 6C 68 77 71 6B qjflhwqk +0030 65 6A 66 68 77 71 6C 6B ejfhwqlk +0038 65 6A 66 68 0A ejfh. +< < < < out: http_post +< < < < out: hexdump +0000 50 4F 53 54 20 2F 20 48 54 54 50 2F POST / HTTP/ +000C 31 2E 31 0A 48 6F 73 74 3A 20 74 63 1.1.Host: tc +0018 70 70 72 6F 78 79 0A 43 6F 6E 74 65 pproxy.Conte +0024 6E 74 2D 4C 65 6E 67 74 68 3A 20 36 nt-Length: 6 +0030 31 0A 0A 77 6C 6B 66 6A 6C 77 71 6B 1..wlkfjlwqk +003C 66 6A 68 6C 6B 77 71 6A 65 68 66 6C fjhlkwqjehfl +0048 6B 65 77 71 6A 66 68 6C 6B 65 77 71 kewqjfhlkewq +0054 6A 66 68 6C 6B 65 77 71 6A 66 6C 68 jfhlkewqjflh +0060 77 71 6B 65 6A 66 68 77 71 6C 6B 65 wqkejfhwqlke +006C 6A 66 68 0A jfh. +``` +You can see how the first hexdump instance gets a length of 8 bytes per row and the second instance gets a length of 12 bytes. ## Deserializing and Serializing Java Objects to XML Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. ``` @@ -107,6 +161,6 @@ If you are doing automated modifications and have no need for interactivity, you Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. ## TODO -- implement a way to pass parameters to modules -- implement logging (pre-/post modification) -- make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts) +- [X] implement a way to pass parameters to modules +- [ ] implement logging (pre-/post modification) +- [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts) diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index 9fd34e0..be344b1 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -2,23 +2,30 @@ class Module: - def __init__(self, incoming=False): - self.name = 'Hexdump display' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Print a hexdump of the received data' self.incoming = incoming # incoming means module is on -im chain + if 'length' in options.keys(): + self.len = int(options['length']) + else: + self.len = 16 + + def help(self): + return 'length: bytes per line (int)' def execute(self, data): # this is a pretty hex dumping function directly taken from # http://code.activestate.com/recipes/142812-hex-dumper/ result = [] - length = 16 digits = 4 if isinstance(data, unicode) else 2 - for i in xrange(0, len(data), length): - s = data[i:i + length] + for i in xrange(0, len(data), self.len): + s = data[i:i + self.len] hexa = b' '.join(["%0*X" % (digits, ord(x)) for x in s]) text = b''.join([x if 0x20 <= ord(x) < 0x7F else b'.' for x in s]) - result.append(b"%04X %-*s %s" % (i, length * (digits + 1), + result.append(b"%04X %-*s %s" % (i, self.len * (digits + 1), hexa, text)) print b'\n'.join(result) diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index e445bf3..737ba4f 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -2,8 +2,9 @@ class Module: - def __init__(self, incoming=False): - self.name = 'http_ok' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Prepend HTTP response header' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/http_get.py b/proxymodules/http_post.py similarity index 68% rename from proxymodules/http_get.py rename to proxymodules/http_post.py index 93040f1..00d01d2 100644 --- a/proxymodules/http_get.py +++ b/proxymodules/http_post.py @@ -2,8 +2,9 @@ class Module: - def __init__(self, incoming=False): - self.name = 'http_post' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Prepend HTTP header' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index 2b40589..952fc31 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -2,8 +2,9 @@ class Module: - def __init__(self, incoming=False): - self.name = 'http_strip' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Remove HTTP header from data' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/java_deserializer.py b/proxymodules/java_deserializer.py index 4c2f57f..5a6dd26 100644 --- a/proxymodules/java_deserializer.py +++ b/proxymodules/java_deserializer.py @@ -7,9 +7,10 @@ class Module: - def __init__(self, incoming=False): + def __init__(self, incoming=False, options=None): self.is_jython = 'java' in platform.system().lower() - self.name = 'java_deserializer' + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Deserialization of Java objects' if self.is_jython else \ 'Deserialization of Java objects (needs jython)' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/java_serializer.py b/proxymodules/java_serializer.py index 2e6f5a5..f5961f7 100644 --- a/proxymodules/java_serializer.py +++ b/proxymodules/java_serializer.py @@ -7,9 +7,10 @@ class Module: - def __init__(self, incoming=False): + def __init__(self, incoming=False, options=None): self.is_jython = 'java' in platform.system().lower() - self.name = 'java_serialization' + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Serialization of XStream XML data' if self.is_jython else \ 'serialization of XStream XML data (needs jython)' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index 8d26f42..c5e9bbf 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -2,8 +2,9 @@ class Module: - def __init__(self, incoming=False): - self.name = 'Remove gzip' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Replace gzip in the list of accepted encodings ' \ 'in a HTTP request with booo.' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index f8c38fe..d48cde8 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -2,8 +2,9 @@ class Module: - def __init__(self, incoming=False): - self.name = 'Text display' + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxzmodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain diff --git a/tcpproxy.py b/tcpproxy.py index 3534af6..bdd2ca1 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -66,6 +66,9 @@ def parse_args(): parser.add_argument('-l', '--list', dest='list', action='store_true', help='list available modules') + parser.add_argument('-lo', '--list-options', dest='help_modules', default=None, + help='Print help of selected module') + parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', default=False, help='use SSL, certificate is mitm.pem') @@ -89,26 +92,57 @@ def generate_module_list(modstring, incoming=False): else: namelist = modstring.split(',') for n in namelist: + name, options = parse_module_options(n) try: - __import__('proxymodules.' + n) - modlist.append(sys.modules['proxymodules.' + n].Module(incoming)) + __import__('proxymodules.' + name) + modlist.append(sys.modules['proxymodules.' + name].Module(incoming, options)) except ImportError: - print 'Module %s not found' % n + print 'Module %s not found' % name sys.exit(3) return modlist +def parse_module_options(n): + # n is of the form module_name:key1=val1,key2=val2 ... + # this method returns the module name and a dict with the options + n = n.split(':') + if len(n) == 1: + # no module options present + return n[0], None + name = n[0] + optionlist = n[1].split(',') + options = {} + for op in optionlist: + try: + k, v = op.split('=') + options[k] = v + except ValueError: + print op, 'is not valid!' + sys.exit(23) + return name, options + + def list_modules(): # show all available proxy modules cwd = os.getcwd() module_path = cwd + os.sep + 'proxymodules' for _, module, _ in pkgutil.iter_modules([module_path]): __import__('proxymodules.' + module) - print '%s - %s' % (module, sys.modules['proxymodules.' + - module].Module().description) + m = sys.modules['proxymodules.' + module].Module() + print '%s - %s' % (m.name, m.description) print 'all - use all available modules' +def print_module_help(modlist): + # parse comma-separated list of module names, print module help text + modules = generate_module_list(modlist) + for m in modules: + try: + print m.name, '-', m.help() + except AttributeError: + print 'No help available.' + + def receive_from(s, timeout): # receive data from a socket until no more data is there or until timeout b = "" @@ -187,6 +221,9 @@ def main(): if args.list: list_modules() sys.exit(0) + if args.help_modules is not None: + print_module_help(args.helpname) + sys.exit(0) if args.listen_ip != '0.0.0.0' and not is_valid_ip4(args.listen_ip): print '%s is not a valid IP address' % args.listen_ip From 9b291e867a10e0bccc338c37eb1adf4325c476ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Mon, 30 May 2016 21:20:42 +0200 Subject: [PATCH 14/89] Fixed typo in comment --- proxymodules/hexdump.py | 2 +- proxymodules/http_ok.py | 2 +- proxymodules/http_post.py | 2 +- proxymodules/http_strip.py | 2 +- proxymodules/java_deserializer.py | 2 +- proxymodules/java_serializer.py | 2 +- proxymodules/removegzip.py | 2 +- proxymodules/textdump.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index be344b1..354d674 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -3,7 +3,7 @@ class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Print a hexdump of the received data' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index 737ba4f..acfb73c 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -3,7 +3,7 @@ class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Prepend HTTP response header' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/http_post.py b/proxymodules/http_post.py index 00d01d2..5c7a45a 100644 --- a/proxymodules/http_post.py +++ b/proxymodules/http_post.py @@ -3,7 +3,7 @@ class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Prepend HTTP header' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index 952fc31..f3fb750 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -3,7 +3,7 @@ class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Remove HTTP header from data' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/java_deserializer.py b/proxymodules/java_deserializer.py index 5a6dd26..893eccb 100644 --- a/proxymodules/java_deserializer.py +++ b/proxymodules/java_deserializer.py @@ -9,7 +9,7 @@ class Module: def __init__(self, incoming=False, options=None): self.is_jython = 'java' in platform.system().lower() - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Deserialization of Java objects' if self.is_jython else \ 'Deserialization of Java objects (needs jython)' diff --git a/proxymodules/java_serializer.py b/proxymodules/java_serializer.py index f5961f7..abaf7ee 100644 --- a/proxymodules/java_serializer.py +++ b/proxymodules/java_serializer.py @@ -9,7 +9,7 @@ class Module: def __init__(self, incoming=False, options=None): self.is_jython = 'java' in platform.system().lower() - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Serialization of XStream XML data' if self.is_jython else \ 'serialization of XStream XML data (needs jython)' diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index c5e9bbf..568b905 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -3,7 +3,7 @@ class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Replace gzip in the list of accepted encodings ' \ 'in a HTTP request with booo.' diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index d48cde8..e87f775 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -3,7 +3,7 @@ class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain From 4ecca2a6699f7bd584042089f137566cebb7c568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 31 May 2016 10:51:23 +0200 Subject: [PATCH 15/89] Fixed parsing of module options My original idea was to seperate module options with a comma, but since modules are also using this separator, parsing turned out to be a little annoying to implement. I decided to use a colon as separator instead: mod1:key=val,mod2,mod3:key1=val1:key2=val2 --- README.md | 6 +++--- tcpproxy.py | 7 ++++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1f4dcf2..a089bcb 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ optional arguments: ``` You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. -You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1,key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 +You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1:key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 ## Modules ``` $ python2 tcpproxy.py -l @@ -63,7 +63,7 @@ Tcpproxy.py uses modules to view or modify the intercepted data. To see the poss class Module: def __init__(self, incoming=False, options=None): - # extract the file name from __file__. __file__ is proxzmodules/name.py + # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain @@ -127,7 +127,7 @@ python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -lp 12344 - 0060 77 71 6B 65 6A 66 68 77 71 6C 6B 65 wqkejfhwqlke 006C 6A 66 68 0A jfh. ``` -You can see how the first hexdump instance gets a length of 8 bytes per row and the second instance gets a length of 12 bytes. +You can see how the first hexdump instance gets a length of 8 bytes per row and the second instance gets a length of 12 bytes. To pass more than one option to a single module, seperate the options with a : character, modname:key1=val1:key2=val2... ## Deserializing and Serializing Java Objects to XML Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. ``` diff --git a/tcpproxy.py b/tcpproxy.py index bdd2ca1..89d1763 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -81,6 +81,7 @@ def generate_module_list(modstring, incoming=False): # is then returned. # The incoming parameter is True when the modules belong to the incoming # chain (-im) + # modstring looks like mod1,mod2:key=val,mod3:key=val:key2=val2,mod4 ... modlist = [] if modstring == 'all': cwd = os.getcwd() @@ -103,14 +104,14 @@ def generate_module_list(modstring, incoming=False): def parse_module_options(n): - # n is of the form module_name:key1=val1,key2=val2 ... + # n is of the form module_name:key1=val1:key2:val2 ... # this method returns the module name and a dict with the options - n = n.split(':') + n = n.split(':', 1) if len(n) == 1: # no module options present return n[0], None name = n[0] - optionlist = n[1].split(',') + optionlist = n[1].split(':') options = {} for op in optionlist: try: From bf128543654e14f947318362fc6dd468f2f384f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 31 May 2016 11:05:13 +0200 Subject: [PATCH 16/89] Forgot to rename a variable, more bugfixing --- README.md | 10 +++++----- proxymodules/hexdump.py | 8 ++++---- tcpproxy.py | 4 ++-- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index a089bcb..671962d 100644 --- a/README.md +++ b/README.md @@ -77,7 +77,7 @@ if __name__ == '__main__': ``` Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. The incoming parameter in the constructor is set to True when the module is in the incoming chain (-im), otherwise it's False. This way, a module knows in which direction the data is flowing (credits to jbarg for this idea). -The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, it may be a good idea to also implement a help() method. See the hexdump module for an example: +The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, you should also implement a help() method. See the hexdump module for an example: ``` #!/usr/bin/env python2 @@ -85,10 +85,10 @@ The options parameter is a dictionary with the keys and values passed to the mod class Module: def __init__(self, incoming=False, options=None): # -- 8< --- snip - if 'length' in options.keys(): - self.len = int(options['length']) - else: - self.len = 16 + self.len = 16 + if options is not None: + if 'length' in options.keys(): + self.len = int(options['length']) def help(self): return 'length: bytes per line (int)' diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index 354d674..d553492 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -7,10 +7,10 @@ def __init__(self, incoming=False, options=None): self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Print a hexdump of the received data' self.incoming = incoming # incoming means module is on -im chain - if 'length' in options.keys(): - self.len = int(options['length']) - else: - self.len = 16 + self.len = 16 + if options is not None: + if 'length' in options.keys(): + self.len = int(options['length']) def help(self): return 'length: bytes per line (int)' diff --git a/tcpproxy.py b/tcpproxy.py index 89d1763..94c46bd 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -141,7 +141,7 @@ def print_module_help(modlist): try: print m.name, '-', m.help() except AttributeError: - print 'No help available.' + print 'No options.' def receive_from(s, timeout): @@ -223,7 +223,7 @@ def main(): list_modules() sys.exit(0) if args.help_modules is not None: - print_module_help(args.helpname) + print_module_help(args.help_modules) sys.exit(0) if args.listen_ip != '0.0.0.0' and not is_valid_ip4(args.listen_ip): From 95b02a2d4fdffeac5ac08f6e4170967cdc2211ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 31 May 2016 14:21:59 +0200 Subject: [PATCH 17/89] highlight text with the textdump module You can now use the parameters find and color to make the textdump module highlight a search term. --- README.md | 31 ++++++++++++++++++++++++++----- proxymodules/hexdump.py | 2 +- proxymodules/textdump.py | 21 ++++++++++++++++++++- tcpproxy.py | 9 +++++---- 4 files changed, 52 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 671962d..0aff5e7 100644 --- a/README.md +++ b/README.md @@ -67,17 +67,38 @@ class Module: self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain + self.find = None # if find is not None, this text will be highlighted + if options is not None: + if 'find' in options.keys(): + self.find = options['find'] # text to highlight + if 'color' in options.keys(): + self.color = '\033[' + options['color'] + 'm' # highlight color + else: + self.color = '\033[31;1m' def execute(self, data): - print data + if self.find is None: + print data + else: + pdata = data.replace(self.find, self.color + self.find + '\033[0m') + print pdata return data + def help(self): + h = '\tfind: string that should be highlighted\n' + h += ('\tcolor: ANSI color code. Will be wrapped with \\033[ and m, so' + ' passing 32;1 will result in \\033[32;1m (bright green)') + return h + + if __name__ == '__main__': print 'This module is not supposed to be executed alone!' ``` Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. The incoming parameter in the constructor is set to True when the module is in the incoming chain (-im), otherwise it's False. This way, a module knows in which direction the data is flowing (credits to jbarg for this idea). -The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, you should also implement a help() method. See the hexdump module for an example: +The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, you should also implement a help() method. This method must return a string. Use one line per option, make sure each line starts with a \t character for proper indentation. + +See the hexdump module for an additional options example: ``` #!/usr/bin/env python2 @@ -91,7 +112,7 @@ class Module: self.len = int(options['length']) def help(self): - return 'length: bytes per line (int)' + return '\tlength: bytes per line (int)' def execute(self, data): # -- 8< --- snip @@ -104,7 +125,7 @@ if __name__ == '__main__': ``` The above example should give you an idea how to make use of module parameters. A calling example would be: ``` -python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -lp 12344 -ti 127.0.0.1 -tp 12345 +python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -ti 127.0.0.1 -tp 12345 < < < < out: hexdump 0000 77 6C 6B 66 6A 6C 77 71 wlkfjlwq 0008 6B 66 6A 68 6C 6B 77 71 kfjhlkwq @@ -155,7 +176,7 @@ $ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti - ``` This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialize the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP header, then send the data to burp. -Using this setup, you are able to take advantage of Burp's capabilities, like the repeater or intruder or simply use it for logging purposes. This was originally the idea of @jbarg. +Using this setup, you are able to take advantage of Burp's capabilities, like the repeater or intruder or simply use it for logging purposes. This was originally the idea of jbarg. If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserializer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index d553492..847ecde 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -13,7 +13,7 @@ def __init__(self, incoming=False, options=None): self.len = int(options['length']) def help(self): - return 'length: bytes per line (int)' + return '\tlength: bytes per line (int)' def execute(self, data): # this is a pretty hex dumping function directly taken from diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index e87f775..4555dc5 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -7,10 +7,29 @@ def __init__(self, incoming=False, options=None): self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain + self.find = None # if find is not None, this text will be highlighted + if options is not None: + if 'find' in options.keys(): + self.find = options['find'] # text to highlight + if 'color' in options.keys(): + self.color = '\033[' + options['color'] + 'm' # highlight color + else: + self.color = '\033[31;1m' def execute(self, data): - print data + if self.find is None: + print data + else: + pdata = data.replace(self.find, self.color + self.find + '\033[0m') + print pdata return data + def help(self): + h = '\tfind: string that should be highlighted\n' + h += ('\tcolor: ANSI color code. Will be wrapped with \\033[ and m, so' + ' passing 32;1 will result in \\033[32;1m (bright green)') + return h + + if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/tcpproxy.py b/tcpproxy.py index 94c46bd..b8ea2b1 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -104,7 +104,7 @@ def generate_module_list(modstring, incoming=False): def parse_module_options(n): - # n is of the form module_name:key1=val1:key2:val2 ... + # n is of the form module_name:key1=val1:key2=val2 ... # this method returns the module name and a dict with the options n = n.split(':', 1) if len(n) == 1: @@ -139,9 +139,10 @@ def print_module_help(modlist): modules = generate_module_list(modlist) for m in modules: try: - print m.name, '-', m.help() + print m.name + print m.help() except AttributeError: - print 'No options.' + print '\tNo options.' def receive_from(s, timeout): @@ -174,7 +175,7 @@ def handle_data(data, modules, dont_chain, incoming=False): def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local - # host and the remote host, while letting modules work on the date before + # host and the remote host, while letting modules work on the data before # passing it on. remote_socket = socket.socket() if args.use_ssl: From c347a725016823e30367f1d6c54be134ec7438ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 2 Jun 2016 06:58:18 +0200 Subject: [PATCH 18/89] Implemented logging You can use -l/--log to log in-/egress data to a file. You can also use the log module with the optional file parameter to log the state of the data at any point in the chain. --- README.md | 15 ++++++--- proxymodules/log.py | 40 ++++++++++++++++++++++++ tcpproxy.py | 75 ++++++++++++++++++++++++++++++--------------- 3 files changed, 100 insertions(+), 30 deletions(-) create mode 100644 proxymodules/log.py diff --git a/README.md b/README.md index 0aff5e7..42e8c79 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,9 @@ optional arguments: -v, --verbose More verbose output of status information -r, --receivefirst Receive data from remote first, e.g. a banner -n, --no-chain Don't send output from one module to the next one - -l, --list list available modules + -l LOGFILE, --log LOGFILE + Log all data to a file before modules are run. + --list list available modules -lo HELP_MODULES, --list-options HELP_MODULES Print help of selected module -s, --ssl use SSL, certificate is mitm.pem @@ -45,16 +47,17 @@ You will have to provide TARGET_IP and TARGET_PORT, the default listening setti You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1:key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 ## Modules ``` -$ python2 tcpproxy.py -l +$ python2 tcpproxy.py --list hexdump - Print a hexdump of the received data -http_get - Prepend HTTP header http_ok - Prepend HTTP response header +http_post - Prepend HTTP header http_strip - Remove HTTP header from data java_deserializer - Deserialization of Java objects (needs jython) java_serializer - serialization of XStream XML data (needs jython) +log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. textdump - Simply print the received data as text -all - use all available modules + ``` Tcpproxy.py uses modules to view or modify the intercepted data. To see the possibly easiest implementation of a module, have a look at the textdump.py module in the proxymodules directory: ``` @@ -181,7 +184,9 @@ Using this setup, you are able to take advantage of Burp's capabilities, like th If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserializer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. +##Logging +You can write all data that is sent or received by the proxy to a file using the -l/--log parameter. Data (and some housekeeping info) is written to the log before passing it to the module chains. If you want to log the state of the data during or after the modules are run, you can use the log proxymodule. Using the chain -im http_post,log:file=log.1,http_strip,log would first log the data after the http_post module to the logfile with the name log.1. The second use of the log module at the end of the chain would write the final state of the data to a logfile with the default name in- right before passing it on . ## TODO - [X] implement a way to pass parameters to modules -- [ ] implement logging (pre-/post modification) +- [X] implement logging (pre-/post modification) - [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts) diff --git a/proxymodules/log.py b/proxymodules/log.py new file mode 100644 index 0000000..4cc51e0 --- /dev/null +++ b/proxymodules/log.py @@ -0,0 +1,40 @@ +#!/usr/bin/env python2 +import time + + +class Module: + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.description = 'Log data in the module chain. Use in addition to general logging (-l/--log).' + self.incoming = incoming # incoming means module is on -im chain + self.find = None # if find is not None, this text will be highlighted + # file: the file name, format is (in|out)-20160601-112233.13413 + self.file = ('in-' if incoming else 'out-') + \ + time.strftime('%Y%m%d-%H%M%S.') + str(time.time()).split('.')[1] + if options is not None: + if 'file' in options.keys(): + self.file = options['file'] + self.handle = None + + def __del__(self): + if self.handle is not None: + self.handle.close() + + def execute(self, data): + if self.handle is None: + self.handle = open(self.file, 'w', 0) # unbuffered + print 'Logging to file', self.file + logentry = time.strftime('%Y%m%d-%H%M%S') + ' ' + str(time.time()) + '\n' + logentry += data + logentry += '-' * 20 + '\n' + self.handle.write(logentry) + return data + + def help(self): + h = '\tfile: name of logfile' + return h + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/tcpproxy.py b/tcpproxy.py index b8ea2b1..42916ba 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -6,6 +6,7 @@ import threading import socket import ssl +import time # TODO: implement verbose output # some code snippets, as well as the original idea, from Black Hat Python @@ -63,7 +64,10 @@ def parse_args(): help='Don\'t send output from one module to the ' + 'next one') - parser.add_argument('-l', '--list', dest='list', action='store_true', + parser.add_argument('-l', '--log', dest='logfile', default=None, + help='Log all data to a file before modules are run.') + + parser.add_argument('--list', dest='list', action='store_true', help='list available modules') parser.add_argument('-lo', '--list-options', dest='help_modules', default=None, @@ -83,23 +87,15 @@ def generate_module_list(modstring, incoming=False): # chain (-im) # modstring looks like mod1,mod2:key=val,mod3:key=val:key2=val2,mod4 ... modlist = [] - if modstring == 'all': - cwd = os.getcwd() - # all modules must exist in the proxymodules directory - module_path = cwd + os.sep + 'proxymodules' - for _, n, _ in pkgutil.iter_modules([module_path]): - __import__('proxymodules.' + n) - modlist.append(sys.modules['proxymodules.' + n].Module(incoming)) - else: - namelist = modstring.split(',') - for n in namelist: - name, options = parse_module_options(n) - try: - __import__('proxymodules.' + name) - modlist.append(sys.modules['proxymodules.' + name].Module(incoming, options)) - except ImportError: - print 'Module %s not found' % name - sys.exit(3) + namelist = modstring.split(',') + for n in namelist: + name, options = parse_module_options(n) + try: + __import__('proxymodules.' + name) + modlist.append(sys.modules['proxymodules.' + name].Module(incoming, options)) + except ImportError: + print 'Module %s not found' % name + sys.exit(3) return modlist @@ -131,7 +127,6 @@ def list_modules(): __import__('proxymodules.' + module) m = sys.modules['proxymodules.' + module].Module() print '%s - %s' % (m.name, m.description) - print 'all - use all available modules' def print_module_help(modlist): @@ -160,12 +155,12 @@ def receive_from(s, timeout): return b -def handle_data(data, modules, dont_chain, incoming=False): +def handle_data(data, modules, dont_chain, verbose=False): # execute each active module on the data. If dont_chain is set, feed the # output of one plugin to the following plugin. Not every plugin will # necessarily modify the data, though. for m in modules: - print ("> > > > in: " if incoming else "< < < < out: ") + m.name + print ("> > > > in: " if m.incoming else "< < < < out: ") + m.name if dont_chain: m.execute(data) else: @@ -188,27 +183,30 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): # might be necessary to read banners, etc. if args.receive_first: in_data = receive_from(remote_socket, args.timeout) + log(args.logfile, '> > > in\n' + in_data) if len(in_data): if in_modules is not None: in_data = handle_data(in_data, in_modules, - args.chain_modules, True) + args.no_chain_modules, args.verbose) local_socket.send(in_data) # This loop ends when no more data is received on either the local or the # remote socket while True: out_data = receive_from(local_socket, args.timeout) + log(args.logfile, '< < < out\n' + out_data) if len(out_data): if out_modules is not None: out_data = handle_data(out_data, out_modules, - args.no_chain_modules) + args.no_chain_modules, args.verbose) remote_socket.send(out_data) in_data = receive_from(remote_socket, args.timeout) + log(args.logfile, '> > > in\n' + in_data) if len(in_data): if in_modules is not None: in_data = handle_data(in_data, in_modules, - args.no_chain_modules, True) + args.no_chain_modules, args.verbose) local_socket.send(in_data) if not len(in_data) or not len(out_data): @@ -218,11 +216,36 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): break +def log(handle, message, message_only=False): + # if message_onlz is True, only the message will be logged + # otherwise the message will be prefixed with a timestamp and a line is + # written after the message to make the log file easier to write + if handle is None: + return + if not message_only: + logentry = time.strftime('%Y%m%d-%H%M%S') + ' ' + str(time.time()) + '\n' + else: + logentry = '' + logentry += message + if not message_only: + logentry += '\n' + '-' * 20 + '\n' + handle.write(logentry) + + def main(): args = parse_args() + if args.logfile is not None: + try: + args.logfile = open(args.logfile, 'a', 0) # unbuffered + except Exception, ex: + print 'Error opening logfile' + print ex + sys.exit(4) + if args.list: list_modules() sys.exit(0) + if args.help_modules is not None: print_module_help(args.help_modules) sys.exit(0) @@ -255,7 +278,7 @@ def main(): sys.exit(5) proxy_socket.listen(10) - + log(args.logfile, str(args)) # endless loop until ctrl+c try: while True: @@ -270,8 +293,10 @@ def main(): proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) + log(args.logfile, "Starting proxy thread") proxy_thread.start() except KeyboardInterrupt: + log(args.logfile, 'Ctrl+C detected, exiting...') print '\nCtrl+C detected, exiting...' sys.exit(0) From cdb8078dd37c4100f8ba50759dd8906cc77a89e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 2 Jun 2016 22:09:51 +0200 Subject: [PATCH 19/89] marked some arguments as required --- tcpproxy.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 42916ba..f784e7d 100644 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -27,19 +27,19 @@ def parse_args(): 'Select modules to handle ' + 'the intercepted traffic.') + parser.add_argument('-ti', '--targetip', dest='target_ip', required=True, + help='remote target IP') + + parser.add_argument('-tp', '--targetport', dest='target_port', type=int, + help='remote target port', required=True) + parser.add_argument('-li', '--listenip', dest='listen_ip', default='0.0.0.0', help='IP address to listen for ' + 'incoming data') - parser.add_argument('-ti', '--targetip', dest='target_ip', - help='remote target IP') - parser.add_argument('-lp', '--listenport', dest='listen_port', type=int, default=8080, help='port to listen on') - parser.add_argument('-tp', '--targetport', dest='target_port', type=int, - help='remote target port') - parser.add_argument('-om', '--outmodules', dest='out_modules', help='comma-separated list of modules to modify data' + ' before sending to remote target.') From 29ba13ca19b64e8de499a9cd9832398b405e9f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 2 Jun 2016 22:19:05 +0200 Subject: [PATCH 20/89] Sytax highlighting in README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 42e8c79..72eb69d 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ optional arguments: You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1:key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 ## Modules -``` +```python $ python2 tcpproxy.py --list hexdump - Print a hexdump of the received data http_ok - Prepend HTTP response header @@ -60,7 +60,7 @@ textdump - Simply print the received data as text ``` Tcpproxy.py uses modules to view or modify the intercepted data. To see the possibly easiest implementation of a module, have a look at the textdump.py module in the proxymodules directory: -``` +```python #!/usr/bin/env python2 @@ -102,7 +102,7 @@ The incoming parameter in the constructor is set to True when the module is in t The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, you should also implement a help() method. This method must return a string. Use one line per option, make sure each line starts with a \t character for proper indentation. See the hexdump module for an additional options example: -``` +```python #!/usr/bin/env python2 From e3290261c831f7f0190ef157f61983da416965b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 2 Jun 2016 22:30:05 +0200 Subject: [PATCH 21/89] Fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72eb69d..0ec9b24 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ optional arguments: You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1:key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 ## Modules -```python +``` $ python2 tcpproxy.py --list hexdump - Print a hexdump of the received data http_ok - Prepend HTTP response header From 2d723352009af7bb83963bbbfd3033d70c039f17 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 21 Jun 2017 17:14:05 +0200 Subject: [PATCH 22/89] improve reading of data on sockets --- tcpproxy.py | 78 ++++++++++++++++++++++++++++------------------------- 1 file changed, 42 insertions(+), 36 deletions(-) mode change 100644 => 100755 tcpproxy.py diff --git a/tcpproxy.py b/tcpproxy.py old mode 100644 new mode 100755 index f784e7d..499525b --- a/tcpproxy.py +++ b/tcpproxy.py @@ -7,6 +7,8 @@ import socket import ssl import time +import select +import errno # TODO: implement verbose output # some code snippets, as well as the original idea, from Black Hat Python @@ -175,45 +177,48 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): remote_socket = socket.socket() if args.use_ssl: remote_socket = ssl.wrap_socket(remote_socket) - remote_socket.connect((args.target_ip, args.target_port)) - in_data = '' # incoming data, intended for the local host - out_data = '' # outgoing data, intended for the remote host - - # instead of sending data to the remote host, receive some data first. - # might be necessary to read banners, etc. - if args.receive_first: - in_data = receive_from(remote_socket, args.timeout) - log(args.logfile, '> > > in\n' + in_data) - if len(in_data): - if in_modules is not None: - in_data = handle_data(in_data, in_modules, - args.no_chain_modules, args.verbose) - local_socket.send(in_data) + try: + remote_socket.connect((args.target_ip, args.target_port)) + except socket.error as serr: + if serr.errno == errno.ECONNREFUSED: + print "Connection refused" + return None + else: + raise serr # This loop ends when no more data is received on either the local or the # remote socket - while True: - out_data = receive_from(local_socket, args.timeout) - log(args.logfile, '< < < out\n' + out_data) - if len(out_data): - if out_modules is not None: - out_data = handle_data(out_data, out_modules, - args.no_chain_modules, args.verbose) - remote_socket.send(out_data) - - in_data = receive_from(remote_socket, args.timeout) - log(args.logfile, '> > > in\n' + in_data) - if len(in_data): - if in_modules is not None: - in_data = handle_data(in_data, in_modules, - args.no_chain_modules, args.verbose) - local_socket.send(in_data) - - if not len(in_data) or not len(out_data): - # no more data on one of the sockets, exit the loop and return - local_socket.close() - remote_socket.close() - break + running = True + while running: + socket_list = [remote_socket, local_socket] + read_sockets, _, _ = select.select(socket_list, [], []) + for sock in read_sockets: + if sock == local_socket: + out_data = receive_from(local_socket, args.timeout) + log(args.logfile, '< < < out\n' + out_data) + if len(out_data): + if out_modules is not None: + out_data = handle_data(out_data, out_modules, + args.no_chain_modules, args.verbose) + remote_socket.send(out_data) + else: + remote_socket.close() + local_socket.close() + running = False + elif sock == remote_socket: + in_data = receive_from(remote_socket, args.timeout) + log(args.logfile, '> > > in\n' + in_data) + if len(in_data): + if in_modules is not None: + in_data = handle_data(in_data, in_modules, + args.no_chain_modules, args.verbose) + local_socket.send(in_data) + + else: + local_socket.close() + remote_socket.close() + break + running = False def log(handle, message, message_only=False): @@ -270,6 +275,7 @@ def main(): # this is the socket we will listen on for incoming connections proxy_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) + proxy_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) try: proxy_socket.bind((args.listen_ip, args.listen_port)) From 461e4c0e9a0ffdbb6ef845ef514e8aaf73150916 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 21 Jun 2017 22:32:36 +0200 Subject: [PATCH 23/89] added starttls-like capability --- tcpproxy.py | 115 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 73 insertions(+), 42 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 499525b..cd9ef51 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -78,6 +78,9 @@ def parse_args(): parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', default=False, help='use SSL, certificate is mitm.pem') + parser.add_argument('-a', '--starttls', dest='use_starttls', action='store_true', + default=False, help='use STARTTLS, certificate is mitm.pem') + return parser.parse_args() @@ -116,7 +119,7 @@ def parse_module_options(n): k, v = op.split('=') options[k] = v except ValueError: - print op, 'is not valid!' + print op, ' is not valid!' sys.exit(23) return name, options @@ -145,15 +148,12 @@ def print_module_help(modlist): def receive_from(s, timeout): # receive data from a socket until no more data is there or until timeout b = "" - s.settimeout(timeout) - try: - while True: - data = s.recv(4096) - if not data: - break - b += data - except: - pass + # s.settimeout(timeout) + while True: + data = s.recv(4096) + b += data + if not data or len(data)<4096: + break return b @@ -170,6 +170,29 @@ def handle_data(data, modules, dont_chain, verbose=False): return data +def is_client_hello(sock): + firstbytes = sock.recv(128, socket.MSG_PEEK) + return (len(firstbytes) >= 3 and + firstbytes[0] == "\x16" and + firstbytes[1:3] in [ "\x03\x00", + "\x03\x01", + "\x03\x02", + "\x03\x03", + "\x02\x00", ] + ) + + +def enable_ssl(remote_socket, local_socket): + local_socket = ssl.wrap_socket(local_socket, + server_side=True, + certfile="mitm.pem", + keyfile="mitm.pem", + # ssl_version=ssl.PROTOCOL_SSLv23, + ) + remote_socket = ssl.wrap_socket(remote_socket) + return remote_socket, local_socket + + def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before @@ -177,11 +200,13 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): remote_socket = socket.socket() if args.use_ssl: remote_socket = ssl.wrap_socket(remote_socket) + try: remote_socket.connect((args.target_ip, args.target_port)) except socket.error as serr: if serr.errno == errno.ECONNREFUSED: - print "Connection refused" + print '%s:%d - Connection refused' % (args.target_ip, + args.target_port) return None else: raise serr @@ -190,35 +215,39 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): # remote socket running = True while running: - socket_list = [remote_socket, local_socket] - read_sockets, _, _ = select.select(socket_list, [], []) + read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) + if (args.use_starttls and + local_socket in read_sockets and + not isinstance(local_socket, ssl.SSLSocket) and + is_client_hello(local_socket) + ): + remote_socket, local_socket = enable_ssl(remote_socket, local_socket) + if args.verbose: + print "Enable SSL" + read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) for sock in read_sockets: + data = receive_from(sock, args.timeout) + if len(data)==0: + if args.verbose: + print "Connection closed" + remote_socket.close() + local_socket.close() + running = False + break + if sock == local_socket: - out_data = receive_from(local_socket, args.timeout) - log(args.logfile, '< < < out\n' + out_data) - if len(out_data): - if out_modules is not None: - out_data = handle_data(out_data, out_modules, - args.no_chain_modules, args.verbose) - remote_socket.send(out_data) - else: - remote_socket.close() - local_socket.close() - running = False + log(args.logfile, '< < < out\n' + data) + if out_modules is not None: + data = handle_data(data, out_modules, + args.no_chain_modules, args.verbose) + remote_socket.send(data) elif sock == remote_socket: - in_data = receive_from(remote_socket, args.timeout) - log(args.logfile, '> > > in\n' + in_data) - if len(in_data): - if in_modules is not None: - in_data = handle_data(in_data, in_modules, - args.no_chain_modules, args.verbose) - local_socket.send(in_data) + log(args.logfile, '> > > in\n' + data) + if in_modules is not None: + in_data = handle_data(data, in_modules, + args.no_chain_modules, args.verbose) + local_socket.send(data) - else: - local_socket.close() - remote_socket.close() - break - running = False def log(handle, message, message_only=False): @@ -228,7 +257,8 @@ def log(handle, message, message_only=False): if handle is None: return if not message_only: - logentry = time.strftime('%Y%m%d-%H%M%S') + ' ' + str(time.time()) + '\n' + logentry = "%s %s\n" % (time.strftime('%Y%m%d-%H%M%S'), + str(time.time())) else: logentry = '' logentry += message @@ -242,7 +272,7 @@ def main(): if args.logfile is not None: try: args.logfile = open(args.logfile, 'a', 0) # unbuffered - except Exception, ex: + except Exception as ex: print 'Error opening logfile' print ex sys.exit(4) @@ -279,7 +309,7 @@ def main(): try: proxy_socket.bind((args.listen_ip, args.listen_port)) - except socket.error, e: + except socket.error as e: print e.strerror sys.exit(5) @@ -293,9 +323,10 @@ def main(): print 'Connection from %s:%d' % in_addrinfo if args.use_ssl: in_socket = ssl.wrap_socket(in_socket, certfile="mitm.pem", - keyfile="mitm.pem", - server_side=True, - ssl_version=ssl.PROTOCOL_SSLv23) + keyfile="mitm.pem", + do_handshake_on_connect=False, + server_side=True, + ssl_version=ssl.PROTOCOL_SSLv23) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) From d4da274f29fe2bab461fddcd799fa2aa2bd92657 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Thu, 22 Jun 2017 21:24:14 +0200 Subject: [PATCH 24/89] catch TLSV1_ALERT_UNKNOWN_CA exception during handshake --- tcpproxy.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index cd9ef51..787d718 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -184,11 +184,12 @@ def is_client_hello(sock): def enable_ssl(remote_socket, local_socket): local_socket = ssl.wrap_socket(local_socket, - server_side=True, - certfile="mitm.pem", - keyfile="mitm.pem", - # ssl_version=ssl.PROTOCOL_SSLv23, - ) + server_side=True, + certfile="mitm.pem", + keyfile="mitm.pem", + # ssl_version=ssl.PROTOCOL_SSLv23, + ) + remote_socket = ssl.wrap_socket(remote_socket) return remote_socket, local_socket @@ -221,9 +222,14 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): not isinstance(local_socket, ssl.SSLSocket) and is_client_hello(local_socket) ): - remote_socket, local_socket = enable_ssl(remote_socket, local_socket) - if args.verbose: - print "Enable SSL" + try: + if args.verbose: + print "Enable SSL" + remote_socket, local_socket = enable_ssl(remote_socket, local_socket) + except ssl.SSLError as e: + print "SSL handshake failed", str(e) + break + read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) for sock in read_sockets: data = receive_from(sock, args.timeout) From 1aab3f013ce2a2ee1e6634b6995b1cbed1d4f959 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Thu, 22 Jun 2017 21:26:50 +0200 Subject: [PATCH 25/89] refactor waiting_for_starttls --- tcpproxy.py | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 787d718..eeb4ff5 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -191,9 +191,16 @@ def enable_ssl(remote_socket, local_socket): ) remote_socket = ssl.wrap_socket(remote_socket) - return remote_socket, local_socket + return [remote_socket, local_socket] +def waiting_for_starttls(local_socket, read_sockets): + return (args.use_starttls and + local_socket in read_sockets and + not isinstance(local_socket, ssl.SSLSocket) and + is_client_hello(local_socket) + ) + def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before @@ -217,20 +224,18 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): running = True while running: read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) - if (args.use_starttls and - local_socket in read_sockets and - not isinstance(local_socket, ssl.SSLSocket) and - is_client_hello(local_socket) - ): + + if waiting_for_starttls(local_socket, read_sockets): try: if args.verbose: print "Enable SSL" - remote_socket, local_socket = enable_ssl(remote_socket, local_socket) + ssl_sockets = enable_ssl(remote_socket, local_socket) except ssl.SSLError as e: print "SSL handshake failed", str(e) break - read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) + read_sockets, _, _ = select.select(ssl_sockets, [], []) + for sock in read_sockets: data = receive_from(sock, args.timeout) if len(data)==0: From 699dc920b71c5ec6b14c3f93849869a408de2b2c Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Thu, 22 Jun 2017 21:27:15 +0200 Subject: [PATCH 26/89] refactor waiting_for_starttls --- tcpproxy.py | 1 - 1 file changed, 1 deletion(-) diff --git a/tcpproxy.py b/tcpproxy.py index eeb4ff5..ccf9818 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -260,7 +260,6 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): local_socket.send(data) - def log(handle, message, message_only=False): # if message_onlz is True, only the message will be logged # otherwise the message will be prefixed with a timestamp and a line is From 85b684f2fb85040cd5956edb6c1b3e7d2310c2b2 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 13 Sep 2017 15:52:01 +0200 Subject: [PATCH 27/89] refactor --- tcpproxy.py | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index ccf9818..6ea3f5e 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -238,26 +238,33 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): for sock in read_sockets: data = receive_from(sock, args.timeout) - if len(data)==0: - if args.verbose: - print "Connection closed" - remote_socket.close() - local_socket.close() - running = False - break if sock == local_socket: - log(args.logfile, '< < < out\n' + data) - if out_modules is not None: - data = handle_data(data, out_modules, - args.no_chain_modules, args.verbose) - remote_socket.send(data) + if len(data): + log(args.logfile, '< < < out\n' + data) + if out_modules is not None: + data = handle_data(data, out_modules, + args.no_chain_modules, args.verbose) + remote_socket.send(data) + else: + if args.verbose: + print "Connection closed" + remote_socket.close() + running = False + break elif sock == remote_socket: - log(args.logfile, '> > > in\n' + data) - if in_modules is not None: - in_data = handle_data(data, in_modules, - args.no_chain_modules, args.verbose) - local_socket.send(data) + if len(data): + log(args.logfile, '> > > in\n' + data) + if in_modules is not None: + in_data = handle_data(data, in_modules, + args.no_chain_modules, args.verbose) + local_socket.send(data) + else: + if args.verbose: + print "Connection closed" + local_socket.close() + running = False + break def log(handle, message, message_only=False): From c3777fe9f135ea6c8b95c56cd96fbd448b4ae272 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 13 Sep 2017 15:54:32 +0200 Subject: [PATCH 28/89] added replace module --- proxymodules/replace.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 proxymodules/replace.py diff --git a/proxymodules/replace.py b/proxymodules/replace.py new file mode 100644 index 0000000..543fe08 --- /dev/null +++ b/proxymodules/replace.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python2 + +import re + + +class Module: + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.description = 'Replace text by using regular expressions' + self.incoming = incoming # incoming means module is on -im chain + self.find = None # if find is not None, this text will be highlighted + if options is not None: + self.search = options['search'] + self.replace = options['replace'] + + def execute(self, data): + new_data = re.sub(self.search, self.replace, data) + if not new_data == data: + print("Replacing '%s' with '%s'" % (self.search, self.replace)) + return new_data + + def help(self): + h = '\tsearch: string that should be replaced\n' + h += ('\treplace: value that it should be replaced with') + return h + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' From 54fb25e468ba03af4b85881fcf5be96b8ef4166d Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 13 Sep 2017 15:58:41 +0200 Subject: [PATCH 29/89] refactor: remove timeout option --- tcpproxy.py | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 6ea3f5e..fe656b4 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -50,9 +50,6 @@ def parse_args(): help='comma-separated list of modules to modify data' + ' received from the remote target.') - parser.add_argument('-t', '--timeout', dest='timeout', type=float, default=5, - help='Socket timeout to wait for incoming data') - parser.add_argument('-v', '--verbose', dest='verbose', default=False, action='store_true', help='More verbose output of status information') @@ -145,18 +142,6 @@ def print_module_help(modlist): print '\tNo options.' -def receive_from(s, timeout): - # receive data from a socket until no more data is there or until timeout - b = "" - # s.settimeout(timeout) - while True: - data = s.recv(4096) - b += data - if not data or len(data)<4096: - break - return b - - def handle_data(data, modules, dont_chain, verbose=False): # execute each active module on the data. If dont_chain is set, feed the # output of one plugin to the following plugin. Not every plugin will @@ -237,7 +222,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): read_sockets, _, _ = select.select(ssl_sockets, [], []) for sock in read_sockets: - data = receive_from(sock, args.timeout) + data = sock.recv(4096) if sock == local_socket: if len(data): From d967c143fcc9e590cf32582be7568871bdfe360c Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Thu, 14 Sep 2017 09:06:08 +0200 Subject: [PATCH 30/89] rename a function; change deprecated PROTOCOL_SSv23 to PROTOCOL_TLS --- tcpproxy.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index fe656b4..b89f656 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -172,20 +172,21 @@ def enable_ssl(remote_socket, local_socket): server_side=True, certfile="mitm.pem", keyfile="mitm.pem", - # ssl_version=ssl.PROTOCOL_SSLv23, + ssl_version=ssl.PROTOCOL_TLS, ) remote_socket = ssl.wrap_socket(remote_socket) return [remote_socket, local_socket] -def waiting_for_starttls(local_socket, read_sockets): +def starttls(args, local_socket, read_sockets): return (args.use_starttls and local_socket in read_sockets and not isinstance(local_socket, ssl.SSLSocket) and is_client_hello(local_socket) ) + def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before @@ -210,11 +211,12 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): while running: read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) - if waiting_for_starttls(local_socket, read_sockets): + if starttls(args, local_socket, read_sockets): try: if args.verbose: print "Enable SSL" ssl_sockets = enable_ssl(remote_socket, local_socket) + remote_socket, local_socket = ssl_sockets except ssl.SSLError as e: print "SSL handshake failed", str(e) break @@ -328,7 +330,7 @@ def main(): keyfile="mitm.pem", do_handshake_on_connect=False, server_side=True, - ssl_version=ssl.PROTOCOL_SSLv23) + ssl_version=ssl.PROTOCOL_TLS) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) From e00618746508218c274b5647ff6ba0d6737c7291 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 21 Jun 2017 22:32:36 +0200 Subject: [PATCH 31/89] added starttls-like capability refactor waiting_for_starttls refactor waiting_for_starttls refactor refactor: remove timeout option --- tcpproxy.py | 114 +++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 81 insertions(+), 33 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 499525b..6184f74 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -78,6 +78,9 @@ def parse_args(): parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', default=False, help='use SSL, certificate is mitm.pem') + parser.add_argument('-a', '--starttls', dest='use_starttls', action='store_true', + default=False, help='use STARTTLS, certificate is mitm.pem') + return parser.parse_args() @@ -116,7 +119,7 @@ def parse_module_options(n): k, v = op.split('=') options[k] = v except ValueError: - print op, 'is not valid!' + print op, ' is not valid!' sys.exit(23) return name, options @@ -145,15 +148,12 @@ def print_module_help(modlist): def receive_from(s, timeout): # receive data from a socket until no more data is there or until timeout b = "" - s.settimeout(timeout) - try: - while True: - data = s.recv(4096) - if not data: - break - b += data - except: - pass + # s.settimeout(timeout) + while True: + data = s.recv(4096) + b += data + if not data or len(data)<4096: + break return b @@ -170,6 +170,37 @@ def handle_data(data, modules, dont_chain, verbose=False): return data +def is_client_hello(sock): + firstbytes = sock.recv(128, socket.MSG_PEEK) + return (len(firstbytes) >= 3 and + firstbytes[0] == "\x16" and + firstbytes[1:3] in [ "\x03\x00", + "\x03\x01", + "\x03\x02", + "\x03\x03", + "\x02\x00", ] + ) + + +def enable_ssl(remote_socket, local_socket): + local_socket = ssl.wrap_socket(local_socket, + server_side=True, + certfile="mitm.pem", + keyfile="mitm.pem", + # ssl_version=ssl.PROTOCOL_SSLv23, + ) + + remote_socket = ssl.wrap_socket(remote_socket) + return [remote_socket, local_socket] + + +def waiting_for_starttls(local_socket, read_sockets): + return (args.use_starttls and + local_socket in read_sockets and + not isinstance(local_socket, ssl.SSLSocket) and + is_client_hello(local_socket) + ) + def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before @@ -177,11 +208,13 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): remote_socket = socket.socket() if args.use_ssl: remote_socket = ssl.wrap_socket(remote_socket) + try: remote_socket.connect((args.target_ip, args.target_port)) except socket.error as serr: if serr.errno == errno.ECONNREFUSED: - print "Connection refused" + print '%s:%d - Connection refused' % (args.target_ip, + args.target_port) return None else: raise serr @@ -190,35 +223,48 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): # remote socket running = True while running: - socket_list = [remote_socket, local_socket] - read_sockets, _, _ = select.select(socket_list, [], []) + read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) + + if waiting_for_starttls(local_socket, read_sockets): + try: + if args.verbose: + print "Enable SSL" + ssl_sockets = enable_ssl(remote_socket, local_socket) + except ssl.SSLError as e: + print "SSL handshake failed", str(e) + break + + read_sockets, _, _ = select.select(ssl_sockets, [], []) + for sock in read_sockets: + data = sock.recv(4096) + if sock == local_socket: - out_data = receive_from(local_socket, args.timeout) - log(args.logfile, '< < < out\n' + out_data) - if len(out_data): + if len(data): + log(args.logfile, '< < < out\n' + data) if out_modules is not None: - out_data = handle_data(out_data, out_modules, + data = handle_data(data, out_modules, args.no_chain_modules, args.verbose) - remote_socket.send(out_data) + remote_socket.send(data) else: + if args.verbose: + print "Connection closed" remote_socket.close() - local_socket.close() running = False + break elif sock == remote_socket: - in_data = receive_from(remote_socket, args.timeout) - log(args.logfile, '> > > in\n' + in_data) - if len(in_data): + if len(data): + log(args.logfile, '> > > in\n' + data) if in_modules is not None: - in_data = handle_data(in_data, in_modules, + in_data = handle_data(data, in_modules, args.no_chain_modules, args.verbose) - local_socket.send(in_data) - + local_socket.send(data) else: + if args.verbose: + print "Connection closed" local_socket.close() - remote_socket.close() - break running = False + break def log(handle, message, message_only=False): @@ -228,7 +274,8 @@ def log(handle, message, message_only=False): if handle is None: return if not message_only: - logentry = time.strftime('%Y%m%d-%H%M%S') + ' ' + str(time.time()) + '\n' + logentry = "%s %s\n" % (time.strftime('%Y%m%d-%H%M%S'), + str(time.time())) else: logentry = '' logentry += message @@ -242,7 +289,7 @@ def main(): if args.logfile is not None: try: args.logfile = open(args.logfile, 'a', 0) # unbuffered - except Exception, ex: + except Exception as ex: print 'Error opening logfile' print ex sys.exit(4) @@ -279,7 +326,7 @@ def main(): try: proxy_socket.bind((args.listen_ip, args.listen_port)) - except socket.error, e: + except socket.error as e: print e.strerror sys.exit(5) @@ -293,9 +340,10 @@ def main(): print 'Connection from %s:%d' % in_addrinfo if args.use_ssl: in_socket = ssl.wrap_socket(in_socket, certfile="mitm.pem", - keyfile="mitm.pem", - server_side=True, - ssl_version=ssl.PROTOCOL_SSLv23) + keyfile="mitm.pem", + do_handshake_on_connect=False, + server_side=True, + ssl_version=ssl.PROTOCOL_SSLv23) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) From b911a7ce034d1e81f7b3872c572d3673f97f9b5f Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 13 Sep 2017 15:54:32 +0200 Subject: [PATCH 32/89] added replace module --- proxymodules/replace.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 proxymodules/replace.py diff --git a/proxymodules/replace.py b/proxymodules/replace.py new file mode 100644 index 0000000..543fe08 --- /dev/null +++ b/proxymodules/replace.py @@ -0,0 +1,30 @@ +#!/usr/bin/env python2 + +import re + + +class Module: + def __init__(self, incoming=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.description = 'Replace text by using regular expressions' + self.incoming = incoming # incoming means module is on -im chain + self.find = None # if find is not None, this text will be highlighted + if options is not None: + self.search = options['search'] + self.replace = options['replace'] + + def execute(self, data): + new_data = re.sub(self.search, self.replace, data) + if not new_data == data: + print("Replacing '%s' with '%s'" % (self.search, self.replace)) + return new_data + + def help(self): + h = '\tsearch: string that should be replaced\n' + h += ('\treplace: value that it should be replaced with') + return h + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' From 31ebee82ff03a5bcd71f3b20e4ba8bed2d23d97a Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Thu, 14 Sep 2017 09:06:08 +0200 Subject: [PATCH 33/89] rename a function; change deprecated PROTOCOL_SSv23 to PROTOCOL_TLS --- tcpproxy.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 6184f74..a1276e9 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -187,20 +187,21 @@ def enable_ssl(remote_socket, local_socket): server_side=True, certfile="mitm.pem", keyfile="mitm.pem", - # ssl_version=ssl.PROTOCOL_SSLv23, + ssl_version=ssl.PROTOCOL_TLS, ) remote_socket = ssl.wrap_socket(remote_socket) return [remote_socket, local_socket] -def waiting_for_starttls(local_socket, read_sockets): +def starttls(args, local_socket, read_sockets): return (args.use_starttls and local_socket in read_sockets and not isinstance(local_socket, ssl.SSLSocket) and is_client_hello(local_socket) ) + def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before @@ -225,11 +226,12 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): while running: read_sockets, _, _ = select.select([remote_socket, local_socket], [], []) - if waiting_for_starttls(local_socket, read_sockets): + if starttls(args, local_socket, read_sockets): try: if args.verbose: print "Enable SSL" ssl_sockets = enable_ssl(remote_socket, local_socket) + remote_socket, local_socket = ssl_sockets except ssl.SSLError as e: print "SSL handshake failed", str(e) break @@ -343,7 +345,7 @@ def main(): keyfile="mitm.pem", do_handshake_on_connect=False, server_side=True, - ssl_version=ssl.PROTOCOL_SSLv23) + ssl_version=ssl.PROTOCOL_TLS) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) From 22e963a815927779f5073930b6e6f1ec8b078c1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 10:07:38 +0200 Subject: [PATCH 34/89] Removes unnecessary line in replace module --- proxymodules/replace.py | 1 - 1 file changed, 1 deletion(-) diff --git a/proxymodules/replace.py b/proxymodules/replace.py index 543fe08..ff8d7e4 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -9,7 +9,6 @@ def __init__(self, incoming=False, options=None): self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Replace text by using regular expressions' self.incoming = incoming # incoming means module is on -im chain - self.find = None # if find is not None, this text will be highlighted if options is not None: self.search = options['search'] self.replace = options['replace'] From 593d2cc8e785be7bfdbb22bd905e180af48d1f28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 10:22:27 +0200 Subject: [PATCH 35/89] Removed --receivefirst parameter, is not needed anymore with Adrian Vollmer's changes --- tcpproxy.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index fee961d..6a478ab 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -54,10 +54,6 @@ def parse_args(): action='store_true', help='More verbose output of status information') - parser.add_argument('-r', '--receivefirst', dest='receive_first', - action='store_true', default=False, - help='Receive data from remote first, e.g. a banner') - parser.add_argument('-n', '--no-chain', dest='no_chain_modules', action='store_true', default=False, help='Don\'t send output from one module to the ' + From 0ba9567f43cad431a489c285e35dd9b24b91dd90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 13:22:11 +0200 Subject: [PATCH 36/89] SSL-related code cleanup --- tcpproxy.py | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 6a478ab..930fcfb 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -69,10 +69,7 @@ def parse_args(): help='Print help of selected module') parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', - default=False, help='use SSL, certificate is mitm.pem') - - parser.add_argument('-a', '--starttls', dest='use_starttls', action='store_true', - default=False, help='use STARTTLS, certificate is mitm.pem') + default=False, help='detect SSL/TLS as well as STARTTLS, certificate is mitm.pem') return parser.parse_args() @@ -188,7 +185,7 @@ def enable_ssl(remote_socket, local_socket): def starttls(args, local_socket, read_sockets): - return (args.use_starttls and + return (args.use_ssl and local_socket in read_sockets and not isinstance(local_socket, ssl.SSLSocket) and is_client_hello(local_socket) @@ -200,8 +197,6 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): # host and the remote host, while letting modules work on the data before # passing it on. remote_socket = socket.socket() - if args.use_ssl: - remote_socket = ssl.wrap_socket(remote_socket) try: remote_socket.connect((args.target_ip, args.target_port)) @@ -333,12 +328,6 @@ def main(): in_socket, in_addrinfo = proxy_socket.accept() if args.verbose: print 'Connection from %s:%d' % in_addrinfo - if args.use_ssl: - in_socket = ssl.wrap_socket(in_socket, certfile="mitm.pem", - keyfile="mitm.pem", - do_handshake_on_connect=False, - server_side=True, - ssl_version=ssl.PROTOCOL_TLS) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) From 650a5fdd99f1d024aa08f60915381daf34b900ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 14:07:46 +0200 Subject: [PATCH 37/89] Updated README to reflect latest changes --- README.md | 28 +++++++++++++--------------- 1 file changed, 13 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 0ec9b24..f4de0d8 100644 --- a/README.md +++ b/README.md @@ -2,52 +2,50 @@ This tool opens a listening socket, receives data and then runs this data through a chain of proxy modules. After the modules are done, the resulting data is sent to the target server. The response is received and again run through a chain of modules before sending the final data back to the client. To intercept the data, you will either have to be the gateway or do some kind of man-in-the-middle attack. Set up iptables so that the PREROUTING chain will modify the destination and send it to the proxy process. The proxy will then send the data on to whatever target was specified. -This tool is inspired and partially based on the TCP proxy example used in Justin Seitz' book "Black Hat Python" by no starch press. +This tool is inspired by and partially based on the TCP proxy example used in Justin Seitz' book "Black Hat Python" by no starch press. ## Usage ``` -$ python2 tcpproxy.py -h -usage: tcpproxy.py [-h] [-li LISTEN_IP] [-ti TARGET_IP] [-lp LISTEN_PORT] - [-tp TARGET_PORT] [-om OUT_MODULES] [-im IN_MODULES] - [-t TIMEOUT] [-v] [-r] [-n] [-l] [-lo HELP_MODULES] [-s] +$ ./tcpproxy.py -h +usage: tcpproxy.py [-h] -ti TARGET_IP -tp TARGET_PORT [-li LISTEN_IP] + [-lp LISTEN_PORT] [-om OUT_MODULES] [-im IN_MODULES] [-v] + [-n] [-l LOGFILE] [--list] [-lo HELP_MODULES] [-s] Simple TCP proxy for data interception and modification. Select modules to handle the intercepted traffic. optional arguments: -h, --help show this help message and exit - -li LISTEN_IP, --listenip LISTEN_IP - IP address to listen for incoming data -ti TARGET_IP, --targetip TARGET_IP remote target IP - -lp LISTEN_PORT, --listenport LISTEN_PORT - port to listen on -tp TARGET_PORT, --targetport TARGET_PORT remote target port + -li LISTEN_IP, --listenip LISTEN_IP + IP address to listen for incoming data + -lp LISTEN_PORT, --listenport LISTEN_PORT + port to listen on -om OUT_MODULES, --outmodules OUT_MODULES comma-separated list of modules to modify data before sending to remote target. -im IN_MODULES, --inmodules IN_MODULES comma-separated list of modules to modify data received from the remote target. - -t TIMEOUT, --timeout TIMEOUT - Socket timeout to wait for incoming data -v, --verbose More verbose output of status information - -r, --receivefirst Receive data from remote first, e.g. a banner -n, --no-chain Don't send output from one module to the next one -l LOGFILE, --log LOGFILE Log all data to a file before modules are run. --list list available modules -lo HELP_MODULES, --list-options HELP_MODULES Print help of selected module - -s, --ssl use SSL, certificate is mitm.pem + -s, --ssl detect SSL/TLS as well as STARTTLS, certificate is + mitm.pem ``` You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1:key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 ## Modules ``` -$ python2 tcpproxy.py --list +$ ./tcpproxy.py --list hexdump - Print a hexdump of the received data http_ok - Prepend HTTP response header http_post - Prepend HTTP header @@ -56,8 +54,8 @@ java_deserializer - Deserialization of Java objects (needs jython) java_serializer - serialization of XStream XML data (needs jython) log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. +replace - Replace text by using regular expressions textdump - Simply print the received data as text - ``` Tcpproxy.py uses modules to view or modify the intercepted data. To see the possibly easiest implementation of a module, have a look at the textdump.py module in the proxymodules directory: ```python From acbd21b68f1fd07a8931aee237d3a536491ce629 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 14:55:27 +0200 Subject: [PATCH 38/89] added support for using host names for -ti/-li you can now specify host names instead of IP addresses for listen IP and target IP I also changed the parameter parsing, the 'required=True' for -tp and -ti broke --list, so I moved the check into the main method --- tcpproxy.py | 38 ++++++++++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 930fcfb..07a607c 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -29,14 +29,14 @@ def parse_args(): 'Select modules to handle ' + 'the intercepted traffic.') - parser.add_argument('-ti', '--targetip', dest='target_ip', required=True, - help='remote target IP') + parser.add_argument('-ti', '--targetip', dest='target_ip', + help='remote target IP or host name') parser.add_argument('-tp', '--targetport', dest='target_port', type=int, - help='remote target port', required=True) + help='remote target port') parser.add_argument('-li', '--listenip', dest='listen_ip', - default='0.0.0.0', help='IP address to listen for ' + + default='0.0.0.0', help='IP address/host name to listen for ' + 'incoming data') parser.add_argument('-lp', '--listenport', dest='listen_port', type=int, @@ -276,6 +276,14 @@ def log(handle, message, message_only=False): def main(): args = parse_args() + if args.list is False: + if not args.target_ip: + print 'Target IP is required: -ti' + sys.exit(6) + if not args.target_port: + print 'Target port is required: -tp' + sys.exit(7) + if args.logfile is not None: try: args.logfile = open(args.logfile, 'a', 0) # unbuffered @@ -293,12 +301,26 @@ def main(): sys.exit(0) if args.listen_ip != '0.0.0.0' and not is_valid_ip4(args.listen_ip): - print '%s is not a valid IP address' % args.listen_ip - sys.exit(1) + try: + ip = socket.gethostbyname(args.listen_ip) + except socket.gaierror: + ip = False + if ip is False: + print '%s is not a valid IP address or host name' % args.listen_ip + sys.exit(1) + else: + args.listen_ip = ip if not is_valid_ip4(args.target_ip): - print '%s is not a valid IP address' % args.target_ip - sys.exit(2) + try: + ip = socket.gethostbyname(args.target_ip) + except socket.gaierror: + ip = False + if ip is False: + print '%s is not a valid IP address or host name' % args.target_ip + sys.exit(2) + else: + args.target_ip = ip if args.in_modules is not None: in_modules = generate_module_list(args.in_modules, True) From ff3ee49daf9a7e29141661fa8c30ed3cd8cc076f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 20:10:37 +0200 Subject: [PATCH 39/89] printing module help works commit cdb8078d broke it when you did not also specify -ti and -tp which is kind of a stupid requirement --- tcpproxy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcpproxy.py b/tcpproxy.py index 07a607c..c813a98 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -276,7 +276,7 @@ def log(handle, message, message_only=False): def main(): args = parse_args() - if args.list is False: + if args.list is False and args.help_modules is None: if not args.target_ip: print 'Target IP is required: -ti' sys.exit(6) From 6306aad105eb5da804c79a95253ffdaeb5fd7877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Fri, 15 Sep 2017 20:34:13 +0200 Subject: [PATCH 40/89] Fixed linebreak and heading --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f4de0d8..87171a5 100644 --- a/README.md +++ b/README.md @@ -182,6 +182,7 @@ Using this setup, you are able to take advantage of Burp's capabilities, like th If you are doing automated modifications and have no need for interactivity, you can simply take advantage of the (de-)serialization modules by writing a module to work on the deserialized XML structure. Then plug your module into the chain by doing -im java_deserializer,your_module,java_serializer (or -om of course). This way you also only need one tcpproxy instance, of course. Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. + ##Logging You can write all data that is sent or received by the proxy to a file using the -l/--log parameter. Data (and some housekeeping info) is written to the log before passing it to the module chains. If you want to log the state of the data during or after the modules are run, you can use the log proxymodule. Using the chain -im http_post,log:file=log.1,http_strip,log would first log the data after the http_post module to the logfile with the name log.1. The second use of the log module at the end of the chain would write the final state of the data to a logfile with the default name in- right before passing it on . ## TODO From 7fe6f6b0d52ad8c1b98a49f00e4a53324f856724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Sat, 16 Sep 2017 22:04:21 +0200 Subject: [PATCH 41/89] combined module for Java de-/serialization Jon (jbarg) combined my serialization and deserialization modules into one module, controllable through the "mode" module parameter. He already did this quite a while ago, I just copied his work and added a help() method. I also deleted the two seperate modules, the new module is called javaxml Also changed the README and modified the Java part. While testing this I noticed that Adrian's changes do not work in jython, which is kinda sad. Consider the javaxml module broken until I can find out what the problem is. --- README.md | 9 ++-- proxymodules/java_deserializer.py | 34 -------------- proxymodules/java_serializer.py | 37 ---------------- proxymodules/javaxml.py | 74 +++++++++++++++++++++++++++++++ 4 files changed, 78 insertions(+), 76 deletions(-) delete mode 100644 proxymodules/java_deserializer.py delete mode 100644 proxymodules/java_serializer.py create mode 100644 proxymodules/javaxml.py diff --git a/README.md b/README.md index 87171a5..94ac50c 100644 --- a/README.md +++ b/README.md @@ -50,8 +50,7 @@ hexdump - Print a hexdump of the received data http_ok - Prepend HTTP response header http_post - Prepend HTTP header http_strip - Remove HTTP header from data -java_deserializer - Deserialization of Java objects (needs jython) -java_serializer - serialization of XStream XML data (needs jython) +javaxml - Serialization or deserialization of Java objects (needs jython) log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. replace - Replace text by using regular expressions @@ -168,12 +167,12 @@ If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML ``` The setup works like this: Let's say you want to intercept an manipulate serialized objects between the thick client and the Java server. The idea is to intercept serialized objects, turn them into XML (deserialize them), pipe them into another tool (BurpSuite in this example) where you manipulate the data, then take that data and send it to the server. The server replies with another object which is again deserialized into XML, fed to the tool and then serialized before sending the response to the client. ``` -$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -om java_deserializer,http_post -im http_strip,java_serializer -t 0.1 +$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -om javaxml:mode=deserial,http_post -im http_strip,javaxml:mode=serial ``` The call above is for the first tcpproxy instance between the client and Burp (or whatever tool you want to use). The target IP is the IP Burp is using, target port tp is Burp's listening port. For listening IP li and listening port lp you either configure the client or do some ARP spoofing/iptables magic. With -om you prepare the data for burp. Since Burp only consumes HTTP, use the http_post module after the deserializer to prepend an HTTP header. Then manipulate the data within burp. Take care to configure Burp to redirect the data to the second tcpproxy instance's listen IP/listen port and enable invisible proxying. Burp's response will be HTTP with an XML body, so in the incoming chain (-im) first strip the header (http_strip), then serialize the XML before the data is sent to the client. ``` -$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -im java_deserializer,http_post -om http_strip,java_serializer -t 3 +$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -im javaxml:mode=deserial,http_post -om http_strip,javaxml:mode=serial ``` This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialize the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP header, then send the data to burp. @@ -183,7 +182,7 @@ If you are doing automated modifications and have no need for interactivity, you Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. -##Logging +## Logging You can write all data that is sent or received by the proxy to a file using the -l/--log parameter. Data (and some housekeeping info) is written to the log before passing it to the module chains. If you want to log the state of the data during or after the modules are run, you can use the log proxymodule. Using the chain -im http_post,log:file=log.1,http_strip,log would first log the data after the http_post module to the logfile with the name log.1. The second use of the log module at the end of the chain would write the final state of the data to a logfile with the default name in- right before passing it on . ## TODO - [X] implement a way to pass parameters to modules diff --git a/proxymodules/java_deserializer.py b/proxymodules/java_deserializer.py deleted file mode 100644 index 893eccb..0000000 --- a/proxymodules/java_deserializer.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -import platform -if 'java' in platform.system().lower(): - import java.io as io - from com.thoughtworks.xstream import XStream - - -class Module: - def __init__(self, incoming=False, options=None): - self.is_jython = 'java' in platform.system().lower() - # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] - self.description = 'Deserialization of Java objects' if self.is_jython else \ - 'Deserialization of Java objects (needs jython)' - self.incoming = incoming # incoming means module is on -im chain - - def execute(self, data): - if not self.is_jython: - print '[!] This module can only be used in jython!' - return data - - # turn data into a Java object - bis = io.ByteArrayInputStream(data) - ois = io.ObjectInputStream(bis) - obj = ois.readObject() - - # converting Java object to XML structure - xs = XStream() - xml = xs.toXML(obj) - return xml - -if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/java_serializer.py b/proxymodules/java_serializer.py deleted file mode 100644 index abaf7ee..0000000 --- a/proxymodules/java_serializer.py +++ /dev/null @@ -1,37 +0,0 @@ -#!/usr/bin/env python2 -# -*- coding: utf-8 -*- -import platform -if 'java' in platform.system().lower(): - import java.io as io - from com.thoughtworks.xstream import XStream - - -class Module: - def __init__(self, incoming=False, options=None): - self.is_jython = 'java' in platform.system().lower() - # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] - self.description = 'Serialization of XStream XML data' if self.is_jython else \ - 'serialization of XStream XML data (needs jython)' - self.incoming = incoming # incoming means module is on -im chain - - def execute(self, data): - if not self.is_jython: - print '[!] This module can only be used in jython!' - return data - - # Creating XStream object and creating Java object from XML structure - xs = XStream() - serial = xs.fromXML(data) - - # writing created Java object to and serializing it with ObjectOutputStream - bos = io.ByteArrayOutputStream() - oos = io.ObjectOutputStream(bos) - oos.writeObject(serial) - - # I had a problem with signed vs. unsigned bytes, hence the & 0xff - return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) - - -if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/javaxml.py b/proxymodules/javaxml.py new file mode 100644 index 0000000..4028852 --- /dev/null +++ b/proxymodules/javaxml.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- +import platform +if 'java' in platform.system().lower(): + import java.io as io + from com.thoughtworks.xstream import XStream + from java.lang import Exception + + +class Module: + def __init__(self, incoming=False, options=None): + self.is_jython = 'java' in platform.system().lower() + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.description = 'Serialization or deserialization of Java objects' if self.is_jython else \ + 'Serialization or deserialization of Java objects (needs jython)' + self.incoming = incoming # incoming means module is on -im chain + self.execute = self.error + + if options is not None: + if 'mode' in options.keys(): + if 'deserial' in options['mode']: + self.execute = self.deserial + elif 'serial' in options['mode']: + self.execute = self.serial + + def help(self): + return '\tmode: [serial|deserial] select deserialization (to XML) or serialization (to Java object)' + + def deserial(self, data): + if not self.is_jython: + print '[!] This module can only be used in jython!' + return data + + try: + # turn data into a Java object + bis = io.ByteArrayInputStream(data) + ois = io.ObjectInputStream(bis) + obj = ois.readObject() + + # converting Java object to XML structure + xs = XStream() + xml = xs.toXML(obj) + return xml + except Exception as e: + print '[!] Caught Exception. Could not convert.\n' + return data + + def serial(self, data): + if not self.is_jython: + print '[!] This module can only be used in jython!' + return data + try: + # Creating XStream object and creating Java object from XML structure + xs = XStream() + serial = xs.fromXML(data) + + # writing created Java object to and serializing it with ObjectOutputStream + bos = io.ByteArrayOutputStream() + oos = io.ObjectOutputStream(bos) + oos.writeObject(serial) + + # I had a problem with signed vs. unsigned bytes, hence the & 0xff + return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) + except Exception as e: + print '[!] Caught Exception. Could not convert.\n' + return data + + def error(self, data): + print '[!] Unknown mode. Please specify mode=[serial|deserial].' + return data + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' From fd2c530bc7507222702b4b32c208a51031840f7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 19 Sep 2017 13:49:13 +0200 Subject: [PATCH 42/89] passing more info to the modules Now every module knows the source and destination IP:port. This requires module authors to declare self.source = None or self.destination = None in the __init__ function. These will be replaced with actual values by the proxy thread as soon as we have established connections to both sides. Every module now also knows if verbose is set to True, so you can implement verbose output if you want. The __init__ function has a parameter called verbose, do with this what you want. updated README --- README.md | 13 +++++++------ proxymodules/hexdump.py | 2 +- proxymodules/http_ok.py | 28 +++++++++++++++++++++++----- proxymodules/http_post.py | 30 ++++++++++++++++++++++++++---- proxymodules/http_strip.py | 6 +++--- proxymodules/javaxml.py | 2 +- proxymodules/log.py | 2 +- proxymodules/removegzip.py | 2 +- proxymodules/replace.py | 2 +- proxymodules/textdump.py | 2 +- tcpproxy.py | 30 ++++++++++++++++++++++-------- 11 files changed, 87 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 94ac50c..0e1fe73 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,7 @@ Tcpproxy.py uses modules to view or modify the intercepted data. To see the poss class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' @@ -96,6 +96,7 @@ if __name__ == '__main__': ``` Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. The incoming parameter in the constructor is set to True when the module is in the incoming chain (-im), otherwise it's False. This way, a module knows in which direction the data is flowing (credits to jbarg for this idea). +The verbose parameter is set to True if the proxy is started with -v/--verbose. The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, you should also implement a help() method. This method must return a string. Use one line per option, make sure each line starts with a \t character for proper indentation. See the hexdump module for an additional options example: @@ -104,7 +105,7 @@ See the hexdump module for an additional options example: class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # -- 8< --- snip self.len = 16 if options is not None: @@ -152,7 +153,7 @@ You can see how the first hexdump instance gets a length of 8 bytes per row and ## Deserializing and Serializing Java Objects to XML Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. ``` -CLASSPATH=./lib/* jython tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om java_deserializer,textdump +CLASSPATH=./lib/* jython tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om javaxml:mode=deserial,textdump ``` If you would like to use a 3rd tool like BurpSuite to manipulate the XStream XML structure use this setup: ``` @@ -172,9 +173,9 @@ $ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -tp -lp -im javaxml:mode=deserial,http_post -om http_strip,javaxml:mode=serial +$ CLASSPATH=./lib/*:/pathTo/jarFiles/* jython27 tcpproxy.py -ti -tp -lp -im javaxml:mode=deserial,http_ok -om http_strip,javaxml:mode=serial ``` -This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialize the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP header, then send the data to burp. +This is the second tcpproxy instance. Burp will send the data there if you correctly configured the request handling in Burp's proxy listener options. Before sending the data to the server in the outgoing chain (-om), first strip the HTTP header, then serialize the XML. The server's response will be handled by the incoming chain (-im), so deserialize it, prepend the HTTP response header, then send the data to burp. Using this setup, you are able to take advantage of Burp's capabilities, like the repeater or intruder or simply use it for logging purposes. This was originally the idea of jbarg. @@ -187,4 +188,4 @@ You can write all data that is sent or received by the proxy to a file using the ## TODO - [X] implement a way to pass parameters to modules - [X] implement logging (pre-/post modification) -- [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts) +- [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts, can be done for now by using the burp solution detailed above and modifying data inside burp) diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index 847ecde..17c1d35 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -2,7 +2,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Print a hexdump of the received data' diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index acfb73c..30f1c77 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -2,16 +2,34 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Prepend HTTP response header' - self.incoming = incoming # incoming means module is on -im chain + self.server = None + if options is not None: + if 'server' in options.keys(): + self.server = options['server'] + + # source will be set by the proxy thread later on + self.source = None + def execute(self, data): - http = "HTTP/1.1 200 OK\nServer: tcpproxy\n" - http += "Content-Length: " + str(len(data)) - return http + "\n\n" + data + if self.server is None: + self.server = self.source[0] + + http = "HTTP/1.1 200 OK\r\n" + http += "Server: %s\r\n" % self.server + http += "Connection: keep-alive\r\n" + http += "Content-Length: %d\r\n" % len(data) + + return http + "\r\n" + data + + def help(self): + h = '\tserver: remote source, used in response Server header\n' + return h + if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_post.py b/proxymodules/http_post.py index 5c7a45a..f5a98da 100644 --- a/proxymodules/http_post.py +++ b/proxymodules/http_post.py @@ -2,16 +2,38 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Prepend HTTP header' self.incoming = incoming # incoming means module is on -im chain + self.targethost = None + self.targetport = None + if options is not None: + if 'host' in options.keys(): + self.targethost = options['host'] + if 'port' in options.keys(): + self.targetport = options['port'] + + # destination will be set by the proxy thread later on + self.destination = None def execute(self, data): - http = "POST / HTTP/1.1\nHost: tcpproxy\n" - http += "Content-Length: " + str(len(data)) - return http + "\n\n" + data + if self.targethost is None: + self.targethost = self.destination[0] + if self.targetport is None: + self.targetport = str(self.destination[1]) + http = "POST /to/%s/%s HTTP/1.1\r\n" % (self.targethost, self.targetport) + http += "Host: %s\r\n" % self.targethost + + http += "Connection: keep-alive\r\n" + http += "Content-Length: %d\r\n" % len(data) + return http + "\r\n" + data + + def help(self): + h = '\thost: remote target, used in request URL and Host header\n' + h += '\tport: remote target port, used in request URL\n' + return h if __name__ == '__main__': diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index f3fb750..329a637 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -2,7 +2,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Remove HTTP header from data' @@ -16,8 +16,8 @@ def detect_linebreak(self, data): return '\n' * 2 def execute(self, data): - if data.startswith('HTTP/1.'): - delimiter = self.detect_linebreak(data) + delimiter = self.detect_linebreak(data) + if delimiter in data: data = data.split(delimiter, 1)[1] return data diff --git a/proxymodules/javaxml.py b/proxymodules/javaxml.py index 4028852..88d2e29 100644 --- a/proxymodules/javaxml.py +++ b/proxymodules/javaxml.py @@ -8,7 +8,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): self.is_jython = 'java' in platform.system().lower() # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] diff --git a/proxymodules/log.py b/proxymodules/log.py index 4cc51e0..f1eb656 100644 --- a/proxymodules/log.py +++ b/proxymodules/log.py @@ -3,7 +3,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Log data in the module chain. Use in addition to general logging (-l/--log).' diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index 568b905..19b5684 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -2,7 +2,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Replace gzip in the list of accepted encodings ' \ diff --git a/proxymodules/replace.py b/proxymodules/replace.py index ff8d7e4..f3bcb57 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -4,7 +4,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Replace text by using regular expressions' diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index 4555dc5..5d504f5 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -2,7 +2,7 @@ class Module: - def __init__(self, incoming=False, options=None): + def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] self.description = 'Simply print the received data as text' diff --git a/tcpproxy.py b/tcpproxy.py index c813a98..ebc9d19 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -74,7 +74,7 @@ def parse_args(): return parser.parse_args() -def generate_module_list(modstring, incoming=False): +def generate_module_list(modstring, incoming=False, verbose=False): # This method receives the comma-separated module list, imports the modules # and creates a Module instance for each module. A list of these instances # is then returned. @@ -87,7 +87,7 @@ def generate_module_list(modstring, incoming=False): name, options = parse_module_options(n) try: __import__('proxymodules.' + name) - modlist.append(sys.modules['proxymodules.' + name].Module(incoming, options)) + modlist.append(sys.modules['proxymodules.' + name].Module(incoming, verbose, options)) except ImportError: print 'Module %s not found' % name sys.exit(3) @@ -135,6 +135,17 @@ def print_module_help(modlist): print '\tNo options.' +def update_module_hosts(modules, source, destination): + # set source and destination IP/port for each module + # source and destination are ('IP', port) tuples + # this can only be done once local and remote connections have been established + for m in modules: + if hasattr(m, 'source'): + m.source = source + if hasattr(m, 'destination'): + m.destination = destination + + def receive_from(s, timeout): # receive data from a socket until no more data is there or until timeout b = "" @@ -147,7 +158,7 @@ def receive_from(s, timeout): return b -def handle_data(data, modules, dont_chain, verbose=False): +def handle_data(data, modules, dont_chain): # execute each active module on the data. If dont_chain is set, feed the # output of one plugin to the following plugin. Not every plugin will # necessarily modify the data, though. @@ -208,6 +219,9 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): else: raise serr + update_module_hosts(out_modules, local_socket.getpeername(), remote_socket.getpeername()) + update_module_hosts(in_modules, remote_socket.getpeername(), local_socket.getpeername()) + # This loop ends when no more data is received on either the local or the # remote socket running = True @@ -234,7 +248,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): log(args.logfile, '< < < out\n' + data) if out_modules is not None: data = handle_data(data, out_modules, - args.no_chain_modules, args.verbose) + args.no_chain_modules) remote_socket.send(data) else: if args.verbose: @@ -246,8 +260,8 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): if len(data): log(args.logfile, '> > > in\n' + data) if in_modules is not None: - in_data = handle_data(data, in_modules, - args.no_chain_modules, args.verbose) + data = handle_data(data, in_modules, + args.no_chain_modules) local_socket.send(data) else: if args.verbose: @@ -323,12 +337,12 @@ def main(): args.target_ip = ip if args.in_modules is not None: - in_modules = generate_module_list(args.in_modules, True) + in_modules = generate_module_list(args.in_modules, incoming=True, verbose=args.verbose) else: in_modules = None if args.out_modules is not None: - out_modules = generate_module_list(args.out_modules) + out_modules = generate_module_list(args.out_modules, incoming=False, verbose=args.verbose) else: out_modules = None From ea61cc015c815889c2198bd547832a0a9639e899 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 20 Sep 2017 16:48:51 +0200 Subject: [PATCH 43/89] improved way of reading data from socket after merging pull request #2 I noticed that each module only ever received 4096 bytes at most. I changed it so that data is read from the socket until there is no more data for the time being. The whole block is then passed through the module chain. This greatly improves performance and reliability, for example when proxing web browsers and mail clients. Also, internal changes, typo corrections --- proxymodules/size.py | 34 ++++++++++++++++++++++++++++++++++ tcpproxy.py | 40 +++++++++++++++++++++++----------------- 2 files changed, 57 insertions(+), 17 deletions(-) create mode 100644 proxymodules/size.py diff --git a/proxymodules/size.py b/proxymodules/size.py new file mode 100644 index 0000000..abf6544 --- /dev/null +++ b/proxymodules/size.py @@ -0,0 +1,34 @@ +#!/usr/bin/env python2 +from distutils.utils import strtobool + +class Module: + def __init__(self, incoming=False, verbose=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.description = 'Print the size of the data passed to the module' + self.verbose = verbose + self.source = None + self.destination = None + self.incoming = incoming + if options is not None: + if 'verbose' in options.keys(): + self.verbose = bool(strtobool(options['verbose'])) + + + def execute(self, data): + size = len(data) + msg = "Received %d bytes" %size + if self.verbose: + msg += " from %s:%d" % self.source + msg += " for %s:%d" % self.destination + print msg + return data + + + def help(self): + h = '\tverbose: override the global verbosity setting' + return h + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/tcpproxy.py b/tcpproxy.py index ebc9d19..161cd69 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -139,17 +139,17 @@ def update_module_hosts(modules, source, destination): # set source and destination IP/port for each module # source and destination are ('IP', port) tuples # this can only be done once local and remote connections have been established - for m in modules: - if hasattr(m, 'source'): - m.source = source - if hasattr(m, 'destination'): - m.destination = destination + if modules is not None: + for m in modules: + if hasattr(m, 'source'): + m.source = source + if hasattr(m, 'destination'): + m.destination = destination -def receive_from(s, timeout): - # receive data from a socket until no more data is there or until timeout +def receive_from(s): + # receive data from a socket until no more data is there b = "" - # s.settimeout(timeout) while True: data = s.recv(4096) b += data @@ -158,12 +158,13 @@ def receive_from(s, timeout): return b -def handle_data(data, modules, dont_chain): +def handle_data(data, modules, dont_chain, incoming, verbose): # execute each active module on the data. If dont_chain is set, feed the # output of one plugin to the following plugin. Not every plugin will # necessarily modify the data, though. for m in modules: - print ("> > > > in: " if m.incoming else "< < < < out: ") + m.name + if verbose: + print ("> > > > in: " if incoming else "< < < < out: ") + m.name if dont_chain: m.execute(data) else: @@ -241,18 +242,21 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): read_sockets, _, _ = select.select(ssl_sockets, [], []) for sock in read_sockets: - data = sock.recv(4096) + peer = sock.getpeername() + data = receive_from(sock) if sock == local_socket: if len(data): log(args.logfile, '< < < out\n' + data) if out_modules is not None: data = handle_data(data, out_modules, - args.no_chain_modules) + args.no_chain_modules, + False, # incoming data? + args.verbose) remote_socket.send(data) else: if args.verbose: - print "Connection closed" + print "Connection from local client %s:%d closed" % peer remote_socket.close() running = False break @@ -261,20 +265,22 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): log(args.logfile, '> > > in\n' + data) if in_modules is not None: data = handle_data(data, in_modules, - args.no_chain_modules) + args.no_chain_modules, + True, # incoming data? + args.verbose) local_socket.send(data) else: if args.verbose: - print "Connection closed" + print "Connection to remote server %s:%d closed" % peer local_socket.close() running = False break def log(handle, message, message_only=False): - # if message_onlz is True, only the message will be logged + # if message_only is True, only the message will be logged # otherwise the message will be prefixed with a timestamp and a line is - # written after the message to make the log file easier to write + # written after the message to make the log file easier to read if handle is None: return if not message_only: From 558375730468093c36f33e27fb3005027d1c6877 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 20 Sep 2017 21:47:18 +0200 Subject: [PATCH 44/89] Improved logging --- tcpproxy.py | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 161cd69..774966c 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -132,7 +132,7 @@ def print_module_help(modlist): print m.name print m.help() except AttributeError: - print '\tNo options.' + print '\tNo options or missing help() function.' def update_module_hosts(modules, source, destination): @@ -212,10 +212,13 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): try: remote_socket.connect((args.target_ip, args.target_port)) + if args.verbose: + print 'Connected to %s:%d' % remote_socket.getpeername() + log(args.logfile, 'Connected to %s:%d' % remote_socket.getpeername()) except socket.error as serr: if serr.errno == errno.ECONNREFUSED: - print '%s:%d - Connection refused' % (args.target_ip, - args.target_port) + print '%s:%d - Connection refused' % (args.target_ip, args.target_port) + log(args.logfile, '%s:%d - Connection refused' % (args.target_ip, args.target_port)) return None else: raise serr @@ -231,12 +234,14 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): if starttls(args, local_socket, read_sockets): try: - if args.verbose: - print "Enable SSL" ssl_sockets = enable_ssl(remote_socket, local_socket) remote_socket, local_socket = ssl_sockets + if args.verbose: + print "SSL enabled" + log(args.logfile, "SSL enabled") except ssl.SSLError as e: print "SSL handshake failed", str(e) + log(args.logfile, "SSL handshake failed", str(e)) break read_sockets, _, _ = select.select(ssl_sockets, [], []) @@ -244,6 +249,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): for sock in read_sockets: peer = sock.getpeername() data = receive_from(sock) + log(args.logfile, 'Received %d bytes' % len(data)) if sock == local_socket: if len(data): @@ -257,6 +263,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): else: if args.verbose: print "Connection from local client %s:%d closed" % peer + log(args.logfile, "Connection from local client %s:%d closed" % peer) remote_socket.close() running = False break @@ -272,6 +279,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): else: if args.verbose: print "Connection to remote server %s:%d closed" % peer + log(args.logfile, "Connection to remote server %s:%d closed" % peer) local_socket.close() running = False break @@ -370,10 +378,11 @@ def main(): in_socket, in_addrinfo = proxy_socket.accept() if args.verbose: print 'Connection from %s:%d' % in_addrinfo + log(args.logfile, 'Connection from %s:%d' % in_addrinfo) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, out_modules)) - log(args.logfile, "Starting proxy thread") + log(args.logfile, "Starting proxy thread " + proxy_thread.name) proxy_thread.start() except KeyboardInterrupt: log(args.logfile, 'Ctrl+C detected, exiting...') From 19cb8706e7b92a68f766b8ab9fb82ced3b5a6314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=B6nke?= Date: Thu, 8 Mar 2018 14:34:06 +0100 Subject: [PATCH 45/89] correct indention of size module help --- proxymodules/size.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxymodules/size.py b/proxymodules/size.py index abf6544..08bbbdb 100644 --- a/proxymodules/size.py +++ b/proxymodules/size.py @@ -25,7 +25,7 @@ def execute(self, data): return data - def help(self): + def help(self): h = '\tverbose: override the global verbosity setting' return h From 3994a5563ecc298206f722adc3bd6270010950df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20Gr=C3=B6nke?= Date: Thu, 8 Mar 2018 14:37:56 +0100 Subject: [PATCH 46/89] fix python module name --- proxymodules/size.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proxymodules/size.py b/proxymodules/size.py index 08bbbdb..efeb3d6 100644 --- a/proxymodules/size.py +++ b/proxymodules/size.py @@ -1,5 +1,5 @@ #!/usr/bin/env python2 -from distutils.utils import strtobool +from distutils.util import strtobool class Module: def __init__(self, incoming=False, verbose=False, options=None): From 6d1126ae9a4bf47b3396adb3341c2765b331d15a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 8 Mar 2018 15:33:48 +0100 Subject: [PATCH 47/89] new, valid crap certificate --- mitm.pem | 126 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 80 insertions(+), 46 deletions(-) diff --git a/mitm.pem b/mitm.pem index cc0669d..2ec6c15 100644 --- a/mitm.pem +++ b/mitm.pem @@ -1,49 +1,83 @@ ------BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQC9H4C5NkE/X1Me -88y2WjwC2xupndKtXYyljJm5U6ecdiLpTz8wCA0EEFvgFaTf8dKCzk4cuZ6HcWX/ -Iwg19vuY27MombjM67XaV3FoA4DO4VpvEOTRQekNi2E1s94IBqJkDOetef2wEF7U -zvxFvJYvVC30aRUiYNwGWpo8TuiQIk4GeVJbJslrMFr5UbitWkr9zq6t2a7PlylU -8X/Jz5H6gbOjIoy2mJNZfLebPg/a6XAJJpx/nAVTyqoK0b95K2RMmi+EQcKOdbgM -RpdtMie7aVT3gJxKb8nRpKmIyPp5cuNOOvEHGpwltckGOaLjFdkh0uD1fLMhbY31 -e7szZjcNAgMBAAECggEAOQT5e13XODMWTXu12bjE5RuIcJArx6cv023bnxuQqkSX -6/2/kEytF++Ss7Hy3q37CQMIW/K+0BkpZk36mMKZQpHipzgJlobuciDxCSodOMKK -0HeodUrI6BOAwH81TvgpF78oTo48JUwaO1EYkDH2mdhobosMGyxWyfehDtO/nEym -xv20rKqO3h2wx86XVl+ebBXU7fHndgfyYUUyv3QoPZWjL/9Z9MfMwPnxpARMKLPi -onIajXXzi3J/Z2zlXFVF3ARAYg9Wqemq4BnRS20sS+EBaXBbhVazoZIS69WihMGA -riF+HAOUSiS1EDW7TIUpSV2kqFZ5S2FGomKLd8mlhQKBgQDerAiAGJCWADk3Rh3Q -bCIenVIT+0WAMqEVpURRXoFHd6WuEh7g2lgR/ef83C+IuOEh+1rdzT6gubuHvURK -M1WWyr8IuaUUod08ewqSavmMUkHQqBppDh78NmrT81aDNXinazW8jBKkQhm64+ZM -E9WjhQjk3dYqEW+YRYkM0PcCywKBgQDZbf+JjvkWh6ftVGXj3PPbvej4FpOKvrTm -/Bwwaz4FqmqEIGfcktvUTkQYdVz2QfFa8OGWxYiJav0twdRyjI3uwwlwRkgk75WO -rjv2bgyCDhGkpJNkQKcul6QRcTbw3dtn2gbLpWODKHVdlQQKgfl8BatyZR0MwBjh -4bxsQI16hwKBgE2Cuu7EHkhoyYHpIWW0zmezwad89yN5/ELJpa9hY0UabAzc9+yz -dKbGqKOHjfBc0tl+YpIE6QEPxiypAIWHuwpjhv4liUZWVenAttxi6n0jAQ/+BDt/ -k9+dnbAr63h++4Hjuu/oHnEZJVW+ESN4YAysuXzZj7xTF3J8+gkBEIrjAoGADHHO -SWpEeXSkOOI2vrb7whz5g5GPOka2Be5yEpdgwmRBmnRcXXSOXnVoUloNSw71KHZX -AxElQnA8M20/oprG2N6S4Lk1EeAgmD0Cs5US5DK38ct1oCxPJUyKmHD5awnXr/b7 -opZBvtUG+qc3xv4vcFjGulJtOjiYc/0+kpeTQWsCgYBQ8955Rz40lNMQ0GcXULz0 -N2K3sD4lkr/G6ltyaKYWbO6IJM4UM0W6uaLvIBEnCErev0zFtghB+5pkpNzRrMhR -XQaBTwFKk7mMooYE4FPsCMpv3kzvql+PJY0hPOqhgSH6tX8yY46VCVLTx33dYKVF -zBTe9W1WXILDBWsfDe05PA== ------END PRIVATE KEY----- -----BEGIN CERTIFICATE----- -MIIDdTCCAl2gAwIBAgIJAJYUnU1Nr7LzMA0GCSqGSIb3DQEBCwUAMFExCzAJBgNV +MIIFYDCCA0igAwIBAgIJALovM7ADVGykMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX -aWRnaXRzIFB0eSBMdGQxCjAIBgNVBAMMASowHhcNMTUwNTMwMTQxNTUzWhcNMTYw -NTI5MTQxNTUzWjBRMQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEh -MB8GA1UECgwYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMQowCAYDVQQDDAEqMIIB -IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvR+AuTZBP19THvPMtlo8Atsb -qZ3SrV2MpYyZuVOnnHYi6U8/MAgNBBBb4BWk3/HSgs5OHLmeh3Fl/yMINfb7mNuz -KJm4zOu12ldxaAOAzuFabxDk0UHpDYthNbPeCAaiZAznrXn9sBBe1M78RbyWL1Qt -9GkVImDcBlqaPE7okCJOBnlSWybJazBa+VG4rVpK/c6urdmuz5cpVPF/yc+R+oGz -oyKMtpiTWXy3mz4P2ulwCSacf5wFU8qqCtG/eStkTJovhEHCjnW4DEaXbTInu2lU -94CcSm/J0aSpiMj6eXLjTjrxBxqcJbXJBjmi4xXZIdLg9XyzIW2N9Xu7M2Y3DQID -AQABo1AwTjAdBgNVHQ4EFgQUCh9nSfLT1wEaXoWWXL7pYE47lYUwHwYDVR0jBBgw -FoAUCh9nSfLT1wEaXoWWXL7pYE47lYUwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0B -AQsFAAOCAQEAFD1KHvbttYcH76SZgzZbu6lABJnxfe4dWFaP6y6JEa75NpAFC67N -r6mK04JuR80c0maaqHakb1I+evJWiJubX5+HfZG5WfCpKkHMLGgDUSmzQOfUdWiQ -3V2VwvSurVuVBotrrklXn/fTEKeeUU1ekqAb0claklc5Yc7ykBo8lf5dq5PPfikv -g2v6XmJaPPrd5r2vjccIpvUQ9dsKGI84ZKPyRUOuHWFzXeTO8Y9ZAtKiiyrEy2te -ot7aQWrmw7s5FjVYm7uIS8xhkmueNQoq5StlNXoW6aHZ6Qg5GB3zLyHguSRLKSaa -xQr+/zWzsR3IRgd5tLHBbjQbOcLAyQcS3g== +aWRnaXRzIFB0eSBMdGQwHhcNMTgwMTI2MTEyMTE1WhcNMjgwMTI0MTEyMTE1WjBF +MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50 +ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC +CgKCAgEAusz4JoOtp7PTNhCrkmBL5niiqnQgnODBwp/cd6ZzQdmxY9gRrZ/JOoDg +gxaJ0fLpF+S+XCIb6H3Hw+zmks15uZVg/EEEgc9cKvwrQw+7z5szIlGQ+OvXvHgO +ijDPE3pOeMss+/fm7zrfZPy3V9tROym/gVlhduyqCy+gLhQpdJ5Q6Qp20uLUdknK +6siO9ovXLggZ7GbFdscV1tkDMx7WFVXl2hYWL3Hw0fQ/yFBpORIBuRG+HizgYnEq +BQaZL66TdZ4MIH35PW/2Ox9q+szjTV4ATxnEZgJSn/xkb9OrRWcPPc+DUDRwNLvF +f5tJbsn3W9pZibzr6vAGhTsH0EY0fj9unJex4QWnS8C2dWiudJRuh1+FiK3R1mG9 +JLuVctRrbCApsp0XrquQD68Ts7NF6w6wNqXhB4mNFujNm3AFbhF4mByU39UL7AG2 +iiNoV7ydJmXvhoERcxVFzz/mNq5kDUoM79VgIuqyxz1CRnEx0LWIvqpReme2ElcW +WuB0oZKY/IPb1haoouBzBJTu6W9sYxABBM0pohUz/snZ/dfBu/XFhrhR80gtVjh8 +Q5OFne2lS7hs/Qz4FZkY27VGctzMsOy17vqdxwBSMnKy6Xnkanvau5PzShiEeoiC +dJvG19nKH07Jg8sQRaHCaoFWXjExgeDo4qHF2ODWXAfBXUpRhMUCAwEAAaNTMFEw +HQYDVR0OBBYEFH/7mpljxuqRaro1y9gXEIKFNz8CMB8GA1UdIwQYMBaAFH/7mplj +xuqRaro1y9gXEIKFNz8CMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQAD +ggIBAFQo/ZwtS3pno8pcPKooMBcvy+KyzFfwvQgtg65O4ltSmXKjfBKeB9IBasG1 +irHINcHMNK3u1C9gO/uufKiNOq5p5vxgU0EumaetXVh/ZmOxrgt5FLkmwxXkwaq7 +wrfQvO9Z4skhTNQ3SIOQwqSDtVKUJSHnaKlUgF/lZyFh1FW+DehWsWK0bdgDtdFh +f+Tfj9hBKaZSqnP0vv1x4tTL17bPTarrHMsEZWmEOtOv4/MNuUAhMzrcJkcpoQtl +GVMT2axVAjqATL9Liwy0UvRJIbK0nn8uO2R+8KGy2wdtCwHsrTq0Nq7JIcYlDClY +1MIUPGKMXFUlM84DsSzDItjCTL9Ugf1Nunruumdpo/+Sv3VVeOp1IX/nP44Bp7XU +gqpUvi7qF2n5o1OdXJmxfuTb8Qs1zB8SDPmhpsuJ9E/Ch1v4KUa2SJOhGSBPf02n +dj9zYXuloyRKMuPUFbnTxOI9YIxyfNUZT32D3s4k6MQP3rz2At6wfOVR/SQvbk+e ++IAMnxVWv34RkJzCBB4opE867T33XdpjzSbSj7qiFMC7szxdmE5rpKa6nZuEGz8q +HtkDWipeaRG9HAxOX/NJlac1aP8hQxJ9cIQwVSY2KqAFHIE5MtSpH4XXuoXOvkzU +NEAjtiKuJ8khbl+FrGZ7V3VbNZbzb5hHYcfXgb3LuiwehQ1E -----END CERTIFICATE----- +-----BEGIN PRIVATE KEY----- +MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQC6zPgmg62ns9M2 +EKuSYEvmeKKqdCCc4MHCn9x3pnNB2bFj2BGtn8k6gOCDFonR8ukX5L5cIhvofcfD +7OaSzXm5lWD8QQSBz1wq/CtDD7vPmzMiUZD469e8eA6KMM8Tek54yyz79+bvOt9k +/LdX21E7Kb+BWWF27KoLL6AuFCl0nlDpCnbS4tR2ScrqyI72i9cuCBnsZsV2xxXW +2QMzHtYVVeXaFhYvcfDR9D/IUGk5EgG5Eb4eLOBicSoFBpkvrpN1ngwgffk9b/Y7 +H2r6zONNXgBPGcRmAlKf/GRv06tFZw89z4NQNHA0u8V/m0luyfdb2lmJvOvq8AaF +OwfQRjR+P26cl7HhBadLwLZ1aK50lG6HX4WIrdHWYb0ku5Vy1GtsICmynReuq5AP +rxOzs0XrDrA2peEHiY0W6M2bcAVuEXiYHJTf1QvsAbaKI2hXvJ0mZe+GgRFzFUXP +P+Y2rmQNSgzv1WAi6rLHPUJGcTHQtYi+qlF6Z7YSVxZa4HShkpj8g9vWFqii4HME +lO7pb2xjEAEEzSmiFTP+ydn918G79cWGuFHzSC1WOHxDk4Wd7aVLuGz9DPgVmRjb +tUZy3Myw7LXu+p3HAFIycrLpeeRqe9q7k/NKGIR6iIJ0m8bX2cofTsmDyxBFocJq +gVZeMTGB4OjiocXY4NZcB8FdSlGExQIDAQABAoICAG8jpEDF93vfsbppEKt2P7JP +8/gWP5EW6DEzi6hkkA6NxszwsRPsDX2RUAKuVjFjpOtiXR/T62bX7xLS0BxnxBR2 +m815oYTaKqwofFTZ95P9ct7oSKjRKPopM/1kLNAZ5LZZq9n+FJghHuimsy7CfgIF +RLtgwmxPQpyFKXhA5qlLyDfe0fOGoYH/RYuK6AQoD06D42iTfMi+im/Zjd3MavMm +uCqZGXoBAJbqC0jTDse1vvCtbb/mU1o+mhGDa4DDDVjdP7nVOYUkKAvlFXFClbpi +QyzM190ZZK9rKxadiTkxqA/OdwIxMNEvJsJVUctovpMXxk386SBOzpJWHL/+BRxT +Jw66ue13U5BKpcdXiFOz0WNlsFA3E1iv0govMexwBiyIrUts7bS1kKVtWqNpbAq9 +7xLjnT/tqu/N+52gIIpcSbN/rFFsJ0fT42ZmHj/ZKlzvz1ID0TDoXuEqwD7ObvH7 +yWOePWOfr/9PHUguhLMNxXVeOHcPWhW/iPcdOr2nJS8ugDUvms0GnKXUeb+oH6ei +6cBTosOwlnFy2az9CxDo/3yw1zoiYpxNkMrKvOZ5wW0Lq3xdJgfdKNRANjdMLKPy +Zhfk92FpQCFOc1l8Dymgq4j7EI/0QIl1ziQ1s9j4Zus2h8kp+SRjEtV44s75cY3M +EFlF6KR5jXhZRqfaSufBAoIBAQDqgeL59Icx2AAtQVRxakESSjY6CBWSsd4OD4p0 +OqRj26apETgf/9vv9wsK+A5DtNU16YS93Z/H+i227uh6KUeIAmkO+oWgif9xAQ4Z +ovUHEwCy+dFZuDchJVW+uO3sZfn+oxjHCE2F1aGknLN8ADEwf5/CyY+yzyigWXC2 +m5irjUfcGFuh4WGO4cz0INHDnC6KeTBQ/il5Yg6JPVsNeXiunz344JKHglbceZHq +jQyXG5GtafciT0mwAaDdcT7HQ/YvVNl9fA0CNxCJAFioN9rtXvKNejFfDZvrRXbD +ApNdXxyqiaYsj4oFsaWu9aZjnE9g6NpCqfi+2fddyclbh+RLAoIBAQDL68RsoDLz +od1kq/NJuwp10WMrCH5MKJXgedqPO4fws7hXhFXCkwhj9AWZf2+f/0Cj+l9tNlR1 ++T5UWv+sO+J8uWpX31x15Q//dcIlrt3GmGTEAIP4lN62x9tzTSfi/fezpo+tzFGU +N2OUd57bDry04Zo0pliI4TT4MNfYNsU9YDolZ27MEpiagvRJF+nbuCajdb2aFoTF +qtj515GEsCr8P5AtgbF4hZv7zm4/xKqcV637TcOTPo+XrLPnNL9BheRzJmZoVlA0 +uGyBdcvcBFfHEfB6zXtv7ZaCnITOoRXeo0q4gP85AxtwANnBGH+7gt8bsTZXUqRY +s+Xux5Ba3PEvAoIBAAkAu4oFDTuoozkZjPhdr+nX14Ua0lkzYub/Sb10kuMSh69t +7c2ssPDhdxcQttt6kcTkFiiD3aJ7xE2Fln86HnjmPspIa+Dh62CXPcdWLjn7TMeS +N6tOGy+2kzgjOV8d+x7/e/AILZG5xd7f9TQJfdnyzFtaCZ4/vbuKM32PM6lCX0Pf +24S3dltZ59hneiYcVN0UEfrKByWV0iEKrfgydaOekW6AkJ+LLXKBaEys5ZLXiBw0 +OTyj9pw/M8HMmzBjN4xRoZfjr0wqeQQJc13h5xG912n/Cu4vQ5EgtZJ/AtFO2Xbi +mfKUACR/0XCKFb01PwblaZutktMg4xJCsOxGp0kCggEBAL86n38GVAGo30cTARk5 +b7vA2fB3DIk63iId41nCh96visV3cjz/STUCl2W03eb6pZGgr3BpLJddXpgYpf7M +Qb6Y2iMBcWGVp4T211QjQhKEwqoTma65XImnriHYTvlNFMbCAacIHdCSiK2n566h +iVFO5x9Mh2YFW3kLxL4bzqeZ361H690v6y+qco9A/6tua72KIn2ndGcxqjvRbcMy +uXzH1tr17omJMhfXJAhk02G9z4gFCszANEQWTrcY/eniN7PMZOifWKO39vkIkF4J +LI+gQRXIMGNsOGLPiLOE2E9qbh3LyouaYFaOVaYA5XfgaH09mCoXc8tDGPLs7nBn +FT0CggEABDVHQn/QFsWgU3AP06sGNLv8PEqN6ydqiBbPuUZJAHDQ1Z+mi93I4F0m +s9qGRJYeUVnlhpAj8OYm4nNozxzNKdxAsLL3fQQ1XONdplxTGBJY/FsCt+o7ysLj +fDh9TBAI37D3KGQC5T1QqLlJNAcS0IKplEPRY3tJTDdW0G7GZofyD5CFKGsMx4qg +W4gEpsMlyGrXObCBGcL0OnzYOWv4pzPxhQ4ubYL2DT+/lW4+XLclWe76h1i03l00 +5Qw+BY2Hj3ksco7qQvYesEoGibpDoJu91SAQejwRNGxWprT7Iu6teKNseTRQdnS2 +s1vWHzIABKW/htxysnONHEUPla0d0A== +-----END PRIVATE KEY----- From 6e4e9ddcb46b409c05ebf1744a94b0031e76f3b8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 8 Mar 2018 16:33:08 +0100 Subject: [PATCH 48/89] jython disclaimer added --- README.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 0e1fe73..bfe4f9a 100644 --- a/README.md +++ b/README.md @@ -151,7 +151,10 @@ python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -ti 127.0.0 ``` You can see how the first hexdump instance gets a length of 8 bytes per row and the second instance gets a length of 12 bytes. To pass more than one option to a single module, seperate the options with a : character, modname:key1=val1:key2=val2... ## Deserializing and Serializing Java Objects to XML +**Note: at present this does not work due to changes that made the code not compatible with Jython's `socket` implementation. If Java deserialization is what you are looking for: the last compatible commit is e3290261.** + Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. + ``` CLASSPATH=./lib/* jython tcpproxy.py -ti 127.0.0.1 -tp 12346 -lp 12345 -om javaxml:mode=deserial,textdump ``` @@ -186,6 +189,5 @@ Note that when using jython, the SSL mitm does not seem to work. It looks like a ## Logging You can write all data that is sent or received by the proxy to a file using the -l/--log parameter. Data (and some housekeeping info) is written to the log before passing it to the module chains. If you want to log the state of the data during or after the modules are run, you can use the log proxymodule. Using the chain -im http_post,log:file=log.1,http_strip,log would first log the data after the http_post module to the logfile with the name log.1. The second use of the log module at the end of the chain would write the final state of the data to a logfile with the default name in- right before passing it on . ## TODO -- [X] implement a way to pass parameters to modules -- [X] implement logging (pre-/post modification) - [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts, can be done for now by using the burp solution detailed above and modifying data inside burp) +- [ ] Create and maintain a parallel branch that is compatible with jython but also has most of the new stuff introduced after e3290261 From b48d242440e702473630405db5858bfa406f88bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20F=C3=BCllbier?= Date: Thu, 22 Mar 2018 21:31:44 +0100 Subject: [PATCH 49/89] expanded by using text files --- proxymodules/replace.py | 45 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 40 insertions(+), 5 deletions(-) diff --git a/proxymodules/replace.py b/proxymodules/replace.py index f3bcb57..d7c34b1 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -1,5 +1,6 @@ #!/usr/bin/env python2 +import os import re @@ -7,21 +8,55 @@ class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] - self.description = 'Replace text by using regular expressions' + self.description = 'Replace text on the fly by using regular expressions in files' self.incoming = incoming # incoming means module is on -im chain + self.find = None # if find is not None, this text will be highlighted if options is not None: self.search = options['search'] self.replace = options['replace'] + try: + f = open(self.search) + except IOError: + print("Search file not found. Use string '%s' for search string." % (self.search)) + try: + open(self.replace) + except IOError: + print("Replace file not found. Use string '%s' for replace string." % (self.replace)) def execute(self, data): - new_data = re.sub(self.search, self.replace, data) + ''' + If the argument is a text file in the current directory, then the content + of the file will be used as search_string / replace_string. + Otherwise the argument itself is the search_string / replace_string. + ''' + listdir = os.listdir(".") + + try: + f = open(self.replace,"r") + replace_string = f.read()[:-1] + f.close() + except IOError: + replace_string = self.replace + + try: + f = open(self.search,"r") + search_string = f.read()[:-1] + f.close() + except IOError: + search_string = self.search + + results = re.findall(search_string, data) + new_data = re.sub(search_string, replace_string, data) if not new_data == data: - print("Replacing '%s' with '%s'" % (self.search, self.replace)) + for finding in results: + print("Replacing '%s' with '%s'" % (finding, replace_string)) return new_data def help(self): - h = '\tsearch: string that should be replaced\n' - h += ('\treplace: value that it should be replaced with') + h = '\tsearch: file which contains regular expression that should be replaced\n' + h += ('\treplace: file which contains the replacing string\n') + h += ('\tExample: replace:search=searchstring.txt,replace=replacestring.txt\n') + h += ('\tIf searchstring.txt or replacestring.txt do not exist, then the filename itself will be used as regex resp. replace string') return h From bb0f17b3e4be1ffa92356833a54c292c681205b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20F=C3=BCllbier?= Date: Thu, 22 Mar 2018 21:33:32 +0100 Subject: [PATCH 50/89] expanded replace module --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bfe4f9a..76e2f56 100644 --- a/README.md +++ b/README.md @@ -53,7 +53,7 @@ http_strip - Remove HTTP header from data javaxml - Serialization or deserialization of Java objects (needs jython) log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. -replace - Replace text by using regular expressions +replace - Replace text on the fly by using regular expressions in files textdump - Simply print the received data as text ``` Tcpproxy.py uses modules to view or modify the intercepted data. To see the possibly easiest implementation of a module, have a look at the textdump.py module in the proxymodules directory: From 8ff36e32a6c13d3853933a26b059a194c657b32e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 28 Mar 2018 13:27:13 +0200 Subject: [PATCH 51/89] added LICENSE, using MIT License --- LICENSE | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 LICENSE diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..774fdc3 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 René Werner + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. From fcdaa95359ece4d5ad91577733b6d8247b4803f3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 28 Mar 2018 15:29:25 +0200 Subject: [PATCH 52/89] changes to the replace module specify a single search:replace pair using the search and replace parameters, or use files containing search:replace pairs, one per line --- proxymodules/replace.py | 85 ++++++++++++++++++++--------------------- 1 file changed, 41 insertions(+), 44 deletions(-) diff --git a/proxymodules/replace.py b/proxymodules/replace.py index d7c34b1..e0bdb44 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -8,55 +8,52 @@ class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py self.name = __file__.rsplit('/', 1)[1].split('.')[0] - self.description = 'Replace text on the fly by using regular expressions in files' - self.incoming = incoming # incoming means module is on -im chain - self.find = None # if find is not None, this text will be highlighted + self.description = 'Replace text on the fly by using regular expressions in a file or as module parameters' + self.verbose = verbose + self.search = None + self.replace = None + self.filename = None + if options is not None: - self.search = options['search'] - self.replace = options['replace'] - try: - f = open(self.search) - except IOError: - print("Search file not found. Use string '%s' for search string." % (self.search)) - try: - open(self.replace) - except IOError: - print("Replace file not found. Use string '%s' for replace string." % (self.replace)) + if 'search' in options.keys(): + self.search = options['search'] + if 'replace' in options.keys(): + self.replace = options['replace'] + if 'file' in options.keys(): + self.filename = options['file'] + try: + open(self.filename) + except IOError as ioe: + print "Error opening %s: %s" % (self.filename, ioe.strerror) + self.filename = None def execute(self, data): - ''' - If the argument is a text file in the current directory, then the content - of the file will be used as search_string / replace_string. - Otherwise the argument itself is the search_string / replace_string. - ''' - listdir = os.listdir(".") - - try: - f = open(self.replace,"r") - replace_string = f.read()[:-1] - f.close() - except IOError: - replace_string = self.replace - - try: - f = open(self.search,"r") - search_string = f.read()[:-1] - f.close() - except IOError: - search_string = self.search - - results = re.findall(search_string, data) - new_data = re.sub(search_string, replace_string, data) - if not new_data == data: - for finding in results: - print("Replacing '%s' with '%s'" % (finding, replace_string)) - return new_data + pairs = [] # list of (search, replace) tuples + if self.search is not None and self.replace is not None: + pairs.append((self.search, self.replace)) + + if self.filename is not None: + for line in open(self.filename).readlines(): + # TODO: handle escaping of : character + try: + search, replace = line.split(':', 1) + pairs.append((search.strip(), replace.strip())) + except ValueError: + # line does not contain : and will be ignored + pass + + old_data = data + for search, replace in pairs: + # TODO: verbosity + data = re.sub(search, replace, data) + + return data def help(self): - h = '\tsearch: file which contains regular expression that should be replaced\n' - h += ('\treplace: file which contains the replacing string\n') - h += ('\tExample: replace:search=searchstring.txt,replace=replacestring.txt\n') - h += ('\tIf searchstring.txt or replacestring.txt do not exist, then the filename itself will be used as regex resp. replace string') + h = '\tsearch: string or regular expression to search for\n' + h += ('\treplace: string the search string should be replaced with\n') + h += ('\tfile: file containing search:replace pairs, one per line\n') + h += ('\n\tUse at least file or search and replace (or both).\n') return h From a0c2d68021b1b430adfbea28cb4054f286e9bba2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20F=C3=BCllbier?= Date: Thu, 29 Mar 2018 13:46:34 +0200 Subject: [PATCH 53/89] Add parameter "delimeter" in replace module Adds an optional parameter `delimeter` which can be used instead of the default `:` to split the expressions in the replace file. --- proxymodules/replace.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/proxymodules/replace.py b/proxymodules/replace.py index e0bdb44..7fbf3bf 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -13,6 +13,7 @@ def __init__(self, incoming=False, verbose=False, options=None): self.search = None self.replace = None self.filename = None + self.delimeter = ':' if options is not None: if 'search' in options.keys(): @@ -26,6 +27,8 @@ def __init__(self, incoming=False, verbose=False, options=None): except IOError as ioe: print "Error opening %s: %s" % (self.filename, ioe.strerror) self.filename = None + if 'delimeter' in options.keys(): + self.delimeter = options['delimeter'] def execute(self, data): pairs = [] # list of (search, replace) tuples @@ -34,9 +37,8 @@ def execute(self, data): if self.filename is not None: for line in open(self.filename).readlines(): - # TODO: handle escaping of : character try: - search, replace = line.split(':', 1) + search, replace = line.split(self.delimeter, 1) pairs.append((search.strip(), replace.strip())) except ValueError: # line does not contain : and will be ignored From d84246ad0e5176da35baf1bc65b39e5a6d82b912 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 29 Mar 2018 14:36:17 +0200 Subject: [PATCH 54/89] changed var name in replace module; added help --- proxymodules/replace.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/proxymodules/replace.py b/proxymodules/replace.py index 7fbf3bf..6e6e9b1 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -13,7 +13,7 @@ def __init__(self, incoming=False, verbose=False, options=None): self.search = None self.replace = None self.filename = None - self.delimeter = ':' + self.separator = ':' if options is not None: if 'search' in options.keys(): @@ -27,8 +27,8 @@ def __init__(self, incoming=False, verbose=False, options=None): except IOError as ioe: print "Error opening %s: %s" % (self.filename, ioe.strerror) self.filename = None - if 'delimeter' in options.keys(): - self.delimeter = options['delimeter'] + if 'separator' in options.keys(): + self.separator = options['separator'] def execute(self, data): pairs = [] # list of (search, replace) tuples @@ -38,7 +38,7 @@ def execute(self, data): if self.filename is not None: for line in open(self.filename).readlines(): try: - search, replace = line.split(self.delimeter, 1) + search, replace = line.split(self.separator, 1) pairs.append((search.strip(), replace.strip())) except ValueError: # line does not contain : and will be ignored @@ -55,6 +55,7 @@ def help(self): h = '\tsearch: string or regular expression to search for\n' h += ('\treplace: string the search string should be replaced with\n') h += ('\tfile: file containing search:replace pairs, one per line\n') + h += ('\tseparator: define a custom search:replace separator in the file, e.g. search#replace\n') h += ('\n\tUse at least file or search and replace (or both).\n') return h From 3f128dc3ec140906ff07c9c718bc2a8da2487a28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 2 May 2018 13:08:31 +0200 Subject: [PATCH 55/89] implemented possible fix for GH-10 --- proxymodules/hexdump.py | 3 ++- proxymodules/http_ok.py | 3 ++- proxymodules/http_post.py | 3 ++- proxymodules/http_strip.py | 3 ++- proxymodules/javaxml.py | 3 ++- proxymodules/log.py | 3 ++- proxymodules/removegzip.py | 3 ++- proxymodules/replace.py | 2 +- proxymodules/size.py | 3 ++- proxymodules/textdump.py | 3 ++- 10 files changed, 19 insertions(+), 10 deletions(-) diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index 17c1d35..e1c4219 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Print a hexdump of the received data' self.incoming = incoming # incoming means module is on -im chain self.len = 16 diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index 30f1c77..e48d9c6 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Prepend HTTP response header' self.server = None if options is not None: diff --git a/proxymodules/http_post.py b/proxymodules/http_post.py index f5a98da..d08013f 100644 --- a/proxymodules/http_post.py +++ b/proxymodules/http_post.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Prepend HTTP header' self.incoming = incoming # incoming means module is on -im chain self.targethost = None diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index 329a637..ac01d18 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Remove HTTP header from data' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/javaxml.py b/proxymodules/javaxml.py index 88d2e29..cf365f4 100644 --- a/proxymodules/javaxml.py +++ b/proxymodules/javaxml.py @@ -1,5 +1,6 @@ #!/usr/bin/env python2 # -*- coding: utf-8 -*- +import os.path as path import platform if 'java' in platform.system().lower(): import java.io as io @@ -11,7 +12,7 @@ class Module: def __init__(self, incoming=False, verbose=False, options=None): self.is_jython = 'java' in platform.system().lower() # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Serialization or deserialization of Java objects' if self.is_jython else \ 'Serialization or deserialization of Java objects (needs jython)' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/log.py b/proxymodules/log.py index f1eb656..058db60 100644 --- a/proxymodules/log.py +++ b/proxymodules/log.py @@ -1,11 +1,12 @@ #!/usr/bin/env python2 +import os.path as path import time class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Log data in the module chain. Use in addition to general logging (-l/--log).' self.incoming = incoming # incoming means module is on -im chain self.find = None # if find is not None, this text will be highlighted diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index 19b5684..91db9ff 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Replace gzip in the list of accepted encodings ' \ 'in a HTTP request with booo.' self.incoming = incoming # incoming means module is on -im chain diff --git a/proxymodules/replace.py b/proxymodules/replace.py index 6e6e9b1..c4dc62c 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -7,7 +7,7 @@ class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = os.path.splitext(os.path.basename(__file__))[0] self.description = 'Replace text on the fly by using regular expressions in a file or as module parameters' self.verbose = verbose self.search = None diff --git a/proxymodules/size.py b/proxymodules/size.py index efeb3d6..7661a90 100644 --- a/proxymodules/size.py +++ b/proxymodules/size.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path from distutils.util import strtobool class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Print the size of the data passed to the module' self.verbose = verbose self.source = None diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index 5d504f5..c31adef 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -1,10 +1,11 @@ #!/usr/bin/env python2 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain self.find = None # if find is not None, this text will be highlighted From cafa360e9ce1fef4dc99ab5de4177e304e477e54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 13 Jun 2018 12:54:07 +0200 Subject: [PATCH 56/89] PEP8-ified the code with flake8 --- proxymodules/hexdump.py | 1 + proxymodules/http_ok.py | 1 - proxymodules/javaxml.py | 3 ++- proxymodules/removegzip.py | 1 + proxymodules/size.py | 5 ++--- tcpproxy.py | 34 +++++++++++++++++----------------- 6 files changed, 23 insertions(+), 22 deletions(-) diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index e1c4219..500dfc1 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -32,5 +32,6 @@ def execute(self, data): print b'\n'.join(result) return data + if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index e48d9c6..603a043 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -15,7 +15,6 @@ def __init__(self, incoming=False, verbose=False, options=None): # source will be set by the proxy thread later on self.source = None - def execute(self, data): if self.server is None: self.server = self.source[0] diff --git a/proxymodules/javaxml.py b/proxymodules/javaxml.py index cf365f4..2635632 100644 --- a/proxymodules/javaxml.py +++ b/proxymodules/javaxml.py @@ -63,7 +63,7 @@ def serial(self, data): # I had a problem with signed vs. unsigned bytes, hence the & 0xff return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) - except Exception as e: + except Exception as e: print '[!] Caught Exception. Could not convert.\n' return data @@ -71,5 +71,6 @@ def error(self, data): print '[!] Unknown mode. Please specify mode=[serial|deserial].' return data + if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index 91db9ff..c4923e5 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -29,5 +29,6 @@ def execute(self, data): return '\r\n'.join(headers) + '\r\n\r\n' + body + if __name__ == '__main__': print 'This module is not supposed to be executed alone!' diff --git a/proxymodules/size.py b/proxymodules/size.py index 7661a90..dca436a 100644 --- a/proxymodules/size.py +++ b/proxymodules/size.py @@ -2,6 +2,7 @@ import os.path as path from distutils.util import strtobool + class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py @@ -15,17 +16,15 @@ def __init__(self, incoming=False, verbose=False, options=None): if 'verbose' in options.keys(): self.verbose = bool(strtobool(options['verbose'])) - def execute(self, data): size = len(data) - msg = "Received %d bytes" %size + msg = "Received %d bytes" % size if self.verbose: msg += " from %s:%d" % self.source msg += " for %s:%d" % self.destination print msg return data - def help(self): h = '\tverbose: override the global verbosity setting' return h diff --git a/tcpproxy.py b/tcpproxy.py index 774966c..5cbc64e 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -153,7 +153,7 @@ def receive_from(s): while True: data = s.recv(4096) b += data - if not data or len(data)<4096: + if not data or len(data) < 4096: break return b @@ -176,21 +176,21 @@ def is_client_hello(sock): firstbytes = sock.recv(128, socket.MSG_PEEK) return (len(firstbytes) >= 3 and firstbytes[0] == "\x16" and - firstbytes[1:3] in [ "\x03\x00", - "\x03\x01", - "\x03\x02", - "\x03\x03", - "\x02\x00", ] - ) + firstbytes[1:3] in ["\x03\x00", + "\x03\x01", + "\x03\x02", + "\x03\x03", + "\x02\x00"] + ) def enable_ssl(remote_socket, local_socket): local_socket = ssl.wrap_socket(local_socket, - server_side=True, - certfile="mitm.pem", - keyfile="mitm.pem", - ssl_version=ssl.PROTOCOL_TLS, - ) + server_side=True, + certfile="mitm.pem", + keyfile="mitm.pem", + ssl_version=ssl.PROTOCOL_TLS, + ) remote_socket = ssl.wrap_socket(remote_socket) return [remote_socket, local_socket] @@ -198,10 +198,10 @@ def enable_ssl(remote_socket, local_socket): def starttls(args, local_socket, read_sockets): return (args.use_ssl and - local_socket in read_sockets and - not isinstance(local_socket, ssl.SSLSocket) and - is_client_hello(local_socket) - ) + local_socket in read_sockets and + not isinstance(local_socket, ssl.SSLSocket) and + is_client_hello(local_socket) + ) def start_proxy_thread(local_socket, args, in_modules, out_modules): @@ -293,7 +293,7 @@ def log(handle, message, message_only=False): return if not message_only: logentry = "%s %s\n" % (time.strftime('%Y%m%d-%H%M%S'), - str(time.time())) + str(time.time())) else: logentry = '' logentry += message From bb3722550e4c0aced08104c9dc1b8e65362769de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 13 Jun 2018 13:20:13 +0200 Subject: [PATCH 57/89] removed unused variable --- proxymodules/replace.py | 1 - 1 file changed, 1 deletion(-) diff --git a/proxymodules/replace.py b/proxymodules/replace.py index c4dc62c..aad9c75 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -44,7 +44,6 @@ def execute(self, data): # line does not contain : and will be ignored pass - old_data = data for search, replace in pairs: # TODO: verbosity data = re.sub(search, replace, data) From bc23ef11c188b215948463871dad65d45a88dbcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 11 Sep 2018 17:16:41 +0200 Subject: [PATCH 58/89] minor changes, new module digestdowngrade --- proxymodules/digestdowngrade.py | 41 +++++++++++++++++++++++++++ tcpproxy.py | 49 +++++++++++++++++++-------------- 2 files changed, 70 insertions(+), 20 deletions(-) create mode 100644 proxymodules/digestdowngrade.py diff --git a/proxymodules/digestdowngrade.py b/proxymodules/digestdowngrade.py new file mode 100644 index 0000000..0c554a4 --- /dev/null +++ b/proxymodules/digestdowngrade.py @@ -0,0 +1,41 @@ +#!/usr/bin/env python2 + +import os +import re + + +class Module: + def __init__(self, incoming=False, verbose=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = os.path.splitext(os.path.basename(__file__))[0] + self.description = 'Find HTTP Digest Authentication and replace it with a Basic Auth' + self.verbose = verbose + self.realm = 'tcpproxy' + + if options is not None: + if 'realm' in options.keys(): + self.realm = options['realm'] + + def detect_linebreak(self, data): + line = data.split('\n', 1)[0] + if line.endswith('\r'): + return '\r\n' + else: + return '\n' + + def execute(self, data): + delimiter = self.detect_linebreak(data) + lines = data.split(delimiter) + for index, line in enumerate(lines): + if line.lower().startswith('www-authenticate: digest'): + lines[index] = 'WWW-Authenticate: Basic realm="%s"%s' % (self.realm, delimiter) + + return delimiter.join(lines) + + def help(self): + h = '\trealm: use this instead of the default "tcpproxy"\n' + return h + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/tcpproxy.py b/tcpproxy.py index 5cbc64e..602363f 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -163,8 +163,7 @@ def handle_data(data, modules, dont_chain, incoming, verbose): # output of one plugin to the following plugin. Not every plugin will # necessarily modify the data, though. for m in modules: - if verbose: - print ("> > > > in: " if incoming else "< < < < out: ") + m.name + vprint(("> > > > in: " if incoming else "< < < < out: ") + m.name, verbose) if dont_chain: m.execute(data) else: @@ -185,14 +184,23 @@ def is_client_hello(sock): def enable_ssl(remote_socket, local_socket): - local_socket = ssl.wrap_socket(local_socket, - server_side=True, - certfile="mitm.pem", - keyfile="mitm.pem", - ssl_version=ssl.PROTOCOL_TLS, - ) - - remote_socket = ssl.wrap_socket(remote_socket) + try: + local_socket = ssl.wrap_socket(local_socket, + server_side=True, + certfile="mitm.pem", + keyfile="mitm.pem", + ssl_version=ssl.PROTOCOL_TLS, + ) + except ssl.SSLError as e: + print "SSL handshake failed for listening socket", str(e) + raise + + try: + remote_socket = ssl.wrap_socket(remote_socket) + except ssl.SSLError as e: + print "SSL handshake failed for remote socket", str(e) + raise + return [remote_socket, local_socket] @@ -212,8 +220,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): try: remote_socket.connect((args.target_ip, args.target_port)) - if args.verbose: - print 'Connected to %s:%d' % remote_socket.getpeername() + vprint('Connected to %s:%d' % remote_socket.getpeername(), args.verbose) log(args.logfile, 'Connected to %s:%d' % remote_socket.getpeername()) except socket.error as serr: if serr.errno == errno.ECONNREFUSED: @@ -236,8 +243,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): try: ssl_sockets = enable_ssl(remote_socket, local_socket) remote_socket, local_socket = ssl_sockets - if args.verbose: - print "SSL enabled" + vprint("SSL enabled", args.verbose) log(args.logfile, "SSL enabled") except ssl.SSLError as e: print "SSL handshake failed", str(e) @@ -261,8 +267,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): args.verbose) remote_socket.send(data) else: - if args.verbose: - print "Connection from local client %s:%d closed" % peer + vprint("Connection from local client %s:%d closed" % peer, args.verbose) log(args.logfile, "Connection from local client %s:%d closed" % peer) remote_socket.close() running = False @@ -277,8 +282,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): args.verbose) local_socket.send(data) else: - if args.verbose: - print "Connection to remote server %s:%d closed" % peer + vprint("Connection to remote server %s:%d closed" % peer, args.verbose) log(args.logfile, "Connection to remote server %s:%d closed" % peer) local_socket.close() running = False @@ -302,6 +306,12 @@ def log(handle, message, message_only=False): handle.write(logentry) +def vprint(msg, is_verbose): + # this will print msg, but only if is_verbose is True + if is_verbose: + print msg + + def main(): args = parse_args() if args.list is False and args.help_modules is None: @@ -376,8 +386,7 @@ def main(): try: while True: in_socket, in_addrinfo = proxy_socket.accept() - if args.verbose: - print 'Connection from %s:%d' % in_addrinfo + vprint('Connection from %s:%d' % in_addrinfo, args.verbose) log(args.logfile, 'Connection from %s:%d' % in_addrinfo) proxy_thread = threading.Thread(target=start_proxy_thread, args=(in_socket, args, in_modules, From ca9fd69e242c5ce0bdf67c526938385f81e69057 Mon Sep 17 00:00:00 2001 From: Mattia Date: Mon, 7 Oct 2019 15:03:41 +0200 Subject: [PATCH 59/89] proxy support --- tcpproxy.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 602363f..7469e8d 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -5,6 +5,7 @@ import sys import threading import socket +import socks import ssl import time import select @@ -42,6 +43,15 @@ def parse_args(): parser.add_argument('-lp', '--listenport', dest='listen_port', type=int, default=8080, help='port to listen on') + parser.add_argument('-pi', '--proxy-ip', dest='proxy_ip', default=None, + help='IP address/host name of proxy') + + parser.add_argument('-pp', '--proxy-port', dest='proxy_port', type=int, + default=1080, help='proxy port', ) + + parser.add_argument('-pt', '--proxy-type', dest='proxy_type', default='SOCKS5', + help='proxy type. Options are SOCKS5 (default), SOCKS4, HTTP') + parser.add_argument('-om', '--outmodules', dest='out_modules', help='comma-separated list of modules to modify data' + ' before sending to remote target.') @@ -68,6 +78,7 @@ def parse_args(): parser.add_argument('-lo', '--list-options', dest='help_modules', default=None, help='Print help of selected module') + parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', default=False, help='detect SSL/TLS as well as STARTTLS, certificate is mitm.pem') @@ -211,12 +222,15 @@ def starttls(args, local_socket, read_sockets): is_client_hello(local_socket) ) - def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before # passing it on. - remote_socket = socket.socket() + remote_socket = socks.socksocket() + + if args.proxy_ip: + proxy_types = {'SOCKS5' : socks.SOCKS5, 'SOCKS4' : socks.SOCKS4, 'HTTP' : socks.HTTP} + remote_socket.set_proxy(proxy_types[args.proxy_type], args.proxy_ip, args.proxy_port) try: remote_socket.connect((args.target_ip, args.target_port)) From 507e10fb65dfe87bbe63049064241737e7365ad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 9 Oct 2019 16:44:41 +0200 Subject: [PATCH 60/89] limited choices for proxy type to acceptable values --- README.md | 18 +++++++++++++----- tcpproxy.py | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 76e2f56..0ee61eb 100644 --- a/README.md +++ b/README.md @@ -7,9 +7,11 @@ This tool is inspired by and partially based on the TCP proxy example used in Ju ## Usage ``` $ ./tcpproxy.py -h -usage: tcpproxy.py [-h] -ti TARGET_IP -tp TARGET_PORT [-li LISTEN_IP] - [-lp LISTEN_PORT] [-om OUT_MODULES] [-im IN_MODULES] [-v] - [-n] [-l LOGFILE] [--list] [-lo HELP_MODULES] [-s] +usage: tcpproxy.py [-h] [-ti TARGET_IP] [-tp TARGET_PORT] [-li LISTEN_IP] + [-lp LISTEN_PORT] [-pi PROXY_IP] [-pp PROXY_PORT] + [-pt {SOCKS4,SOCKS5,HTTP}] [-om OUT_MODULES] + [-im IN_MODULES] [-v] [-n] [-l LOGFILE] [--list] + [-lo HELP_MODULES] [-s] Simple TCP proxy for data interception and modification. Select modules to handle the intercepted traffic. @@ -17,13 +19,19 @@ handle the intercepted traffic. optional arguments: -h, --help show this help message and exit -ti TARGET_IP, --targetip TARGET_IP - remote target IP + remote target IP or host name -tp TARGET_PORT, --targetport TARGET_PORT remote target port -li LISTEN_IP, --listenip LISTEN_IP - IP address to listen for incoming data + IP address/host name to listen for incoming data -lp LISTEN_PORT, --listenport LISTEN_PORT port to listen on + -pi PROXY_IP, --proxy-ip PROXY_IP + IP address/host name of proxy + -pp PROXY_PORT, --proxy-port PROXY_PORT + proxy port + -pt {SOCKS4,SOCKS5,HTTP}, --proxy-type {SOCKS4,SOCKS5,HTTP} + proxy type. Options are SOCKS5 (default), SOCKS4, HTTP -om OUT_MODULES, --outmodules OUT_MODULES comma-separated list of modules to modify data before sending to remote target. diff --git a/tcpproxy.py b/tcpproxy.py index 7469e8d..60423dd 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -49,7 +49,7 @@ def parse_args(): parser.add_argument('-pp', '--proxy-port', dest='proxy_port', type=int, default=1080, help='proxy port', ) - parser.add_argument('-pt', '--proxy-type', dest='proxy_type', default='SOCKS5', + parser.add_argument('-pt', '--proxy-type', dest='proxy_type', default='SOCKS5', choices=['SOCKS4', 'SOCKS5', 'HTTP'], help='proxy type. Options are SOCKS5 (default), SOCKS4, HTTP') parser.add_argument('-om', '--outmodules', dest='out_modules', From 1403487b52eca9e3f49b2a2641cc161ed004d70a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 9 Oct 2019 16:52:34 +0200 Subject: [PATCH 61/89] added a Contributions section to the readme --- README.md | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/README.md b/README.md index 0ee61eb..219b0f1 100644 --- a/README.md +++ b/README.md @@ -199,3 +199,12 @@ You can write all data that is sent or received by the proxy to a file using the ## TODO - [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts, can be done for now by using the burp solution detailed above and modifying data inside burp) - [ ] Create and maintain a parallel branch that is compatible with jython but also has most of the new stuff introduced after e3290261 + +## Contributions + +I want to thank the following people for spending their valuable time and energy on improving this little tool: + +- [Adrian Vollmer](https://github.com/AdrianVollmer) +- [Michael Füllbier](https://github.com/mfuellbier) +- [Stefan Grönke](https://github.com/gronke) +- [Mattia](https://github.com/sowdust) From 587646c8dd8baf95cdd65ee0ef5e1bf363429ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 24 Mar 2020 17:21:29 +0100 Subject: [PATCH 62/89] added new proxy module to rewrite HTTP responses based on size --- proxymodules/size404.py | 35 +++++++++++++++++++++++++++++++++++ tcpproxy.py | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 proxymodules/size404.py diff --git a/proxymodules/size404.py b/proxymodules/size404.py new file mode 100644 index 0000000..039ecd7 --- /dev/null +++ b/proxymodules/size404.py @@ -0,0 +1,35 @@ +#!/usr/bin/env python3 +import os.path as path + + +class Module: + def __init__(self, incoming=False, verbose=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = path.splitext(path.basename(__file__))[0] + self.description = 'Change HTTP responses of a certain size to 404.' + self.incoming = incoming # incoming means module is on -im chain + self.size = 2392 # if a response has this value as content-length, it will become a 404 + self.verbose = False + if options is not None: + if 'size' in options.keys(): + try: + self.size = int(options['size']) + except ValueError: + pass # use the default if you can't parse the parameter + if 'verbose' in options.keys(): + self.verbose=True + + + def execute(self, data): + contentlength = 'content-length: ' + str(self.size) + if data.startswith('HTTP/1.1 200 OK') and contentlength in data.lower(): + data = data.replace('200 OK', '404 Not Found', 1) + print 'Edited return code' + return data + + def help(self): + return '\tsize: if a response has this value as content-length, it will become a 404\n\tverbose: print a message if a string is replaced' + + +if __name__ == '__main__': + print 'This module is not supposed to be executed alone!' diff --git a/tcpproxy.py b/tcpproxy.py index 60423dd..25f7d60 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -200,7 +200,7 @@ def enable_ssl(remote_socket, local_socket): server_side=True, certfile="mitm.pem", keyfile="mitm.pem", - ssl_version=ssl.PROTOCOL_TLS, + ssl_version=ssl.PROTOCOL_TLSv1_2, ) except ssl.SSLError as e: print "SSL handshake failed for listening socket", str(e) From 60a6d19b538842014d874fbd2a929557a7427840 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Tue, 24 Mar 2020 18:04:23 +0100 Subject: [PATCH 63/89] custom error message support for size404 --- proxymodules/size404.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/proxymodules/size404.py b/proxymodules/size404.py index 039ecd7..3e1e690 100644 --- a/proxymodules/size404.py +++ b/proxymodules/size404.py @@ -10,6 +10,7 @@ def __init__(self, incoming=False, verbose=False, options=None): self.incoming = incoming # incoming means module is on -im chain self.size = 2392 # if a response has this value as content-length, it will become a 404 self.verbose = False + self.custom = False if options is not None: if 'size' in options.keys(): try: @@ -18,17 +19,31 @@ def __init__(self, incoming=False, verbose=False, options=None): pass # use the default if you can't parse the parameter if 'verbose' in options.keys(): self.verbose=True + if 'custom' in options.keys(): + try: + with open(options['custom'], 'r') as handle: + self.custom = handle.read() + except Exception as e: + print 'Can\'t open custom error file, not using it.' + self.custom = False def execute(self, data): contentlength = 'content-length: ' + str(self.size) if data.startswith('HTTP/1.1 200 OK') and contentlength in data.lower(): - data = data.replace('200 OK', '404 Not Found', 1) - print 'Edited return code' + if self.custom is not False: + data = self.custom + print 'Replaced response with custom response' + else: + data = data.replace('200 OK', '404 Not Found', 1) + print 'Edited return code' return data def help(self): - return '\tsize: if a response has this value as content-length, it will become a 404\n\tverbose: print a message if a string is replaced' + h = '\tsize: if a response has this value as content-length, it will become a 404\n' + h += ('\tverbose: print a message if a string is replaced\n' + '\tcustom: path to a file containing a custom response, will replace the received response') + return h if __name__ == '__main__': From ea279f5a96ce96db3d20c304553d5cbf65d3bf4b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 25 Mar 2020 16:46:42 +0100 Subject: [PATCH 64/89] improved size404 module --- proxymodules/size404.py | 35 ++++++++++++++++++++++++++++++++--- 1 file changed, 32 insertions(+), 3 deletions(-) diff --git a/proxymodules/size404.py b/proxymodules/size404.py index 3e1e690..feb5f38 100644 --- a/proxymodules/size404.py +++ b/proxymodules/size404.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import os.path as path +import time class Module: @@ -11,6 +12,10 @@ def __init__(self, incoming=False, verbose=False, options=None): self.size = 2392 # if a response has this value as content-length, it will become a 404 self.verbose = False self.custom = False + self.rewriteall = False # will we block the first occurence? + self.firstfound = False # have we found the first occurence yet? + self.resetinterval = None # if we haven't found a fitting response in this many seconds, reset the state and set first to False again + self.timer = time.time() if options is not None: if 'size' in options.keys(): try: @@ -26,23 +31,47 @@ def __init__(self, incoming=False, verbose=False, options=None): except Exception as e: print 'Can\'t open custom error file, not using it.' self.custom = False + if 'rewriteall' in options.keys(): + self.rewriteall=True + if 'reset' in options.keys(): + try: + self.resetinterval = float(options['reset']) + except ValueError: + pass # use the default if you can't parse the parameter def execute(self, data): contentlength = 'content-length: ' + str(self.size) + if self.resetinterval is not None: + t = time.time() + if t - self.timer >= self.resetinterval: + if self.verbose: + print 'Timer elapsed' + self.firstfound = False + self.timer = t if data.startswith('HTTP/1.1 200 OK') and contentlength in data.lower(): + if self.rewriteall is False and self.firstfound is False: + # we have seen this response size for the first time and are not blocking the first one + self.firstfound = True + if self.verbose: + print 'Letting this response through' + return data if self.custom is not False: data = self.custom - print 'Replaced response with custom response' + if self.verbose: + print 'Replaced response with custom response' else: data = data.replace('200 OK', '404 Not Found', 1) - print 'Edited return code' + if self.verbose: + print 'Edited return code' return data def help(self): h = '\tsize: if a response has this value as content-length, it will become a 404\n' h += ('\tverbose: print a message if a string is replaced\n' - '\tcustom: path to a file containing a custom response, will replace the received response') + '\tcustom: path to a file containing a custom response, will replace the received response\n' + '\trewriteall: if set, it will rewrite all responses. Default is to let the first on through' + '\treset: number of seconds after which we will reset the state and will let the next response through.') return h From b358d965422b788945acb7f681558f4536a6a6c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 26 Mar 2020 13:13:23 +0100 Subject: [PATCH 65/89] bugfix --- proxymodules/size404.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/proxymodules/size404.py b/proxymodules/size404.py index feb5f38..555501e 100644 --- a/proxymodules/size404.py +++ b/proxymodules/size404.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python3 +#!/usr/bin/env python2 import os.path as path import time @@ -14,7 +14,7 @@ def __init__(self, incoming=False, verbose=False, options=None): self.custom = False self.rewriteall = False # will we block the first occurence? self.firstfound = False # have we found the first occurence yet? - self.resetinterval = None # if we haven't found a fitting response in this many seconds, reset the state and set first to False again + self.resetinterval = None # if we haven't found a fitting response in this many seconds, reset the state and set first to False again self.timer = time.time() if options is not None: if 'size' in options.keys(): @@ -23,7 +23,7 @@ def __init__(self, incoming=False, verbose=False, options=None): except ValueError: pass # use the default if you can't parse the parameter if 'verbose' in options.keys(): - self.verbose=True + self.verbose = True if 'custom' in options.keys(): try: with open(options['custom'], 'r') as handle: @@ -32,24 +32,23 @@ def __init__(self, incoming=False, verbose=False, options=None): print 'Can\'t open custom error file, not using it.' self.custom = False if 'rewriteall' in options.keys(): - self.rewriteall=True + self.rewriteall = True if 'reset' in options.keys(): try: self.resetinterval = float(options['reset']) except ValueError: pass # use the default if you can't parse the parameter - def execute(self, data): contentlength = 'content-length: ' + str(self.size) - if self.resetinterval is not None: - t = time.time() - if t - self.timer >= self.resetinterval: - if self.verbose: - print 'Timer elapsed' - self.firstfound = False - self.timer = t if data.startswith('HTTP/1.1 200 OK') and contentlength in data.lower(): + if self.resetinterval is not None: + t = time.time() + if t - self.timer >= self.resetinterval: + if self.verbose: + print 'Timer elapsed' + self.firstfound = False + self.timer = t if self.rewriteall is False and self.firstfound is False: # we have seen this response size for the first time and are not blocking the first one self.firstfound = True @@ -60,10 +59,12 @@ def execute(self, data): data = self.custom if self.verbose: print 'Replaced response with custom response' + print data else: data = data.replace('200 OK', '404 Not Found', 1) if self.verbose: print 'Edited return code' + print data return data def help(self): From 5195b87967f40eea4109ed3ea09531483b498c92 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Sun, 29 Mar 2020 11:11:00 +0200 Subject: [PATCH 66/89] changes to size404 --- proxymodules/size404.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/proxymodules/size404.py b/proxymodules/size404.py index 555501e..3394cc1 100644 --- a/proxymodules/size404.py +++ b/proxymodules/size404.py @@ -59,12 +59,10 @@ def execute(self, data): data = self.custom if self.verbose: print 'Replaced response with custom response' - print data else: data = data.replace('200 OK', '404 Not Found', 1) if self.verbose: print 'Edited return code' - print data return data def help(self): From 3bad5c0fec56c24e0c5554cb8d12b7788c1b2771 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Sun, 29 Mar 2020 20:21:41 +0200 Subject: [PATCH 67/89] port to python3 --- README.md | 53 ++++++++++++++++++------- proxymodules/digestdowngrade.py | 21 +++++----- proxymodules/hexdump.py | 19 ++++----- proxymodules/http_ok.py | 18 ++++----- proxymodules/http_post.py | 22 +++++------ proxymodules/http_strip.py | 12 +++--- proxymodules/javaxml.py | 17 ++++---- proxymodules/log.py | 12 +++--- proxymodules/removegzip.py | 14 +++---- proxymodules/replace.py | 15 ++++--- proxymodules/size.py | 6 +-- proxymodules/size404.py | 27 ++++++------- proxymodules/textdump.py | 16 ++++---- tcpproxy.py | 69 +++++++++++++++++---------------- 14 files changed, 172 insertions(+), 149 deletions(-) diff --git a/README.md b/README.md index 219b0f1..c1d3394 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,12 @@ # tcpproxy.py - An intercepting proxy for TCP data + This tool opens a listening socket, receives data and then runs this data through a chain of proxy modules. After the modules are done, the resulting data is sent to the target server. The response is received and again run through a chain of modules before sending the final data back to the client. To intercept the data, you will either have to be the gateway or do some kind of man-in-the-middle attack. Set up iptables so that the PREROUTING chain will modify the destination and send it to the proxy process. The proxy will then send the data on to whatever target was specified. This tool is inspired by and partially based on the TCP proxy example used in Justin Seitz' book "Black Hat Python" by no starch press. ## Usage + ``` $ ./tcpproxy.py -h usage: tcpproxy.py [-h] [-ti TARGET_IP] [-tp TARGET_PORT] [-li LISTEN_IP] @@ -51,9 +53,12 @@ optional arguments: You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. You can also pass options to each module: -im mod1:key1=val1,mod4,mod2:key1=val1:key2=val2. To learn which options you can pass to a module use -lo/--list-options like this: -lo mod1,mod2,mod4 + ## Modules + ``` $ ./tcpproxy.py --list +digestdowngrade - Find HTTP Digest Authentication and replace it with a Basic Auth hexdump - Print a hexdump of the received data http_ok - Prepend HTTP response header http_post - Prepend HTTP header @@ -61,35 +66,40 @@ http_strip - Remove HTTP header from data javaxml - Serialization or deserialization of Java objects (needs jython) log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. -replace - Replace text on the fly by using regular expressions in files +replace - Replace text on the fly by using regular expressions in a file or as module parameters +size - Print the size of the data passed to the module +size404 - Change HTTP responses of a certain size to 404. textdump - Simply print the received data as text ``` + Tcpproxy.py uses modules to view or modify the intercepted data. To see the possibly easiest implementation of a module, have a look at the textdump.py module in the proxymodules directory: + ```python -#!/usr/bin/env python2 +#!/usr/bin/env python3 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): # extract the file name from __file__. __file__ is proxymodules/name.py - self.name = __file__.rsplit('/', 1)[1].split('.')[0] + self.name = path.splitext(path.basename(__file__))[0] self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain self.find = None # if find is not None, this text will be highlighted if options is not None: if 'find' in options.keys(): - self.find = options['find'] # text to highlight + self.find = bytes(options['find'], 'ascii') # text to highlight if 'color' in options.keys(): - self.color = '\033[' + options['color'] + 'm' # highlight color + self.color = bytes('\033[' + options['color'] + 'm', 'ascii') # highlight color else: - self.color = '\033[31;1m' + self.color = b'\033[31;1m' def execute(self, data): if self.find is None: - print data + print(data) else: - pdata = data.replace(self.find, self.color + self.find + '\033[0m') - print pdata + pdata = data.replace(self.find, self.color + self.find + b'\033[0m') + print(pdata.decode('ascii')) return data def help(self): @@ -100,21 +110,27 @@ class Module: if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') ``` + Every module file contains a class named Module. Every module MUST set self.description and MUST implement an execute method that accepts one parameter, the input data. The execute method MUST return something, this something is then either passed to the next module or sent on. Other than that, you are free to do whatever you want inside a module. The incoming parameter in the constructor is set to True when the module is in the incoming chain (-im), otherwise it's False. This way, a module knows in which direction the data is flowing (credits to jbarg for this idea). The verbose parameter is set to True if the proxy is started with -v/--verbose. The options parameter is a dictionary with the keys and values passed to the module on the command line. Note that if you use the options dictionary in your module, you should also implement a help() method. This method must return a string. Use one line per option, make sure each line starts with a \t character for proper indentation. See the hexdump module for an additional options example: + ```python -#!/usr/bin/env python2 +#!/usr/bin/env python3 +import os.path as path class Module: def __init__(self, incoming=False, verbose=False, options=None): - # -- 8< --- snip + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = path.splitext(path.basename(__file__))[0] + self.description = 'Print a hexdump of the received data' + self.incoming = incoming # incoming means module is on -im chain self.len = 16 if options is not None: if 'length' in options.keys(): @@ -125,16 +141,18 @@ class Module: def execute(self, data): # -- 8< --- snip - for i in xrange(0, len(data), self.len): + for i in range(0, len(data), self.len): s = data[i:i + self.len] # # -- 8< --- snip if __name__ == '__main__': print 'This module is not supposed to be executed alone!' ``` + The above example should give you an idea how to make use of module parameters. A calling example would be: + ``` -python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -ti 127.0.0.1 -tp 12345 +./tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -ti 127.0.0.1 -tp 12345 < < < < out: hexdump 0000 77 6C 6B 66 6A 6C 77 71 wlkfjlwq 0008 6B 66 6A 68 6C 6B 77 71 kfjhlkwq @@ -157,8 +175,11 @@ python2 tcpproxy.py -om hexdump:length=8,http_post,hexdump:length=12 -ti 127.0.0 0060 77 71 6B 65 6A 66 68 77 71 6C 6B 65 wqkejfhwqlke 006C 6A 66 68 0A jfh. ``` + You can see how the first hexdump instance gets a length of 8 bytes per row and the second instance gets a length of 12 bytes. To pass more than one option to a single module, seperate the options with a : character, modname:key1=val1:key2=val2... + ## Deserializing and Serializing Java Objects to XML + **Note: at present this does not work due to changes that made the code not compatible with Jython's `socket` implementation. If Java deserialization is what you are looking for: the last compatible commit is e3290261.** Using the Java xstream libary, it is possible to deserialize intercepted serialised objects if the .jar with class definitions is known to tcpproxy. @@ -195,8 +216,11 @@ If you are doing automated modifications and have no need for interactivity, you Note that when using jython, the SSL mitm does not seem to work. It looks like a jython bug to me, but I haven't yet done extensive debugging so I can't say for sure. ## Logging + You can write all data that is sent or received by the proxy to a file using the -l/--log parameter. Data (and some housekeeping info) is written to the log before passing it to the module chains. If you want to log the state of the data during or after the modules are run, you can use the log proxymodule. Using the chain -im http_post,log:file=log.1,http_strip,log would first log the data after the http_post module to the logfile with the name log.1. The second use of the log module at the end of the chain would write the final state of the data to a logfile with the default name in- right before passing it on . + ## TODO + - [ ] make the process interactive by implementing some kind of editor module (will probably complicate matters with regard to timeouts, can be done for now by using the burp solution detailed above and modifying data inside burp) - [ ] Create and maintain a parallel branch that is compatible with jython but also has most of the new stuff introduced after e3290261 @@ -208,3 +232,4 @@ I want to thank the following people for spending their valuable time and energy - [Michael Füllbier](https://github.com/mfuellbier) - [Stefan Grönke](https://github.com/gronke) - [Mattia](https://github.com/sowdust) +- [bjorns163](https://github.com/bjorns163) diff --git a/proxymodules/digestdowngrade.py b/proxymodules/digestdowngrade.py index 0c554a4..f948c1b 100644 --- a/proxymodules/digestdowngrade.py +++ b/proxymodules/digestdowngrade.py @@ -1,7 +1,5 @@ -#!/usr/bin/env python2 - +#!/usr/bin/env python3 import os -import re class Module: @@ -14,22 +12,21 @@ def __init__(self, incoming=False, verbose=False, options=None): if options is not None: if 'realm' in options.keys(): - self.realm = options['realm'] + self.realm = bytes(options['realm'], 'ascii') def detect_linebreak(self, data): - line = data.split('\n', 1)[0] - if line.endswith('\r'): - return '\r\n' + line = data.split(b'\n', 1)[0] + if line.endswith(b'\r'): + return b'\r\n' else: - return '\n' + return b'\n' def execute(self, data): delimiter = self.detect_linebreak(data) lines = data.split(delimiter) for index, line in enumerate(lines): - if line.lower().startswith('www-authenticate: digest'): - lines[index] = 'WWW-Authenticate: Basic realm="%s"%s' % (self.realm, delimiter) - + if line.lower().startswith(b'www-authenticate: digest'): + lines[index] = b'WWW-Authenticate: Basic realm="%s"' % self.realm return delimiter.join(lines) def help(self): @@ -38,4 +35,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/hexdump.py b/proxymodules/hexdump.py index 500dfc1..e9bc3a5 100644 --- a/proxymodules/hexdump.py +++ b/proxymodules/hexdump.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path @@ -20,18 +20,15 @@ def execute(self, data): # this is a pretty hex dumping function directly taken from # http://code.activestate.com/recipes/142812-hex-dumper/ result = [] - digits = 4 if isinstance(data, unicode) else 2 - - for i in xrange(0, len(data), self.len): + digits = 2 + for i in range(0, len(data), self.len): s = data[i:i + self.len] - hexa = b' '.join(["%0*X" % (digits, ord(x)) for x in s]) - text = b''.join([x if 0x20 <= ord(x) < 0x7F else b'.' for x in s]) - result.append(b"%04X %-*s %s" % (i, self.len * (digits + 1), - hexa, text)) - - print b'\n'.join(result) + hexa = ' '.join(['%0*X' % (digits, x) for x in s]) + text = ''.join([chr(x) if 0x20 <= x < 0x7F else '.' for x in s]) + result.append("%04X %-*s %s" % (i, self.len * (digits + 1), hexa, text)) + print("\n".join(result)) return data if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print ('This module is not supposed to be executed alone!') diff --git a/proxymodules/http_ok.py b/proxymodules/http_ok.py index 603a043..02444d8 100644 --- a/proxymodules/http_ok.py +++ b/proxymodules/http_ok.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path @@ -10,21 +10,21 @@ def __init__(self, incoming=False, verbose=False, options=None): self.server = None if options is not None: if 'server' in options.keys(): - self.server = options['server'] + self.server = bytes(options['server'], 'ascii') # source will be set by the proxy thread later on self.source = None def execute(self, data): if self.server is None: - self.server = self.source[0] + self.server = bytes(self.source[0], 'ascii') - http = "HTTP/1.1 200 OK\r\n" - http += "Server: %s\r\n" % self.server - http += "Connection: keep-alive\r\n" - http += "Content-Length: %d\r\n" % len(data) + http = b"HTTP/1.1 200 OK\r\n" + http += b"Server: %s\r\n" % self.server + http += b"Connection: keep-alive\r\n" + http += b"Content-Length: %d\r\n" % len(data) - return http + "\r\n" + data + return http + b"\r\n" + data def help(self): h = '\tserver: remote source, used in response Server header\n' @@ -32,4 +32,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/http_post.py b/proxymodules/http_post.py index d08013f..f532d32 100644 --- a/proxymodules/http_post.py +++ b/proxymodules/http_post.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path @@ -12,24 +12,24 @@ def __init__(self, incoming=False, verbose=False, options=None): self.targetport = None if options is not None: if 'host' in options.keys(): - self.targethost = options['host'] + self.targethost = bytes(options['host'], 'ascii') if 'port' in options.keys(): - self.targetport = options['port'] + self.targetport = bytes(options['port'], 'ascii') # destination will be set by the proxy thread later on self.destination = None def execute(self, data): if self.targethost is None: - self.targethost = self.destination[0] + self.targethost = bytes(self.destination[0], 'ascii') if self.targetport is None: - self.targetport = str(self.destination[1]) - http = "POST /to/%s/%s HTTP/1.1\r\n" % (self.targethost, self.targetport) - http += "Host: %s\r\n" % self.targethost + self.targetport = bytes(str(self.destination[1]), 'ascii') + http = b"POST /to/%s/%s HTTP/1.1\r\n" % (self.targethost, self.targetport) + http += b"Host: %s\r\n" % self.targethost - http += "Connection: keep-alive\r\n" - http += "Content-Length: %d\r\n" % len(data) - return http + "\r\n" + data + http += b"Connection: keep-alive\r\n" + http += b"Content-Length: %d\r\n" % len(data) + return http + b"\r\n" + str(data) def help(self): h = '\thost: remote target, used in request URL and Host header\n' @@ -38,4 +38,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/http_strip.py b/proxymodules/http_strip.py index ac01d18..e96a63f 100644 --- a/proxymodules/http_strip.py +++ b/proxymodules/http_strip.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path @@ -10,11 +10,11 @@ def __init__(self, incoming=False, verbose=False, options=None): self.incoming = incoming # incoming means module is on -im chain def detect_linebreak(self, data): - line = data.split('\n', 1)[0] - if line.endswith('\r'): - return '\r\n' * 2 + line = data.split(b'\n', 1)[0] + if line.endswith(b'\r'): + return b'\r\n' * 2 else: - return '\n' * 2 + return b'\n' * 2 def execute(self, data): delimiter = self.detect_linebreak(data) @@ -24,4 +24,4 @@ def execute(self, data): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/javaxml.py b/proxymodules/javaxml.py index 2635632..049da8d 100644 --- a/proxymodules/javaxml.py +++ b/proxymodules/javaxml.py @@ -1,5 +1,8 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- + +# THIS MODULE DOES NOT WORK AND WILL BE REPLACED, DO NOT USE + import os.path as path import platform if 'java' in platform.system().lower(): @@ -30,7 +33,7 @@ def help(self): def deserial(self, data): if not self.is_jython: - print '[!] This module can only be used in jython!' + print ('[!] This module can only be used in jython!') return data try: @@ -44,12 +47,12 @@ def deserial(self, data): xml = xs.toXML(obj) return xml except Exception as e: - print '[!] Caught Exception. Could not convert.\n' + print ('[!] Caught Exception. Could not convert.\n') return data def serial(self, data): if not self.is_jython: - print '[!] This module can only be used in jython!' + print ('[!] This module can only be used in jython!') return data try: # Creating XStream object and creating Java object from XML structure @@ -64,13 +67,13 @@ def serial(self, data): # I had a problem with signed vs. unsigned bytes, hence the & 0xff return "".join([chr(x & 0xff) for x in bos.toByteArray().tolist()]) except Exception as e: - print '[!] Caught Exception. Could not convert.\n' + print ('[!] Caught Exception. Could not convert.\n') return data def error(self, data): - print '[!] Unknown mode. Please specify mode=[serial|deserial].' + print ('[!] Unknown mode. Please specify mode=[serial|deserial].') return data if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print ('This module is not supposed to be executed alone!') diff --git a/proxymodules/log.py b/proxymodules/log.py index 058db60..1af9ee4 100644 --- a/proxymodules/log.py +++ b/proxymodules/log.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path import time @@ -24,11 +24,11 @@ def __del__(self): def execute(self, data): if self.handle is None: - self.handle = open(self.file, 'w', 0) # unbuffered - print 'Logging to file', self.file - logentry = time.strftime('%Y%m%d-%H%M%S') + ' ' + str(time.time()) + '\n' + self.handle = open(self.file, 'wb', 0) # unbuffered + print('Logging to file', self.file) + logentry = bytes(time.strftime('%Y%m%d-%H%M%S') + ' ' + str(time.time()) + '\n', 'ascii') logentry += data - logentry += '-' * 20 + '\n' + logentry += b'-' * 20 + b'\n' self.handle.write(logentry) return data @@ -38,4 +38,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/removegzip.py b/proxymodules/removegzip.py index c4923e5..ccd6835 100644 --- a/proxymodules/removegzip.py +++ b/proxymodules/removegzip.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path @@ -15,20 +15,20 @@ def __init__(self, incoming=False, verbose=False, options=None): def execute(self, data): try: # split at \r\n\r\n to split the request into header and body - header, body = data.split('\r\n\r\n', 1) + header, body = data.split(b'\r\n\r\n', 1) except ValueError: # no \r\n\r\n, so probably not HTTP, we can go now return data # now split the header string into its lines - headers = header.split('\r\n') + headers = header.split(b'\r\n') for h in headers: - if h.lower().startswith('accept-encoding:') and 'gzip' in h: - headers[headers.index(h)] = h.replace('gzip', 'booo') + if h.lower().startswith(b'accept-encoding:') and b'gzip' in h: + headers[headers.index(h)] = h.replace(b'gzip', b'booo') break - return '\r\n'.join(headers) + '\r\n\r\n' + body + return b'\r\n'.join(headers) + b'\r\n\r\n' + body if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/replace.py b/proxymodules/replace.py index aad9c75..258f8d2 100644 --- a/proxymodules/replace.py +++ b/proxymodules/replace.py @@ -1,5 +1,4 @@ -#!/usr/bin/env python2 - +#!/usr/bin/env python3 import os import re @@ -17,15 +16,15 @@ def __init__(self, incoming=False, verbose=False, options=None): if options is not None: if 'search' in options.keys(): - self.search = options['search'] + self.search = bytes(options['search'], 'ascii') if 'replace' in options.keys(): - self.replace = options['replace'] + self.replace = bytes(options['replace'], 'ascii') if 'file' in options.keys(): self.filename = options['file'] try: open(self.filename) except IOError as ioe: - print "Error opening %s: %s" % (self.filename, ioe.strerror) + print("Error opening %s: %s" % (self.filename, ioe.strerror)) self.filename = None if 'separator' in options.keys(): self.separator = options['separator'] @@ -39,9 +38,9 @@ def execute(self, data): for line in open(self.filename).readlines(): try: search, replace = line.split(self.separator, 1) - pairs.append((search.strip(), replace.strip())) + pairs.append((bytes(search.strip(), 'ascii'), bytes(replace.strip(), 'ascii'))) except ValueError: - # line does not contain : and will be ignored + # line does not contain separator and will be ignored pass for search, replace in pairs: @@ -60,4 +59,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/size.py b/proxymodules/size.py index dca436a..bf6aabe 100644 --- a/proxymodules/size.py +++ b/proxymodules/size.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path from distutils.util import strtobool @@ -22,7 +22,7 @@ def execute(self, data): if self.verbose: msg += " from %s:%d" % self.source msg += " for %s:%d" % self.destination - print msg + print(msg) return data def help(self): @@ -31,4 +31,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/size404.py b/proxymodules/size404.py index 3394cc1..cf63a36 100644 --- a/proxymodules/size404.py +++ b/proxymodules/size404.py @@ -1,6 +1,7 @@ #!/usr/bin/env python2 import os.path as path import time +from distutils.util import strtobool class Module: @@ -23,16 +24,16 @@ def __init__(self, incoming=False, verbose=False, options=None): except ValueError: pass # use the default if you can't parse the parameter if 'verbose' in options.keys(): - self.verbose = True + self.verbose = bool(strtobool(options['verbose'])) if 'custom' in options.keys(): try: - with open(options['custom'], 'r') as handle: + with open(options['custom'], 'rb') as handle: self.custom = handle.read() - except Exception as e: - print 'Can\'t open custom error file, not using it.' + except Exception: + print('Can\'t open custom error file, not using it.') self.custom = False if 'rewriteall' in options.keys(): - self.rewriteall = True + self.rewriteall = bool(strtobool(options['rewriteall'])) if 'reset' in options.keys(): try: self.resetinterval = float(options['reset']) @@ -40,29 +41,29 @@ def __init__(self, incoming=False, verbose=False, options=None): pass # use the default if you can't parse the parameter def execute(self, data): - contentlength = 'content-length: ' + str(self.size) - if data.startswith('HTTP/1.1 200 OK') and contentlength in data.lower(): + contentlength = b'content-length: ' + bytes(str(self.size), 'ascii') + if data.startswith(b'HTTP/1.1 200 OK') and contentlength in data.lower(): if self.resetinterval is not None: t = time.time() if t - self.timer >= self.resetinterval: if self.verbose: - print 'Timer elapsed' + print('Timer elapsed') self.firstfound = False self.timer = t if self.rewriteall is False and self.firstfound is False: # we have seen this response size for the first time and are not blocking the first one self.firstfound = True if self.verbose: - print 'Letting this response through' + print('Letting this response through') return data if self.custom is not False: data = self.custom if self.verbose: - print 'Replaced response with custom response' + print('Replaced response with custom response') else: - data = data.replace('200 OK', '404 Not Found', 1) + data = data.replace(b'200 OK', b'404 Not Found', 1) if self.verbose: - print 'Edited return code' + print('Edited return code') return data def help(self): @@ -75,4 +76,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index c31adef..d36fb40 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os.path as path @@ -11,18 +11,18 @@ def __init__(self, incoming=False, verbose=False, options=None): self.find = None # if find is not None, this text will be highlighted if options is not None: if 'find' in options.keys(): - self.find = options['find'] # text to highlight + self.find = bytes(options['find'], 'ascii') # text to highlight if 'color' in options.keys(): - self.color = '\033[' + options['color'] + 'm' # highlight color + self.color = bytes('\033[' + options['color'] + 'm', 'ascii') # highlight color else: - self.color = '\033[31;1m' + self.color = b'\033[31;1m' def execute(self, data): if self.find is None: - print data + print(data) else: - pdata = data.replace(self.find, self.color + self.find + '\033[0m') - print pdata + pdata = data.replace(self.find, self.color + self.find + b'\033[0m') + print(pdata.decode('ascii')) return data def help(self): @@ -33,4 +33,4 @@ def help(self): if __name__ == '__main__': - print 'This module is not supposed to be executed alone!' + print('This module is not supposed to be executed alone!') diff --git a/tcpproxy.py b/tcpproxy.py index 25f7d60..3e0ecdd 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import argparse import pkgutil import os @@ -45,13 +45,13 @@ def parse_args(): parser.add_argument('-pi', '--proxy-ip', dest='proxy_ip', default=None, help='IP address/host name of proxy') - + parser.add_argument('-pp', '--proxy-port', dest='proxy_port', type=int, default=1080, help='proxy port', ) - + parser.add_argument('-pt', '--proxy-type', dest='proxy_type', default='SOCKS5', choices=['SOCKS4', 'SOCKS5', 'HTTP'], help='proxy type. Options are SOCKS5 (default), SOCKS4, HTTP') - + parser.add_argument('-om', '--outmodules', dest='out_modules', help='comma-separated list of modules to modify data' + ' before sending to remote target.') @@ -78,7 +78,6 @@ def parse_args(): parser.add_argument('-lo', '--list-options', dest='help_modules', default=None, help='Print help of selected module') - parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', default=False, help='detect SSL/TLS as well as STARTTLS, certificate is mitm.pem') @@ -100,7 +99,7 @@ def generate_module_list(modstring, incoming=False, verbose=False): __import__('proxymodules.' + name) modlist.append(sys.modules['proxymodules.' + name].Module(incoming, verbose, options)) except ImportError: - print 'Module %s not found' % name + print('Module %s not found' % name) sys.exit(3) return modlist @@ -120,7 +119,7 @@ def parse_module_options(n): k, v = op.split('=') options[k] = v except ValueError: - print op, ' is not valid!' + print(op, ' is not valid!') sys.exit(23) return name, options @@ -132,7 +131,7 @@ def list_modules(): for _, module, _ in pkgutil.iter_modules([module_path]): __import__('proxymodules.' + module) m = sys.modules['proxymodules.' + module].Module() - print '%s - %s' % (m.name, m.description) + print('%s - %s' % (m.name, m.description)) def print_module_help(modlist): @@ -140,10 +139,10 @@ def print_module_help(modlist): modules = generate_module_list(modlist) for m in modules: try: - print m.name - print m.help() + print(m.name) + print(m.help()) except AttributeError: - print '\tNo options or missing help() function.' + print('\tNo options or missing help() function.') def update_module_hosts(modules, source, destination): @@ -160,7 +159,7 @@ def update_module_hosts(modules, source, destination): def receive_from(s): # receive data from a socket until no more data is there - b = "" + b = b"" while True: data = s.recv(4096) b += data @@ -203,13 +202,13 @@ def enable_ssl(remote_socket, local_socket): ssl_version=ssl.PROTOCOL_TLSv1_2, ) except ssl.SSLError as e: - print "SSL handshake failed for listening socket", str(e) + print("SSL handshake failed for listening socket", str(e)) raise try: remote_socket = ssl.wrap_socket(remote_socket) except ssl.SSLError as e: - print "SSL handshake failed for remote socket", str(e) + print("SSL handshake failed for remote socket", str(e)) raise return [remote_socket, local_socket] @@ -222,6 +221,7 @@ def starttls(args, local_socket, read_sockets): is_client_hello(local_socket) ) + def start_proxy_thread(local_socket, args, in_modules, out_modules): # This method is executed in a thread. It will relay data between the local # host and the remote host, while letting modules work on the data before @@ -229,7 +229,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): remote_socket = socks.socksocket() if args.proxy_ip: - proxy_types = {'SOCKS5' : socks.SOCKS5, 'SOCKS4' : socks.SOCKS4, 'HTTP' : socks.HTTP} + proxy_types = {'SOCKS5': socks.SOCKS5, 'SOCKS4': socks.SOCKS4, 'HTTP': socks.HTTP} remote_socket.set_proxy(proxy_types[args.proxy_type], args.proxy_ip, args.proxy_port) try: @@ -238,7 +238,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): log(args.logfile, 'Connected to %s:%d' % remote_socket.getpeername()) except socket.error as serr: if serr.errno == errno.ECONNREFUSED: - print '%s:%d - Connection refused' % (args.target_ip, args.target_port) + print('%s:%d - Connection refused' % (args.target_ip, args.target_port)) log(args.logfile, '%s:%d - Connection refused' % (args.target_ip, args.target_port)) return None else: @@ -260,7 +260,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): vprint("SSL enabled", args.verbose) log(args.logfile, "SSL enabled") except ssl.SSLError as e: - print "SSL handshake failed", str(e) + print("SSL handshake failed", str(e)) log(args.logfile, "SSL handshake failed", str(e)) break @@ -273,13 +273,13 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): if sock == local_socket: if len(data): - log(args.logfile, '< < < out\n' + data) + log(args.logfile, b'< < < out\n' + data) if out_modules is not None: data = handle_data(data, out_modules, args.no_chain_modules, False, # incoming data? args.verbose) - remote_socket.send(data) + remote_socket.send(data.encode() if isinstance(data, str) else data) else: vprint("Connection from local client %s:%d closed" % peer, args.verbose) log(args.logfile, "Connection from local client %s:%d closed" % peer) @@ -288,7 +288,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): break elif sock == remote_socket: if len(data): - log(args.logfile, '> > > in\n' + data) + log(args.logfile, b'> > > in\n' + data) if in_modules is not None: data = handle_data(data, in_modules, args.no_chain_modules, @@ -307,41 +307,42 @@ def log(handle, message, message_only=False): # if message_only is True, only the message will be logged # otherwise the message will be prefixed with a timestamp and a line is # written after the message to make the log file easier to read + if not isinstance(message, bytes): + message = bytes(message, 'ascii') if handle is None: return if not message_only: - logentry = "%s %s\n" % (time.strftime('%Y%m%d-%H%M%S'), - str(time.time())) + logentry = bytes("%s %s\n" % (time.strftime('%Y%m%d-%H%M%S'), str(time.time())), 'ascii') else: - logentry = '' + logentry = b'' logentry += message if not message_only: - logentry += '\n' + '-' * 20 + '\n' + logentry += b'\n' + b'-' * 20 + b'\n' handle.write(logentry) def vprint(msg, is_verbose): # this will print msg, but only if is_verbose is True if is_verbose: - print msg + print(msg) def main(): args = parse_args() if args.list is False and args.help_modules is None: if not args.target_ip: - print 'Target IP is required: -ti' + print('Target IP is required: -ti') sys.exit(6) if not args.target_port: - print 'Target port is required: -tp' + print('Target port is required: -tp') sys.exit(7) if args.logfile is not None: try: - args.logfile = open(args.logfile, 'a', 0) # unbuffered + args.logfile = open(args.logfile, 'ab', 0) # unbuffered except Exception as ex: - print 'Error opening logfile' - print ex + print('Error opening logfile') + print(ex) sys.exit(4) if args.list: @@ -358,7 +359,7 @@ def main(): except socket.gaierror: ip = False if ip is False: - print '%s is not a valid IP address or host name' % args.listen_ip + print('%s is not a valid IP address or host name' % args.listen_ip) sys.exit(1) else: args.listen_ip = ip @@ -369,7 +370,7 @@ def main(): except socket.gaierror: ip = False if ip is False: - print '%s is not a valid IP address or host name' % args.target_ip + print('%s is not a valid IP address or host name' % args.target_ip) sys.exit(2) else: args.target_ip = ip @@ -391,7 +392,7 @@ def main(): try: proxy_socket.bind((args.listen_ip, args.listen_port)) except socket.error as e: - print e.strerror + print(e.strerror) sys.exit(5) proxy_socket.listen(10) @@ -409,7 +410,7 @@ def main(): proxy_thread.start() except KeyboardInterrupt: log(args.logfile, 'Ctrl+C detected, exiting...') - print '\nCtrl+C detected, exiting...' + print('\nCtrl+C detected, exiting...') sys.exit(0) From 089afc0d0cf5d77e18a4a08a8b73bd205e7ec7fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Mon, 30 Mar 2020 16:14:50 +0200 Subject: [PATCH 68/89] bugfixes with SSL and bytes decoding --- proxymodules/textdump.py | 5 +++-- tcpproxy.py | 12 ++++++------ 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index d36fb40..9d35f08 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -1,5 +1,6 @@ #!/usr/bin/env python3 import os.path as path +from codecs import decode class Module: @@ -19,10 +20,10 @@ def __init__(self, incoming=False, verbose=False, options=None): def execute(self, data): if self.find is None: - print(data) + print(repr(decode(data, 'raw_unicode_escape'))) else: pdata = data.replace(self.find, self.color + self.find + b'\033[0m') - print(pdata.decode('ascii')) + print(repr(decode(pdata, 'raw_unicode_escape'))) return data def help(self): diff --git a/tcpproxy.py b/tcpproxy.py index 3e0ecdd..59e1566 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -184,12 +184,12 @@ def handle_data(data, modules, dont_chain, incoming, verbose): def is_client_hello(sock): firstbytes = sock.recv(128, socket.MSG_PEEK) return (len(firstbytes) >= 3 and - firstbytes[0] == "\x16" and - firstbytes[1:3] in ["\x03\x00", - "\x03\x01", - "\x03\x02", - "\x03\x03", - "\x02\x00"] + firstbytes[0] == 0x16 and + firstbytes[1:3] in [b"\x03\x00", + b"\x03\x01", + b"\x03\x02", + b"\x03\x03", + b"\x02\x00"] ) From c3ecf37f570d7c896720130ea652b56bea046c0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 27 May 2020 14:47:37 +0200 Subject: [PATCH 69/89] new module mqtt --- proxymodules/mqtt.py | 74 ++++++++++++++++++++++++++++++++++++++++++++ tcpproxy.py | 4 +-- 2 files changed, 76 insertions(+), 2 deletions(-) create mode 100644 proxymodules/mqtt.py diff --git a/proxymodules/mqtt.py b/proxymodules/mqtt.py new file mode 100644 index 0000000..4ceb725 --- /dev/null +++ b/proxymodules/mqtt.py @@ -0,0 +1,74 @@ +#!/usr/bin/env python3 +import os.path as path +import paho.mqtt.client as mqtt +from distutils.util import strtobool + + +class Module: + def __init__(self, incoming=False, verbose=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = path.splitext(path.basename(__file__))[0] + self.description = 'Publish the data to an MQTT server' + self.incoming = incoming # incoming means module is on -im chain + self.client_id = '' + self.username = None + self.password = None + self.server = None + self.port = 1883 + self.topic = '' + self.hex = False + if options is not None: + if 'clientid' in options.keys(): + self.client_id = options['clientid'] + if 'server' in options.keys(): + self.server = options['server'] + if 'username' in options.keys(): + self.username = options['username'] + if 'password' in options.keys(): + self.password = options['password'] + if 'port' in options.keys(): + try: + self.port = int(options['port']) + if self.port not in range(1, 65536): + raise ValueError + except ValueError: + print(f'port: invalid port {options["port"]}, using default {self.port}') + if 'topic' in options.keys(): + self.topic = options['topic'] + if 'hex' in options.keys(): + try: + self.hex = bool(strtobool(options['hex'])) + except ValueError: + print(f'hex: {options["hex"]} is not a bool value, falling back to default value {self.hex}.') + + if self.server is not None: + self.mqtt = mqtt.Client(self.client_id) + if self.username is not None or self.password is not None: + self.mqtt.username_pw_set(self.username, self.password) + self.mqtt.connect(self.server, self.port) + else: + self.mqtt = None + + def execute(self, data): + if self.mqtt is not None: + if not self.mqtt.is_connected(): + self.mqtt.reconnect() + if self.hex is True: + self.mqtt.publish(self.topic, data.hex()) + else: + self.mqtt.publish(self.topic, data) + return data + + def help(self): + h = '\tserver: server to connect to, required\n' + h += ('\tclientid: what to use as client_id, default is empty\n' + '\tusername: username\n' + '\tpassword: password\n' + '\tport: port to connect to, default 1883\n' + '\ttopic: topic to publish to, default is empty\n' + '\thex: encode data as hex before sending it. AAAA becomes 41414141.') + return h + + +if __name__ == '__main__': + print('This module is not supposed to be executed alone!') diff --git a/tcpproxy.py b/tcpproxy.py index 59e1566..6955255 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -131,7 +131,7 @@ def list_modules(): for _, module, _ in pkgutil.iter_modules([module_path]): __import__('proxymodules.' + module) m = sys.modules['proxymodules.' + module].Module() - print('%s - %s' % (m.name, m.description)) + print(f'{m.name} - {m.description}') def print_module_help(modlist): @@ -139,7 +139,7 @@ def print_module_help(modlist): modules = generate_module_list(modlist) for m in modules: try: - print(m.name) + print(f'{m.name} - {m.description}') print(m.help()) except AttributeError: print('\tNo options or missing help() function.') From a094445387e7c198f14420657862bbd0bbdf8226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Sun, 31 May 2020 16:09:50 +0200 Subject: [PATCH 70/89] trying to narrow down #15 --- tcpproxy.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 6955255..7a4df46 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -267,7 +267,21 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): read_sockets, _, _ = select.select(ssl_sockets, [], []) for sock in read_sockets: - peer = sock.getpeername() + try: + peer = sock.getpeername() + except socket.error as serr: + if serr.errno == errno.ENOTCONN: + # kind of a blind shot at fixing issue #15 + # I don't yet understand how this error can happen, but if it happens I'll just shut down the thread + # the connection is not in a useful state anymore + for s in [remote_socket, local_socket]: + s.close() + running = False + break + else: + print(f"{time.strftime('%Y%m%d-%H%M%S')}: Socket exception in start_proxy_thread") + raise serr + data = receive_from(sock) log(args.logfile, 'Received %d bytes' % len(data)) @@ -395,7 +409,7 @@ def main(): print(e.strerror) sys.exit(5) - proxy_socket.listen(10) + proxy_socket.listen(100) log(args.logfile, str(args)) # endless loop until ctrl+c try: From ecde2ac25fea03b91f2d21206064e8ac0e84dad6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Thu, 4 Jun 2020 07:18:16 +0200 Subject: [PATCH 71/89] issue #15 --- tcpproxy.py | 32 ++++++++++++++++++++++++++++---- 1 file changed, 28 insertions(+), 4 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 7a4df46..004fd8c 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -238,14 +238,38 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): log(args.logfile, 'Connected to %s:%d' % remote_socket.getpeername()) except socket.error as serr: if serr.errno == errno.ECONNREFUSED: - print('%s:%d - Connection refused' % (args.target_ip, args.target_port)) - log(args.logfile, '%s:%d - Connection refused' % (args.target_ip, args.target_port)) + for s in [remote_socket, local_socket]: + s.close() + print(f'{time.strftime("%Y%m%d-%H%M%S")}, {args.target_ip}:{args.target_port}- Connection refused') + log(args.logfile, f'{time.strftime("%Y%m%d-%H%M%S")}, {args.target_ip}:{args.target_port}- Connection refused') + return None + elif serr.errno == errno.ETIMEDOUT: + for s in [remote_socket, local_socket]: + s.close() + print(f'{time.strftime("%Y%m%d-%H%M%S")}, {args.target_ip}:{args.target_port}- Connection timed out') + log(args.logfile, f'{time.strftime("%Y%m%d-%H%M%S")}, {args.target_ip}:{args.target_port}- Connection timed out') return None else: + for s in [remote_socket, local_socket]: + s.close() raise serr - update_module_hosts(out_modules, local_socket.getpeername(), remote_socket.getpeername()) - update_module_hosts(in_modules, remote_socket.getpeername(), local_socket.getpeername()) + try: + update_module_hosts(out_modules, local_socket.getpeername(), remote_socket.getpeername()) + update_module_hosts(in_modules, remote_socket.getpeername(), local_socket.getpeername()) + except socket.error as serr: + if serr.errno == errno.ENOTCONN: + # kind of a blind shot at fixing issue #15 + # I don't yet understand how this error can happen, but if it happens I'll just shut down the thread + # the connection is not in a useful state anymore + for s in [remote_socket, local_socket]: + s.close() + return None + else: + for s in [remote_socket, local_socket]: + s.close() + print(f"{time.strftime('%Y%m%d-%H%M%S')}: Socket exception in start_proxy_thread") + raise serr # This loop ends when no more data is received on either the local or the # remote socket From 59c4677c357d85a615fc16e6ab71a6e9330750c3 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Tue, 16 Jun 2020 11:41:53 +0200 Subject: [PATCH 72/89] Add arguments for client and server cert/key files --- tcpproxy.py | 34 ++++++++++++++++++++++++++++------ 1 file changed, 28 insertions(+), 6 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 004fd8c..e56b159 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -79,7 +79,19 @@ def parse_args(): help='Print help of selected module') parser.add_argument('-s', '--ssl', dest='use_ssl', action='store_true', - default=False, help='detect SSL/TLS as well as STARTTLS, certificate is mitm.pem') + default=False, help='detect SSL/TLS as well as STARTTLS') + + parser.add_argument('-sc', '--server-certificate', default='mitm.pem', + help='server certificate in PEM format (default: %(default)s)') + + parser.add_argument('-sk', '--server-key', default='mitm.pem', + help='server key in PEM format (default: %(default)s)') + + parser.add_argument('-cc', '--client-certificate', default=None, + help='client certificate in PEM format in case client authentication is required by the target') + + parser.add_argument('-ck', '--client-key', default=None, + help='client key in PEM format in case client authentication is required by the target') return parser.parse_args() @@ -193,12 +205,12 @@ def is_client_hello(sock): ) -def enable_ssl(remote_socket, local_socket): +def enable_ssl(args, remote_socket, local_socket): try: local_socket = ssl.wrap_socket(local_socket, server_side=True, - certfile="mitm.pem", - keyfile="mitm.pem", + certfile=args.server_certificate, + keyfile=args.server_key, ssl_version=ssl.PROTOCOL_TLSv1_2, ) except ssl.SSLError as e: @@ -206,7 +218,13 @@ def enable_ssl(remote_socket, local_socket): raise try: - remote_socket = ssl.wrap_socket(remote_socket) + if args.client_certificate and args.client_key: + remote_socket = ssl.wrap_socket(remote_socket, + certfile=args.client_certificate, + keyfile=args.client_key, + ) + else: + remote_socket = ssl.wrap_socket(remote_socket) except ssl.SSLError as e: print("SSL handshake failed for remote socket", str(e)) raise @@ -279,7 +297,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): if starttls(args, local_socket, read_sockets): try: - ssl_sockets = enable_ssl(remote_socket, local_socket) + ssl_sockets = enable_ssl(args, remote_socket, local_socket) remote_socket, local_socket = ssl_sockets vprint("SSL enabled", args.verbose) log(args.logfile, "SSL enabled") @@ -375,6 +393,10 @@ def main(): print('Target port is required: -tp') sys.exit(7) + if ((args.client_key is None) ^ (args.client_certificate is None)): + print("You must either specify both the client certificate and client key or leave both empty") + sys.exit(8) + if args.logfile is not None: try: args.logfile = open(args.logfile, 'ab', 0) # unbuffered From 7b8a4e79c3937769dc419878c0cc5cce69422af0 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Tue, 16 Jun 2020 14:18:28 +0200 Subject: [PATCH 73/89] Use SSLContext objects; reuse the SNI Clients typically fill in the SNI (server name indication) extension to indicate which (virtual host) they want to connect to, since a server with one IP address can host several virtual servers. Since the args.target_ip variable is always normalized to the IP which the given target resolves to, we use the callback function to retrieve the clients SNI and reuse that hostname when establishing the connection to the target. --- tcpproxy.py | 29 +++++++++++++++++++---------- 1 file changed, 19 insertions(+), 10 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index e56b159..209c9be 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -206,25 +206,34 @@ def is_client_hello(sock): def enable_ssl(args, remote_socket, local_socket): + sni = None + + def sni_callback(sock, name, ctx): + nonlocal sni + sni = name + try: - local_socket = ssl.wrap_socket(local_socket, + ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH) + ctx.sni_callback = sni_callback + ctx.load_cert_chain(certfile=args.server_certificate, + keyfile=args.server_key, + ) + local_socket = ctx.wrap_socket(local_socket, server_side=True, - certfile=args.server_certificate, - keyfile=args.server_key, - ssl_version=ssl.PROTOCOL_TLSv1_2, ) except ssl.SSLError as e: print("SSL handshake failed for listening socket", str(e)) raise try: + ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) if args.client_certificate and args.client_key: - remote_socket = ssl.wrap_socket(remote_socket, - certfile=args.client_certificate, - keyfile=args.client_key, - ) - else: - remote_socket = ssl.wrap_socket(remote_socket) + ctx.load_cert_chain(certfile=args.client_certificate, + keyfile=args.client_key, + ) + remote_socket = ctx.wrap_socket(remote_socket, + server_hostname=sni, + ) except ssl.SSLError as e: print("SSL handshake failed for remote socket", str(e)) raise From a2631d7029f0f27b5d9e2ade98d70f7f35035112 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Mon, 13 Jul 2020 17:04:03 +0200 Subject: [PATCH 74/89] textdump: changed default codec, added new codec parameter --- proxymodules/textdump.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/proxymodules/textdump.py b/proxymodules/textdump.py index 9d35f08..a192899 100644 --- a/proxymodules/textdump.py +++ b/proxymodules/textdump.py @@ -1,6 +1,6 @@ #!/usr/bin/env python3 import os.path as path -from codecs import decode +from codecs import decode, lookup class Module: @@ -10,6 +10,7 @@ def __init__(self, incoming=False, verbose=False, options=None): self.description = 'Simply print the received data as text' self.incoming = incoming # incoming means module is on -im chain self.find = None # if find is not None, this text will be highlighted + self.codec = 'latin_1' if options is not None: if 'find' in options.keys(): self.find = bytes(options['find'], 'ascii') # text to highlight @@ -17,13 +18,21 @@ def __init__(self, incoming=False, verbose=False, options=None): self.color = bytes('\033[' + options['color'] + 'm', 'ascii') # highlight color else: self.color = b'\033[31;1m' + if 'codec' in options.keys(): + codec = options['codec'] + try: + lookup(codec) + self.codec = codec + except LookupError: + print(f"{self.name}: {options['codec']} is not a valid codec, using {self.codec}") + def execute(self, data): if self.find is None: - print(repr(decode(data, 'raw_unicode_escape'))) + print(decode(data, self.codec)) else: pdata = data.replace(self.find, self.color + self.find + b'\033[0m') - print(repr(decode(pdata, 'raw_unicode_escape'))) + print(decode(pdata, self.codec)) return data def help(self): From b42f129424e7294903d48dc1db2d66fe32d39e8b Mon Sep 17 00:00:00 2001 From: Pernat1y <1ns@pm.me> Date: Tue, 14 Jul 2020 13:26:03 +0300 Subject: [PATCH 75/89] Make proxy type parameters case insensitive Updated to make proxy type parameters ('-pt', '--proxy-type') case insensitive. --- tcpproxy.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcpproxy.py b/tcpproxy.py index 209c9be..3537111 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -50,7 +50,7 @@ def parse_args(): default=1080, help='proxy port', ) parser.add_argument('-pt', '--proxy-type', dest='proxy_type', default='SOCKS5', choices=['SOCKS4', 'SOCKS5', 'HTTP'], - help='proxy type. Options are SOCKS5 (default), SOCKS4, HTTP') + type = str.upper, help='proxy type. Options are SOCKS5 (default), SOCKS4, HTTP') parser.add_argument('-om', '--outmodules', dest='out_modules', help='comma-separated list of modules to modify data' + From 78a2e26c95f38cadab00457ef39bb83555741c03 Mon Sep 17 00:00:00 2001 From: Pernat1y <1ns@pm.me> Date: Tue, 14 Jul 2020 13:33:22 +0300 Subject: [PATCH 76/89] Added requirements.txt Added requirements.txt with script's dependencies --- requirements.txt | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 requirements.txt diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..ab6e7f6 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +paho-mqtt +PySocks From 1a5d17f45b2bc18233d910dadb6590b15148110f Mon Sep 17 00:00:00 2001 From: ickerwx Date: Tue, 14 Jul 2020 12:34:22 +0200 Subject: [PATCH 77/89] Update README.md new contributor Pernat1y --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c1d3394..ecdf252 100644 --- a/README.md +++ b/README.md @@ -233,3 +233,4 @@ I want to thank the following people for spending their valuable time and energy - [Stefan Grönke](https://github.com/gronke) - [Mattia](https://github.com/sowdust) - [bjorns163](https://github.com/bjorns163) +- [Pernat1y](https://github.com/Pernat1y) From c352e1a4664e8b6fa3c75cd88b914d3a15c4f8c2 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Wed, 21 Oct 2020 16:58:04 +0200 Subject: [PATCH 78/89] Disable verification of server cert --- tcpproxy.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tcpproxy.py b/tcpproxy.py index 3537111..c6904f6 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -227,6 +227,8 @@ def sni_callback(sock, name, ctx): try: ctx = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) + ctx.check_hostname = False + ctx.verify_mode = ssl.CERT_NONE if args.client_certificate and args.client_key: ctx.load_cert_chain(certfile=args.client_certificate, keyfile=args.client_key, From a13c6b301a6d0ed0555bb2576af88389d293a0d8 Mon Sep 17 00:00:00 2001 From: Adrian Vollmer Date: Fri, 13 Nov 2020 08:43:20 +0100 Subject: [PATCH 79/89] Update help output in README --- README.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index ecdf252..0b74957 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,8 @@ usage: tcpproxy.py [-h] [-ti TARGET_IP] [-tp TARGET_PORT] [-li LISTEN_IP] [-lp LISTEN_PORT] [-pi PROXY_IP] [-pp PROXY_PORT] [-pt {SOCKS4,SOCKS5,HTTP}] [-om OUT_MODULES] [-im IN_MODULES] [-v] [-n] [-l LOGFILE] [--list] - [-lo HELP_MODULES] [-s] + [-lo HELP_MODULES] [-s] [-sc SERVER_CERTIFICATE] + [-sk SERVER_KEY] [-cc CLIENT_CERTIFICATE] [-ck CLIENT_KEY] Simple TCP proxy for data interception and modification. Select modules to handle the intercepted traffic. @@ -47,8 +48,17 @@ optional arguments: --list list available modules -lo HELP_MODULES, --list-options HELP_MODULES Print help of selected module - -s, --ssl detect SSL/TLS as well as STARTTLS, certificate is - mitm.pem + -s, --ssl detect SSL/TLS as well as STARTTLS + -sc SERVER_CERTIFICATE, --server-certificate SERVER_CERTIFICATE + server certificate in PEM format (default: mitm.pem) + -sk SERVER_KEY, --server-key SERVER_KEY + server key in PEM format (default: mitm.pem) + -cc CLIENT_CERTIFICATE, --client-certificate CLIENT_CERTIFICATE + client certificate in PEM format in case client + authentication is required by the target + -ck CLIENT_KEY, --client-key CLIENT_KEY + client key in PEM format in case client authentication + is required by the target ``` You will have to provide TARGET_IP and TARGET_PORT, the default listening settings are 0.0.0.0:8080. To make the program actually useful, you will have to decide which modules you want to use on outgoing (client to server) and incoming (server to client) traffic. You can use different modules for each direction. Pass the list of modules as comma-separated list, e.g. -im mod1,mod4,mod2. The data will be passed to the first module, the returned data will be passed to the second module and so on, unless you use the -n/--no/chain switch. In that case, every module will receive the original data. From ac442535d899d20689bbc0c918ce0a0dd13cd4cb Mon Sep 17 00:00:00 2001 From: Ivan Galinskiy Date: Fri, 17 Dec 2021 01:08:52 +0100 Subject: [PATCH 80/89] Removed connection testing for MQTT --- proxymodules/mqtt.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/proxymodules/mqtt.py b/proxymodules/mqtt.py index 4ceb725..a0c8071 100644 --- a/proxymodules/mqtt.py +++ b/proxymodules/mqtt.py @@ -34,7 +34,7 @@ def __init__(self, incoming=False, verbose=False, options=None): except ValueError: print(f'port: invalid port {options["port"]}, using default {self.port}') if 'topic' in options.keys(): - self.topic = options['topic'] + self.topic = options['topic'].strip() if 'hex' in options.keys(): try: self.hex = bool(strtobool(options['hex'])) @@ -51,8 +51,7 @@ def __init__(self, incoming=False, verbose=False, options=None): def execute(self, data): if self.mqtt is not None: - if not self.mqtt.is_connected(): - self.mqtt.reconnect() + if self.hex is True: self.mqtt.publish(self.topic, data.hex()) else: From 848c36453e7d1510c79d2b249dd993b5b70388a4 Mon Sep 17 00:00:00 2001 From: Martin Wong Date: Sat, 15 Jul 2023 18:18:32 +0800 Subject: [PATCH 81/89] Add Source Ip and Port binding feature --- tcpproxy.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tcpproxy.py b/tcpproxy.py index c6904f6..5d25b9c 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -43,6 +43,12 @@ def parse_args(): parser.add_argument('-lp', '--listenport', dest='listen_port', type=int, default=8080, help='port to listen on') + parser.add_argument('-si', '--sourceip', dest='source_ip', + default='0.0.0.0', help='IP address the other end will see') + + parser.add_argument('-sp', '--sourceport', dest='source_port', type=int, + default=8080, help='source port the other end will see') + parser.add_argument('-pi', '--proxy-ip', dest='proxy_ip', default=None, help='IP address/host name of proxy') @@ -262,6 +268,8 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): remote_socket.set_proxy(proxy_types[args.proxy_type], args.proxy_ip, args.proxy_port) try: + if args.source_ip and args.source_port: + remote_socket.bind((args.source_ip, args.source_port)) remote_socket.connect((args.target_ip, args.target_port)) vprint('Connected to %s:%d' % remote_socket.getpeername(), args.verbose) log(args.logfile, 'Connected to %s:%d' % remote_socket.getpeername()) From 4c2d7185d22d8dc8abff7da2ddeae5c6f5d9b138 Mon Sep 17 00:00:00 2001 From: MKesenheimer Date: Wed, 29 May 2024 21:49:17 +0200 Subject: [PATCH 82/89] Added new module to replace hexadecimal data in TCP packets (#47) * New Module hexreplace: Replace hex data in tcp packets. * added line to README --- README.md | 1 + proxymodules/hexreplace.py | 80 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) create mode 100644 proxymodules/hexreplace.py diff --git a/README.md b/README.md index 0b74957..16b1cbd 100644 --- a/README.md +++ b/README.md @@ -77,6 +77,7 @@ javaxml - Serialization or deserialization of Java objects (needs jython) log - Log data in the module chain. Use in addition to general logging (-l/--log). removegzip - Replace gzip in the list of accepted encodings in a HTTP request with booo. replace - Replace text on the fly by using regular expressions in a file or as module parameters +hexreplace - Replace hex data in tcp packets size - Print the size of the data passed to the module size404 - Change HTTP responses of a certain size to 404. textdump - Simply print the received data as text diff --git a/proxymodules/hexreplace.py b/proxymodules/hexreplace.py new file mode 100644 index 0000000..895efd3 --- /dev/null +++ b/proxymodules/hexreplace.py @@ -0,0 +1,80 @@ +#!/usr/bin/env python3 +import os +import re + + +class Module: + def __init__(self, incoming=False, verbose=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = os.path.splitext(os.path.basename(__file__))[0] + self.description = 'Replace hex data on the fly defining search and replace-pairs in a file or as module parameters' + self.verbose = verbose + self.search = None + self.replace = None + self.filename = None + self.separator = ':' + self.len = 16 + + if options is not None: + if 'search' in options.keys(): + search = bytes.fromhex(options['search']) + if 'replace' in options.keys(): + replace = bytes.fromhex(options['replace']) + if 'file' in options.keys(): + self.filename = options['file'] + try: + open(self.filename) + except IOError as ioe: + print("Error opening %s: %s" % (self.filename, ioe.strerror)) + self.filename = None + if 'separator' in options.keys(): + self.separator = options['separator'] + + self.pairs = [] # list of (search, replace) tuples + if search is not None and replace is not None: + self.pairs.append((search, replace)) + + if self.filename is not None: + for line in open(self.filename).readlines(): + try: + search, replace = line.split(self.separator, 1) + self.pairs.append((bytes.fromhex(search.strip()), bytes.fromhex(replace.strip()))) + except ValueError: + # line does not contain separator and will be ignored + pass + + def hexdump(self, data): + result = [] + digits = 2 + for i in range(0, len(data), self.len): + s = data[i:i + self.len] + hexa = ' '.join(['%0*X' % (digits, x) for x in s]) + text = ''.join([chr(x) if 0x20 <= x < 0x7F else '.' for x in s]) + result.append("%04X %-*s %s" % (i, self.len * (digits + 1), hexa, text)) + print("\n".join(result)) + + def execute(self, data): + #self.hexdump(data) + print(f"Incoming packet with size {len(data)}:") + for search, replace in self.pairs: + #print(f"{search} -> {replace}") + if search in data: + print("########## data found ###########") + print("[Before:]") + self.hexdump(data) + data = data.replace(search, replace) + print("[After:]") + self.hexdump(data) + return data + + def help(self): + h = '\tsearch: hex string (i.e. "deadbeef") to search for\n' + h += ('\treplace: hex string the search string should be replaced with\n') + h += ('\tfile: file containing search:replace pairs, one per line\n') + h += ('\tseparator: define a custom search:replace separator in the file, e.g. search#replace\n') + h += ('\n\tUse at least file or search and replace (or both).\n') + return h + + +if __name__ == '__main__': + print('This module is not supposed to be executed alone!') From df3383cca45628b04573e420261ebd9fcd4002db Mon Sep 17 00:00:00 2001 From: hrzlgnm Date: Wed, 29 May 2024 21:10:04 +0100 Subject: [PATCH 83/89] Fix defaults for --sourceip and --sourceport (#45) Use falsy values by default, otherwise the proxy thread will always attempt to bind to 0.0.0.0:8080 which in many cases might be already in use. --- tcpproxy.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tcpproxy.py b/tcpproxy.py index 5d25b9c..6f0273c 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -44,10 +44,10 @@ def parse_args(): default=8080, help='port to listen on') parser.add_argument('-si', '--sourceip', dest='source_ip', - default='0.0.0.0', help='IP address the other end will see') + default='', help='IP address the other end will see') parser.add_argument('-sp', '--sourceport', dest='source_port', type=int, - default=8080, help='source port the other end will see') + default=0, help='source port the other end will see') parser.add_argument('-pi', '--proxy-ip', dest='proxy_ip', default=None, help='IP address/host name of proxy') @@ -268,7 +268,7 @@ def start_proxy_thread(local_socket, args, in_modules, out_modules): remote_socket.set_proxy(proxy_types[args.proxy_type], args.proxy_ip, args.proxy_port) try: - if args.source_ip and args.source_port: + if args.source_ip or args.source_port: remote_socket.bind((args.source_ip, args.source_port)) remote_socket.connect((args.target_ip, args.target_port)) vprint('Connected to %s:%d' % remote_socket.getpeername(), args.verbose) From 403ef4ecc8d578b11a66996947c44c3d649c06da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 29 May 2024 22:21:40 +0200 Subject: [PATCH 84/89] Slight modifications to the hexreplace module - Changed output verbosity - fixed a bug in __init__ with the search variable - little cleanup --- proxymodules/hexreplace.py | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/proxymodules/hexreplace.py b/proxymodules/hexreplace.py index 895efd3..4488853 100644 --- a/proxymodules/hexreplace.py +++ b/proxymodules/hexreplace.py @@ -1,6 +1,5 @@ #!/usr/bin/env python3 import os -import re class Module: @@ -9,12 +8,11 @@ def __init__(self, incoming=False, verbose=False, options=None): self.name = os.path.splitext(os.path.basename(__file__))[0] self.description = 'Replace hex data on the fly defining search and replace-pairs in a file or as module parameters' self.verbose = verbose - self.search = None - self.replace = None self.filename = None self.separator = ':' self.len = 16 + search = None if options is not None: if 'search' in options.keys(): search = bytes.fromhex(options['search']) @@ -54,17 +52,18 @@ def hexdump(self, data): print("\n".join(result)) def execute(self, data): - #self.hexdump(data) - print(f"Incoming packet with size {len(data)}:") + if self.verbose: + print(f"Incoming packet with size {len(data)}:") for search, replace in self.pairs: - #print(f"{search} -> {replace}") if search in data: - print("########## data found ###########") - print("[Before:]") - self.hexdump(data) + if self.verbose: + print("########## data found ###########") + print("[Before:]") + self.hexdump(data) data = data.replace(search, replace) - print("[After:]") - self.hexdump(data) + if self.verbose: + print("[After:]") + self.hexdump(data) return data def help(self): From e6707d0c2fae2fc1c8ca9174a8c4cef3c917b596 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 29 May 2024 22:25:45 +0200 Subject: [PATCH 85/89] added missing attribution to contributors list --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 16b1cbd..bcd5629 100644 --- a/README.md +++ b/README.md @@ -245,3 +245,5 @@ I want to thank the following people for spending their valuable time and energy - [Mattia](https://github.com/sowdust) - [bjorns163](https://github.com/bjorns163) - [Pernat1y](https://github.com/Pernat1y) +- [hrzlgnm](https://github.com/hrzlgnm) +- [MKesenheimer](https://github.com/MKesenheimer) From 1be86ec120b42af2d257d8ba6bc66b9c30ad8001 Mon Sep 17 00:00:00 2001 From: bedman3 <36856997+bedman3@users.noreply.github.com> Date: Wed, 29 May 2024 13:36:24 -0700 Subject: [PATCH 86/89] Add delay packet feature + fix source ip default behavior (#43) * Add delay packet feature * Remove default for source ip since it's optional --------- Co-authored-by: ickerwx --- proxymodules/delay.py | 29 +++++++++++++++++++++++++++++ tcpproxy.py | 4 ++-- 2 files changed, 31 insertions(+), 2 deletions(-) create mode 100644 proxymodules/delay.py diff --git a/proxymodules/delay.py b/proxymodules/delay.py new file mode 100644 index 0000000..d097a8a --- /dev/null +++ b/proxymodules/delay.py @@ -0,0 +1,29 @@ +#!/usr/bin/env python3 +import os.path as path +import time + + +class Module: + def __init__(self, incoming=False, verbose=False, options=None): + # extract the file name from __file__. __file__ is proxymodules/name.py + self.name = path.splitext(path.basename(__file__))[0] + self.description = 'Set delay in passing through the packet, used for simulating various network conditions' + self.incoming = incoming # incoming means module is on -im chain + self.seconds = None + if options is not None: + if 'seconds' in options.keys(): + self.seconds = float(options['seconds']) + + def execute(self, data): + if self.seconds: + time.sleep(self.seconds) + + return data + + def help(self): + h = '\tseconds: number of seconds you want the packet to be delayed' + return h + + +if __name__ == '__main__': + print('This module is not supposed to be executed alone!') diff --git a/tcpproxy.py b/tcpproxy.py index 6f0273c..4143a14 100755 --- a/tcpproxy.py +++ b/tcpproxy.py @@ -44,10 +44,10 @@ def parse_args(): default=8080, help='port to listen on') parser.add_argument('-si', '--sourceip', dest='source_ip', - default='', help='IP address the other end will see') + help='IP address the other end will see') parser.add_argument('-sp', '--sourceport', dest='source_port', type=int, - default=0, help='source port the other end will see') + help='source port the other end will see') parser.add_argument('-pi', '--proxy-ip', dest='proxy_ip', default=None, help='IP address/host name of proxy') From 9814eda52e5fab66fec5f28f068ef62cd31a67b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 29 May 2024 23:22:20 +0200 Subject: [PATCH 87/89] added delay randomization to the delay module --- proxymodules/delay.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/proxymodules/delay.py b/proxymodules/delay.py index d097a8a..6bed5fa 100644 --- a/proxymodules/delay.py +++ b/proxymodules/delay.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import os.path as path import time +import random class Module: @@ -9,19 +10,40 @@ def __init__(self, incoming=False, verbose=False, options=None): self.name = path.splitext(path.basename(__file__))[0] self.description = 'Set delay in passing through the packet, used for simulating various network conditions' self.incoming = incoming # incoming means module is on -im chain + self.random = False self.seconds = None + self.verbose = verbose if options is not None: if 'seconds' in options.keys(): - self.seconds = float(options['seconds']) + try: + self.seconds = abs(float(options['seconds'])) + except ValueError: + print(f"Can't parse {options['seconds']} as float") + pass # leave it set to None + if 'random' in options.keys(): + # set random=true to enable delay randomization + self.random = (options['random'].lower() == 'true') + if self.random and self.seconds is None: + # set a upper bound of 1s if seconds is not being used, otherwise keep the seconds value + self.seconds = 1.0 def execute(self, data): - if self.seconds: - time.sleep(self.seconds) - + delay = None + if self.random: + delay = round(random.uniform(0, self.seconds), 3) # round to milliseconds + else: + delay = self.seconds + # here delay is either None or a positive float + # if the module was instantiated w/o either seconds or random, effectively nothing happens + if delay is not None: + if self.verbose: + print(f"Waiting {delay}s.") + time.sleep(delay) return data def help(self): - h = '\tseconds: number of seconds you want the packet to be delayed' + h = '\tseconds: number of seconds you want the packet to be delayed\n' + h += ('\trandom: optional; set to true to randomize the delay between 0 and seconds (default: 1.0s)\n') return h From 9c01fd330bfcaad34731715de98113ab4227d155 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Werner?= Date: Wed, 29 May 2024 23:30:04 +0200 Subject: [PATCH 88/89] Removed ancient Java jar files The feature hasn't worked for a long, long time anyway. --- lib/kxml2-min-2.3.0.jar | Bin 10649 -> 0 bytes lib/xmlpull-1.1.3.1.jar | Bin 7188 -> 0 bytes lib/xpp3-1.1.4.jar | Bin 120041 -> 0 bytes lib/xstream-1.4.4.jar | Bin 482681 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100755 lib/kxml2-min-2.3.0.jar delete mode 100755 lib/xmlpull-1.1.3.1.jar delete mode 100755 lib/xpp3-1.1.4.jar delete mode 100755 lib/xstream-1.4.4.jar diff --git a/lib/kxml2-min-2.3.0.jar b/lib/kxml2-min-2.3.0.jar deleted file mode 100755 index a77dd1d0063db3d18e1a81cb5a895c45531eccc5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10649 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�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 z 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 diff --git a/lib/xstream-1.4.4.jar b/lib/xstream-1.4.4.jar deleted file mode 100755 index 137607f58bf8e228bbbd72d34ce32fc687239a97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 482681 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