Thc-ipv6 - IPv6 attack toolkit

Overview
                  THC-IPV6-ATTACK-TOOLKIT

(c) 2005-2022 [email protected] https://github.com/vanhauser-thc/thc-ipv6

	Licensed under AGPLv3 (see LICENSE file)

INTRODUCTION

This code was inspired when I got into touch with IPv6, learned more and more about it - and then found no tools to play (read: "hack") around with. First I tried to implement things with libnet, but then found out that the IPv6 implementation is only partial - and sucks. I tried to add the missing code, but well, it was not so easy, hence I saved my time and quickly wrote my own library.

LIMITATIONS

This code currently only runs on:

  • Linux 2.6.x or newer (because of /proc usage)
  • Ethernet But this means for all linux guys that it will work for 98% of your use cases. Patches are welcome! (add "antispam" in the subject line to get through my anti-spam protection, otherwise the email will bounce)

BUILDING

You must have libpcap-dev installed to be able to build the tools. Additionally libssl-dev and libnetfilter-queue-dev are recommended as well.

These can be installed by (Kali, Debian, Ubuntu): sudo apt-get install libpcap-dev libssl-dev libnetfilter-queue-dev

You can build the tools by running: make all

You can install the tools and existing manual pages by running: make install

THE TOOLS

The THC IPV6 ATTACK TOOLKIT comes already with lots of effective attacking tools:

  • parasite6: ICMPv6 neighbor solitication/advertisement spoofer, puts you as man-in-the-middle, same as ARP mitm (and parasite)
  • alive6: an effective alive scanng, which will detect all systems listening to this address
  • dnsdict6: parallized DNS IPv6 dictionary bruteforcer
  • fake_router6: announce yourself as a router on the network, with the highest priority
  • redir6: redirect traffic to you intelligently (man-in-the-middle) with a clever ICMPv6 redirect spoofer
  • toobig6: mtu decreaser with the same intelligence as redir6
  • detect-new-ip6: detect new IPv6 devices which join the network, you can run a script to automatically scan these systems etc.
  • dos-new-ip6: detect new IPv6 devices and tell them that their chosen IP collides on the network (DOS).
  • trace6: very fast traceroute6 with supports ICMP6 echo request and TCP-SYN
  • flood_router6: flood a target with random router advertisements
  • flood_advertise6: flood a target with random neighbor advertisements
  • fuzz_ip6: fuzzer for IPv6
  • implementation6: performs various implementation checks on IPv6
  • implementation6d: listen daemon for implementation6 to check behind a FW
  • fake_mld6: announce yourself in a multicast group of your choice on the net
  • fake_mld26: same but for MLDv2
  • fake_mldrouter6: fake MLD router messages
  • fake_mipv6: steal a mobile IP to yours if IPSEC is not needed for authentication
  • fake_advertiser6: announce yourself on the network
  • smurf6: local smurfer
  • rsmurf6: remote smurfer, known to work only against linux at the moment
  • exploit6: known IPv6 vulnerabilities to test against a target
  • denial6: a collection of denial-of-service tests againsts a target
  • thcping6: sends a hand crafted ping6 packet
  • sendpees6: a tool by [email protected], which generates a neighbor solicitation requests with a lot of CGAs (crypto stuff ;-) to keep the CPU busy. nice. and about 25 more tools for you to discover :-)

Just run the tools without options and they will give you help and show the command line options.

THE LIBRARY

The library thc-ipv6-lib.c is the heart and soul of all tools - and those you may want to write. Implementation is so simple, its usually just 2-4 lines to create a complete IPv6/ICMPv6 packet with the content of your choice.

Your basic structure you use is (thc_ipv6_hdr *) e.g. thc_ipv6_hdr *my_ipv6_packet; int my_ipv6_packet_len; and you will never have to play with its options/fields.

