Directory Enumeration

Perform a directory enumeration scan on all HTTP endpoints in an Nmap scan and screenshot the results.

Setup

mkdir -p $PROJECT_DIR/dir_enum;cd $PROJECT_DIR/dir_enum

# Install Tools
sudo apt update && sudo apt install eyewitness naabu nuclei libpcap-dev golang-go libxml2-utils -y
go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
mv "$HOME/go/bin/httpx" "$HOME/go/bin/httpx-ng"  # Competing package names
echo "export PATH=$PATH:$HOME/go/bin" >> "$HOME/.zshrc"
source "$HOME/.zshrc"

Convert Nmap XML

xmllint --xpath '//host[status/@state="up"]/address[@addrtype="ipv4"]/@addr' $NMAP_TCP_XML_OUTPUT | \
sed 's/ addr="/\n/g' | sed 's/"//g' | grep -v '^$' | while read IP; do
    xmllint --xpath "//host[address/@addr=\"$IP\"]/ports/port[state/@state='open']/@portid" $NMAP_TCP_XML_OUTPUT | \
    sed 's/ portid="/\n/g' | sed 's/"//g' | grep -v '^$' | while read PORT; do
        echo "$IP:$PORT"
    done
done >> httpx.hosts

Check for HTTP Servers

Run Nuclei Scan

You can import these Nuclei results into Bitor if the output is too much to review on screen.

Create Fuzzing Wordlist

Run Directory Enumeration Scan (FFUF)

Review Fuzzing Results

This test is prone of false positives, review the output to make sure there are no single hosts with an absurd number of 200 responses.

If you find any single hosts that clearly had a load of false positive results, you can remove all hits from that host in our output using sed -i '/<FALSE_POSTIVE_IP>/d' enum_200-results.txt

Screenshot Scan Results

Export Files

Last updated