From a6c77eb4976ea2a86707dad1c597f1abe13efb29 Mon Sep 17 00:00:00 2001 From: rsundahl Date: Thu, 8 Mar 2018 13:22:23 -0800 Subject: [PATCH] Adding a few missing files to the last commit. --- READHOOK.md | 4 ++-- app/fullhook | Bin 0 -> 23144 bytes src/noophook.c | 13 +++++++++++++ src/nullhook.c | 6 ++++++ 4 files changed, 21 insertions(+), 2 deletions(-) create mode 100755 app/fullhook create mode 100644 src/noophook.c create mode 100644 src/nullhook.c diff --git a/READHOOK.md b/READHOOK.md index 32d78db..9342aa3 100644 --- a/READHOOK.md +++ b/READHOOK.md @@ -24,8 +24,8 @@ apt-get update -y && apt-get install -y curl netcat socat wget ``` ### (2) Get readhook components ``` -wget -q -O /tmp/basehook.so https://github.com/polyverse/readhook/releases/download/jenkins/basehook.so -wget -q -O /tmp/fullhook.so https://github.com/polyverse/readhook/releases/download/jenkins/fullhook.so +wget -q -O /tmp/basehook.so https://github.com/polyverse/readhook/releases/download/v1.2.1/basehook.so +wget -q -O /tmp/fullhook.so https://github.com/polyverse/readhook/releases/download/v1.2.1/fullhook.so ``` ### (2) Start socat with readhook in front of libc socat -T600 TCP4-LISTEN:8080,reuseaddr SYSTEM:"/usr/bin/env LD_PRELOAD='/tmp/fullhook.so:/tmp/basehook.so' /bin/cat" diff --git a/app/fullhook b/app/fullhook new file mode 100755 index 0000000000000000000000000000000000000000..1fd0aaf3e087be85779e93aa75448d0e169eaba7 GIT binary patch literal 23144 zcmeHPeRx#WnLm>c2ntC=!~nJoDheneK%fXjCn1A3HGvosK@^4|Ga(a_nK&O1Si$Is z{>?HmWhJmkc?!F%m6spGByFfpJy}J zIN;fwCio5kz!hmonpQAJ(lY_G@V_iW5K`eKQcgitLxNOZx^&+H!BLPgJ13AH)it@2 zqkwjvQScI~5R!u`#gm=?QuRnLr-Y+`cAim?$@(j(+DB&SzgF^7VL7+Ln1Uorsrs$3 zhw|T_$I(&nv>-DDmEMieqk4YUlrIHqWO?cQQXu`Jpz4PO&AzQmix)I|<~RHNk+%75 z%a+bxT3i?k6fWZJCi^6N{hB&nlJcV+7}a?S{>e1)_Z9#2w@)rT{q%LOzkX)bvZ+fR z3OsT<@u=@rzuoJwBWuqg+D!aYDs#U2o}=o~+kg1xS8o6LZ5xR7sVS44&w9_ZiWC5y zY$b8*E&STYpq~%gSn||eW6{^8p%sxoR#&EzN zBE(t`+AmXJ5h zf?l_W@?>nAH{9yp<_-CFdpQZEg+ldie*=p1c!NO_XbgnHTX*^0Ene2JGw2Hgv<7|t za05!IZ*#jEe13PcG|&>*;RTtRKvhBoTHHQALnRwS)G$x8m|$ELwN)+@;N9j6g}uSr zs#VPazqi)CwVBknwFLZ9-NjsA+~KN`a;uuDSs}*N$5i$-hjz6vm)GMClUufiLc$P8 zeh<68vZ8F2Yf<5%!X-w2VX={=A&o>cT?YTllu%$q&oU@NhOTAAwaGu4?`-UKNKzQs z@gJG)n?O>xqQ5EGFl$m)&EF4x`Ky@rvsfdK2h6KJ-z1t@LlPJI8HT>P-l^-91JaZR z<@Hd}5sD&}*f})l5Z_~|pzFEY`SCOXa0Dh-9C1DRS^L@O!SLQ^dlzvG!s2xqMPGEi@ukm#j<}_Y-ifOL^wP7Gbm}% z=W{wu%E%5cIS(SkvnS#=Z>9q|!W&7bzi$|6b_U@zhm=oDh2Lw~zz zxR3e^@})w4xk>)`P^PAz(2l=*oo4INUK)yU<%>REM9MEiS<}0QPmz9m$u#J($dy{O zdx*M9i|r%T3jOyL`k)qHvXDHgcON0W

mp=U{ZtAZr_k-;BL8 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 literal 0 HcmV?d00001 diff --git a/src/noophook.c b/src/noophook.c new file mode 100644 index 0000000..c6ee249 --- /dev/null +++ b/src/noophook.c @@ -0,0 +1,13 @@ +#define _GNU_SOURCE +#include // For dlsym() +#include // For i/o + +// NOOP read function for testing if LD_PRELOAD can be injected quietly. +typedef +ssize_t Read(int fd, void *buf, size_t count); +ssize_t read(int fd, void *buf, size_t count) { + Read *libc_read = (Read *) dlsym(RTLD_NEXT, "read"); + ssize_t result = libc_read(fd, buf, count); + + return result; +} // read() diff --git a/src/nullhook.c b/src/nullhook.c new file mode 100644 index 0000000..2625f59 --- /dev/null +++ b/src/nullhook.c @@ -0,0 +1,6 @@ +#define _GNU_SOURCE +#include + +ssize_t dummy(int fd, void *buf, size_t count) { + return 0; +} // dummy()