Whenever you want to build an IPv6 packet, you just write: my_ipv6_packet = thc_create_ipv6_extended(interface, prefer, &my_ipv6_packet_len, src6, dst6, ttl, length, label, class, version); if something fails, it returns NULL (only if my_ipv6_packet_len or dst6 do not exist or malloc fails). The options to thc_create_ipv6_extended are: (char*) interface - the interface on which you want to send out the packet (int) prefer - either PREFER_LINK (to use the link local address) or PREFER_HOST to use a host IPv6 address, and PREFER_GLOBAL to use a public (internet) IP6 address (default) (int ) &my_ipv6_packet_len - the size of the packet which will be created (unsigned char) src6 - the source IP6 (OPTIONAL - will be selected if NULL) (unsigned char*) dst6 - the destination IP6 (in network format, 16 bytes long) usually the result of thc_resolve6("ipv6.google.com"); (int) ttl - the ttl of the packet (OPTIONAL - 0 will set this to 255) (int) length - the length which will be set in the header (OPTIONAL - 0 = real length) (int) label - the flow label (0 is fine) (int) class - the class of the packet (0 is fine) (int) version - the IP6 version (OPTIONAL - 0 will set this to version 6) It returns NULL on errors or a malloc'ed structure on success. free() it once you are done with it.

Now you can set extension headers on top of it: thc_add_hdr_route(my_ipv6_packet, &my_ipv6_packet_len, routers, routerptr); thc_add_hdr_fragment(my_ipv6_packet, &my_ipv6_packet_len, offset, more_frags, id); thc_add_hdr_dst(my_ipv6_packet, &my_ipv6_packet_len, buf, buflen); thc_add_hdr_hopbyhop(my_ipv6_packet, &my_ipv6_packet_len, buf, buflen); thc_add_hdr_nonxt(my_ipv6_packet, &my_ipv6_packet_len, hdropt); thc_add_hdr_misc(my_ipv6_packet, &my_ipv6_packet_len, type, len, buf, buflen); The functions explained: _route: Add a Routing Forwarding Header (like IP Source Routing) (int) routers - the number of routers in routerptr (char**) routerptr - a char[routers + 1] struct with router destinations in network format. See alive6.c for an example. _fragment: Add a Fragment Header (int) offset - the offset on which to the data should be written (note: put the offset location in bytes here, not in byte octets) (int) more_frags - set to 0 if it is the fragement, 1 on all others (int) id - an ID for the packet (same for all fragments) _dst: Add a Destination Options Header (char) buf - a char buffer. you have to control this buffer yourself with but you want to write into it. (int) buflen - the length of buf _hopbyhop: Add a Hop-By-Hop Header (char*) buf - a char buffer. you have to control this buffer yourself with but you want to write into it. (int) buflen - the length of buf _nonxt: Specify that there will be no following headers whatsoever (int) hdropt - this options is currently ignored _misc: Specify a miscelleanous header. Use this if you want to design an invalid or non-existing extension header. (int) type - The type ID to specify the header as (int) len - The length to advertise the header as (OPTIONAL - -1 sets this to the correct value) (char*) buf - a char buffer. you have to control this buffer yourself with but you want to write into it. (int) buflen - the length of buf These functions return (int) 0 on success and -1 on error.

Finally you can add the stream or dgram headers. thc_add_icmp6(my_ipv6_packet, &my_ipv6_packet_len, type, code, flags, buf, buflen, checksum); thc_add_tcp(my_ipv6_packet, &my_ipv6_packet_len, source_port, destination_port, sequence_number, ack_number, flags, window_size urgent_pointer, options, optione_length, data, data_length); thc_add_udp(my_ipv6_packet, &my_ipv6_packet_len, source_port, destination_port, checksum, data, data_length); thc_add_data6(my_ipv6_packet, &my_ipv6_packet_len, type, buf, buflen); _icmp6: Add an ICMP6 packet header (int) type: the ICMP6 type (int) code: the ICMP6 code (int) flags: the ICMP6 flags (char*) buf - a char buffer. you have to control this buffer yourself with but you want to write into it. (int) buflen - the length of buf _tcp|_udp: Add an TCP or UDP header (ushort) source_port: source port (ushort) destination_port: destination port (uint) sequence_number: TCP sequence number (uint) ack_number: TCP acknowledgement number (ushort) checksum: UDP checksum, 0 = generate checksum (for TCP the checksum is always calculated) (uchar) flags: TCP flags: TCP_SYN, TCP_ACK, TCP_FIN, TCP_RST, TCP_PSH, ... (uint) window_size: TCP window size (uint) urgent_pointer: TCP urgent pointer (usually 0) (char*) options: TCP options buffer, can be NULL (uint) options_length: the length of the TCP options buffer (char*) data: the data the protocol carries (uint) data_length: the length of the data buffer _data6: Add a miscellaneous header (int) type: the protocol ID (char*) buf - a char buffer. you have to control this buffer yourself with but you want to write into it. (int) buflen - the length of buf These functions return (int) 0 on success and -1 on error.

