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

98 lines
5.8 KiB
Markdown

## 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:
![](https://lh5.googleusercontent.com/C9AbjS9Jn4GvZJ-syptvebGU2jtI4p1UmLsmkBj3--utdFjft1B3Qfij3GDiUqxyp9wq\_mbupVdUtfW-\_rSo1W\_EPFZzCQ7iHSn7-DK3l4-BfylIHluQBNrDWxO0lxCuAMz8EkQ9oi9jwDlH6A)
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**.
```bash
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](https://en.wikipedia.org/wiki/List\_of\_Internet\_Relay\_Chat\_commands#USERIP).
```bash
#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'.
```bash
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.
```bash
nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,6660-7000 <ip>
```
### [Força Bruta](../generic-methodologies-and-resources/brute-force.md#irc)
### Shodan
* `procurando pelo seu nome de host`
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe seus truques de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
</details>