diff options
| -rw-r--r-- | package/network/ipv6/thc-ipv6/Makefile | 72 | ||||
| -rw-r--r-- | package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch | 93 | 
2 files changed, 165 insertions, 0 deletions
diff --git a/package/network/ipv6/thc-ipv6/Makefile b/package/network/ipv6/thc-ipv6/Makefile new file mode 100644 index 000000000..c3192ef98 --- /dev/null +++ b/package/network/ipv6/thc-ipv6/Makefile @@ -0,0 +1,72 @@ +# +# Copyright (C) 2009-2011 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=thc-ipv6 +PKG_VERSION:=0.7 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://freeworld.thc.org/releases/ +PKG_MD5SUM:=01715cfa7f5d4a53fe8f142a10c38c78 + +PKG_MAINTAINER:=Jo-Philipp Wich <jow@openwrt.org> + +include $(INCLUDE_DIR)/package.mk + +define Package/thc-ipv6/Default +  SECTION:=ipv6 +  CATEGORY:=IPv6 +  DEPENDS:=+libpcap +  URL:=http://freeworld.thc.org/ +endef + +define Build/Compile +	$(MAKE) -C $(PKG_BUILD_DIR) \ +		CC="$(TARGET_CC)" \ +		OPT="$(TARGET_CFLAGS) -L$(STAGING_DIR)/usr/lib -I$(PKG_BUILD_DIR) -I$(STAGING_DIR)/usr/include" all +endef + + +define BuildTool + +  PKG_CONFIG_DEPENDS+=CONFIG_PACKAGE_$(1) + +  define Package/$(1) +  $$(call Package/thc-ipv6/Default) +    TITLE:=$(2) +    SUBMENU:=IPv6 attack and analyzing toolset (thc-ipv6) +  endef + +  define Package/$(1)/description +    $(3) +  endef + +  define Package/$(1)/install +	$(INSTALL_DIR) $$(1)/usr/sbin +	$(INSTALL_BIN) $(PKG_BUILD_DIR)/$(1) $$(1)/usr/sbin/$(1) +  endef + +  $$(eval $$(call BuildPackage,$(1))) + +endef + + +#$(eval $(call BuildTool,NAME,TITLE,DESCRIPTION)) +$(eval $(call BuildTool,parasite6,ARP spoofer for IPv6,Provides false answers to Neighbor Solitication requests)) +$(eval $(call BuildTool,dos-new-ip6,DAD spoofer,Prevents new IPv6 interfaces to come up by spoofing DAD)) +$(eval $(call BuildTool,detect-new-ip6,Host detector,Detects new IPv6 addresses joining the network)) +$(eval $(call BuildTool,fake_router6,Router spoofer,Send Router Advertisements and try to become the default router)) +$(eval $(call BuildTool,fake_advertise6,RA spoofer,Advertise arbitary IPv6 addresses)) +$(eval $(call BuildTool,fake_mld6,Multicast membership spoofer,Advertise local host in arbitary multicast groups)) +$(eval $(call BuildTool,fake_mipv6,MIPv6 update spoofer,Spoof MIPv6 updates to redirect packets directed at the home-address)) +$(eval $(call BuildTool,redir6,Route injector,Inject IPv6 routes to redirect traffic to other routers)) +$(eval $(call BuildTool,smurf6,Local smurfer,Smurf the target or all-nodes multicast group with ICMPv6 echo replies)) +$(eval $(call BuildTool,alive6,Host presence scanner,Find active IPv6 hosts in the network segment)) +$(eval $(call BuildTool,toobig6,MTU injector,Inject MTU values in a IPv6 host)) +$(eval $(call BuildTool,rsmurf6,Remote smurfer,Smurf the local network of a target host by exploiting Linux implementation errors)) diff --git a/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch b/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch new file mode 100644 index 000000000..96f6ceb70 --- /dev/null +++ b/package/network/ipv6/thc-ipv6/patches/100-optional-openssl.patch @@ -0,0 +1,93 @@ +--- a/Makefile ++++ b/Makefile +@@ -1,8 +1,8 @@ + CC=gcc + #OPT=-Wall -ggdb +-OPT=-O2 +-LIB=-lpcap -lssl -lcrypto +-PROGRAM=parasite6 dos-new-ip6 detect-new-ip6 fake_router6 fake_advertise6 fake_mld6 fake_mipv6 redir6 smurf6 alive6 toobig6 rsmurf6 test_implementation6 sendpees6 ++OPT=-O2 $(if $(USE_SSL),-DUSE_SSL,) ++LIB=-lpcap $(if $(USE_SSL),-lssl -lcrypto,) ++PROGRAM=parasite6 dos-new-ip6 detect-new-ip6 fake_router6 fake_advertise6 fake_mld6 fake_mipv6 redir6 smurf6 alive6 toobig6 rsmurf6 test_implementation6 $(if $(USE_SSL),sendpees6,) +  + all:	thc-ipv6-lib.o $(PROGRAM) +  +--- a/thc-ipv6-lib.c ++++ b/thc-ipv6-lib.c +@@ -37,8 +37,10 @@ + #include <pcap.h> + #include "thc-ipv6.h" + /* libssl */ ++#ifdef USE_SSL + #include <openssl/evp.h> + #include <openssl/sha.h> ++#endif +  +  +  +@@ -1507,7 +1509,7 @@ +  * 2006/07 +  */ +  +- ++#ifdef USE_SSL + thc_key_t *thc_generate_key(int key_len) + { +    thc_key_t *key; +@@ -1598,6 +1600,7 @@ +                                         +     return cga_hdr;                                     + } ++#endif +  + thc_timestamp_hdr *generate_timestamp(void) + { +@@ -1632,6 +1635,7 @@ +     return nonce;     + } +  ++#ifdef USE_SSL + thc_rsa_hdr *thc_generate_rsa(char *data2sign, int data2sign_len, thc_cga_hdr *cga_hdr, thc_key_t *key) + { +    thc_rsa_hdr *rsa_hdr; +@@ -1827,3 +1831,4 @@ +     +    return 0;  + } ++#endif +--- a/thc-ipv6.h ++++ b/thc-ipv6.h +@@ -10,7 +10,9 @@ + #define _THC_IPV6_H +  + #include <pcap.h> ++#ifdef USE_SSL + #include <openssl/rsa.h> ++#endif +  + #define VERSION 	"v0.7" + #define AUTHOR 		"van Hauser / THC <vh@thc.org>" +@@ -228,10 +230,12 @@ +   char *pad; + } thc_rsa_hdr;        +  ++#ifdef USE_SSL + typedef struct { +   RSA *rsa; +   int len; + } thc_key_t; ++#endif +  + typedef struct { +   unsigned char *data; +@@ -239,8 +243,10 @@ +   int len; + } opt_t; +  ++#ifdef USE_SSL + extern thc_key_t *thc_generate_key(int key_len); + extern thc_cga_hdr *thc_generate_cga(unsigned char *prefix, thc_key_t *key, unsigned char **cga); ++#endif +  + #endif +   | 
