Eu usei o iptables para redirecionar o tráfego para assim , mas parece encaminhar o tráfego para outro local.
Eu usei o hexinject assim:
hexinject -s -i eth0 -c 1 -f 'arp' | replace '06 04 00 01' '06 04 00 02' | hexinject -p -i eth0
mas o problema com o hexinject é que ele só injeta, não substitui o pacote original, apenas envia outro.
Eu também usei ettercap + etterfilter, mas não parece substituir o tráfego:
if (ip.proto == UDP) {
if (search(DATA.data, "\x1f\x0f\x00\x08\x00\x01")) {
log(DATA.data, "/tmp/payload");
drop();
execinject("/bin/sed s/\x1f\x0f\x00\x08\x00\x01/\x1f\x0f\x00\x08\x00\x00/g' /tmp/payload");
msg("caught!");
}
}
O que eu quero fazer é substituir a representação hexadecimal de 1f 0f 00 08 00 01
to 1f 0f 00 08 00 00
, apenas alterando o último bit para zero, mas não consegui fazer com que o iptables + netsed, hexinject ou ettercap + etterfilter funcionassem. / p>
Aqui está uma visualização:
O servidor tenta enviar 1f 0f 00 08 00 01
para alguém, um programa é alterado para que 1f 0f 00 08 00 00
seja enviado.
O que posso experimentar agora? Ou talvez eu esteja usando esses programas de maneira errada.