Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Path: blob/master/documentation/modules/auxiliary/gather/nis_ypserv_map.md
Views: 11784
Introduction
If you've worked with old Unix systems before, you've probably encountered NIS (Network Information Service). The most familiar way of describing it is a sort of hybrid between DNS and LDAP.
Oracle says the following about it:
NIS is a distributed naming service. It is a mechanism for identifying and locating network objects and resources. It provides a uniform storage and retrieval method for network-wide information in a transport-protocol and media-independent fashion.
And on its use:
By running NIS, the system administrator can distribute administrative databases, called maps, among a variety of servers (master and slaves). The administrator can update those databases from a centralized location in an automatic and reliable fashion to ensure that all clients share the same naming service information in a consistent manner throughout the network.
The module documented within will allow a tester to dump any map from an NIS server (running as ypserv
). Usually, maps like passwd.byname
contain things like hashes and user info, which can go a long way during a pentest.
Setup
Set up NIS as per https://help.ubuntu.com/community/SettingUpNISHowTo. If the link is down, you can find it via the Wayback Machine.
Options
PROTOCOL
Set this to either TCP or UDP. TCP is the default due to easy discovery.
DOMAIN
Set this to your NIS domain.
MAP
Set this to the NIS map you want to dump. The default is passwd
. You can use the nicknames described in the module info instead of the full map names.
XDRTimeout
Set this to the timeout in seconds for XDR decoding of the response.
Usage
After dumping a map, you can find it stored in loot
later. You should be able to run something like John the Ripper directly on the passwd.byname
map.