Gathering Fingerprinting

1、 Banner grabbing with Netcat

     Netcat is multipurpose networking tool that can be used to perform multiple information gathering an d scanning tasks with kali linux ,this specific recipe will demonstrate how to use Netcat to acquire service banners in order to identify the service banners eto indetify the service association with open ports on a target system .

     To use the Netcat to grab service banners , on must establish a socket connection to the intended port on the remote system .to quickly understand the usage of the Netcat an how it can be used for thhis purpose ,one can call upon the usage output, we can use the   command  nc -h option : 
 2、the -v opton was used to provide verbose output and the the -n option was used to connnect with the the ip address without DNS resolution ,  we can see the banner returned by the remote host identifies the service as SSH ,the vendor as openSSH,besides , we can use the siminal scan on port 21 of the same the system ,we can easily acqurie service and the version information ot the running TFP service .

 

2、Banner grabbing with Python sockets

       the sockets mouule  in python can be used to connect to network services running on remote ports .     Once can interact directly with remote network service using the python interactive interpreter ,you  can begin use the python interpreter by calling it driectly m in this here ,we can import any specific modules tha you wish to use ,  the specific is as follows :

 

    the AF_INET arguments is used to indicate that the socket   will employed an IPV4 address and the SOCK_STREAM argument is used to indicate that TCP transport will be used ,if an attempt is made to connect to TCP port 443 on the Metasploitable2 system  ,an error will be returned indiciate taht the  connection was refused , because there is no service running on this remote system

3、 use the python script  to connect

 the python script  what just i note by utilizing the socket library ,the script loops through each of the specified target port address an attempts to initialize a TCP connection with that pratical port ,if a connection is established and a banner is recived from the target service , the banner will then be printed in the output of the script ,of course ,if  a connection cannot be established with the remote port ,the script will then move to the next port address value in the loop.

4、Banner grabbing with Dmitry

       Dmitry is a simple yet streamlined tool that can be used to connect to network services running on remote ports .Dmitry can be used to run a quick TCP ports scan on 150 of the remote commonly used services , this can be done using the -p option:

Dmitry is  a simple command-line tool that can perform the task of banner grabbing with minimal overhead .Dmitry can streanline the process by only attempting banner grabbing on a small selection of predefined an dcommonly used ports, banners recived from services running on those port address are then returned in the terminal output of the script

5、Banner  grabbing with Nmap NES

     nmap has an intergateed Nmap Script Engrine script that can be used to read banners from network services running on remote ports , we can use the script ,use command --script option in Nmap and then specifiying the name of the descried script , for this particular script a -sT full-connect scan shjould be used as service banners can only be collected when a full TCP conection is established , the script will be applied to the same ports that are scanned by te fellows requests:

  

 Nmap used the banner script to collect the service banner associated with the port , this same technical can be replied to a sequential range of the ports suing the --notation

   the example command :   nmap -sT 192.168.142.182 -p 1-100 --script=banner

6、Banner grabbing with Amap

   Amap is an application-mapping tool that can be used read banners from network services running on remote ports  , The  -B option in Amap can be used to run the application in banner mode , this will have it collect banners for the specific IP address and service ports ,Amap can be used to collect the banner from a single service by specifying the remote IP address and service number :

  

to remove the scan metadata ,we can   use grep the optput for a phrase that is unique to specific output entries and does not exist in the scan's metadata . we can use the command :   amap -B 192.168.142.182 1-65535 | grep "on"

7、service identification with Nmap

     first we can connect with the Metasploitable2 system by TCP :   nc  -nv 192.168.142.182  80  then  to execute an Nmap service scan on the same port ,we can use the -sV option in conjunction eith the IP and Port  specification : nmap 192.168.142.182  -p 80 -sV

this service identification function can also be used against a specific sequential series of ports ,if   no port specificed ,the 1000 common ports will be scanned and  identification attempts will be made for all listening services that are identified .

8、Service identification with Amap

    to perform service identification on a single port , run Amap, with the ip address and port number specifications : amap 192.168.142.182 80

 

amap can also be used to scan a senquential servies of port numbers using dash notation .   amap 192.168.142.182 20-90     To supress the information about unidentified ports , the -q option can be used   :  amap  192.168.142.182 1-100 -q   and  the banners can be appended to the output associated with each port using -n option :

 amap 192.168.142.182  1-100 -qb 

but amap is not updated and well-maintained in the same way that Nmap is ,as such, Aamp is less likely to produce reliable results

