Gentle_knife's Studio.

红队笔记

Word count: 879Reading time: 3 min
2025/04/29
loading

W1R3S 1.0.1

「红队笔记」靶机精讲:W1R3S 1.0.1 - 渗透测试思路为王,细节多到即使对于纯萌新也能无感入圈。

建议不一直用root身份登录,而是用普通身份,这样安全,要执行底层命令的再sudo。

1
sudo nmap -sn 10.10.10.0/24

-n 在主机发现之后不进行端口扫描 no port scan只打印响应了主机嗅探的可用主机,这种扫描也被称为ping扫描。

-sL 列表扫描,比-s多了一步侦查,允许对目标网络进行轻量级的侦查,而不会引起太多注意。

对攻击者来说,知道有多少主机处于活动状态, 比列表扫描提供的每个IP和主机名的列表更有价值。

正常运维的系统管理员也会用到-sn参数,因为这条命令可以很容易地用于看有多少个网络上可用的主机或监视服务器的可用性。它相比对广播地址进行ping请求更可靠,因为许多主机不会响应广播查询。

-sn 这个参数默认会发送四项数据,第一是ICMP回旋请求,第二是对端口443的TCPSYN请求,第三是对端口80的TCPACK。第四就是默认情况下的ICMP时间戳请求。当非特权用户执行这条命令时,他只会使用connect调用,发送SYN数据包到目标主机的80和443端口。当使用特权用户扫描本地网络,它使用的ARP请求,自然它不是刚才提到的发送的四项数据。为什么?因为ARP请求是数据链路层的数据包,就没有TCP和ICMP协议的事,自然不能发送那些数据包。这条命令和这条命令很相似:

1
sudo arp-scan -l

当然这指的是扫描本地网络。扫描本地时可以用–send-ip让nmap发送icmp时间戳请求来确定主机的活动性。因为在网络中ARP请求不会被所有主机响应。

1
2
3
4
5
6
7
sudo nmap -sT --min-rate 10000 -p- 10.10.10.21 -oA nmapscan/ports
-sT 明确指定用TCP协议进行扫描。
默认值是-sS,他利用TCP的SYN的标志位,来探测目标主机上的开放端口。发送一个SYN包只建立TCP连接的第一步,如果收到了目标主机的SYN加ACK回复,则表示响应的端口是开放的,如果收到RST复位数据包,则表示该端口是关闭的。SYN扫描常常用于快速扫描目标主机的端口状态,因为它能够快速探测开放和关闭的端口。
而-sT是用三次握手过程来判断端口的状态,它通过发送完整的TCP连接请求,等待目标主机的回应。如果收到了SYN+ACK回复,则表示响应的端口是开放的。需要进行完整的TCO连接过程,因此相对较慢。
很多防火墙都能够检测到不完整的TCP连接。
-p 制定端口范围的参数,-是简化的制定1-65535端口。
-oA o 输出 A all 后面是具体指明文件位置。
1
2
3
ports=$(grep open nmapscan/ports.nmap | awk -F '/' '{print $1}' |paste -sd ',')
先在nmapscan/ports.nmap文件里找出包含open的行,接着把这些行按照/分割,最后输出每行的第一个字段。
适用于端口很多的情况。
CATALOG
  1. 1. W1R3S 1.0.1