hacktricks/network-services-pentesting/pentesting-irc.md
2023-06-06 18:56:34 +00:00

5.8 KiB

Informações Básicas

IRC era originalmente um protocolo de texto simples (embora posteriormente estendido), que, a pedido, foi atribuído à porta 194/TCP pela IANA. No entanto, o padrão de fato sempre foi executar o IRC na porta 6667/TCP e em portas próximas (por exemplo, portas TCP 6660-6669, 7000) para evitar ter que executar o software IRCd com privilégios de root.

Para se conectar a um servidor, é necessário apenas um apelido. Uma vez estabelecida a conexão, a primeira coisa que o servidor faz é um reverse-dns para o seu IP:

Parece que, em geral, há dois tipos de usuários: operadores e usuários comuns. Para fazer login como um operador, é necessário um nome de usuário e uma senha (e, em muitas ocasiões, um hostname específico, IP e até mesmo um hostmask específico). Entre os operadores, existem diferentes níveis de privilégio, em que o administrador tem o maior privilégio.

Portas padrão: 194, 6667, 6660-7000

PORT     STATE SERVICE
6667/tcp open  irc

Enumeração

Banner

IRC pode suportar TLS.

nc -vn <IP> <PORT>
openssl s_client -connect <IP>:<PORT> -quiet

Manual

Aqui você pode ver como se conectar e acessar o IRC usando um apelido aleatório e, em seguida, enumerar algumas informações interessantes. Você pode aprender mais comandos do IRC aqui.

#Connection with random nickname
USER ran213eqdw123 0 * ran213eqdw123
NICK ran213eqdw123
#If a PING :<random> is responded you need to send
#PONG :<received random>

VERSION
HELP
INFO
LINKS
HELPOP USERCMDS
HELPOP OPERCMDS
OPERATOR CAPA
ADMIN      #Admin info
USERS      #Current number of users
TIME       #Server's time
STATS a    #Only operators should be able to run this
NAMES      #List channel names and usernames inside of each channel -> Nombre del canal y nombre de las personas que estan dentro
LIST       #List channel names along with channel banner
WHOIS <USERNAME>      #WHOIS a username
USERHOST <USERNAME>   #If available, get hostname of a user
USERIP <USERNAME>     #If available, get ip of a user
JOIN <CHANNEL_NAME>   #Connect to a channel

#Operator creds Brute-Force
OPER <USERNAME> <PASSWORD>

Você também pode tentar fazer login no servidor com uma senha. A senha padrão para o ngIRCd é 'wealllikedebian'.

PASS wealllikedebian
NICK patrick
USER test1 test2 <IP> :test3

Encontrar e escanear serviços IRC

IRC (Internet Relay Chat) é um protocolo de comunicação em tempo real usado principalmente para bate-papo em grupo. É comum encontrar servidores IRC em redes corporativas e em comunidades online. Para encontrar serviços IRC, podemos usar o nmap para escanear portas comuns usadas por esses serviços:

nmap -p 6665-6669,7000,7070 <alvo>

Uma vez que encontramos um serviço IRC, podemos usar um cliente IRC para se conectar a ele e explorar suas funcionalidades. Alguns clientes IRC populares incluem o HexChat e o irssi. Podemos usar esses clientes para se conectar ao serviço e tentar explorar vulnerabilidades ou obter informações sensíveis.

Além disso, podemos usar o Metasploit para explorar vulnerabilidades conhecidas em serviços IRC. O módulo auxiliary/scanner/irc/irc_version pode ser usado para identificar a versão do software IRC em execução no servidor. O módulo exploit/unix/irc/unreal_ircd_3281_backdoor pode ser usado para explorar uma vulnerabilidade conhecida no UnrealIRCd 3.2.8.1 que permite a execução remota de código.

Em resumo, encontrar e explorar serviços IRC pode ser uma maneira eficaz de obter acesso não autorizado a sistemas e informações sensíveis. É importante lembrar que a exploração de vulnerabilidades sem autorização é ilegal e pode resultar em consequências graves.

nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,6660-7000 <ip>

Força Bruta

Shodan

  • procurando pelo seu nome de host
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