TryHackMe-渗透测试7_log

被动侦察

whois、https://dnsdumpster.com/、nslookup的使用,侦察网站的公开信息

主动侦察

浏览器的开发者工具、ping、traceroute、netcat的使用

都非常简单曾经做开发、做爬虫的时候没少干

Network Mapper

nmap -sn ,扫主机但不扫端口
-PR ,arp扫描

-PE ,ICMP echo (ping)扫描

有时候某些主机的操作系统禁ping(icmp echo request),可以尝试以下icmp包扫描

-PP ,ICMP timestamp时间戳请求扫描

-PM ,ICMP address mask掩码请求扫描

tcp探测

nmap -sn -PS  <PORT>,tcp syn扫描

nmap -sn -PA <PORT>,tcp ack扫描

默认扫80端口

syn ping不需要账号特权,ack ping需要

udp探测

nmap -sn -PU <PORT>, udp扫描
默认扫随机的奇葩端口

tryhackme提到一个点就是如果目标主机不在线,那么向它的udp端口发送udp包,此时我们是无法获得任何响应的,很简单,因为目标主机不在线;但如果目标主机在线,并且存在 端口状态是关闭的udp端口,此时我们发送udp数据包,是可以获得响应的。

这样,就可以根据有没有响应来判断目标是否在线

Nmap 端口扫描

上面探测完哪些主机在线,那么接下来就要对其进行端口扫描

TCP端口扫描

nmap -sT ,TCP全连接端口扫描

nmap -sS ,tcp半连接扫描
(如果是root,才能够发起tcp半连接; 如果不是root,则会发起tcp全连接)

UDP端口扫描

如果我们向开放的UDP端口发送UDP数据包,则无法期望任何回复。因此,将UDP数据包发送到打开的端口,我们得不到任何响应(ICMP 目标不可达)。

我分析以下,此时就有两种情况,

1.该udp探测包没有被防火墙等安全设备拦截,则将表明端口是打开的
2.该udp探测包被防火墙等拦截,此时虽然没有给我们响应,
但我们仍无法得知究竟是被拦截还是成功发送至目标端口,无法得知端口状态

nmap -sU ,udp端口扫描

扫描范围

nmap -p- ,即扫描所有端口
nmap -F ,扫描常见的100个端口
nmap --top-ports <num> ,扫描常见的num个端口

扫描速度

nmap有0-5,由小到大,速度依次提升

nmap -T<num> ,设置速度

高级端口扫描

nmap -sN ,null flag扫描
(端口打开或被防火墙拦截将不会有响应,否则将收到rst ack)

nmap -sF ,fin扫描
(同上)

nmap -sX ,圣诞节扫描 URG|FIN|PSH 置位1,我也不知道为什么叫圣诞节扫描
反正微软翻译过来就是这样子
(同上)

TCP ack端口扫描

nmap -sA

ack端口扫描有意思的点在于,nmap发送ack置位1数据包,经过抓包分析,分两种情况:

1.端口是开启,对端收到后检查数据包但该tcp连接不存在,那么对端将会发送rst

2.端口是关闭,那么我们将也会收到rst

这意味着我们将无法通过ack数据包判断端口的状态,但是有一点值得注意:

如果非法ack数据包被防火墙等ASPF设备拦截,
那么我们将不会收到rst响应!因此,
我们可以通过ack端口扫描判断是否有安全设备拦截,
以及知道拦截了哪些端口、没有拦截哪些端口

用tryhackme的原话来说:

仅仅因为防火墙没有阻止特定端口,并不一定意味着服务正在侦听该端口。
例如,防火墙有可能 需要更新规则以反映最近的服务更改。
因此,ACK 和Window扫描会暴露防火墙 规则,而不是服务。

空闲扫描

nmap -sI <zomble_ip> ,idle扫描

原理比较有意思,利用到了ip包头的identification字段,主机每发一个ip包,该值将会递增1。

利用这个特点,我们可以尝试在网络上找一些足够闲的主机,比如网络打印机设备等,足够闲是为了方便我们进行根据id的变化情况进行判断。

以下均被我抓包严谨分析过:

首先我们伪造:

设:空闲设备当前的ip id为0

源地址为空闲主机的ip地址
目的地址为被扫描目标ip地址

的tcp syn数据包,此时又分两种情况:

1.该数据包被安全设备拦截,没有到达被扫描目标设备,那么此时空闲主机将不可能收到syn ack或rst ack的数据包,则ip id=0

2.该数据包到达被扫描目标,此时将会回syn ack或rst ack包给空闲主机,此时又分两种情况:

(1).空闲主机收到syn ack,即被扫描设备的某个端口开启,那么空闲主机将会回rst包给被扫描设备,此时ip id将会被加1,即 ip id=1。

(2).空闲主机收到rst ack,即被扫描设备的某个端口关闭,根据协议,空闲主机不会对rst ack回包,则此时ip id=0

若此时,我们作为攻击者发送任意能使空闲主机回复我们的tcp数据包,如:syn ack,那么空闲主机将会回rst包给我们,此时ip id会加1.

由此可见,如果被扫描目标的端口为开启,我们将能够观察到ip id + 2,相反如果为关闭或被安全设备拦截则 + 1。

以上的前提是,空闲主机足够的空闲,否则无法准确的判断ip id变化是否为以上情况.

端口服务检测

nmap -sV
nmap -sV --version-<string>,强度0-9,light是2,all是9

-sV 强制使用三次握手进行扫描和检测

操作系统检测

nmap -O ,(默认三次握手检测);根据端口扫描结果如: -sT、-sS、-sU等等进行操作系统检测

nmap脚本利用

/usr/share/nmap/scripts/

nmap -sC ,自动使用默认的一堆脚本进行扫描探测

nmap --script <name> ,指定运行某个脚本

.

nmap -oN <fileName> ,输出结果到文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sugobet

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值