Once you are done, you create and send the packet. thc_generate_pkt(interface, srcmac, dstmac, my_ipv6_packet, &my_ipv6_packet_len); thc_send_pkt(interface, my_ipv6_packet, &my_ipv6_packet_len); or combined into one function: thc_generate_and_send_pkt(interface, srcmac, dstmac, my_ipv6_packet, &my_ipv6_packet_len);

thc_generate_and_send_pkt: This generates the real and final IPv6 packet and then sends it. (char*) interface - the interface to send the packet on (unsigned char*) srcmac - the source mac to use (in network format) (OPTIONAL, the real mac is used if NULL) (unsigned char*) dstmac - the destination mac to use (in network format) (OPTIONAL, the real mac is looked up if NULL) The thc_generate_pkt and thc_send_pkt together provide the same functionality. You usually use these only if you do something like thc_generate_pkt(...); while(1) thc_send_pkt(...); These functions return (int) 0 on success and -1 on error.

When you are done, free the memory with: thc_destroy_packet(my_ipv6_packet);

There are some important helper functions you will need: thc_resolve6(destinationstring); This resolves the IPv6 address or DNS name to an IPv6 network address. Use this for dst6 in thc_create_ipv6_extended(). The result has to be free'd when not needed anymore. thc_inverse_packet(my_ipv6_packet, &my_ipv6_packet_len); This clever functions switches source and destination address, exchanges the ICMP header type (ECHO REQUEST -> ECHO REPLY etc.) and recalculates the checksum. If you dont have an idea what this might be useful for, go and play with your xbox :-)

If you just want to do it very fast, there are some predefined ICMPv6 creator functions which sends impc6 packets in just one line of code: thc_ping6(interface, src, dst, size, count); thc_neighboradv6(interface, src, dst, srcmac, dstmac, flags, target); thc_neighborsol6(interface, src, dst, target, srcmac, dstmac); thc_routeradv6(interface, src, dst, srcmac, default_ttl, managed, prefix, prefixlen, mtu, lifetime); thc_routersol6(interface, src, dst, srcmac, dstmac); thc_toobig6(interface, src, srcmac, dstmac, mtu, my_ipv6_packet, my_ipv6_packet_len); thc_paramprob6(interface, src, srcmac, dstmac, code, pointer, my_ipv6_packet, my_ipv6_packet_len); thc_unreach6(interface, src, srcmac, dstmac, icmpcode, my_ipv6_packet, my_ipv6_packet_len); thc_redir6(interface, src, srcmac, dstmac, newrouter, newroutermac, my_ipv6_packet, my_ipv6_packet_len); thc_send_as_fragment6(interface, src, dst, type, buf, buflen, frag_len); These do what you expect them to do, so I am too lazy^H^H^H^H^Hbusy to describe it in more details.

The following functions allocate memory for the result pointer, so remember to free the result pointers from these functions once you do not need them anymore: thc_ipv6_dummymac() thc_ipv62notation() thc_ipv62string() thc_string2ipv6() thc_string2notation() thc_resolve6() thc_get_own_ipv6() thc_get_own_mac() thc_get_multicast_mac() thc_get_mac() thc_lookup_ipv6_mac() thc_look_neighborcache() thc_generate_key() thc_generate_cga() thc_generate_rsa()

It helps a lot if you take a look at example usages. The best ones are the tools from the thc-ipv6 package, especially implementation6.c and fake_*6.c - have fun, and send back code, so the community can further build on it.

DETECTION

Most tools can easily be detected by an IDS or specialized detection software. This is done on purpose to make rogue usage detection easier. The tools either specify a fixed packet signature, or generically sniff for packets (e.g. therefore also answering to ICMPv6 neighbor solitications which are sent to a non-existing mac, and are therefore very easy to detect). If you dont want this, change the code.

PATCHES, BUGS, HINTS, etc.

Send them to vh (at) thc (dot) org (and add "antispam" to the subject line) Or submit via github: https://github.com/vanhauser-thc/thc-ipv6

Have fun!

