IRC, initially a plain text protocol, was assigned 194/TCP by IANA but is commonly run on 6667/TCP and similar ports to avoid needing root privileges for operation.
A nickname is all that's needed to connect to a server. Following connection, the server performs a reverse-DNS lookup on the user's IP.
Users are divided into operators, who need a username and password for more access, and regular users. Operators have varying levels of privileges, with administrators at the top.
Here you can see how to connect and access the IRC using some random nickname and then enumerate some interesting info. You can learn more commands of IRC here.
#Connection with random nicknameUSERran213eqdw1230*ran213eqdw123NICKran213eqdw123#If a PING :<random> is responded you need to send#PONG :<received random>VERSIONHELPINFOLINKSHELPOPUSERCMDSHELPOPOPERCMDSOPERATORCAPAADMIN#Admin infoUSERS#Current number of usersTIME#Server's timeSTATSa#Only operators should be able to run thisNAMES#List channel names and usernames inside of each channel -> Nombre del canal y nombre de las personas que estan dentroLIST#List channel names along with channel bannerWHOIS<USERNAME>#WHOIS a usernameUSERHOST<USERNAME>#If available, get hostname of a userUSERIP<USERNAME>#If available, get ip of a userJOIN<CHANNEL_NAME>#Connect to a channel#Operator creds Brute-ForceOPER<USERNAME><PASSWORD>
You can, also, atttempt to login to the server with a password. The default password for ngIRCd is wealllikedebian.