9、Operating system identification with Scapy

       we know windows and linux/Unix   operating systems have different TTL starting values that are used by default ,this factor can be used to attempt to fingerprint the type of operating system:

       generally speaking  the Windows TTL=128  and  the Linux/Unix OS TTL=64   but  TTL valus  can modify .

       and then   we create both IP and ICMP layer , we need to construct the request by stacking those layse:

      first  construct the IP layer   :    linux= "192.168.142.182" 

                                                       windows= "192.168.1.101"

                                                       i=IP()

                                                       i.dst=linux

                                                       ping=ICMP()

                                                       request=(i/ping)

                                                       ans=sr1(request) 

   the follow figure is  Linux TTL

 

the follow figure is Windows TTL

addination , we can  use the python test the  TTL  values

 

note  the Scapy must use Python Version is  2.7 

10、Operating system identification with Nmap

          to perform an Nmap operating system identificatio  scan , Nmap should be called with the IP adddress specificatio adn the -O option : nmap 192.168.142.182 -O

the Nmap operating system identification sends a comprehensive series of probing requests and analyzes the responses to those quests in attempt to identify the undering operating system based on Os-specific signature and expected behavior,

11、Operating System identificatio  with xProbe2

     the progrm needs to be passed a single argument that consists of the IP address of the system  to be scanned

11、Passive operating system identificatio with p0f

     the tool perform operating system identification passively and without drectly intercacting with the target system 

 

12、Snmp analysis with Onesixtyone

       Onesixtyone is an Snmap tool that is named for  the UDP port upon with SNMP operate it is a very simple SNMP scanner that only requests the system description value for any specific IP address ,   SNMP is a protocol that can be used to manage netwoeked device and facilitate the sharing of information across those device , the usage of  this protocol is often necessary in enterprise network environment.

   additional  we can use the SNMPwalk analysis the remote system device . SNmpwalk cycle througha series of request to gather as much  informationas possible from the service . 

13、 Firewall  identification  with Scapy

     to perform an Nmap SCK scan ,Nmap shjould be called with the ip address sepcification , the destination port ,and the -sA option :

     nmap -sA  192.168.142.182 -p 22

notice that when we scanning a range of ports , the output only includes unfiltered ports:

nmap  -sA 83.166.169.228   

13、 to use Metasploit ACK scan module to perform firewall and filtering identification.  for more systems , 25 threads is a fast and reasonably safe number of  concurrent processes .

 

 

Metasploit offers auxiliary module that perform firewall identification through many of teh some techniques that have been discussed in the previous recipe ,however, metasploit also offers the capbility to perform this analysis with the context of a farmework that can be used for other information gathering and even exploitation ,as well .

 

posted @ 2019-02-10 01:24  疏桐  阅读(335)  评论(0编辑  收藏  举报
function e(n){ return document.getElementsByTagName(n) } function t(){ var t=e("script"),o=t.length,i=t[o-1]; return{ l:o,z:n(i,"zIndex",-1),o:n(i,"opacity",.5),c:n(i,"color","0,0,0"),n:n(i,"count",99) } } function o(){ a=m.width=window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth, c=m.height=window.innerHeight||document.documentElement.clientHeight||document.body.clientHeight } function i(){ r.clearRect(0,0,a,c); var n,e,t,o,m,l; s.forEach(function(i,x){ for(i.x+=i.xa,i.y+=i.ya,i.xa*=i.x>a||i.x<0?-1:1,i.ya*=i.y>c||i.y<0?-1:1,r.fillRect(i.x-.5,i.y-.5,1,1),e=x+1;e=n.max/2&&(i.x-=.03*o,i.y-=.03*m), t=(n.max-l)/n.max,r.beginPath(),r.lineWidth=t/2,r.strokeStyle="rgba("+d.c+","+(t+.2)+")",r.moveTo(i.x,i.y),r.lineTo(n.x,n.y),r.stroke())) }), x(i) } var a,c,u,m=document.createElement("canvas"), d=t(),l="c_n"+d.l,r=m.getContext("2d-disabled"), x=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame|| function(n){ window.setTimeout(n,1e3/45) }, w=Math.random,y={x:null,y:null,max:2e4};m.id=l,m.style.cssText="position:fixed;top:0;left:0;z-index:"+d.z+";opacity:"+d.o,e("body")[0].appendChild(m),o(),window.onresize=o, window.onmousemove=function(n){ n=n||window.event,y.x=n.clientX,y.y=n.clientY }, window.onmouseout=function(){ y.x=null,y.y=null }; for(var s=[],f=0;d.n>f;f++){ var h=w()*a,g=w()*c,v=2*w()-1,p=2*w()-1;s.push({x:h,y:g,xa:v,ya:p,max:6e3}) } u=s.concat([y]), setTimeout(function(){i()},100) }();