hcxdumptool/hcxtools: Import hcxtools from openwrt/packages/master

master
Marc 2021-04-16 17:32:48 +01:00
parent 0662a863cb
commit 336e8ec065
No known key found for this signature in database
GPG Key ID: 0657563F705ACAAE
5 changed files with 258 additions and 0 deletions

View File

@ -0,0 +1,52 @@
#
# Copyright (C) 2019 Andreas Nilsen <adde88@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=hcxdumptool
PKG_VERSION:=6.1.6
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/zerbea/hcxdumptool/tar.gz/$(PKG_VERSION)?
PKG_HASH:=e3212bd808e228c28ecfeeb4a9709480aa178b2e8b15c0a7d96733b648f8da85
PKG_MAINTAINER:=Andreas Nilsen <adde88@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=license.txt
include $(INCLUDE_DIR)/package.mk
define Package/hcxdumptool
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libpcap +libopenssl
TITLE:=hcxdumptool
URL:=https://github.com/ZerBea/hcxdumptool
SUBMENU:=Wireless
endef
define Package/hcxdumptool/description
Small tool to capture packets from wlan devices. After capturing, upload
the "uncleaned" cap here (https://wpa-sec.stanev.org/?submit)
to see if your ap or the client is vulnerable by using common wordlists.
Convert the cap to hccapx and/or to WPA-PMKID-PBKDF2 hashline (16800) with hcxpcaptool (hcxtools)
and check if wlan-key or plainmasterkey was transmitted unencrypted.
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/ \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)"
endef
define Package/hcxdumptool/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxdumptool $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,hcxdumptool))

View File

@ -0,0 +1,39 @@
--- a/hcxdumptool.c
+++ b/hcxdumptool.c
@@ -480,10 +480,6 @@ if(rebootflag == true)
}
}
-EVP_cleanup();
-CRYPTO_cleanup_all_ex_data();
-ERR_free_strings();
-
if(errorcount != 0) exit(EXIT_FAILURE);
if(totflag == true) exit(USER_EXIT_TOT);
exit(EXIT_SUCCESS);
@@ -7270,8 +7266,6 @@ return true;
/*===========================================================================*/
static inline bool tlsinit()
{
-SSL_load_error_strings();
-OpenSSL_add_ssl_algorithms();
if((tlsctx = SSL_CTX_new(SSLv23_server_method())) == NULL)
{
fprintf(stderr, "OpenSSl can't create SSL context\n");
@@ -7290,7 +7284,6 @@ if(SSL_CTX_use_PrivateKey_file(tlsctx, e
if((eaptlsctx = (eaptlsctx_t*)malloc(EAPTLSCTX_SIZE)) == NULL) return false;
memset(eaptlsctx, 0, EAPTLSCTX_SIZE);
SSL_CTX_set_session_cache_mode(tlsctx, SSL_SESS_CACHE_OFF);
-SSL_CTX_set_ecdh_auto(tlsctx, 1);
SSL_CTX_set_verify(tlsctx, (SSL_VERIFY_PEER|SSL_VERIFY_CLIENT_ONCE), eap_tls_clientverify_cb);
#if (OPENSSL_VERSION_NUMBER >= 0x10100000L)
SSL_CTX_set_min_proto_version(tlsctx, TLS1_VERSION);
@@ -7364,8 +7357,6 @@ if(gpiostatusled > 0)
}
-ERR_load_crypto_strings();
-OpenSSL_add_all_algorithms();
opensslversion = OpenSSL_version_num();
opensslversionmajor = (opensslversion & 0x10000000L) >> 28;
opensslversionminor = (opensslversion & 0x01100000L) >> 20;

View File

@ -0,0 +1,21 @@
From 63012853a81aa623f09304baf1f5b0b69f1ebfbd Mon Sep 17 00:00:00 2001
From: Tristian <2220506+Tristian@users.noreply.github.com>
Date: Tue, 16 Mar 2021 16:17:07 -0400
Subject: [PATCH] fix assignment of read-only variable 'stdout'
- stdout cannot be reassigned on some systems i.e OpenWRT on mipsel
---
hcxdumptool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/hcxdumptool.c
+++ b/hcxdumptool.c
@@ -7958,7 +7958,7 @@ while((auswahl = getopt_long(argc, argv,
else
{
fd_pcapng = fileno(stdout);
- stdout = fopen("/dev/null", "w");
+ freopen("/dev/null", "w", stdout);
}
}
pcapngoutname = optarg;

61
network/hcxtools/Makefile Normal file
View File

@ -0,0 +1,61 @@
#
# Copyright (C) 2019 Andreas Nilsen <adde88@gmail.com>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=hcxtools
PKG_VERSION:=6.1.6
PKG_RELEASE:=$(AUTORELEASE)
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/zerbea/hcxtools/tar.gz/$(PKG_VERSION)?
PKG_HASH:=27b1b1ad722b9d82f8e92c6bec92d081159e5b8225bd2a477bf8d304ff4aeb03
PKG_MAINTAINER:=Andreas Nilsen <adde88@gmail.com>
PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=license.txt
include $(INCLUDE_DIR)/package.mk
define Package/hcxtools
SECTION:=net
CATEGORY:=Network
DEPENDS:=+libpthread +libpcap +zlib +libcurl +libopenssl
TITLE:=hcxtools
URL:=https://github.com/ZerBea/hcxtools
SUBMENU:=Wireless
endef
define Package/hcxtools/description
Set of tools convert packets from captures (h = hash, c = capture, convert and calculate candidates, x = different hashtypes)
for the use with latest hashcat or John the Ripper.
endef
define Build/Compile
$(MAKE) -C $(PKG_BUILD_DIR)/ \
$(TARGET_CONFIGURE_OPTS) \
CFLAGS="$(TARGET_CFLAGS)"
endef
define Package/hcxtools/install
$(INSTALL_DIR) $(1)/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxeiutool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxessidtool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhash2cap $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhashcattool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxhashtool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxmactool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpcapngtool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpmkidtool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpmktool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxpsktool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/hcxwltool $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/whoismac $(1)/sbin/
$(INSTALL_BIN) $(PKG_BUILD_DIR)/wlancap2wpasec $(1)/sbin/
endef
$(eval $(call BuildPackage,hcxtools))

View File

@ -0,0 +1,85 @@
--- a/hcxhashtool.c
+++ b/hcxhashtool.c
@@ -104,9 +104,6 @@ static void closelists()
{
if(hashlist != NULL) free(hashlist);
if(ouilist != NULL) free(ouilist);
-EVP_cleanup();
-CRYPTO_cleanup_all_ex_data();
-ERR_free_strings();
return;
}
/*===========================================================================*/
@@ -125,8 +122,6 @@ eapolwrittencount = 0;
essidwrittencount = 0;
hccapxwrittencount = 0;
hccapwrittencount = 0;
-ERR_load_crypto_strings();
-OpenSSL_add_all_algorithms();
if((hashlist = (hashlist_t*)calloc(hashlistcount, HASHLIST_SIZE)) == NULL) return false;
if((ouilist = (ouilist_t*)calloc(ouilistcount, OUILIST_SIZE)) == NULL) return false;
return true;
--- a/hcxpcapngtool.c
+++ b/hcxpcapngtool.c
@@ -358,9 +358,6 @@ if(eapmschapv2msglist != NULL) free(eapm
if(eapmschapv2hashlist != NULL) free(eapmschapv2hashlist);
if(tacacsplist != NULL) free(tacacsplist);
-EVP_cleanup();
-CRYPTO_cleanup_all_ex_data();
-ERR_free_strings();
return;
}
/*===========================================================================*/
@@ -369,8 +366,6 @@ static bool initlists()
static unsigned long opensslversion;
static const char nastring[] = { "N/A" };
-ERR_load_crypto_strings();
-OpenSSL_add_all_algorithms();
opensslversion = OpenSSL_version_num();
opensslversionmajor = (opensslversion & 0x10000000L) >> 28;
opensslversionminor = (opensslversion & 0x01100000L) >> 20;
--- a/hcxpmktool.c
+++ b/hcxpmktool.c
@@ -920,8 +920,6 @@ while((auswahl = getopt_long(argc, argv,
}
}
-ERR_load_crypto_strings();
-OpenSSL_add_all_algorithms();
printf("\n");
if((essidstring != NULL) && (pskstring != NULL) && (pmkstring == NULL) && (hashlinestring == NULL))
{
@@ -953,9 +951,6 @@ else if((essidstring != NULL) && (pskstr
}
printf("\n");
-EVP_cleanup();
-CRYPTO_cleanup_all_ex_data();
-ERR_free_strings();
return EXIT_SUCCESS;
}
/*===========================================================================*/
--- a/hcxpsktool.c
+++ b/hcxpsktool.c
@@ -61,8 +61,6 @@ essidglen = 32;
t = time(NULL);
tm = localtime(&t);
thisyear = tm->tm_year +1900;
-ERR_load_crypto_strings();
-OpenSSL_add_all_algorithms();
return;
}
/*===========================================================================*/
@@ -2770,10 +2768,6 @@ if(pskname != NULL)
fclose(fhpsk);
}
-EVP_cleanup();
-CRYPTO_cleanup_all_ex_data();
-ERR_free_strings();
-
return EXIT_SUCCESS;
}
/*===========================================================================*/