75 lines
2.8 KiB
Markdown

# 194,6667,6660-7000 - Pentesting IRC
{{#include ../banners/hacktricks-training.md}}
## 基本情報
IRCは、最初は**プレーンテキストプロトコル**であり、IANAによって**194/TCP**が割り当てられましたが、一般的には**6667/TCP**および類似のポートで実行され、**root権限**なしで操作できるようにしています。
サーバーに接続するためには**ニックネーム**だけが必要です。接続後、サーバーはユーザーのIPに対して逆引きDNSルックアップを行います。
ユーザーは、より多くのアクセスのために**ユーザー名**と**パスワード**が必要な**オペレーター**と、通常の**ユーザー**に分かれています。オペレーターは異なるレベルの権限を持ち、管理者が最上位にいます。
**デフォルトポート:** 194, 6667, 6660-7000
```
PORT STATE SERVICE
6667/tcp open irc
```
## 列挙
### バナー
IRCは**TLS**をサポートできます。
```bash
nc -vn <IP> <PORT>
openssl s_client -connect <IP>:<PORT> -quiet
```
### マニュアル
ここでは、いくつかの**ランダムなニックネーム**を使用してIRCに接続し、いくつかの興味深い情報を列挙する方法を示します。IRCのコマンドについては[こちら](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>
```
サーバーにパスワードでログインを試みることもできます。ngIRCdのデフォルトパスワードは`wealllikedebian`です。
```bash
PASS wealllikedebian
NICK patrick
USER test1 test2 <IP> :test3
```
### **IRCサービスを見つけてスキャンする**
```bash
nmap -sV --script irc-botnet-channels,irc-info,irc-unrealircd-backdoor -p 194,6660-7000 <ip>
```
### [ブルートフォース](../generic-hacking/brute-force.md#irc)
### Shodan
- `ホスト名を調べる`
{{#include ../banners/hacktricks-training.md}}