Comments
  • Help !! Compilation of connsplit6 failed, you have to install libnetfilter-queue-dev for this!

    Help !! Compilation of connsplit6 failed, you have to install libnetfilter-queue-dev for this!

    I'm sure libnetfilter-queue-dev was installed.

    Ubuntu 16.04 TLS x64

    gcc -Ofast -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -D_HAVE_SSL  -o fragrouter6 fragrouter6.c thc-ipv6-lib.o -lpcap -lssl -lcrypto -lnetfilter_queue || /bin/echo -e "\nCompilation of fragrouter6 failed, you have to install libnetfilter-queue-dev for this!\n"
    gcc -Ofast -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -D_HAVE_SSL  -o connsplit6 connsplit6.c thc-ipv6-lib.o -lpcap -lssl -lcrypto -lnetfilter_queue || /bin/echo -e "\nCompilation of connsplit6 failed, you have to install libnetfilter-queue-dev for this!\n"
    
    
    opened by cssxn 6
  • Segmentation fault on ARM

    Segmentation fault on ARM

    Hi,

    First of all, thanks for this framework, it's really great! However, I was trying to use it on a Raspberry Pi 4 and it didn't work. Compiling was fine, no errors outputed, but I have some segmentation fault while executing dump_router6, detect-new-ip6, implementation6, fake_router6 or dos-new-ip6.

    Is there something I have to modified before compiling the code for ARM? I also tried on a clean NetHunter install on a OnePlus 6T and 3 and got the same result (that's why I assume it might be linked to ARM).

    Thanks.

    opened by BlackyFox 4
  • Install error - make

    Install error - make

    $ make
    gcc -O3 -march=native -flto -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -D_HAVE_SSL   -c -o thc-ipv6-lib.o thc-ipv6-lib.c
    clang: error: unknown argument: '-freorder-blocks-and-partition'
    clang: warning: optimization flag '-falign-functions' is not supported [-Wignored-optimization-argument]
    clang: warning: optimization flag '-falign-jumps' is not supported [-Wignored-optimization-argument]
    clang: warning: optimization flag '-falign-loops' is not supported [-Wignored-optimization-argument]
    clang: warning: optimization flag '-falign-labels' is not supported [-Wignored-optimization-argument]
    clang: warning: optimization flag '-freorder-blocks' is not supported [-Wignored-optimization-argument]
    make: *** [thc-ipv6-lib.o] Error 1```
    opened by The-SamminAter 4
  • thcping6 buffer overflow when compiled using make

    thcping6 buffer overflow when compiled using make

    I noticed this today and thought I should bring to your attention. When running thcping6 with -n 0, after 10 sequences the program will crash with a buffer overflow. The weird thing is when compiling the program alone it works fine.

    thcping-trace.txt

    $ gcc -o bobp6 thcping6.c thc-ipv6-lib.o -lpcap -lssl -lcrypto

    opened by BobBurns 4
  • dump_router6: allow specification of exact source address

    dump_router6: allow specification of exact source address

    If an interface has multiple addresses (esp link-local), it can be useful to specify the exact source address to use when sending the IPV6 Router Solicitation.

    Please add a way to specify said source address.

    opened by robbat2 4
  • covert_send6d unable to receive file above 1 packet in size

    covert_send6d unable to receive file above 1 packet in size

    I've had this problem both in the versions available on Kali Linux by default, and installable on Debian Linux through the default repositories available at install. I've reviewed your code and determined the problem to lie on line 78. The while loop on said line should read: while (rlen > 0 && end == 0 && dlen > pos && done == 0) instead of: while (rlen > 0 && end == 0 && dlen >= pos && done == 0) When dlen=pos, pos is at the start of the icmp, resulting in ptr[pos] being 0x80, the code for an ICMP echo request. The condition: else if (ptr[pos] > 0x1f) evaluates as true (0x80 > 0x1f), causing the function to return without incrementing seq.

    opened by mculig 3
  • multiple definition of `debug'

    multiple definition of `debug'

    I have got the following error while building thc-ipv6:

    gcc -g -O2 -fdebug-prefix-map=/home/build-area/thc-ipv6-3.2=. -fstack-protector-strong -Wformat -Werror=format-security -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -D_HAVE_SSL -Wdate-time -D_FORTIFY_SOURCE=2  -o atk6-thcping6 thcping6.c thc-ipv6-lib.o -Wl,-z,relro -Wl,-z,now -lpcap -lssl -lcrypto 
    thc-ipv6-lib.o:(.bss+0x2c): multiple definition of `debug'
    /tmp/ccnNvhca.o:(.bss+0x10): first defined here
    collect2: error: ld returned 1 exit status
    Makefile:43: recipe for target 'atk6-dnssecwalk' failed
    make[1]: *** [atk6-dnssecwalk] Error 1
    make[1]: *** Waiting for unfinished jobs....
    /usr/bin/ld: /tmp/ccfDVHYt.o: undefined reference to symbol '[email protected]@GLIBC_2.2.5'
    //lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
    collect2: error: ld returned 1 exit status
    Makefile:43: recipe for target 'atk6-dnsdict6' failed
    make[1]: *** [atk6-dnsdict6] Error 1
    

    It looks like debug is being defined on three files: thc-ipv6-lib.c dnssecwalk.c sendpeesmp6.c

    Please also note the other error:

    /usr/bin/ld: /tmp/ccfDVHYt.o: undefined reference to symbol '[email protected]@GLIBC_2.2.5'
    //lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
    
    opened by samueloph 3
  • Plase add support for openssl 1.1

    Plase add support for openssl 1.1

    While building thc-ipv6 3.2:

    thc-ipv6-lib.c: In function ‘thc_generate_key’: thc-ipv6-lib.c:3115:3: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations] if ((key->rsa = RSA_generate_key(key_len, 65535, NULL, NULL)) == NULL) { ^~ In file included from /usr/include/openssl/rsa.h:13:0, from thc-ipv6-lib.c:46: /usr/include/openssl/rsa.h:193:1: note: declared here DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void ^

    opened by samueloph 3
  • passive_discovery6 Segmentation fault (core dumped) on Ubuntu 20.04

    passive_discovery6 Segmentation fault (core dumped) on Ubuntu 20.04

    Recently I have been experiencing issues running passive_discovery6 on new Ubuntu 20.04.1 systems. It compiles without errors and I have all of the dependent libraries loaded correctly as I have done for years. I've tried to update, do a make clean, then do a make all, and make install again, no errors (other than on fuzz_dnsps6 & fuzz_dhcpc6, connect6). Other THC tools seem to work fine, but when I run passive_discovery (and detect-new-ip6), it get this.

    passive_discovery6 ens33

    Started IPv6 passive system detection (Press Control-C to end) ... Segmentation fault (core dumped)

    detect-new-ip6 ens33

    Started ICMP6 DAD detection (Press Control-C to end) ... Segmentation fault (core dumped)

    uname -a

    Linux ubuntu2004 5.4.0-54-generic #60-Ubuntu SMP Fri Nov 6 10:37:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    opened by ScottHogg 2
  • Which part is interface?

    Which part is interface?

    Simple question: for example i have ipv6 like this: 2a21:117f:452:d00:fc0c:ab47:5a6e:6969 and don't know which part of it is interface and which part of it is destination. Can you please point it out so I can just learn from a single example. Thanks !

    opened by Jan3kk 2
  • Update CONTACT Information

    Update CONTACT Information

    I sought your contact information. I found the your e-mail address on the README file. But I also found your activity on GitHub. I propose you to add new contact way on GitHub.

    opened by kotowarinone 2
Releases(v3.8)
Owner
van Hauser
Security researcher since 1994 https://www.mh-sec.de/ https://www.thc.org/
van Hauser
a lightweight and performant multicast DNS (mDNS) reflector with modern design, supports zone based reflection and IPv6

mDNS Reflector mDNS Reflector (mdns-reflector) is a lightweight and performant multicast DNS (mDNS) reflector with a modern design. It reflects mDNS q

Yuxiang Zhu 90 Dec 10, 2022
Small and fast cross-platform networking library, with support for messaging, IPv6, HTTP, SSL and WebSocket.

frnetlib Frnetlib, is a cross-platform, small and fast networking library written in C++. There are no library dependencies (unless you want to use SS

Fred Nicolson 23 Nov 25, 2022
Wireless keystroke injection attack platform

Wireless keystroke injection attack platform

Spacehuhn Technologies 1.6k Jan 8, 2023
Brutally effective DNS amplification ddos attack tool. Can cripple a target machine from a single host. Use with extreme caution.

Brutally effective DNS amplification ddos attack tool. Can cripple a target machine from a single host. Use with extreme caution.

thescientist 2 Jan 1, 2023
DNS amplification DDOS attack tool.

DNS amplification DDOS attack tool.

the-scientist 28 Dec 29, 2022
WiFi Attack + Recon Suite for the ESP8266 WiFi Nugget

Nugget-Invader Welcome to the Nugget Invader repository! The Invader is a WiFi attack suite developed for the WiFi Nugget, an ESP8266 based platform d

HakCat 40 Nov 28, 2022
SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications

SixtyFPS is a toolkit to efficiently develop fluid graphical user interfaces for any display: embedded devices and desktop applications. We support multiple programming languages, such as Rust, C++, and JavaScript.

SixtyFPS 5.5k Jan 2, 2023
T-HYDRA is a modified version of original thc-hydra for better use inside Termux .

T-HYDRA is a modified version of original thc-hydra for better use inside Termux . Earlier , hydra pakage had been with Termux repositories. Then afte

Devil Master 55 Jan 7, 2023
XMap is a fast network scanner designed for performing Internet-wide IPv6 & IPv4 network research scanning.

XMap is reimplemented and improved thoroughly from ZMap and is fully compatible with ZMap, armed with the "5 minutes" probing speed and novel scanning techniques. XMap is capable of scanning the 32-bits address space in under 45 minutes.

idealeer 190 Dec 24, 2022
a lightweight and performant multicast DNS (mDNS) reflector with modern design, supports zone based reflection and IPv6

mDNS Reflector mDNS Reflector (mdns-reflector) is a lightweight and performant multicast DNS (mDNS) reflector with a modern design. It reflects mDNS q

Yuxiang Zhu 90 Dec 10, 2022
Small and fast cross-platform networking library, with support for messaging, IPv6, HTTP, SSL and WebSocket.

frnetlib Frnetlib, is a cross-platform, small and fast networking library written in C++. There are no library dependencies (unless you want to use SS

Fred Nicolson 23 Nov 25, 2022
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

CNTK Chat Windows build status Linux build status The Microsoft Cognitive Toolkit (https://cntk.ai) is a unified deep learning toolkit that describes

Microsoft 17.3k Dec 23, 2022
Lite.AI.ToolKit 🚀🚀🌟: A lite C++ toolkit of awesome AI models such as RobustVideoMatting🔥, YOLOX🔥, YOLOP🔥 etc.

Lite.AI.ToolKit ?? ?? ?? : A lite C++ toolkit of awesome AI models which contains 70+ models now. It's a collection of personal interests. Such as RVM, YOLOX, YOLOP, YOLOR, YoloV5, DeepLabV3, ArcFace, etc.

DefTruth 2.4k Jan 9, 2023
Zenotech 6 Oct 21, 2022
Insight Toolkit (ITK) is an open-source, cross-platform toolkit for N-dimensional scientific image processing, segmentation, and registration

ITK: The Insight Toolkit C++ Python Linux macOS Windows Linux (Code coverage) Links Homepage Download Discussion Software Guide Help Examples Issue tr

Insight Software Consortium 1.1k Dec 26, 2022
Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit

The Microsoft Cognitive Toolkit is a unified deep learning toolkit that describes neural networks as a series of computational steps via a directed graph.

Microsoft 17.3k Jan 6, 2023
Exploring possibilities of ESP32 platform to attack on nearby Wi-Fi networks.

ESP32 Wi-Fi Penetration Tool This project introduces an universal tool for ESP32 platform for implementing various Wi-Fi attacks. It provides some com

null 612 Jan 3, 2023
Resources for DFIR Professionals Responding to the REvil Ransomware Kaseya Supply Chain Attack

Resources for DFIR Professionals Responding to the REvil Ransomware Kaseya Supply Chain Attack Yesterday Sophos and Huntress Labs identified that Kase

Cado Security 171 Nov 18, 2022
King Hamlet is a simple tool, which allows you to perform a Process Ghosting Attack

KingHamlet Process Ghosting Tool - 64 bits Only! King Hamlet is a simple tool, which allows you to perform a Process Ghosting Attack

null 149 Dec 27, 2022
🎮 Plants vs. Zombies multiplayer battle, developed via reverse engineering, inline hook and dynamic-link library injection. Two online players defend and attack as the plant side and zombie side respectively.

Plants vs. Zombies Online Battle This project has two original repositories: https://github.com/czs108/Plants-vs.-Zombies-Online-Battle https://github

Liugw 71 Oct 14, 2021