NMAP BIBLE #2

    ________________________________________________________________________
   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.----------------------------------------------------------------------------.
|_ Learn NMAP and Audit Your Network With IT  *** NMAP BIBLE ***            _|
   \________________________________________________________________________/
   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
.----------------------------------------------------------------------------.
|                                                                            |
|   Release date : 2021-10-20                                                |
|   Publ/Author  : Adonis Sawan                                              |
|   Language     : English                                                   |
|   Format       : ASCII                                                     |
|____________________________________________________________________________|
| Bypassing Firewall Rules                                                   |
| ========================                                                   |
| Once we've mapped out our firewall rules, we want to bypass them.          |
| To aid us with this task and nmap offers specific scans that could help us |
| sneak past these rules, which is the fin scan. The fin scan are useful for |
| detecting stateless or improperly configured firewalls. Nmap offers the    |
| scan flags option. This allows us to design our own TCP packet by setting  |
| different flags. You can even combine scans so if we wanted to combine the |
| Fin or the ack scan with any other flag and see how our firewall response. |
| Alot of firewall administrators set up their devices only to drop incoming |
| syn packets. So by adding a fin packet we might be able to get by.         |
| To do this, we type Nmap Dash s Capital S and of course we use the scan    |
| flags option, specifying Syn and Fin and will use a couple of ports.       |
| ► nmap -sS --scanflags SYNFIN -p22,80,139,445 192.168.1.110 --reason       |
|   --packet-trace                                                           |
| we're sending a packet to the host with the Syn and  Fin flags set.        |
| We're getting a response of a syn ack, as a result we've open ports        |
| To see the difference, we will do a normal SYN scan. we're sending just a  |
| syn packet to the host, but this time we're not getting any responses.     |
| ► nmap -sS -p22,80,139,445 192.168.1.110 --reason --packet-trace           |
| If the Syn-fin combination isn't working, You can try SYN URG, or push PSH |
| nmap --scanflags [SYN|ACK|FIN|RST|PSH|URG]                                 |
| To perform such a scan, just specify your desired flags with --scanflags   |
| and specify FIN scan (-sF) as the base type (choosing NULL or Xmas would   |
| make no difference)                                                        |
| ► nmap -sS --scanflags PSH                                                 |
| ► nmap -sS --scanflags SYNPSH                                              |
| ► nmap -sS --scanflags SYNPSHURG                                           |
| ► nmap -sS --scanflags FINSYNPSHURG                                        |
|                                                                            |
| -sN, -sF, -sX ( Null Scan, FIN Scan, XMAS Scan )                           |
| NULL, FIN and XMAS scan work differently but the way they interpret        |
| results is the same.                                                       |
| nmap -sN nmap.scanme.org                                                   |
| nmap -sF nmap.scanme.org                                                   |
| nmap -sX nmap.scanme.org                                                   |
|                                                                            |
| In addition to the scan flags option, you could try initiating the scan    |
| from a source port. The only change your making here is making your        |
| traffic originate from a certain port on your workstation.                 |
| I would try port 53 or maybe some other services that are commonly open.   |
| You could also try using IPV 6. This could work quite well for you.        |
| ► nmap -F -g 53 192.168.1.110 --reason                                     |
| ► nmap -6 -n -F -T5 fc70::10c:29ff:fefb:dd3a --reason --packet-trace       |
|                                                                            |
| IDS Evasion                                                                |
| ===========                                                                |
| Nmap offers some options to help you detect and avoid IDs and IPS devices. |
| To subvert systems, there's a couple of techniques that we can try.        |
| The first is to be patient. Scan slowly we can do this by optimizing scan  |
| timings with paranoid or sneaky scans.                                     |
| These can subvert systems because usually port scan detection is threshold |
| based, meaning that the system watch is for a certain number of probes in  |
| a given timeframe.                                                         |
| Another combination of methods we can try is to randomize hosts and        |
| fragment packets. We could randomize the way hosts are scanned with the    |
| randomized host option. Nmap also supports the fragments option.           |
| This allows you to split up data packets into sections after the IP header,|
| which are then reassembled on the target end. This technique can work well |
| for detection systems because the IDs needs to know how the remote systems |
| will handle the packet.                                                    |
| You can specify at the command line by using the dash lowercase F option   |
| and by default this creates a data fragment of eight bits, which is then   |
| sent to the host. If you'd like to add more fragments. We add another      |
| dash F option or specify your own sizes in multiples of eight.             |
|                                                                            |
| Another way is to skip over version detection and OS detection.            |
| These types of scans are easily spotted by detection systems because they  |
| have rather unusual packet sequences.                                      |
|                                                                            |
| To confuse or mislead detection systems, we could simply try to overwhelm  |
| devices with different packets from numerous sources and map offers several|
| options for us to explore the 1st and easiest way to conduct a scan without|
| detection is the blend in with the decoy command. We can appear that scan  |
| is coming from multiple hosts around our network or even around the world. |
| To take advantage of decoys we use the Dash Capital D option followed by a |
| comma separated list of decoys.                                            |
|                                                                            |
| ► nmap 192.168.1.1 -f                                                      |
| Use tiny fragmented IP packets. Harder for packet filters                  |
|                                                                            |
| ► nmap 192.168.1.1 --mtu 32                                                |
| Set your own offset size                                                   |
|                                                                            |
| ► nmap -D decoy-ip1,decoy-ip2,your-own-ip,decoy-ip3,decoy-ip4 target-ip    |
| ► nmap -D 192.168.1.101,192.168.1.102,192.168.1.103,192.168.1.23 target-ip |
| ► nmap -D 192.168.1.101,ME,192.168.1.103,192.168.1.23 target-ip            |
| Send scans from spoofed (decoy) IPs                                        |
|                                                                            |
| ► nmap -g 53 192.168.1.1                                                   |
| Use given source port number                                               |
|                                                                            |
| ► nmap --proxies http://192.168.1.1:8080, http://192.168.1.2:8080          |
|   192.168.1.1                                                              |
| Relay connections through HTTP/SOCKS4 proxies                              |
|                                                                            |
| ► nmap --data-length 200 192.168.1.1                                       |
| Appends random data to sent packets                                        |
|                                                                            |
| Another tactic that could help, is to use network address Spoofing.        |
| We do this by specifying the dash capital S option and the target name or  |
| IP address of the host. Now the problem with this type of approach is that |
| of course we won't get any meaningful results back because the target      |
| machines going to respond to the source address. However, it can be useful |
| for internal testing of IDs rule accuracy.                                 |
| ► nmap -sS -S live.com -p22,80,443 remote-host-ip                          |
|                                                                            |
| Another technique is the idle scan. We will take advantage of a system that|
| with an IP ID that increment slowly. we can launch a scan from that host.  |
| ► nmap -Pn -p- -sI live.com remote-host-ip                                 |
|                                                                            |
| Nmap Reports & Output                                                      |
| =====================                                                      |
| Typically in XML, output is preferable because it's easier to parse with   |
| scripting languages such as Perl, it's easy to read and usually it can be  |
| viewed in different web browsers.                                          |
|                                                                            |
| I'd like to take you through the steps of converting an nmap scan.         |
| We will converst an XML to HTML. To accomplish this task we use the XSL    |
| stylesheet included with Nmap and the XSL processor to take the XML input  |
| and convert it to HTML.                                                    |
| To make this conversion, we first run our scan as normal and we output it  |
| to XML and then we use the XSLTPROC Command to converted to HTML by using  |
| the XML as input and an HTML file name as output.                          |
| Once this process is complete, we simply open the file in a web browser.   |
| ► xsltproc scan.xml -o scan.html                                           |
| ► nmap -sS -sV -O -F -T5 192.168.1.110 -oX scan.xml && xsltproc scan.xml   |
|   -o scan.html                                                             |
|                                                                            |
| ► nmap 192.168.1.1 -oN normal.file                                         |
| Normal output to the file normal.file                                      |
|                                                                            |
| ► nmap 192.168.1.1 -oX xml.file                                            |
| XML output to the file xml.file                                            |
|                                                                            |
| ► nmap 192.168.1.1 -oG grep.file                                           |
| Grepable output to the file grep.file                                      |
|                                                                            |
| ► nmap 192.168.1.1 -oA results                                             |
| Output in the three major formats at once                                  |
|                                                                            |
| ► nmap 192.168.1.1 -oG -                                                   |
| Grepable output to screen. -oN -, -oX - also usable                        |
|                                                                            |
| ► nmap 192.168.1.1 -oN file.file --append-output                           |
| Append a scan to a previous scan file                                      |
|                                                                            |
| ► nmap 192.168.1.1 -v                                                      |
| Increase the verbosity level (use -vv or more for greater effect)          |
|                                                                            |
| ► nmap 192.168.1.1 -d                                                      |
| Increase debugging level (use -dd or more for greater effect)              |
|                                                                            |
| ► nmap 192.168.1.1 --reason                                                |
| Display the reason a port is in a particular state, same output as -vv     |
|                                                                            |
| ► nmap 192.168.1.1 --open                                                  |
| Only show open (or possibly open) ports                                    |
|                                                                            |
| ► nmap 192.168.1.1 -T4 --packet-trace                                      |
| Show all packets sent and received                                         |
|                                                                            |
| ► nmap --iflist                                                            |
| Shows the host interfaces and routes                                       |
|                                                                            |
| ► nmap --resume results.file                                               |
| Resume a scan                                                              |
|                                                                            |
|                                                                            |
| Other Nmap Commands                                                        |
| ===================                                                        |
| ► nmap -6 2907:f0d0:1005:52::4 (Enable IPv6 scanning)                      |
|                                                                            |
| ► grep " open " results.nmap | sed -r 's/ +/ /g' | sort | uniq -c |        |
|   sort -rn | less                                                          |
|                                                                            |
| ► nmap -p80 -sV -oG - --open 192.168.1.1/24 | grep open                    |
| Scan for web servers and grep to show which IPs are running web servers    |
|                                                                            |
| ► nmap -iR 10 -n -oX out.xml | grep "Nmap" | cut -d " " -f5 > hosts.txt    |
| Generate a list of the IPs of live hosts                                   |
|                                                                            |
| ► nmap -iR 10 -n -oX out2.xml | grep "Nmap" | cut -d " " -f5 >> hosts.txt  |
| Append IP to the list of live hosts                                        |
|                                                                            |
| ► ndiff scanl.xml scan2.xml                                                |
| Compare output from nmap using the ndif                                    |
|                                                                            |
| ► xsltproc nmap.xml -o nmap.html                                           |
| Convert nmap xml files to html files                                       |
|                                                                            |
| ► grep " open " results.nmap | sed -r 's/ +/ /g' | sort | uniq -c | sort   |
|   -rn | less                                                               |
| Reverse sorted list of how often ports turn up                             |
|____________________________________________________________________________|
.----------------------------------------------------------------------------.
|   NMAP Bible #2                                                            |
|   Main focus: Research attack and defense in information warfare.          |
|   In my free time I work with Leather and I shot slingshots.               |
|_                                                           Adonis Sawan   _|
   \________________________________________________________________________/
   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾✾