Skip to content

Commit

Permalink
Implement maddaddy task
Browse files Browse the repository at this point in the history
  • Loading branch information
rafael-santiago committed Sep 27, 2023
1 parent 9b05a8a commit 65da36c
Show file tree
Hide file tree
Showing 6 changed files with 479 additions and 8 deletions.
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ red teams. *Once it stated, when using this tool you are assuming that any damag
law infringements that some wrong action taken by you could cause is of your entire responsibility*.

**Sponsoring**: I have not been running this project for profit. It is only a thing that I do at my spare time. It is a
weekend project. I try to evolve it according to necessities I have been facing up during my information security
professional career. If you liked it or it is being useful to you somehow and you really want to contribute
weekend project. A pet project. I try to evolve it according to necessities I have been facing up during my information
security professional career. If you liked it or it is being useful to you somehow and you really want to contribute
with money, try to redirect it to a local charity institution, an ONG of your choice or even your own community.
You can also do [pull requests](https://github.com/rafael-santiago/macgonuts/pulls) proposing improvements.
Do some [bug report](https://github.com/rafael-santiago/macgonuts/issues) if a bug is annoying you. Maybe you should
Expand Down
46 changes: 46 additions & 0 deletions doc/MANUAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
- [The dnsspoof command](#the-dnsspoof-command)
- [The xablau command](#the-xablau-command)
- [The caleaboqui command](#the-caleaboqui-command)
- [The maddaddy command](#the-maddaddy-command)
- [Catsparrow's ``macgonuts`` commands cheat sheet](#catsparrows-macgonuts-commands-cheat-sheet)

## What does ``macgonuts`` is for?
Expand Down Expand Up @@ -809,6 +810,51 @@ Well, now you master anything about silence, congrats!

[``Back``](#topics)

### The maddaddy command

><img src="https://github.com/rafael-santiago/macgonuts/blob/main/etc/angry-hiss.gif" title="Grrrr! C4uTion is now logged in..."
alt="Grrrr! C4uTion is now logged in..." width="70" />
If you want to deny `SLAAC` based `link-local` address atribution in a `IPv6` network or being more straightforward if you
want to promote a `DoS` attack by using `DAD`. "Let's go baby, let's go bad, you should give try to ma-ma-ma-maddady" :stuck_out_tongue_winking_eye:

The `maddaddy` is a pretty straightforward command. All it expects is your interface that you use to access the `IPv6` available
in your network environment.

Yeah, ridiculous but: story time!!!!

Once upon time `GooGoo` he hated network addresses in hexadecimal format and made up his mind about deny any device in his
network of using this bad idea. Otherwise he would use name callings in `IPv6` addresses as a kind of mnemonics, since
`GooGoo` was a well-behaved guy, he decided to promote a `DoS` on `IPv6` with his favorite `macgonuts`' command: `maddaddy`.

So all `GooGoo` did was:

```
GooGoo@OffTheRoad:~# macgonuts maddaddy --lo-iface=eth0
```

At this point `GooGoo` will listen to `neighbor solicitation` in a certain addressing range and when it found `GooGoo` will
mock fake `neighbor advertisements` by avoiding that new hosts ingress in the network with a valid `IPv6` address. As a result
no hosts will be automatically configured by `SLAAC`. Muahauhauahuahauhaua!

However, let's supose that `GooGoo` has specific targets. So only those targets should be blocked of ingressing in the network.
Well all `GooGoo` needs to use is the `--targets` option. This option expects `MAC` address separated by comma. Take a look:

```
GooGoo@OffTheRoad:~# macgonuts maddaddy --lo-iface=eth0 \
> --targets=00:11:22:33:44:55,AA:BB:CC:DD:EE:00,ab:cd:ef:12:23:56
```

From now on only the hosts using the indicated `MAC` address will be blocked.

So `maddaddy` causes in the target hosts a `"dadfailed"` by making the hosts of automatically be able to have the minimal
link-local addressing to boot up `IPv6`. You know, `maddaddy` is a kind of bad command for bad people...

Well, if you do not noticed yet, `maddaddy` is a humble tribute to one of my favorite rock bands ever: `The Cramps`!

Congrats! Now you are a master of `ma-ma ma-ma ma-ma-mad daddy`! :satisfied: :sunglasses:

[``Back``](#topics)

## Catsparrow's ``macgonuts`` commands cheat sheet

> <img src="https://github.com/rafael-santiago/macgonuts/blob/main/etc/catsparrow.gif" title="Grrrr! C4uTion is now logged in..."
Expand Down
30 changes: 24 additions & 6 deletions src/cmd/macgonuts_banners.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,30 @@ static const struct gradients {
int floor;
int ceil;
} g_GradientRanges[] = {
{ 52, 58 }, { 88, 94 }, { 124, 130 }, { 160, 166 }, { 196, 202 },
{ 22, 28 }, { 58, 64 }, { 94, 100 }, { 130, 136 }, { 166, 172 }, { 202, 208 },
{ 28, 34 }, { 64, 70 }, { 100, 106 }, { 136, 142 }, { 172, 178 }, { 208, 214 },
{ 34, 40 }, { 70, 76 }, { 106, 112 }, { 142, 148 }, { 178, 184 }, { 214, 220 },
{ 40, 46 }, { 76, 82 }, { 112, 118 }, { 148, 154 }, { 184, 190 }, { 220, 226 },
{ 46, 52 }, { 82, 88 }, { 118, 124 }, { 154, 160 }, { 190, 196 },
{ 124, 130 },
{ 160, 166 },
{ 196, 202 },
{ 130, 136 },
{ 166, 172 },
{ 202, 208 },
{ 172, 178 },
{ 208, 214 },
{ 34, 40 },
{ 70, 76 },
{ 142, 148 },
{ 178, 184 },
{ 214, 220 },
{ 40, 46 },
{ 76, 82 },
{ 112, 118 },
{ 148, 154 },
{ 184, 190 },
{ 220, 226 },
{ 46, 52 },
{ 82, 88 },
{ 118, 124 },
{ 154, 160 },
{ 190, 196 },
{ 232, 244 },
};

Expand Down
2 changes: 2 additions & 0 deletions src/cmd/macgonuts_exec.c
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include <cmd/macgonuts_dnsspoof_task.h>
#include <cmd/macgonuts_xablau_task.h>
#include <cmd/macgonuts_caleaboqui_task.h>
#include <cmd/macgonuts_maddaddy_task.h>
#include <cmd/macgonuts_version_task.h>
#include <cmd/macgonuts_banners.h>
#include <macgonuts_status_info.h>
Expand Down Expand Up @@ -49,6 +50,7 @@ struct macgonuts_task_ctx {
MACGONUTS_CMD_REGISTER_TASK(dnsspoof),
MACGONUTS_CMD_REGISTER_TASK(xablau),
MACGONUTS_CMD_REGISTER_TASK(caleaboqui),
MACGONUTS_CMD_REGISTER_TASK(maddaddy),
MACGONUTS_CMD_REGISTER_TASK_ALIAS(xablau, neighscan),
MACGONUTS_CMD_REGISTER_TASK_ALIAS(caleaboqui, shh),
MACGONUTS_CMD_REGISTER_TASK(version),
Expand Down
Loading

0 comments on commit 65da36c

Please sign in to comment.