75 lines
2.6 KiB
Markdown

# 194,6667,6660-7000 - Pentesting IRC
{{#include ../banners/hacktricks-training.md}}
## 기본 정보
IRC는 처음에 **일반 텍스트 프로토콜**로, IANA에 의해 **194/TCP**로 할당되었지만, 일반적으로 **6667/TCP** 및 유사한 포트에서 실행되어 **루트 권한** 없이 작동할 수 있습니다.
서버에 연결하는 데 필요한 것은 **닉네임**뿐입니다. 연결 후, 서버는 사용자의 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)
### 쇼단
- `호스트 이름 조회`
{{#include ../banners/hacktricks-training.md}}